diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..03e50b3 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,32 @@ +{ + "configurations": [ + { + "type": "java", + "name": "ApplicationManagerApplication", + "request": "launch", + "mainClass": "kr.co.mcmp.ApplicationManagerApplication", + "projectName": "application_manager-mc-application-manager", + "vmArgs": " -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=54249 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dspring.jmx.enabled=true -Djava.rmi.server.hostname=localhost -Dspring.application.admin.enabled=true -Dspring.boot.project.name=application_manager-mc-application-manager" + }, + { + "type": "java", + "name": "Spring Boot-ApplicationManagerApplication", + "request": "launch", + "cwd": "${workspaceFolder}", + "mainClass": "kr.co.mcmp.ApplicationManagerApplication", + "projectName": "mc-application-manager", + "args": "", + "envFile": "${workspaceFolder}/.env" + }, + { + "type": "java", + "name": "Spring Boot-DateUtil", + "request": "launch", + "cwd": "${workspaceFolder}", + "mainClass": "kr.co.mcmp.util.DateUtil", + "projectName": "application_manager-mc-application-manager", + "args": "", + "envFile": "${workspaceFolder}/.env" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..75c49d6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "java.compile.nullAnalysis.mode": "automatic", + "java.dependency.packagePresentation": "hierarchical" +} \ No newline at end of file diff --git a/applicationFE/package-lock.json b/applicationFE/package-lock.json new file mode 100644 index 0000000..58b76ee --- /dev/null +++ b/applicationFE/package-lock.json @@ -0,0 +1,5268 @@ +{ + "name": "application-manager-ui", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "application-manager-ui", + "version": "0.0.0", + "dependencies": { + "@tabler/core": "^1.0.0-beta20", + "ace-builds": "^1.35.2", + "application-manager-ui": "file:", + "axios": "^1.7.2", + "bootstrap": "^5.3.0", + "lodash": "^4.17.21", + "pinia": "^2.1.7", + "tabulator-tables": "^6.2.1", + "vue": "^3.4.29", + "vue-draggable-next": "^2.2.1", + "vue-router": "^4.3.3", + "vue-toastification": "^2.0.0-rc.5", + "vue3-ace-editor": "^2.2.4" + }, + "devDependencies": { + "@rushstack/eslint-patch": "^1.8.0", + "@tsconfig/node20": "^20.1.4", + "@types/node": "^20.14.5", + "@types/tabulator-tables": "^6.2.2", + "@vitejs/plugin-vue": "^5.0.5", + "@vue/eslint-config-prettier": "^9.0.0", + "@vue/eslint-config-typescript": "^13.0.0", + "@vue/tsconfig": "^0.5.1", + "eslint": "^8.57.0", + "eslint-plugin-vue": "^9.23.0", + "npm-run-all2": "^6.2.0", + "prettier": "^3.2.5", + "typescript": "~5.4.0", + "vite": "^5.3.1", + "vite-plugin-vue-devtools": "^7.3.1", + "vue-tsc": "^2.0.21" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.10.tgz", + "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "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/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/@babel/generator": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/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/@babel/helper-create-class-features-plugin": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/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/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", + "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-decorators": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz", + "integrity": "sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", + "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", + "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", + "dev": true, + "license": "MIT" + }, + "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/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.2.tgz", + "integrity": "sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.2.tgz", + "integrity": "sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.2.tgz", + "integrity": "sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.2.tgz", + "integrity": "sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.2.tgz", + "integrity": "sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.2.tgz", + "integrity": "sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.2.tgz", + "integrity": "sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.2.tgz", + "integrity": "sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.2.tgz", + "integrity": "sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.2.tgz", + "integrity": "sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.2.tgz", + "integrity": "sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.2.tgz", + "integrity": "sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.2.tgz", + "integrity": "sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.2.tgz", + "integrity": "sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.2.tgz", + "integrity": "sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.2.tgz", + "integrity": "sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tabler/core": { + "version": "1.0.0-beta21", + "resolved": "https://registry.npmjs.org/@tabler/core/-/core-1.0.0-beta21.tgz", + "integrity": "sha512-9ZKu38BScc0eHruhX/SlVDSiXenBFSgBp2WDq6orkuC8J/1yutKDt7CdXuJpBwkiADEk5yqYV31Ku+CnhwOc3Q==", + "license": "MIT", + "dependencies": { + "@popperjs/core": "^2.11.8", + "@tabler/icons": "^3.14.0", + "bootstrap": "5.3.3" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/codecalm" + }, + "peerDependencies": { + "@melloware/coloris": "^0.19.1", + "apexcharts": "^3.40.0", + "autosize": "^6.0.1", + "choices.js": "^10.2.0", + "countup.js": "^2.6.2", + "dropzone": "^6.0.0-beta.2", + "flatpickr": "^4.6.13", + "fslightbox": "^3.4.1", + "imask": "^6.6.1", + "jsvectormap": "^1.5.3", + "list.js": "^2.3.1", + "litepicker": "^2.0.12", + "nouislider": "^15.7.0", + "plyr": "^3.7.8", + "star-rating.js": "^4.3.0", + "tinymce": "^6.4.2 || ^7.0.0", + "tom-select": "^2.2.2" + }, + "peerDependenciesMeta": { + "@melloware/coloris": { + "optional": true + }, + "apexcharts": { + "optional": true + }, + "autosize": { + "optional": true + }, + "choices.js": { + "optional": true + }, + "countup.js": { + "optional": true + }, + "dropzone": { + "optional": true + }, + "flatpickr": { + "optional": true + }, + "fslightbox": { + "optional": true + }, + "imask": { + "optional": true + }, + "jsvectormap": { + "optional": true + }, + "list.js": { + "optional": true + }, + "litepicker": { + "optional": true + }, + "nouislider": { + "optional": true + }, + "plyr": { + "optional": true + }, + "star-rating.js": { + "optional": true + }, + "tinymce": { + "optional": true + }, + "tom-select": { + "optional": true + } + } + }, + "node_modules/@tabler/icons": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-3.15.0.tgz", + "integrity": "sha512-Pzo7g8znsCgCcnSLCfukEV+kcfr0/VjBoCLXJtrOtaY94gtvYjWC2hrKzazf511asUflRuk/+dxztdKYJgpe4g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/codecalm" + } + }, + "node_modules/@tsconfig/node20": { + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.4.tgz", + "integrity": "sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.16.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.5.tgz", + "integrity": "sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/tabulator-tables": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@types/tabulator-tables/-/tabulator-tables-6.2.3.tgz", + "integrity": "sha512-ZeRF/WvtwFXml/4aT7kzfkHEiwbjHZdlIsjrgqcfdmpkl9GQ9XBHY6u9BblUaHX4NUiOlBeHrQKjvai6/bQH0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.1.3.tgz", + "integrity": "sha512-3xbWsKEKXYlmX82aOHufFQVnkbMC/v8fLpWwh6hWOUrK5fbbtBh9Q/WWse27BFgSy2/e2c0fz5Scgya9h2GLhw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.4.tgz", + "integrity": "sha512-kO9k4kTLfxpg+6lq7/KAIv3m2d62IHuCL6GbVgYZTpfKvIGoAIlDxK7pFcB/eczN2+ydg/vnyaeZ6SGyZrJw2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.4" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.4.tgz", + "integrity": "sha512-xG3PZqOP2haG8XG4Pg3PD1UGDAdqZg24Ru8c/qYjYAnmcj6GBR64mstx+bZux5QOyRaJK+/lNM/RnpvBD3489g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.4.tgz", + "integrity": "sha512-QQMQRVj0fVHJ3XdRKiS1LclhG0VBXdFYlyuHRQF/xLk2PuJuHNWP26MDZNvEVCvnyUQuUQhIAfylwY5TGPgc6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.4", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.4.tgz", + "integrity": "sha512-3L9zXWRN2jvmLjtSyw9vtcO5KTSCfKhCD5rEZM+024bc+4dKSzTjIABl/5b+uZ5nXe5y31uUMxxLo1PdXkYaig==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.4.tgz", + "integrity": "sha512-jwAVtHUaDfOGGT1EmVKBi0anXOtPvsuKbImcdnHXluaJQ6GEJzshf1JMTtMRx2fPiG7BZjNmyMv+NdZY2OyZEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.6", + "@babel/types": "^7.25.6", + "@vue/babel-helper-vue-transform-on": "1.2.4", + "@vue/babel-plugin-resolve-type": "1.2.4", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.4.tgz", + "integrity": "sha512-jWcJAmfKvc/xT2XBC4JAmy2eezNjU3CLfeDecl2Ge3tSjJCTmKJWkEhHdzXyx9Nr6PbIcQrFKhCaEDobhSrPqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/parser": "^7.25.6", + "@vue/compiler-sfc": "^3.5.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.3.tgz", + "integrity": "sha512-adAfy9boPkP233NTyvLbGEqVuIfK/R0ZsBsIOW4BZNfb4BRpRW41Do1u+ozJpsb+mdoy80O20IzAsHaihRb5qA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.3", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.3.tgz", + "integrity": "sha512-wnzFArg9zpvk/811CDOZOadJRugf1Bgl/TQ3RfV4nKfSPok4hi0w10ziYUQR6LnnBAUlEXYLUfZ71Oj9ds/+QA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.3", + "@vue/shared": "3.5.3" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.3.tgz", + "integrity": "sha512-P3uATLny2tfyvMB04OQFe7Sczteno7SLFxwrOA/dw01pBWQHB5HL15a8PosoNX2aG/EAMGqnXTu+1LnmzFhpTQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.3", + "@vue/compiler-dom": "3.5.3", + "@vue/compiler-ssr": "3.5.3", + "@vue/shared": "3.5.3", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.44", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.3.tgz", + "integrity": "sha512-F/5f+r2WzL/2YAPl7UlKcJWHrvoZN8XwEBLnT7S4BXwncH25iDOabhO2M2DWioyTguJAGavDOawejkFXj8EM1w==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.3", + "@vue/shared": "3.5.3" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "dev": true, + "license": "MIT", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/@vue/devtools-core": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-7.4.4.tgz", + "integrity": "sha512-DLxgA3DfeADkRzhAfm3G2Rw/cWxub64SdP5b+s5dwL30+whOGj+QNhmyFpwZ8ZTrHDFRIPj0RqNzJ8IRR1pz7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.4.4", + "@vue/devtools-shared": "^7.4.4", + "mitt": "^3.0.1", + "nanoid": "^3.3.4", + "pathe": "^1.1.2", + "vite-hot-client": "^0.2.3" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.4.4.tgz", + "integrity": "sha512-awK/4NfsUG0nQ7qnTM37m7ZkEUMREyPh8taFCX+uQYps/MTFEum0AD05VeGDRMXwWvMmGIcWX9xp8ZiBddY0jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.4.4", + "birpc": "^0.2.17", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.1" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.4.4.tgz", + "integrity": "sha512-yeJULXFHOKIm8yL2JFO050a9ztTVqOCKTqN9JHFxGTJN0b+gjtfn6zC+FfyHUgjwCwf6E3hfKrlohtthcqoYqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/eslint-config-prettier": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-z1ZIAAUS9pKzo/ANEfd2sO+v2IUalz7cM/cTLOZ7vRFOPk5/xuRKQteOu1DErFLAh/lYGXMVZ0IfYKlyInuDVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-prettier": "^5.0.0" + }, + "peerDependencies": { + "eslint": ">= 8.0.0", + "prettier": ">= 3.0.0" + } + }, + "node_modules/@vue/eslint-config-typescript": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-13.0.0.tgz", + "integrity": "sha512-MHh9SncG/sfqjVqjcuFLOLD6Ed4dRAis4HNt0dXASeAuLqIAx4YMB1/m2o4pUKK1vCt8fUvYG8KKX2Ot3BVZTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "^7.1.1", + "@typescript-eslint/parser": "^7.1.1", + "vue-eslint-parser": "^9.3.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "peerDependencies": { + "eslint": "^8.56.0", + "eslint-plugin-vue": "^9.0.0", + "typescript": ">=4.7.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/language-core": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.1.6.tgz", + "integrity": "sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "~2.4.1", + "@vue/compiler-dom": "^3.4.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.4.0", + "computeds": "^0.0.1", + "minimatch": "^9.0.3", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.3.tgz", + "integrity": "sha512-2w61UnRWTP7+rj1H/j6FH706gRBHdFVpIqEkSDAyIpafBXYH8xt4gttstbbCWdU3OlcSWO8/3mbKl/93/HSMpw==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.3" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.3.tgz", + "integrity": "sha512-5b2AQw5OZlmCzSsSBWYoZOsy75N4UdMWenTfDdI5bAzXnuVR7iR8Q4AOzQm2OGoA41xjk53VQKrqQhOz2ktWaw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.3", + "@vue/shared": "3.5.3" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.3.tgz", + "integrity": "sha512-wPR1DEGc3XnQ7yHbmkTt3GoY0cEnVGQnARRdAkDzZ8MbUKEs26gogCQo6AOvvgahfjIcnvWJzkZArQ1fmWjcSg==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.3", + "@vue/runtime-core": "3.5.3", + "@vue/shared": "3.5.3", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.3.tgz", + "integrity": "sha512-28volmaZVG2PGO3V3+gBPKoSHvLlE8FGfG/GKXKkjjfxLuj/50B/0OQGakM/g6ehQeqCrZYM4eHC4Ks48eig1Q==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.3", + "@vue/shared": "3.5.3" + }, + "peerDependencies": { + "vue": "3.5.3" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.3.tgz", + "integrity": "sha512-Jp2v8nylKBT+PlOUjun2Wp/f++TfJVFjshLzNtJDdmFJabJa7noGMncqXRM1vXGX+Yo2V7WykQFNxusSim8SCA==", + "license": "MIT" + }, + "node_modules/@vue/tsconfig": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.5.1.tgz", + "integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/ace-builds": { + "version": "1.36.2", + "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.36.2.tgz", + "integrity": "sha512-eqqfbGwx/GKjM/EnFu4QtQ+d2NNBu84MGgxoG8R5iyFpcVeQ4p9YlTL+ZzdEJqhdkASqoqOxCSNNGyB6lvMm+A==", + "license": "BSD-3-Clause" + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "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.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/application-manager-ui": { + "resolved": "", + "link": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/birpc": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-0.2.17.tgz", + "integrity": "sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/bootstrap": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", + "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "license": "MIT", + "peerDependencies": { + "@popperjs/core": "^2.11.8" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "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": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001660", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", + "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==", + "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/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/computeds": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", + "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", + "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": "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/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "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/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.18", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.18.tgz", + "integrity": "sha512-1OfuVACu+zKlmjsNdcJuVQuVE61sZOLbNM4JAQ1Rvh6EOj0/EUKhMJjRH73InPlXSh8HIJk1cVZ8pyOV/FMdUQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-stack-parser-es": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-0.1.5.tgz", + "integrity": "sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", + "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.9.1" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.28.0.tgz", + "integrity": "sha512-ShrihdjIhOTxs+MfWun6oJWuk+g/LAhN+CiuOl/jjkG3l0F2AuK5NMTaWqyvBgkFtpYmyks6P4603mLmhNJW8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.3", + "vue-eslint-parser": "^9.4.3", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "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/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "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/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "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-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/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/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/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-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/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "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/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "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/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "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": "3.0.2", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", + "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, + "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/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": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "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/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/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true, + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "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.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-run-all2": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-6.2.2.tgz", + "integrity": "sha512-Q+alQAGIW7ZhKcxLt8GcSi3h3ryheD6xnmXahkMRVM5LYmajcUrSITm8h+OPC9RYWMV2GR0Q1ntTUCfxaNoOJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.3", + "memorystream": "^0.3.1", + "minimatch": "^9.0.0", + "pidtree": "^0.6.0", + "read-package-json-fast": "^3.0.2", + "shell-quote": "^1.7.3" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "npm-run-all2": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": "^14.18.0 || ^16.13.0 || >=18.0.0", + "npm": ">= 8" + } + }, + "node_modules/npm-run-all2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "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-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pinia": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.2.2.tgz", + "integrity": "sha512-ja2XqFWZC36mupU4z1ZzxeTApV7DOw44cV4dhQ9sGwun+N89v/XP7+j7q6TanS1u1tdbK4r+1BUx7heMaIdagA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.3", + "vue-demi": "^0.14.10" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.3.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/postcss": { + "version": "8.4.45", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", + "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", + "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.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "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/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "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/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "dev": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.2.tgz", + "integrity": "sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.21.2", + "@rollup/rollup-android-arm64": "4.21.2", + "@rollup/rollup-darwin-arm64": "4.21.2", + "@rollup/rollup-darwin-x64": "4.21.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.2", + "@rollup/rollup-linux-arm-musleabihf": "4.21.2", + "@rollup/rollup-linux-arm64-gnu": "4.21.2", + "@rollup/rollup-linux-arm64-musl": "4.21.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.2", + "@rollup/rollup-linux-riscv64-gnu": "4.21.2", + "@rollup/rollup-linux-s390x-gnu": "4.21.2", + "@rollup/rollup-linux-x64-gnu": "4.21.2", + "@rollup/rollup-linux-x64-musl": "4.21.2", + "@rollup/rollup-win32-arm64-msvc": "4.21.2", + "@rollup/rollup-win32-ia32-msvc": "4.21.2", + "@rollup/rollup-win32-x64-msvc": "4.21.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/sortablejs": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.3.tgz", + "integrity": "sha512-zdK3/kwwAK1cJgy1rwl1YtNTbRmc8qW/+vgXf75A7NHag5of4pyI6uK86ktmQETyWRH7IGaE73uZOOBcGxgqZg==", + "license": "MIT", + "peer": true + }, + "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==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/superjson": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.1.tgz", + "integrity": "sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "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/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/synckit": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", + "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/tabulator-tables": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/tabulator-tables/-/tabulator-tables-6.2.5.tgz", + "integrity": "sha512-f/TI78hV+GNoBefdqQ4q5RXbP+vJkvwSwt7sqeCTriAchNXax3ekcT1GG3i2J+8mhz6dHg0PFKyCYfmMW45HEg==", + "license": "MIT" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "dev": true, + "license": "0BSD" + }, + "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/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "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.1.2", + "picocolors": "^1.0.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/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.3.tgz", + "integrity": "sha512-IH+nl64eq9lJjFqU+/yrRnrHPVTlgy42/+IzbOdaFDVlyLgI/wDlf+FCobXLX1cT0X5+7LMyH1mIy2xJdLfo8Q==", + "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-hot-client": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-0.2.3.tgz", + "integrity": "sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0" + } + }, + "node_modules/vite-plugin-inspect": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-0.8.7.tgz", + "integrity": "sha512-/XXou3MVc13A5O9/2Nd6xczjrUwt7ZyI9h8pTnUMkr5SshLcb0PJUOVq2V+XVkdeU4njsqAtmK87THZuO2coGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@antfu/utils": "^0.7.10", + "@rollup/pluginutils": "^5.1.0", + "debug": "^4.3.6", + "error-stack-parser-es": "^0.1.5", + "fs-extra": "^11.2.0", + "open": "^10.1.0", + "perfect-debounce": "^1.0.0", + "picocolors": "^1.0.1", + "sirv": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.4.4.tgz", + "integrity": "sha512-lJ7Vr6gznv1nf2S75XJTpXl4XcwnHfyvqJQ7szOvTUfumQALDGo772TEH69wx8gkY/ZWZQea4DZR5IQZMOZKUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-core": "^7.4.4", + "@vue/devtools-kit": "^7.4.4", + "@vue/devtools-shared": "^7.4.4", + "execa": "^8.0.1", + "sirv": "^2.0.4", + "vite-plugin-inspect": "^0.8.7", + "vite-plugin-vue-inspector": "^5.2.0" + }, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0" + } + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.2.0.tgz", + "integrity": "sha512-wWxyb9XAtaIvV/Lr7cqB1HIzmHZFVUJsTNm3yAxkS87dgh/Ky4qr2wDEWNxF23fdhVa3jQ8MZREpr4XyiuaRqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0" + } + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.3.tgz", + "integrity": "sha512-xvRbd0HpuLovYbOHXRHlSBsSvmUJbo0pzbkKTApWnQGf3/cu5Z39mQeA5cZdLRVIoNf3zI6MSoOgHUT5i2jO+Q==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.3", + "@vue/compiler-sfc": "3.5.3", + "@vue/runtime-dom": "3.5.3", + "@vue/server-renderer": "3.5.3", + "@vue/shared": "3.5.3" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-draggable-next": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vue-draggable-next/-/vue-draggable-next-2.2.1.tgz", + "integrity": "sha512-EAMS1IRHF0kZO0o5PMOinsQsXIqsrKT1hKmbICxG3UEtn7zLFkLxlAtajcCcUTisNvQ6TtCB5COjD9a1raNADw==", + "license": "MIT", + "peerDependencies": { + "sortablejs": "^1.14.0", + "vue": "^3.2.2" + } + }, + "node_modules/vue-eslint-parser": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", + "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-router": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.4.3.tgz", + "integrity": "sha512-sv6wmNKx2j3aqJQDMxLFzs/u/mjA9Z5LCgy6BE0f7yFWMjrPLnS/sPNn8ARY/FXw6byV18EFutn5lTO6+UsV5A==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.3" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-toastification": { + "version": "2.0.0-rc.5", + "resolved": "https://registry.npmjs.org/vue-toastification/-/vue-toastification-2.0.0-rc.5.tgz", + "integrity": "sha512-q73e5jy6gucEO/U+P48hqX+/qyXDozAGmaGgLFm5tXX4wJBcVsnGp4e/iJqlm9xzHETYOilUuwOUje2Qg1JdwA==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.0.2" + } + }, + "node_modules/vue-tsc": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.1.6.tgz", + "integrity": "sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "~2.4.1", + "@vue/language-core": "2.1.6", + "semver": "^7.5.4" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/vue3-ace-editor": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/vue3-ace-editor/-/vue3-ace-editor-2.2.4.tgz", + "integrity": "sha512-FZkEyfpbH068BwjhMyNROxfEI8135Sc+x8ouxkMdCNkuj/Tuw83VP/gStFQqZHqljyX9/VfMTCdTqtOnJZGN8g==", + "license": "MIT", + "dependencies": { + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "ace-builds": "*", + "vue": "^3" + } + }, + "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/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "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/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" + } + } + } +} diff --git a/applicationFE/package.json b/applicationFE/package.json index 620217d..d7593c2 100644 --- a/applicationFE/package.json +++ b/applicationFE/package.json @@ -15,6 +15,7 @@ "dependencies": { "@tabler/core": "^1.0.0-beta20", "ace-builds": "^1.35.2", + "application-manager-ui": "file:", "axios": "^1.7.2", "bootstrap": "^5.3.0", "lodash": "^4.17.21", diff --git a/bin/main/application.yaml b/bin/main/application.yaml new file mode 100644 index 0000000..5b39d7b --- /dev/null +++ b/bin/main/application.yaml @@ -0,0 +1,65 @@ +server: + port: 18084 +config: + config-string: application,manager,m-cmp +spring: + mvc: + pathmatch: + matching-strategy: ant_path_matcher + application: + name: application-manager + #h2 db 설정 + datasource: + url: jdbc:h2:file:./db/application # 프로젝트 루트/db/ 안에 h2.db파일(test.mv.db) 생성 + #url: jdbc:h2:~/test # user root에 생성 + driver-class-name: org.h2.Driver + username: ${DB_USER:application} + password: ${DB_PASS:application!23} + #h2 console 활성화 및 경로 설정 + h2: + console: + enabled: true # http://localhost:28086/h2-console/ + path: /h2-console + settings: + web-allow-others: true # 원격연결(배포 후 외부에서) 허용 + jpa: + database-platform: org.hibernate.dialect.H2Dialect + defer-datasopurce-initalization: true + generate-ddl: true + hibernate: + ddl-auto: ${DDL_AUTO:update} # ${DDL_AUTO:none} +# ddl-auto: create # 실행할 때에 테이블을 자동으로 생성시킬것인지 #create-drop, update, validate, none +# create : SessionFactory 시작시 스키마를 삭제하고 다시 생성 +# create-drop : SessionFactory 종료 시 스키마를 삭제 +# update : SessionFactory 연결된 DB와 비교하여 추가된 항목은 추가 만약 같은 변수명이면 오류발생 +# validate : SessionFactory 시작시 객체구성과 스키마가 다르다면 예외 발생 +# none : 아무것도 안함 + defer-datasource-initialization: true + properties: + hibernate: + dialect: org.hibernate.dialect.H2Dialect + format_sql: true + show_sql: true + hbm2ddl: # 처음에 더미데이터등을 넣기위해 sql을 실행 + #import_files: ./data.sql # 확인필요 + import_files: + import_files_sql_extractor: org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor # 멀티 라인 입력 가능하도록 + connection: + charSet: UTF-8 # 인코딩 설정 + sql: + init: + data-locations: classpath:./import.sql + mode: ${SQL_DATA_INIT:never} #${SQL_DATA_INIT:always} # ${SQL_DATA_INIT:never} + platform: h2 + #schema-locations: classpath:ddl.sql + + servlet: + multipart: + enabled: true + max-file-size: 500MB + max-request-size: 500MB +object: + object-mapper-pretty-print: true + +aes: + key: fb1755281b0ca6184a0ee644e6477ee7 diff --git a/bin/main/import.sql b/bin/main/import.sql new file mode 100644 index 0000000..391a099 --- /dev/null +++ b/bin/main/import.sql @@ -0,0 +1,90 @@ +INSERT INTO SOFTWARE_CATALOG(TITLE, DESCRIPTION, SUMMARY, ICON, CATEGORY) +VALUES + ('APACHE TOMCAT', 'The Apache Tomcat software is an open source implementation of the Jakarta Servlet, Jakarta Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of the Jakarta EE platform.\n\nThe Jakarta EE platform is the evolution of the Java EE platform. Tomcat 10 and later implement specifications developed as part of Jakarta EE. Tomcat 9 and earlier implement specifications developed as part of Java EE.\n\nThe Apache Tomcat software is developed in an open and participatory environment and released under the Apache License version 2. The Apache Tomcat project is intended to be a collaboration of the best-of-breed developers from around the world. We invite you to participate in this open development project. To learn more about getting involved, click here.\n\nApache Tomcat software powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations. Some of these users and their stories are listed on the PoweredBy wiki page.\n\nApache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcat project logo are trademarks of the Apache Software Foundation.', 'open source java web application server', '/images/tomcat.png', 'WAS'); +INSERT INTO SOFTWARE_CATALOG(TITLE, DESCRIPTION, SUMMARY, ICON, CATEGORY) +VALUES + ('REDIS', 'Redis is an in-memory data store used by millions of developers as a cache, vector database, document database, streaming engine, and message broker. Redis has built-in replication and different levels of on-disk persistence. It supports complex data types (for example, strings, hashes, lists, sets, sorted sets, and JSON), with atomic operations defined on those data types.\n\nYou can install Redis from source, from an executable for your OS, or bundled with Redis Stack and Redis Insight which include popular features and monitoring.', 'in memory db', '/images/redis.png', 'DB'); +INSERT INTO SOFTWARE_CATALOG(TITLE, DESCRIPTION, SUMMARY, ICON, CATEGORY) +VALUES + ('NGINX', 'nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev. For a long time, it has been running on many heavily loaded Russian sites including Yandex, Mail.Ru, VK, and Rambler. Here are some of the success stories: Dropbox, Netflix, FastMail.FM.\n\nThe sources and documentation are distributed under the 2-clause BSD-like license.\n\nCommercial support is available from F5, Inc.', 'web/proxy server', '/images/nginx.png', 'WEB SERVER'); +INSERT INTO SOFTWARE_CATALOG(TITLE, DESCRIPTION, SUMMARY, ICON, CATEGORY) +VALUES + ('APACHE', 'The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.\n\nThe Apache HTTP Server ("httpd") was launched in 1995 and it has been the most popular web server on the Internet since April 1996. It has celebrated its 25th birthday as a project in February 2020.\n\nThe Apache HTTP Server is a project of The Apache Software Foundation.', 'web server', '/images/apache.png', 'WEB SERVER'); +INSERT INTO SOFTWARE_CATALOG(TITLE, DESCRIPTION, SUMMARY, ICON, CATEGORY) +VALUES + ('NEXUS', 'Build fast with the world''s leading artifact repository manager\n\nCentralize\nGive your teams a single source of truth for every component.\n\nStore\nOptimize build performance and storage costs by caching artifacts.\n\nDevelop\nSupport up to 18 package formats in a single deployment.\n\nScale\nDeploy highly available clusters, edge nodes, and test servers freely without per-node charges.\n', 'repository', '/images/nexus.png', 'WEB SERVER'); +INSERT INTO SOFTWARE_CATALOG(TITLE, DESCRIPTION, SUMMARY, ICON, CATEGORY) +VALUES + ('MARIA DB', 'MariaDB Server is one of the most popular open source relational databases. It''s made by the original developers of MySQL and guaranteed to stay open source. It is part of most cloud offerings and the default in most Linux distributions.\n\nIt is built upon the values of performance, stability, and openness, and MariaDB Foundation ensures contributions will be accepted on technical merit. Recent new functionality includes advanced clustering with Galera Cluster 4, compatibility features with Oracle Database and Temporal Data Tables, allowing one to query the data as it stood at any point in the past.', 'database', '/images/mariadb.png', 'RDBMS'); +INSERT INTO SOFTWARE_CATALOG(TITLE, DESCRIPTION, SUMMARY, ICON, CATEGORY) +VALUES + ('GRAFANA', 'Your observability stack, faster and easier\n\nWith Grafana Cloud, enable observability - from operational dashboards to a fully centralized system and everything in between - without the overhead of building and maintaining your own stack.', 'observability', '/images/grafana.jpg', 'OBSERVABILITY'); + + + +INSERT INTO SOFTWARE_CATALOG_REF(CATALOG_ID, REF_IDX, REF_VALUE, REF_DESC, REF_TYPE) +VALUES + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'APACHE TOMCAT'), 0, 'https://tomcat.apache.org/', '', 'HOMEPAGE'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'APACHE TOMCAT'), 0, 'apache', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'APACHE TOMCAT'), 0, 'oss', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'APACHE TOMCAT'), 0, 'server', '', 'TAG'); +INSERT INTO SOFTWARE_CATALOG_REF(CATALOG_ID, REF_IDX, REF_VALUE, REF_DESC, REF_TYPE) +VALUES + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'REDIS'), 0, 'https://redis.io/', '', 'HOMEPAGE'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'REDIS'), 0, 'NoSQL', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'REDIS'), 0, 'oss', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'REDIS'), 0, 'inMemoryDB', '', 'TAG'); +INSERT INTO SOFTWARE_CATALOG_REF(CATALOG_ID, REF_IDX, REF_VALUE, REF_DESC, REF_TYPE) +VALUES + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'NGINX'), 0, 'https://nginx.org/en/', '', 'HOMEPAGE'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'NGINX'), 0, 'apache', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'NGINX'), 0, 'oss', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'NGINX'), 0, 'proxy', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'NGINX'), 0, 'web', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'NGINX'), 0, 'frontend', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'NGINX'), 0, 'server', '', 'TAG'); +INSERT INTO SOFTWARE_CATALOG_REF(CATALOG_ID, REF_IDX, REF_VALUE, REF_DESC, REF_TYPE) +VALUES + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'APACHE'), 0, 'https://httpd.apache.org/', '', 'HOMEPAGE'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'APACHE'), 0, 'web', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'APACHE'), 0, 'oss', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'APACHE'), 0, 'frontend', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'APACHE'), 0, 'webserver', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'APACHE'), 0, 'httpd', '', 'TAG'); +INSERT INTO SOFTWARE_CATALOG_REF(CATALOG_ID, REF_IDX, REF_VALUE, REF_DESC, REF_TYPE) +VALUES + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'NEXUS'), 0, 'https://www.sonatype.com/products/sonatype-nexus-repository', '', 'HOMEPAGE'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'NEXUS'), 0, 'repository', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'NEXUS'), 0, 'oss', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'NEXUS'), 0, 'license', '', 'TAG'); +INSERT INTO SOFTWARE_CATALOG_REF(CATALOG_ID, REF_IDX, REF_VALUE, REF_DESC, REF_TYPE) +VALUES + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'MARIA DB'), 0, 'https://mariadb.org/', '', 'HOMEPAGE'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'MARIA DB'), 0, 'RDBMS', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'MARIA DB'), 0, 'oss', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'MARIA DB'), 0, 'database', '', 'TAG'); +INSERT INTO SOFTWARE_CATALOG_REF(CATALOG_ID, REF_IDX, REF_VALUE, REF_DESC, REF_TYPE) +VALUES + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'GRAFANA'), 0, 'https://grafana.com/', '', 'HOMEPAGE'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'GRAFANA'), 0, 'view', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'GRAFANA'), 0, 'observer', '', 'TAG'), + ((SELECT ID FROM SOFTWARE_CATALOG WHERE TITLE = 'GRAFANA'), 0, 'oss', '', 'TAG'); + + + +-- Insert into oss_type +INSERT INTO oss_type (oss_type_idx, oss_type_name, oss_type_desc) +VALUES + (1, 'NEXUS', 'init'); +INSERT INTO oss_type (oss_type_idx, oss_type_name, oss_type_desc) +VALUES + (2, 'WORKFLOWMANAGER', 'init'); + +-- Insert into oss +INSERT INTO oss (oss_idx, oss_type_idx, oss_name, oss_desc, oss_url, oss_username, oss_password) +VALUES + (1, 1, 'Sample NEXUS', 'Sample Description', 'http://sample.com', 'root', null); +INSERT INTO oss (oss_idx, oss_type_idx, oss_name, oss_desc, oss_url, oss_username, oss_password) +VALUES + (2, 2, 'Sample WorkflowManager', 'Sample Description', 'http://sample.com', null, null); + diff --git a/bin/main/jenkins/kubernetes_helm_install_pipeline.xml b/bin/main/jenkins/kubernetes_helm_install_pipeline.xml new file mode 100644 index 0000000..09e3157 --- /dev/null +++ b/bin/main/jenkins/kubernetes_helm_install_pipeline.xml @@ -0,0 +1,167 @@ + + + + + false + + + + + CB_TUMBLEBUG_SWAGGER_URI + CB-Tumblebug Swagger API URI + http://localhost:1323/tumblebug + true + + + NAMESPACE + Namespace + ns01 + true + + + MCIS_NAME + MCIS Name + mcis-01 + true + + + CLOUD_CONNECTION_NAME + Cloud Connection Name + aws-conn-01 + true + + + HELM_RELEASE_NAME + Helm Release Name + my-release + true + + + HELM_CHART_NAME + Helm Chart Name + bitnami/nginx + true + + + HELM_CHART_VERSION + Helm Chart Version + latest + true + + + + + + + true + + + false + \ No newline at end of file diff --git a/bin/main/jenkins/kubernetes_helm_uninstall_pipeline.xml b/bin/main/jenkins/kubernetes_helm_uninstall_pipeline.xml new file mode 100644 index 0000000..9a9b0ad --- /dev/null +++ b/bin/main/jenkins/kubernetes_helm_uninstall_pipeline.xml @@ -0,0 +1,154 @@ + + + + + false + + + + + CB_TUMBLEBUG_SWAGGER_URI + CB-Tumblebug Swagger API URI + http://localhost:1323/tumblebug + true + + + NAMESPACE + Namespace + ns01 + true + + + MCIS_NAME + MCIS Name + mcis-01 + true + + + CLOUD_CONNECTION_NAME + Cloud Connection Name + aws-conn-01 + true + + + HELM_RELEASE_NAME + Helm Release Name to Uninstall + my-release + true + + + + + + + true + + + false + \ No newline at end of file diff --git a/bin/main/jenkins/vm_application_install_pipeline.xml b/bin/main/jenkins/vm_application_install_pipeline.xml new file mode 100644 index 0000000..6b37a35 --- /dev/null +++ b/bin/main/jenkins/vm_application_install_pipeline.xml @@ -0,0 +1,158 @@ + + + + + false + + + + + CB_TUMBLEBUG_SWAGGER_URI + Tumblebug Swagger URI + http://localhost:1323/tumblebug + true + + + MCIS_NAME + MCIS Name + mcis-01 + true + + + USER + Username for API authentication + default + true + + + USERPASS + Password for API authentication + {AQAAABAAAAAQwt4bUeKjGqPUgXWxMUt+J+7BG3eRYTHCrAo2YnE2Zqw=} + + + APPLICATIONS + Comma-separated list of applications to install (e.g. nginx,tomcat,mariadb,redis,grafana,prometheus) + nginx,tomcat + true + + + + + + + true + + + false + \ No newline at end of file diff --git a/bin/main/jenkins/vm_application_uninstall_pipeline.xml b/bin/main/jenkins/vm_application_uninstall_pipeline.xml new file mode 100644 index 0000000..31c0fdb --- /dev/null +++ b/bin/main/jenkins/vm_application_uninstall_pipeline.xml @@ -0,0 +1,158 @@ + + + + + false + + + + + CB_TUMBLEBUG_SWAGGER_URI + Tumblebug Swagger URI + http://localhost:1323/tumblebug + true + + + MCIS_NAME + MCIS Name + mcis-01 + true + + + USER + Username for API authentication + default + true + + + USERPASS + Password for API authentication + {AQAAABAAAAAQwt4bUeKjGqPUgXWxMUt+J+7BG3eRYTHCrAo2YnE2Zqw=} + + + APPLICATIONS + Comma-separated list of applications to install (e.g. nginx,tomcat,mariadb,redis,grafana,prometheus) + nginx,apache2 + true + + + + + + + true + + + false + \ No newline at end of file diff --git a/bin/main/static/assets/OssList-yJs4c2WL.js b/bin/main/static/assets/OssList-yJs4c2WL.js new file mode 100644 index 0000000..0e6a941 --- /dev/null +++ b/bin/main/static/assets/OssList-yJs4c2WL.js @@ -0,0 +1,17 @@ +import{_ as q}from"./TableHeader.vue_vue_type_script_setup_true_lang-ChkuHmHt.js";import{_ as R}from"./Tabulator.vue_vue_type_style_index_0_lang-C4aGmmvD.js";import{s as v}from"./request-B41piC-O.js";import{d as D,u as N,c as A,w as I,o as T,r as p,a as u,b as s,t as k,e as g,v as M,F as G,f as W,g as O,h as m,i as S}from"./index-D8aamcST.js";const j=()=>v.get("/ossType/list"),z=()=>v.get("/ossType/filter/list"),H=()=>v.get("/oss/list");function J(o){return v.get(`/oss/duplicate?ossName=${o.ossName}&ossUrl=${o.ossUrl}&ossUsername=${o.ossUsername}`)}function K(o){return v.post("/oss/connection-check",o)}function Q(o){return v.get("/oss/"+o)}function X(o){return v.post("/oss",o)}function Y(o){return v.patch(`/oss/${o.ossIdx}`,o)}function Z(o){return v.delete(`/oss/${o}`)}const ss={class:"modal",id:"ossForm",tabindex:"-1"},es={class:"modal-dialog modal-xl",role:"document"},ts={class:"modal-content"},os=s("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1),as={class:"modal-body text-left py-4"},ls={class:"mb-5"},ns={class:"mb-3"},cs=s("label",{class:"form-label required"},"OSS Type",-1),is={class:"grid gap-0 column-gap-3"},ds=s("option",{value:0},"Select OSS Type",-1),rs=["value"],us={class:"row mb-3"},ms=s("label",{class:"form-label required"},"OSS Name",-1),ps={class:"grid gap-0 column-gap-3"},vs={class:"mb-3"},_s=s("label",{class:"form-label required"},"OSS Description",-1),bs={class:"mb-3"},hs=s("label",{class:"form-label required"},"URL",-1),fs={class:"row"},gs={class:"col"},ys=s("label",{class:"form-label required"},"OSS ID",-1),ws={class:"col"},Os=s("label",{class:"form-label required"},"OSS PW",-1),Ss={class:"col mt-4 row"},ks={key:1,class:"btn btn-success col",style:{"margin-right":"3px"}},xs={key:3,class:"btn btn-success col"},Cs={class:"modal-footer"},Us=D({__name:"ossForm",props:{mode:{},ossIdx:{}},emits:["get-oss-list"],setup(o,{emit:y}){const n=N(),c=o,_=y,b=A(()=>c.ossIdx);I(b,async()=>{await r()}),I(()=>c.mode,async()=>{await f(c.mode)}),T(async()=>{await f("init"),await r()});const e=p({}),r=async()=>{if(c.mode==="new")e.value.ossTypeIdx=0,e.value.ossName="",e.value.ossDesc="",e.value.ossUrl="",e.value.ossUsername="",e.value.ossPassword="",i.value=!1,d.value=!1;else{const{data:a}=await Q(c.ossIdx);e.value=a,e.value.ossPassword=V(e.value.ossPassword),i.value=!0,d.value=!0}},h=p([]),f=async a=>{try{if(a==="new"||a==="init"){const{data:t}=await z();h.value=t}else{const{data:t}=await j();h.value=t}}catch(t){console.log(t)}},x=()=>{e.value.ossPassword="",d.value=!1},i=p(!1),w=async()=>{const a={ossName:e.value.ossName,ossUrl:e.value.ossUrl,ossUsername:e.value.ossUsername},{data:t}=await J(a);t?n.error("이미 사용중인 이름입니다."):(n.success("사용 가능한 이름입니다."),i.value=!0)},d=p(!1),C=async()=>{const a={ossUrl:e.value.ossUrl,ossUsername:e.value.ossUsername,ossPassword:$(e.value.ossPassword),ossTypeIdx:e.value.ossTypeIdx},{data:t}=await K(a);t?(n.success("사용 가능한 OSS입니다."),d.value=!0):n.error("사용 불가능한 OSS입니다.")},L=()=>{i.value=!1},U=()=>{d.value=!1},P=async()=>{e.value.ossPassword=$(e.value.ossPassword),c.mode==="new"?await F().then(()=>{_("get-oss-list")}):await E().then(()=>{_("get-oss-list")}),r()},F=async()=>{const{data:a}=await X(e.value);a?n.success("등록되었습니다."):n.error("등록 할 수 없습니다.")},E=async()=>{const{data:a}=await Y(e.value);a?n.success("등록되었습니다."):n.error("등록 할 수 없습니다.")},$=a=>btoa(a),V=a=>atob(a);return(a,t)=>(m(),u("div",ss,[s("div",es,[s("div",ts,[os,s("div",as,[s("h3",ls,k(c.mode==="new"?"New":"Edit")+" OSS ",1),s("div",null,[s("div",ns,[cs,s("div",is,[g(s("select",{"onUpdate:modelValue":t[0]||(t[0]=l=>e.value.ossTypeIdx=l),class:"form-select p-2 g-col-12"},[ds,(m(!0),u(G,null,W(h.value,(l,B)=>(m(),u("option",{value:l.ossTypeIdx,key:B},k(l.ossTypeName),9,rs))),128))],512),[[M,e.value.ossTypeIdx]])])]),s("div",us,[ms,s("div",ps,[g(s("input",{type:"text",class:"form-control p-2 g-col-11",placeholder:"Enter the OSS Name","onUpdate:modelValue":t[1]||(t[1]=l=>e.value.ossName=l),onChange:L},null,544),[[O,e.value.ossName]])])]),s("div",vs,[_s,g(s("input",{type:"text",class:"form-control p-2 g-col-11",placeholder:"Enter the OSS Description","onUpdate:modelValue":t[2]||(t[2]=l=>e.value.ossDesc=l)},null,512),[[O,e.value.ossDesc]])]),s("div",bs,[hs,g(s("input",{type:"text",class:"form-control p-2 g-col-7",placeholder:"Enter the Server URL","onUpdate:modelValue":t[3]||(t[3]=l=>e.value.ossUrl=l),onFocus:U},null,544),[[O,e.value.ossUrl]])]),s("div",fs,[s("div",gs,[ys,g(s("input",{type:"text",class:"form-control p-2 g-col-7",placeholder:"Enter the OSS ID","onUpdate:modelValue":t[4]||(t[4]=l=>e.value.ossUsername=l),onFocus:U},null,544),[[O,e.value.ossUsername]])]),s("div",ws,[Os,g(s("input",{type:"password",class:"form-control p-2 g-col-11",placeholder:"Enter the OSS Password","onUpdate:modelValue":t[5]||(t[5]=l=>e.value.ossPassword=l),onClick:x,onFocus:U},null,544),[[O,e.value.ossPassword]])]),s("div",Ss,[i.value?(m(),u("button",ks,"Duplicate Check")):(m(),u("button",{key:0,class:"btn btn-primary col",onClick:w,style:{"margin-right":"3px"}},"Duplicate Check")),d.value?(m(),u("button",xs,"Connection Check")):(m(),u("button",{key:2,class:"btn btn-primary col",onClick:C},"Connection Check"))])])])]),s("div",Cs,[s("a",{href:"#",class:"btn btn-link link-secondary","data-bs-dismiss":"modal",onClick:t[6]||(t[6]=l=>r())}," Cancel "),s("a",{href:"#",class:"btn btn-primary ms-auto","data-bs-dismiss":"modal",onClick:t[7]||(t[7]=l=>P())},k(c.mode==="new"?"Regist":"Edit"),1)])])])]))}}),Ds={class:"modal",id:"deleteOss",tabindex:"-1"},Ns={class:"modal-dialog modal-lg",role:"document"},$s={class:"modal-content"},Is=s("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1),Ts=s("div",{class:"modal-status bg-danger"},null,-1),Ls={class:"modal-body text-left py-4"},Ps=s("h3",{class:"mb-5"}," Delete OSS ",-1),Fs={class:"modal-footer"},Es=s("a",{href:"#",class:"btn btn-link link-secondary","data-bs-dismiss":"modal"}," Cancel ",-1),Vs=D({__name:"deleteOss",props:{ossName:{},ossIdx:{}},emits:["get-oss-list"],setup(o,{emit:y}){const n=N(),c=o,_=y,b=async()=>{const{data:e}=await Z(c.ossIdx);e?n.success("삭제되었습니다."):n.error("삭제하지 못했습니다."),_("get-oss-list")};return(e,r)=>(m(),u("div",Ds,[s("div",Ns,[s("div",$s,[Is,Ts,s("div",Ls,[Ps,s("h4",null,"Are you sure you want to delete "+k(c.ossName)+"?",1)]),s("div",Fs,[Es,s("a",{href:"#",class:"btn btn-primary ms-auto","data-bs-dismiss":"modal",onClick:r[0]||(r[0]=h=>b())}," Delete ")])])])]))}}),Bs={class:"card card-flush w-100"},Gs=D({__name:"OssList",setup(o){const y=N(),n=p([]),c=p([]);T(async()=>{r(),await _()});const _=async()=>{try{const{data:i}=await H();n.value=i}catch(i){console.log(i),y.error("데이터를 가져올 수 없습니다.")}},b=p(0),e=p(""),r=()=>{c.value=[{title:"OSS Name",field:"ossName",width:400},{title:"OSS Desc",field:"ossDesc",width:500},{title:"URL",field:"ossUrl",width:600},{title:"Action",width:400,formatter:h,cellClick:function(i,w){const d=i.target,C=d==null?void 0:d.getAttribute("id");b.value=w.getRow().getData().ossIdx,C==="edit-btn"?f.value="edit":e.value=w.getRow().getData().ossName}}]},h=()=>` +
+ + +
`,f=p("new"),x=()=>{b.value=0,f.value="new"};return(i,w)=>(m(),u("div",Bs,[S(q,{"header-title":"OSS","new-btn-title":"New OSS","popup-flag":!0,"popup-target":"#ossForm",onClickNewBtn:x}),S(R,{columns:c.value,"table-data":n.value},null,8,["columns","table-data"]),S(Us,{mode:f.value,"oss-idx":b.value,onGetOssList:_},null,8,["mode","oss-idx"]),S(Vs,{"oss-name":e.value,"oss-idx":b.value,onGetOssList:_},null,8,["oss-name","oss-idx"])]))}});export{Gs as default}; diff --git a/bin/main/static/assets/RepositoryDetail-DRB9lejo.js b/bin/main/static/assets/RepositoryDetail-DRB9lejo.js new file mode 100644 index 0000000..29a7a34 --- /dev/null +++ b/bin/main/static/assets/RepositoryDetail-DRB9lejo.js @@ -0,0 +1,41 @@ +import{x as he,y as gp,d as Di,u as Wi,a as Ui,b as x,t as _p,h as Pi,o as vo,r as ht,e as ge,g as _e,z as pp,A as dp,i as Fi}from"./index-D8aamcST.js";import{b as vp,c as mp,g as wp,e as xp}from"./repository-DaHnZzAW.js";import{_ as Ap}from"./Tabulator.vue_vue_type_style_index_0_lang-C4aGmmvD.js";import"./request-B41piC-O.js";var lr={exports:{}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */lr.exports;(function(kn,$n){(function(){var o,q="4.17.21",Dn=200,vn="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",$="Expected a function",Wn="Invalid `variable` option passed into `_.template`",jn="__lodash_hash_undefined__",Ct=500,fn="__lodash_placeholder__",Q=1,gt=2,nt=4,tt=1,V=2,O=1,P=2,sr=4,mn=8,Rt=16,Un=32,It=64,Gn=128,qt=256,ar=512,mo=30,wo="...",xo=800,Ao=16,Bi=1,yo=2,bo=3,_t=1/0,et=9007199254740991,Co=17976931348623157e292,pe=NaN,Pn=4294967295,Ro=Pn-1,Io=Pn>>>1,So=[["ary",Gn],["bind",O],["bindKey",P],["curry",mn],["curryRight",Rt],["flip",ar],["partial",Un],["partialRight",It],["rearg",qt]],St="[object Arguments]",de="[object Array]",Eo="[object AsyncFunction]",Kt="[object Boolean]",zt="[object Date]",Lo="[object DOMException]",ve="[object Error]",me="[object Function]",Mi="[object GeneratorFunction]",Sn="[object Map]",Zt="[object Number]",To="[object Null]",Hn="[object Object]",Ni="[object Promise]",Oo="[object Proxy]",Yt="[object RegExp]",En="[object Set]",Xt="[object String]",we="[object Symbol]",Fo="[object Undefined]",Jt="[object WeakMap]",Do="[object WeakSet]",Qt="[object ArrayBuffer]",Et="[object DataView]",cr="[object Float32Array]",hr="[object Float64Array]",gr="[object Int8Array]",_r="[object Int16Array]",pr="[object Int32Array]",dr="[object Uint8Array]",vr="[object Uint8ClampedArray]",mr="[object Uint16Array]",wr="[object Uint32Array]",Wo=/\b__p \+= '';/g,Uo=/\b(__p \+=) '' \+/g,Po=/(__e\(.*?\)|\b__t\)) \+\n'';/g,$i=/&(?:amp|lt|gt|quot|#39);/g,Gi=/[&<>"']/g,Bo=RegExp($i.source),Mo=RegExp(Gi.source),No=/<%-([\s\S]+?)%>/g,$o=/<%([\s\S]+?)%>/g,Hi=/<%=([\s\S]+?)%>/g,Go=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ho=/^\w*$/,qo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,xr=/[\\^$.*+?()[\]{}|]/g,Ko=RegExp(xr.source),Ar=/^\s+/,zo=/\s/,Zo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Yo=/\{\n\/\* \[wrapped with (.+)\] \*/,Xo=/,? & /,Jo=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Qo=/[()=,{}\[\]\/\s]/,Vo=/\\(\\)?/g,ko=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,qi=/\w*$/,jo=/^[-+]0x[0-9a-f]+$/i,nl=/^0b[01]+$/i,tl=/^\[object .+?Constructor\]$/,el=/^0o[0-7]+$/i,rl=/^(?:0|[1-9]\d*)$/,il=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,xe=/($^)/,ul=/['\n\r\u2028\u2029\\]/g,Ae="\\ud800-\\udfff",fl="\\u0300-\\u036f",ol="\\ufe20-\\ufe2f",ll="\\u20d0-\\u20ff",Ki=fl+ol+ll,zi="\\u2700-\\u27bf",Zi="a-z\\xdf-\\xf6\\xf8-\\xff",sl="\\xac\\xb1\\xd7\\xf7",al="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",cl="\\u2000-\\u206f",hl=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Yi="A-Z\\xc0-\\xd6\\xd8-\\xde",Xi="\\ufe0e\\ufe0f",Ji=sl+al+cl+hl,yr="['’]",gl="["+Ae+"]",Qi="["+Ji+"]",ye="["+Ki+"]",Vi="\\d+",_l="["+zi+"]",ki="["+Zi+"]",ji="[^"+Ae+Ji+Vi+zi+Zi+Yi+"]",br="\\ud83c[\\udffb-\\udfff]",pl="(?:"+ye+"|"+br+")",nu="[^"+Ae+"]",Cr="(?:\\ud83c[\\udde6-\\uddff]){2}",Rr="[\\ud800-\\udbff][\\udc00-\\udfff]",Lt="["+Yi+"]",tu="\\u200d",eu="(?:"+ki+"|"+ji+")",dl="(?:"+Lt+"|"+ji+")",ru="(?:"+yr+"(?:d|ll|m|re|s|t|ve))?",iu="(?:"+yr+"(?:D|LL|M|RE|S|T|VE))?",uu=pl+"?",fu="["+Xi+"]?",vl="(?:"+tu+"(?:"+[nu,Cr,Rr].join("|")+")"+fu+uu+")*",ml="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",wl="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ou=fu+uu+vl,xl="(?:"+[_l,Cr,Rr].join("|")+")"+ou,Al="(?:"+[nu+ye+"?",ye,Cr,Rr,gl].join("|")+")",yl=RegExp(yr,"g"),bl=RegExp(ye,"g"),Ir=RegExp(br+"(?="+br+")|"+Al+ou,"g"),Cl=RegExp([Lt+"?"+ki+"+"+ru+"(?="+[Qi,Lt,"$"].join("|")+")",dl+"+"+iu+"(?="+[Qi,Lt+eu,"$"].join("|")+")",Lt+"?"+eu+"+"+ru,Lt+"+"+iu,wl,ml,Vi,xl].join("|"),"g"),Rl=RegExp("["+tu+Ae+Ki+Xi+"]"),Il=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Sl=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],El=-1,N={};N[cr]=N[hr]=N[gr]=N[_r]=N[pr]=N[dr]=N[vr]=N[mr]=N[wr]=!0,N[St]=N[de]=N[Qt]=N[Kt]=N[Et]=N[zt]=N[ve]=N[me]=N[Sn]=N[Zt]=N[Hn]=N[Yt]=N[En]=N[Xt]=N[Jt]=!1;var M={};M[St]=M[de]=M[Qt]=M[Et]=M[Kt]=M[zt]=M[cr]=M[hr]=M[gr]=M[_r]=M[pr]=M[Sn]=M[Zt]=M[Hn]=M[Yt]=M[En]=M[Xt]=M[we]=M[dr]=M[vr]=M[mr]=M[wr]=!0,M[ve]=M[me]=M[Jt]=!1;var Ll={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Tl={"&":"&","<":"<",">":">",'"':""","'":"'"},Ol={"&":"&","<":"<",">":">",""":'"',"'":"'"},Fl={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Dl=parseFloat,Wl=parseInt,lu=typeof he=="object"&&he&&he.Object===Object&&he,Ul=typeof self=="object"&&self&&self.Object===Object&&self,k=lu||Ul||Function("return this")(),Sr=$n&&!$n.nodeType&&$n,pt=Sr&&!0&&kn&&!kn.nodeType&&kn,su=pt&&pt.exports===Sr,Er=su&&lu.process,wn=function(){try{var a=pt&&pt.require&&pt.require("util").types;return a||Er&&Er.binding&&Er.binding("util")}catch{}}(),au=wn&&wn.isArrayBuffer,cu=wn&&wn.isDate,hu=wn&&wn.isMap,gu=wn&&wn.isRegExp,_u=wn&&wn.isSet,pu=wn&&wn.isTypedArray;function cn(a,g,h){switch(h.length){case 0:return a.call(g);case 1:return a.call(g,h[0]);case 2:return a.call(g,h[0],h[1]);case 3:return a.call(g,h[0],h[1],h[2])}return a.apply(g,h)}function Pl(a,g,h,m){for(var C=-1,D=a==null?0:a.length;++C-1}function Lr(a,g,h){for(var m=-1,C=a==null?0:a.length;++m-1;);return h}function bu(a,g){for(var h=a.length;h--&&Tt(g,a[h],0)>-1;);return h}function zl(a,g){for(var h=a.length,m=0;h--;)a[h]===g&&++m;return m}var Zl=Dr(Ll),Yl=Dr(Tl);function Xl(a){return"\\"+Fl[a]}function Jl(a,g){return a==null?o:a[g]}function Ot(a){return Rl.test(a)}function Ql(a){return Il.test(a)}function Vl(a){for(var g,h=[];!(g=a.next()).done;)h.push(g.value);return h}function Br(a){var g=-1,h=Array(a.size);return a.forEach(function(m,C){h[++g]=[C,m]}),h}function Cu(a,g){return function(h){return a(g(h))}}function ut(a,g){for(var h=-1,m=a.length,C=0,D=[];++h-1}function Ms(n,t){var e=this.__data__,r=$e(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}qn.prototype.clear=Ws,qn.prototype.delete=Us,qn.prototype.get=Ps,qn.prototype.has=Bs,qn.prototype.set=Ms;function Kn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t=t?n:t)),n}function bn(n,t,e,r,i,f){var l,s=t&Q,c=t>,_=t&nt;if(e&&(l=i?e(n,r,i,f):e(n)),l!==o)return l;if(!H(n))return n;var p=R(n);if(p){if(l=Ha(n),!s)return on(n,l)}else{var d=tn(n),v=d==me||d==Mi;if(ct(n))return of(n,s);if(d==Hn||d==St||v&&!i){if(l=c||v?{}:If(n),!s)return c?Oa(n,na(l,n)):Ta(n,Pu(l,n))}else{if(!M[d])return i?n:{};l=qa(n,d,s)}}f||(f=new Tn);var w=f.get(n);if(w)return w;f.set(n,l),to(n)?n.forEach(function(b){l.add(bn(b,t,e,b,n,f))}):jf(n)&&n.forEach(function(b,L){l.set(L,bn(b,t,e,L,n,f))});var y=_?c?si:li:c?sn:J,S=p?o:y(n);return xn(S||n,function(b,L){S&&(L=b,b=n[L]),re(l,L,bn(b,t,e,L,n,f))}),l}function ta(n){var t=J(n);return function(e){return Bu(e,n,t)}}function Bu(n,t,e){var r=e.length;if(n==null)return!r;for(n=B(n);r--;){var i=e[r],f=t[i],l=n[i];if(l===o&&!(i in n)||!f(l))return!1}return!0}function Mu(n,t,e){if(typeof n!="function")throw new An($);return ae(function(){n.apply(o,e)},t)}function ie(n,t,e,r){var i=-1,f=be,l=!0,s=n.length,c=[],_=t.length;if(!s)return c;e&&(t=G(t,hn(e))),r?(f=Lr,l=!1):t.length>=Dn&&(f=Vt,l=!1,t=new mt(t));n:for(;++ii?0:i+e),r=r===o||r>i?i:I(r),r<0&&(r+=i),r=e>r?0:ro(r);e0&&e(s)?t>1?j(s,t-1,e,r,i):it(i,s):r||(i[i.length]=s)}return i}var Kr=gf(),Gu=gf(!0);function Bn(n,t){return n&&Kr(n,t,J)}function zr(n,t){return n&&Gu(n,t,J)}function He(n,t){return rt(t,function(e){return Jn(n[e])})}function xt(n,t){t=st(t,n);for(var e=0,r=t.length;n!=null&&et}function ia(n,t){return n!=null&&U.call(n,t)}function ua(n,t){return n!=null&&t in B(n)}function fa(n,t,e){return n>=nn(t,e)&&n=120&&p.length>=120)?new mt(l&&p):o}p=n[0];var d=-1,v=s[0];n:for(;++d-1;)s!==n&&De.call(s,c,1),De.call(n,c,1);return n}function ku(n,t){for(var e=n?t.length:0,r=e-1;e--;){var i=t[e];if(e==r||i!==f){var f=i;Xn(i)?De.call(n,i,1):ti(n,i)}}return n}function kr(n,t){return n+Pe(Fu()*(t-n+1))}function wa(n,t,e,r){for(var i=-1,f=X(Ue((t-n)/(e||1)),0),l=h(f);f--;)l[r?f:++i]=n,n+=e;return l}function jr(n,t){var e="";if(!n||t<1||t>et)return e;do t%2&&(e+=n),t=Pe(t/2),t&&(n+=n);while(t);return e}function E(n,t){return di(Lf(n,t,an),n+"")}function xa(n){return Uu(Ht(n))}function Aa(n,t){var e=Ht(n);return je(e,wt(t,0,e.length))}function oe(n,t,e,r){if(!H(n))return n;t=st(t,n);for(var i=-1,f=t.length,l=f-1,s=n;s!=null&&++ii?0:i+t),e=e>i?i:e,e<0&&(e+=i),i=t>e?0:e-t>>>0,t>>>=0;for(var f=h(i);++r>>1,l=n[f];l!==null&&!_n(l)&&(e?l<=t:l=Dn){var _=t?null:Ua(n);if(_)return Re(_);l=!1,i=Vt,c=new mt}else c=t?[]:s;n:for(;++r=r?n:Cn(n,t,e)}var ff=hs||function(n){return k.clearTimeout(n)};function of(n,t){if(t)return n.slice();var e=n.length,r=Su?Su(e):new n.constructor(e);return n.copy(r),r}function ui(n){var t=new n.constructor(n.byteLength);return new Oe(t).set(new Oe(n)),t}function Ia(n,t){var e=t?ui(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}function Sa(n){var t=new n.constructor(n.source,qi.exec(n));return t.lastIndex=n.lastIndex,t}function Ea(n){return ee?B(ee.call(n)):{}}function lf(n,t){var e=t?ui(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}function sf(n,t){if(n!==t){var e=n!==o,r=n===null,i=n===n,f=_n(n),l=t!==o,s=t===null,c=t===t,_=_n(t);if(!s&&!_&&!f&&n>t||f&&l&&c&&!s&&!_||r&&l&&c||!e&&c||!i)return 1;if(!r&&!f&&!_&&n=s)return c;var _=e[r];return c*(_=="desc"?-1:1)}}return n.index-t.index}function af(n,t,e,r){for(var i=-1,f=n.length,l=e.length,s=-1,c=t.length,_=X(f-l,0),p=h(c+_),d=!r;++s1?e[i-1]:o,l=i>2?e[2]:o;for(f=n.length>3&&typeof f=="function"?(i--,f):o,l&&rn(e[0],e[1],l)&&(f=i<3?o:f,i=1),t=B(t);++r-1?i[f?t[l]:l]:o}}function df(n){return Yn(function(t){var e=t.length,r=e,i=yn.prototype.thru;for(n&&t.reverse();r--;){var f=t[r];if(typeof f!="function")throw new An($);if(i&&!l&&Ve(f)=="wrapper")var l=new yn([],!0)}for(r=l?r:e;++r1&&F.reverse(),p&&cs))return!1;var _=f.get(n),p=f.get(t);if(_&&p)return _==t&&p==n;var d=-1,v=!0,w=e&V?new mt:o;for(f.set(n,t),f.set(t,n);++d1?"& ":"")+t[r],t=t.join(e>2?", ":" "),n.replace(Zo,`{ +/* [wrapped with `+t+`] */ +`)}function za(n){return R(n)||bt(n)||!!(Tu&&n&&n[Tu])}function Xn(n,t){var e=typeof n;return t=t??et,!!t&&(e=="number"||e!="symbol"&&rl.test(n))&&n>-1&&n%1==0&&n0){if(++t>=xo)return arguments[0]}else t=0;return n.apply(o,arguments)}}function je(n,t){var e=-1,r=n.length,i=r-1;for(t=t===o?r:t;++e1?n[t-1]:o;return e=typeof e=="function"?(n.pop(),e):o,Gf(n,e)});function Hf(n){var t=u(n);return t.__chain__=!0,t}function eh(n,t){return t(n),n}function nr(n,t){return t(n)}var rh=Yn(function(n){var t=n.length,e=t?n[0]:0,r=this.__wrapped__,i=function(f){return qr(f,n)};return t>1||this.__actions__.length||!(r instanceof T)||!Xn(e)?this.thru(i):(r=r.slice(e,+e+(t?1:0)),r.__actions__.push({func:nr,args:[i],thisArg:o}),new yn(r,this.__chain__).thru(function(f){return t&&!f.length&&f.push(o),f}))});function ih(){return Hf(this)}function uh(){return new yn(this.value(),this.__chain__)}function fh(){this.__values__===o&&(this.__values__=eo(this.value()));var n=this.__index__>=this.__values__.length,t=n?o:this.__values__[this.__index__++];return{done:n,value:t}}function oh(){return this}function lh(n){for(var t,e=this;e instanceof Ne;){var r=Uf(e);r.__index__=0,r.__values__=o,t?i.__wrapped__=r:t=r;var i=r;e=e.__wrapped__}return i.__wrapped__=n,t}function sh(){var n=this.__wrapped__;if(n instanceof T){var t=n;return this.__actions__.length&&(t=new T(this)),t=t.reverse(),t.__actions__.push({func:nr,args:[vi],thisArg:o}),new yn(t,this.__chain__)}return this.thru(vi)}function ah(){return rf(this.__wrapped__,this.__actions__)}var ch=Ze(function(n,t,e){U.call(n,e)?++n[e]:zn(n,e,1)});function hh(n,t,e){var r=R(n)?du:ea;return e&&rn(n,t,e)&&(t=o),r(n,A(t,3))}function gh(n,t){var e=R(n)?rt:$u;return e(n,A(t,3))}var _h=pf(Pf),ph=pf(Bf);function dh(n,t){return j(tr(n,t),1)}function vh(n,t){return j(tr(n,t),_t)}function mh(n,t,e){return e=e===o?1:I(e),j(tr(n,t),e)}function qf(n,t){var e=R(n)?xn:ot;return e(n,A(t,3))}function Kf(n,t){var e=R(n)?Bl:Nu;return e(n,A(t,3))}var wh=Ze(function(n,t,e){U.call(n,e)?n[e].push(t):zn(n,e,[t])});function xh(n,t,e,r){n=ln(n)?n:Ht(n),e=e&&!r?I(e):0;var i=n.length;return e<0&&(e=X(i+e,0)),fr(n)?e<=i&&n.indexOf(t,e)>-1:!!i&&Tt(n,t,e)>-1}var Ah=E(function(n,t,e){var r=-1,i=typeof t=="function",f=ln(n)?h(n.length):[];return ot(n,function(l){f[++r]=i?cn(t,l,e):ue(l,t,e)}),f}),yh=Ze(function(n,t,e){zn(n,e,t)});function tr(n,t){var e=R(n)?G:Zu;return e(n,A(t,3))}function bh(n,t,e,r){return n==null?[]:(R(t)||(t=t==null?[]:[t]),e=r?o:e,R(e)||(e=e==null?[]:[e]),Qu(n,t,e))}var Ch=Ze(function(n,t,e){n[e?0:1].push(t)},function(){return[[],[]]});function Rh(n,t,e){var r=R(n)?Tr:xu,i=arguments.length<3;return r(n,A(t,4),e,i,ot)}function Ih(n,t,e){var r=R(n)?Ml:xu,i=arguments.length<3;return r(n,A(t,4),e,i,Nu)}function Sh(n,t){var e=R(n)?rt:$u;return e(n,ir(A(t,3)))}function Eh(n){var t=R(n)?Uu:xa;return t(n)}function Lh(n,t,e){(e?rn(n,t,e):t===o)?t=1:t=I(t);var r=R(n)?Vs:Aa;return r(n,t)}function Th(n){var t=R(n)?ks:ba;return t(n)}function Oh(n){if(n==null)return 0;if(ln(n))return fr(n)?Ft(n):n.length;var t=tn(n);return t==Sn||t==En?n.size:Jr(n).length}function Fh(n,t,e){var r=R(n)?Or:Ca;return e&&rn(n,t,e)&&(t=o),r(n,A(t,3))}var Dh=E(function(n,t){if(n==null)return[];var e=t.length;return e>1&&rn(n,t[0],t[1])?t=[]:e>2&&rn(t[0],t[1],t[2])&&(t=[t[0]]),Qu(n,j(t,1),[])}),er=gs||function(){return k.Date.now()};function Wh(n,t){if(typeof t!="function")throw new An($);return n=I(n),function(){if(--n<1)return t.apply(this,arguments)}}function zf(n,t,e){return t=e?o:t,t=n&&t==null?n.length:t,Zn(n,Gn,o,o,o,o,t)}function Zf(n,t){var e;if(typeof t!="function")throw new An($);return n=I(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=o),e}}var wi=E(function(n,t,e){var r=O;if(e.length){var i=ut(e,$t(wi));r|=Un}return Zn(n,r,t,e,i)}),Yf=E(function(n,t,e){var r=O|P;if(e.length){var i=ut(e,$t(Yf));r|=Un}return Zn(t,r,n,e,i)});function Xf(n,t,e){t=e?o:t;var r=Zn(n,mn,o,o,o,o,o,t);return r.placeholder=Xf.placeholder,r}function Jf(n,t,e){t=e?o:t;var r=Zn(n,Rt,o,o,o,o,o,t);return r.placeholder=Jf.placeholder,r}function Qf(n,t,e){var r,i,f,l,s,c,_=0,p=!1,d=!1,v=!0;if(typeof n!="function")throw new An($);t=In(t)||0,H(e)&&(p=!!e.leading,d="maxWait"in e,f=d?X(In(e.maxWait)||0,t):f,v="trailing"in e?!!e.trailing:v);function w(Z){var Fn=r,Vn=i;return r=i=o,_=Z,l=n.apply(Vn,Fn),l}function y(Z){return _=Z,s=ae(L,t),p?w(Z):l}function S(Z){var Fn=Z-c,Vn=Z-_,po=t-Fn;return d?nn(po,f-Vn):po}function b(Z){var Fn=Z-c,Vn=Z-_;return c===o||Fn>=t||Fn<0||d&&Vn>=f}function L(){var Z=er();if(b(Z))return F(Z);s=ae(L,S(Z))}function F(Z){return s=o,v&&r?w(Z):(r=i=o,l)}function pn(){s!==o&&ff(s),_=0,r=c=i=s=o}function un(){return s===o?l:F(er())}function dn(){var Z=er(),Fn=b(Z);if(r=arguments,i=this,c=Z,Fn){if(s===o)return y(c);if(d)return ff(s),s=ae(L,t),w(c)}return s===o&&(s=ae(L,t)),l}return dn.cancel=pn,dn.flush=un,dn}var Uh=E(function(n,t){return Mu(n,1,t)}),Ph=E(function(n,t,e){return Mu(n,In(t)||0,e)});function Bh(n){return Zn(n,ar)}function rr(n,t){if(typeof n!="function"||t!=null&&typeof t!="function")throw new An($);var e=function(){var r=arguments,i=t?t.apply(this,r):r[0],f=e.cache;if(f.has(i))return f.get(i);var l=n.apply(this,r);return e.cache=f.set(i,l)||f,l};return e.cache=new(rr.Cache||Kn),e}rr.Cache=Kn;function ir(n){if(typeof n!="function")throw new An($);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function Mh(n){return Zf(2,n)}var Nh=Ra(function(n,t){t=t.length==1&&R(t[0])?G(t[0],hn(A())):G(j(t,1),hn(A()));var e=t.length;return E(function(r){for(var i=-1,f=nn(r.length,e);++i=t}),bt=qu(function(){return arguments}())?qu:function(n){return K(n)&&U.call(n,"callee")&&!Lu.call(n,"callee")},R=h.isArray,ng=au?hn(au):la;function ln(n){return n!=null&&ur(n.length)&&!Jn(n)}function z(n){return K(n)&&ln(n)}function tg(n){return n===!0||n===!1||K(n)&&en(n)==Kt}var ct=ps||Oi,eg=cu?hn(cu):sa;function rg(n){return K(n)&&n.nodeType===1&&!ce(n)}function ig(n){if(n==null)return!0;if(ln(n)&&(R(n)||typeof n=="string"||typeof n.splice=="function"||ct(n)||Gt(n)||bt(n)))return!n.length;var t=tn(n);if(t==Sn||t==En)return!n.size;if(se(n))return!Jr(n).length;for(var e in n)if(U.call(n,e))return!1;return!0}function ug(n,t){return fe(n,t)}function fg(n,t,e){e=typeof e=="function"?e:o;var r=e?e(n,t):o;return r===o?fe(n,t,o,e):!!r}function Ai(n){if(!K(n))return!1;var t=en(n);return t==ve||t==Lo||typeof n.message=="string"&&typeof n.name=="string"&&!ce(n)}function og(n){return typeof n=="number"&&Ou(n)}function Jn(n){if(!H(n))return!1;var t=en(n);return t==me||t==Mi||t==Eo||t==Oo}function kf(n){return typeof n=="number"&&n==I(n)}function ur(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=et}function H(n){var t=typeof n;return n!=null&&(t=="object"||t=="function")}function K(n){return n!=null&&typeof n=="object"}var jf=hu?hn(hu):ca;function lg(n,t){return n===t||Xr(n,t,ci(t))}function sg(n,t,e){return e=typeof e=="function"?e:o,Xr(n,t,ci(t),e)}function ag(n){return no(n)&&n!=+n}function cg(n){if(Xa(n))throw new C(vn);return Ku(n)}function hg(n){return n===null}function gg(n){return n==null}function no(n){return typeof n=="number"||K(n)&&en(n)==Zt}function ce(n){if(!K(n)||en(n)!=Hn)return!1;var t=Fe(n);if(t===null)return!0;var e=U.call(t,"constructor")&&t.constructor;return typeof e=="function"&&e instanceof e&&Ee.call(e)==ss}var yi=gu?hn(gu):ha;function _g(n){return kf(n)&&n>=-et&&n<=et}var to=_u?hn(_u):ga;function fr(n){return typeof n=="string"||!R(n)&&K(n)&&en(n)==Xt}function _n(n){return typeof n=="symbol"||K(n)&&en(n)==we}var Gt=pu?hn(pu):_a;function pg(n){return n===o}function dg(n){return K(n)&&tn(n)==Jt}function vg(n){return K(n)&&en(n)==Do}var mg=Qe(Qr),wg=Qe(function(n,t){return n<=t});function eo(n){if(!n)return[];if(ln(n))return fr(n)?Ln(n):on(n);if(kt&&n[kt])return Vl(n[kt]());var t=tn(n),e=t==Sn?Br:t==En?Re:Ht;return e(n)}function Qn(n){if(!n)return n===0?n:0;if(n=In(n),n===_t||n===-_t){var t=n<0?-1:1;return t*Co}return n===n?n:0}function I(n){var t=Qn(n),e=t%1;return t===t?e?t-e:t:0}function ro(n){return n?wt(I(n),0,Pn):0}function In(n){if(typeof n=="number")return n;if(_n(n))return pe;if(H(n)){var t=typeof n.valueOf=="function"?n.valueOf():n;n=H(t)?t+"":t}if(typeof n!="string")return n===0?n:+n;n=Au(n);var e=nl.test(n);return e||el.test(n)?Wl(n.slice(2),e?2:8):jo.test(n)?pe:+n}function io(n){return Mn(n,sn(n))}function xg(n){return n?wt(I(n),-et,et):n===0?n:0}function W(n){return n==null?"":gn(n)}var Ag=Mt(function(n,t){if(se(t)||ln(t)){Mn(t,J(t),n);return}for(var e in t)U.call(t,e)&&re(n,e,t[e])}),uo=Mt(function(n,t){Mn(t,sn(t),n)}),or=Mt(function(n,t,e,r){Mn(t,sn(t),n,r)}),yg=Mt(function(n,t,e,r){Mn(t,J(t),n,r)}),bg=Yn(qr);function Cg(n,t){var e=Bt(n);return t==null?e:Pu(e,t)}var Rg=E(function(n,t){n=B(n);var e=-1,r=t.length,i=r>2?t[2]:o;for(i&&rn(t[0],t[1],i)&&(r=1);++e1),f}),Mn(n,si(n),e),r&&(e=bn(e,Q|gt|nt,Pa));for(var i=t.length;i--;)ti(e,t[i]);return e});function qg(n,t){return oo(n,ir(A(t)))}var Kg=Yn(function(n,t){return n==null?{}:va(n,t)});function oo(n,t){if(n==null)return{};var e=G(si(n),function(r){return[r]});return t=A(t),Vu(n,e,function(r,i){return t(r,i[0])})}function zg(n,t,e){t=st(t,n);var r=-1,i=t.length;for(i||(i=1,n=o);++rt){var r=n;n=t,t=r}if(e||n%1||t%1){var i=Fu();return nn(n+i*(t-n+Dl("1e-"+((i+"").length-1))),t)}return kr(n,t)}var e_=Nt(function(n,t,e){return t=t.toLowerCase(),n+(e?ao(t):t)});function ao(n){return Ri(W(n).toLowerCase())}function co(n){return n=W(n),n&&n.replace(il,Zl).replace(bl,"")}function r_(n,t,e){n=W(n),t=gn(t);var r=n.length;e=e===o?r:wt(I(e),0,r);var i=e;return e-=t.length,e>=0&&n.slice(e,i)==t}function i_(n){return n=W(n),n&&Mo.test(n)?n.replace(Gi,Yl):n}function u_(n){return n=W(n),n&&Ko.test(n)?n.replace(xr,"\\$&"):n}var f_=Nt(function(n,t,e){return n+(e?"-":"")+t.toLowerCase()}),o_=Nt(function(n,t,e){return n+(e?" ":"")+t.toLowerCase()}),l_=_f("toLowerCase");function s_(n,t,e){n=W(n),t=I(t);var r=t?Ft(n):0;if(!t||r>=t)return n;var i=(t-r)/2;return Je(Pe(i),e)+n+Je(Ue(i),e)}function a_(n,t,e){n=W(n),t=I(t);var r=t?Ft(n):0;return t&&r>>0,e?(n=W(n),n&&(typeof t=="string"||t!=null&&!yi(t))&&(t=gn(t),!t&&Ot(n))?at(Ln(n),0,e):n.split(t,e)):[]}var v_=Nt(function(n,t,e){return n+(e?" ":"")+Ri(t)});function m_(n,t,e){return n=W(n),e=e==null?0:wt(I(e),0,n.length),t=gn(t),n.slice(e,e+t.length)==t}function w_(n,t,e){var r=u.templateSettings;e&&rn(n,t,e)&&(t=o),n=W(n),t=or({},t,r,Af);var i=or({},t.imports,r.imports,Af),f=J(i),l=Pr(i,f),s,c,_=0,p=t.interpolate||xe,d="__p += '",v=Mr((t.escape||xe).source+"|"+p.source+"|"+(p===Hi?ko:xe).source+"|"+(t.evaluate||xe).source+"|$","g"),w="//# sourceURL="+(U.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++El+"]")+` +`;n.replace(v,function(b,L,F,pn,un,dn){return F||(F=pn),d+=n.slice(_,dn).replace(ul,Xl),L&&(s=!0,d+=`' + +__e(`+L+`) + +'`),un&&(c=!0,d+=`'; +`+un+`; +__p += '`),F&&(d+=`' + +((__t = (`+F+`)) == null ? '' : __t) + +'`),_=dn+b.length,b}),d+=`'; +`;var y=U.call(t,"variable")&&t.variable;if(!y)d=`with (obj) { +`+d+` +} +`;else if(Qo.test(y))throw new C(Wn);d=(c?d.replace(Wo,""):d).replace(Uo,"$1").replace(Po,"$1;"),d="function("+(y||"obj")+`) { +`+(y?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(s?", __e = _.escape":"")+(c?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+d+`return __p +}`;var S=go(function(){return D(f,w+"return "+d).apply(o,l)});if(S.source=d,Ai(S))throw S;return S}function x_(n){return W(n).toLowerCase()}function A_(n){return W(n).toUpperCase()}function y_(n,t,e){if(n=W(n),n&&(e||t===o))return Au(n);if(!n||!(t=gn(t)))return n;var r=Ln(n),i=Ln(t),f=yu(r,i),l=bu(r,i)+1;return at(r,f,l).join("")}function b_(n,t,e){if(n=W(n),n&&(e||t===o))return n.slice(0,Ru(n)+1);if(!n||!(t=gn(t)))return n;var r=Ln(n),i=bu(r,Ln(t))+1;return at(r,0,i).join("")}function C_(n,t,e){if(n=W(n),n&&(e||t===o))return n.replace(Ar,"");if(!n||!(t=gn(t)))return n;var r=Ln(n),i=yu(r,Ln(t));return at(r,i).join("")}function R_(n,t){var e=mo,r=wo;if(H(t)){var i="separator"in t?t.separator:i;e="length"in t?I(t.length):e,r="omission"in t?gn(t.omission):r}n=W(n);var f=n.length;if(Ot(n)){var l=Ln(n);f=l.length}if(e>=f)return n;var s=e-Ft(r);if(s<1)return r;var c=l?at(l,0,s).join(""):n.slice(0,s);if(i===o)return c+r;if(l&&(s+=c.length-s),yi(i)){if(n.slice(s).search(i)){var _,p=c;for(i.global||(i=Mr(i.source,W(qi.exec(i))+"g")),i.lastIndex=0;_=i.exec(p);)var d=_.index;c=c.slice(0,d===o?s:d)}}else if(n.indexOf(gn(i),s)!=s){var v=c.lastIndexOf(i);v>-1&&(c=c.slice(0,v))}return c+r}function I_(n){return n=W(n),n&&Bo.test(n)?n.replace($i,ts):n}var S_=Nt(function(n,t,e){return n+(e?" ":"")+t.toUpperCase()}),Ri=_f("toUpperCase");function ho(n,t,e){return n=W(n),t=e?o:t,t===o?Ql(n)?is(n):Gl(n):n.match(t)||[]}var go=E(function(n,t){try{return cn(n,o,t)}catch(e){return Ai(e)?e:new C(e)}}),E_=Yn(function(n,t){return xn(t,function(e){e=Nn(e),zn(n,e,wi(n[e],n))}),n});function L_(n){var t=n==null?0:n.length,e=A();return n=t?G(n,function(r){if(typeof r[1]!="function")throw new An($);return[e(r[0]),r[1]]}):[],E(function(r){for(var i=-1;++iet)return[];var e=Pn,r=nn(n,Pn);t=A(t),n-=Pn;for(var i=Ur(r,t);++e0||t<0)?new T(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==o&&(t=I(t),e=t<0?e.dropRight(-t):e.take(t-n)),e)},T.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},T.prototype.toArray=function(){return this.take(Pn)},Bn(T.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=u[r?"take"+(t=="last"?"Right":""):t],f=r||/^find/.test(t);i&&(u.prototype[t]=function(){var l=this.__wrapped__,s=r?[1]:arguments,c=l instanceof T,_=s[0],p=c||R(l),d=function(L){var F=i.apply(u,it([L],s));return r&&v?F[0]:F};p&&e&&typeof _=="function"&&_.length!=1&&(c=p=!1);var v=this.__chain__,w=!!this.__actions__.length,y=f&&!v,S=c&&!w;if(!f&&p){l=S?l:new T(this);var b=n.apply(l,s);return b.__actions__.push({func:nr,args:[d],thisArg:o}),new yn(b,v)}return y&&S?n.apply(this,s):(b=this.thru(d),y?r?b.value()[0]:b.value():b)})}),xn(["pop","push","shift","sort","splice","unshift"],function(n){var t=Ie[n],e=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);u.prototype[n]=function(){var i=arguments;if(r&&!this.__chain__){var f=this.value();return t.apply(R(f)?f:[],i)}return this[e](function(l){return t.apply(R(l)?l:[],i)})}}),Bn(T.prototype,function(n,t){var e=u[t];if(e){var r=e.name+"";U.call(Pt,r)||(Pt[r]=[]),Pt[r].push({name:t,func:e})}}),Pt[Ye(o,P).name]=[{name:"wrapper",func:o}],T.prototype.clone=Is,T.prototype.reverse=Ss,T.prototype.value=Es,u.prototype.at=rh,u.prototype.chain=ih,u.prototype.commit=uh,u.prototype.next=fh,u.prototype.plant=lh,u.prototype.reverse=sh,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=ah,u.prototype.first=u.prototype.head,kt&&(u.prototype[kt]=oh),u},Dt=us();pt?((pt.exports=Dt)._=Dt,Sr._=Dt):k._=Dt}).call(he)})(lr,lr.exports);var yp=lr.exports;const bp=gp(yp),Cp={class:"modal",id:"deleteComponent",tabindex:"-1"},Rp={class:"modal-dialog modal-lg",role:"document"},Ip={class:"modal-content"},Sp=x("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1),Ep=x("div",{class:"modal-status bg-danger"},null,-1),Lp={class:"modal-body text-left py-4"},Tp=x("h3",{class:"mb-5"}," Component 삭제 ",-1),Op={class:"modal-footer"},Fp=x("a",{href:"#",class:"btn btn-link link-secondary","data-bs-dismiss":"modal"}," Cancel ",-1),Dp=Di({__name:"deleteComponent",props:{componentName:{},componentId:{}},emits:["get-detail"],setup(kn,{emit:$n}){const o=Wi(),q=kn,Dn=$n,vn=async()=>{const{data:$}=await vp("nexus",q.componentId);$?o.success("삭제되었습니다."):o.error("삭제하지 못했습니다."),Dn("get-detail")};return($,Wn)=>(Pi(),Ui("div",Cp,[x("div",Rp,[x("div",Ip,[Sp,Ep,x("div",Lp,[Tp,x("h4",null,_p(q.componentName)+"을(를) 정말 삭제하시겠습니까?",1)]),x("div",Op,[Fp,x("a",{href:"#",class:"btn btn-primary ms-auto","data-bs-dismiss":"modal",onClick:Wn[0]||(Wn[0]=jn=>vn())}," 삭제 ")])])])]))}}),Wp={class:"modal",id:"uploadComponent",tabindex:"-1"},Up={class:"modal-dialog modal-lg",role:"document"},Pp={class:"modal-content"},Bp=x("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1),Mp={class:"modal-body text-left py-4"},Np=x("h3",{class:"mb-5"}," File Upload ",-1),$p={class:"mb-3"},Gp=x("label",{class:"form-label"},"Name",-1),Hp=["value"],qp={class:"mb-3"},Kp=x("label",{class:"form-label"},"Path",-1),zp=["disabled"],Zp={class:"mb-3"},Yp=x("label",{class:"form-label required"},"File",-1),Xp={class:"grid gap-0 column-gap-3"},Jp={class:"modal-footer"},Qp=x("a",{href:"#",class:"btn btn-link link-secondary","data-bs-dismiss":"modal"}," Cancel ",-1),Vp=Di({__name:"uploadComponent",props:{repositoryName:{},format:{}},emits:["get-detail"],setup(kn,{emit:$n}){const o=Wi(),q=kn,Dn=$n;vo(()=>{Ct()});const vn=ht("/"),$=ht([]),Wn=fn=>{$.value=fn.target.files[0]},jn=async()=>{if(q.format=="raw"&&bp.isEmpty(vn.value)){o.error("Path를 입력해주세요.");return}if($.value.length==0){o.error("등록 요청한 파일이 없습니다.");return}const fn=new FormData;fn.append("assets",$.value),fn.append("directory",vn.value);const{data:Q}=await mp("nexus",q.repositoryName,fn);Q?o.success("등록되었습니다."):o.error("등록 할 수 없습니다."),Dn("get-detail")},Ct=()=>{vn.value="/",$.value=[]};return(fn,Q)=>(Pi(),Ui("div",Wp,[x("div",Up,[x("div",Pp,[Bp,x("div",Mp,[Np,x("div",null,[x("div",$p,[Gp,x("input",{type:"text",class:"form-control p-2 g-col-11",value:q.repositoryName,readonly:""},null,8,Hp)]),x("div",qp,[Kp,ge(x("input",{type:"text",class:"form-control p-2 g-col-11","onUpdate:modelValue":Q[0]||(Q[0]=gt=>vn.value=gt),disabled:q.format!="raw"},null,8,zp),[[_e,vn.value]])]),x("div",Zp,[Yp,x("div",Xp,[x("input",{type:"file",class:"form-control p-2 g-col-11",onChange:Wn},null,32)])])])]),x("div",Jp,[Qp,x("a",{href:"#",class:"btn btn-primary ms-auto","data-bs-dismiss":"modal",onClick:Q[1]||(Q[1]=gt=>jn())}," Upload ")])])])]))}}),kp={class:"card w-100",ref:"workflowForm"},jp=x("div",{class:"card-header"},[x("div",{class:"card-title"},[x("h1",null,"Repository Detail")])],-1),nd={class:"card-body"},td={class:"card-title"},ed={class:"mb-3"},rd=x("label",{class:"form-label"},"Name",-1),id={class:"grid gap-0 column-gap-3"},ud={class:"mb-3"},fd=x("label",{class:"form-label"},"Format",-1),od={class:"grid gap-0 column-gap-3"},ld={class:"mb-3"},sd=x("label",{class:"form-label required"},"URL(Path)",-1),ad={class:"grid gap-0 column-gap-3"},cd={class:"mb-3"},hd=x("label",{class:"form-label required"},"Type(hosted)",-1),gd={class:"grid gap-0 column-gap-3"},_d={class:"mb-3"},pd=x("div",{class:"btn-list"},[x("button",{class:"btn btn-primary d-none d-sm-inline-block",style:{"margin-left":"auto","margin-bottom":"10px"},"data-bs-toggle":"modal","data-bs-target":"#uploadComponent"}," File Upload ")],-1),dd=x("div",{id:"gap",class:"col"},null,-1),Ad=Di({__name:"RepositoryDetail",setup(kn){Wi();const $n=pp(),o=dp(),q=ht({}),Dn=ht([]),vn=ht([]);vo(async()=>{Q(),await Wn()});const $=ht(""),Wn=async()=>{$.value=$n.params.repositoryName;const{data:V}=await wp("nexus",$.value);q.value=V,await jn()},jn=async()=>{const{data:V}=await xp("nexus",q.value.name);Dn.value=V},Ct=ht(""),fn=ht(""),Q=()=>{vn.value=[{title:"File Name",field:"name",width:400},{title:"File Format",field:"format",width:300},{title:"File URL(Path)",field:"assets",width:800,formatter:function(V){const O=V.getValue();return O&&O.length>0?O[0].downloadUrl:"N/A"}},{title:"File Size",field:"assets",width:400,formatter:function(V){const O=V.getValue();return O&&O.length>0?`${(O[0].fileSize/1024).toFixed(2)} KB`:"N/A"}},{title:"Action",width:400,formatter:gt,cellClick:function(V,O){const P=V.target;if((P==null?void 0:P.getAttribute("id"))==="download-btn"){console.log("download");let mn=O.getRow().getData();nt(mn)}else Ct.value=O.getRow().getData().id,fn.value=O.getRow().getData().name}}]},gt=()=>` +
+ + +
`,nt=V=>{const O=V.assets[0].downloadUrl,P=document.createElement("a");P.href=O,P.download="",document.body.appendChild(P),P.click(),document.body.removeChild(P)},tt=()=>{o.push("/web/repository/list")};return(V,O)=>(Pi(),Ui("div",kp,[jp,x("div",nd,[x("div",td,[x("div",ed,[rd,x("div",id,[ge(x("input",{type:"text",ref_key:"repositoryName",ref:$,class:"form-control p-2 g-col-11","onUpdate:modelValue":O[0]||(O[0]=P=>q.value.name=P),readonly:""},null,512),[[_e,q.value.name]])])]),x("div",ud,[fd,x("div",od,[ge(x("input",{type:"text",ref:"repositoryFormat",class:"form-control p-2 g-col-11","onUpdate:modelValue":O[1]||(O[1]=P=>q.value.format=P),readonly:""},null,512),[[_e,q.value.format]])])]),x("div",ld,[sd,x("div",ad,[ge(x("input",{type:"text",ref:"repositoryFormat",class:"form-control p-2 g-col-11","onUpdate:modelValue":O[2]||(O[2]=P=>q.value.url=P),readonly:""},null,512),[[_e,q.value.url]])])]),x("div",cd,[hd,x("div",gd,[ge(x("input",{type:"text",ref:"repositoryFormat",class:"form-control p-2 g-col-11","onUpdate:modelValue":O[3]||(O[3]=P=>q.value.type=P),readonly:""},null,512),[[_e,q.value.type]])])]),x("div",_d,[pd,Fi(Ap,{columns:vn.value,"table-data":Dn.value},null,8,["columns","table-data"])]),x("div",{class:"row align-items-center"},[dd,x("div",{class:"col-auto ms-auto"},[x("div",{class:"btn-list"},[x("button",{class:"btn btn-right border",onClick:tt}," 목록으로 ")])])])]),Fi(Dp,{"component-name":fn.value,"component-id":Ct.value,onGetDetail:Wn},null,8,["component-name","component-id"]),Fi(Vp,{"repository-name":q.value.name,format:q.value.format,onGetDetail:Wn},null,8,["repository-name","format"])])],512))}});export{Ad as default}; diff --git a/bin/main/static/assets/RepositoryList-Dm4ewv_H.js b/bin/main/static/assets/RepositoryList-Dm4ewv_H.js new file mode 100644 index 0000000..8cd4690 --- /dev/null +++ b/bin/main/static/assets/RepositoryList-Dm4ewv_H.js @@ -0,0 +1,17 @@ +import{_ as U}from"./TableHeader.vue_vue_type_script_setup_true_lang-ChkuHmHt.js";import{_ as D}from"./Tabulator.vue_vue_type_style_index_0_lang-C4aGmmvD.js";import{g as P,r as F,u as q,d as L,a as B}from"./repository-DaHnZzAW.js";import{d as x,u as $,c as A,w as M,o as V,r as _,a as C,b as e,t as R,e as i,g as w,m as p,h as N,n as S,i as k}from"./index-D8aamcST.js";import"./request-B41piC-O.js";const T={class:"modal",id:"repositoryForm",tabindex:"-1"},E={class:"modal-dialog modal-lg",role:"document"},G={class:"modal-content"},H=e("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1),I={class:"modal-body text-left py-4"},O={class:"mb-5"},j={class:"row mb-3"},z=e("label",{class:"form-label required"},"Name",-1),J={class:"grid gap-0 column-gap-3"},K={class:"mb-3"},Q=e("label",{class:"form-label required"},"Format",-1),W={class:"form-check form-check-inline"},X=e("span",{class:"form-check-label"},"raw",-1),Y={class:"form-check form-check-inline"},Z=e("span",{class:"form-check-label"},"helm",-1),ee={class:"form-check form-check-inline"},te=e("span",{class:"form-check-label"},"docker",-1),oe={class:"mb-3"},se=e("label",{class:"form-label required"},"Allow",-1),ae={class:"form-check form-check-inline"},le=e("span",{class:"form-check-label"},"allow",-1),ne={class:"form-check form-check-inline"},ie=e("span",{class:"form-check-label"},"allow_once",-1),re={class:"form-check form-check-inline"},ce=e("span",{class:"form-check-label"},"deny",-1),de={class:"mb-3"},me=e("label",{class:"form-label required"},"On/Offline",-1),ue={class:"form-check form-check-inline"},pe=e("span",{class:"form-check-label"},"true",-1),_e={class:"form-check form-check-inline"},fe=e("span",{class:"form-check-label"},"false",-1),ve=e("div",{class:"mb-3"},[e("label",{class:"form-label required"},"Storage"),e("div",{class:"grid gap-0 column-gap-3"},[e("input",{type:"text",class:"form-control p-2 g-col-11",value:"defalut",disabled:""})])],-1),be={class:"mb-3"},he=e("label",{class:"form-label required"},"Http",-1),ye={class:"grid gap-0 column-gap-3"},ke=["disabled"],ge={class:"mb-3"},we=e("label",{class:"form-label required"},"Https",-1),Re={class:"grid gap-0 column-gap-3"},xe=["disabled"],$e={class:"modal-footer"},Ce=x({__name:"repositoryForm",props:{mode:{},repositoryName:{}},emits:["get-repository-list"],setup(y,{emit:b}){const r=$(),n=y,u=b,c=A(()=>n.repositoryName);M(c,async()=>{await l()}),V(async()=>{await l()});const t=_({}),a=_(""),m=_(0),v=_(0),l=async()=>{if(n.mode==="new")t.value.name="",t.value.format="raw",t.value.type="hosted",t.value.url="",t.value.online=!0,a.value="allow";else{const{data:d}=await P("nexus",n.repositoryName);t.value=d,a.value=d.storage.writePolicy,d.format=="docker"&&(m.value=d.docker.httpPort,v.value=d.docker.httpsPort)}},f=async()=>{t.value.storage={blobStoreName:"default",strictContentTypeValidation:!0,writePolicy:a.value},t.value.format!="docker"?t.value.docker=null:t.value.docker={v1Enabled:!0,forceBasicAuth:!0,httpPort:m.value,httpsPort:v.value,subdomain:"/test"},n.mode==="new"?await h().then(()=>{u("get-repository-list")}):await g().then(()=>{u("get-repository-list")}),l()},h=async()=>{const{data:d}=await F("nexus",t.value);d?r.success("등록되었습니다."):r.error("등록 할 수 없습니다.")},g=async()=>{const{data:d}=await q("nexus",t.value);d?r.success("등록되었습니다."):r.error("등록 할 수 없습니다.")};return(d,o)=>(N(),C("div",T,[e("div",E,[e("div",G,[H,e("div",I,[e("h3",O," Repository "+R(n.mode==="new"?"생성":"수정"),1),e("div",null,[e("div",j,[z,e("div",J,[i(e("input",{type:"text",class:"form-control p-2 g-col-11","onUpdate:modelValue":o[0]||(o[0]=s=>t.value.name=s)},null,512),[[w,t.value.name]])])]),e("div",K,[Q,e("div",null,[e("label",W,[i(e("input",{class:"form-check-input",type:"radio",name:"format",value:"raw","onUpdate:modelValue":o[1]||(o[1]=s=>t.value.format=s)},null,512),[[p,t.value.format]]),X]),e("label",Y,[i(e("input",{class:"form-check-input",type:"radio",name:"format",value:"helm","onUpdate:modelValue":o[2]||(o[2]=s=>t.value.format=s)},null,512),[[p,t.value.format]]),Z]),e("label",ee,[i(e("input",{class:"form-check-input",type:"radio",name:"format",value:"docker","onUpdate:modelValue":o[3]||(o[3]=s=>t.value.format=s)},null,512),[[p,t.value.format]]),te])])]),e("div",oe,[se,e("div",null,[e("label",ae,[i(e("input",{class:"form-check-input",type:"radio",name:"allow",value:"allow","onUpdate:modelValue":o[4]||(o[4]=s=>a.value=s)},null,512),[[p,a.value]]),le]),e("label",ne,[i(e("input",{class:"form-check-input",type:"radio",name:"allow",value:"allow_once","onUpdate:modelValue":o[5]||(o[5]=s=>a.value=s)},null,512),[[p,a.value]]),ie]),e("label",re,[i(e("input",{class:"form-check-input",type:"radio",name:"allow",value:"deny","onUpdate:modelValue":o[6]||(o[6]=s=>a.value=s)},null,512),[[p,a.value]]),ce])])]),e("div",de,[me,e("div",null,[e("label",ue,[i(e("input",{class:"form-check-input",type:"radio",name:"online",value:"true","onUpdate:modelValue":o[7]||(o[7]=s=>t.value.online=s)},null,512),[[p,t.value.online]]),pe]),e("label",_e,[i(e("input",{class:"form-check-input",type:"radio",name:"online",value:"false","onUpdate:modelValue":o[8]||(o[8]=s=>t.value.online=s)},null,512),[[p,t.value.online]]),fe])])]),ve,e("div",be,[he,e("div",ye,[i(e("input",{type:"text",class:"form-control p-2 g-col-11","onUpdate:modelValue":o[9]||(o[9]=s=>m.value=s),disabled:t.value.format!="docker"},null,8,ke),[[w,m.value]])])]),e("div",ge,[we,e("div",Re,[i(e("input",{type:"text",class:"form-control p-2 g-col-11","onUpdate:modelValue":o[10]||(o[10]=s=>v.value=s),disabled:t.value.format!="docker"},null,8,xe),[[w,v.value]])])])])]),e("div",$e,[e("a",{href:"#",class:"btn btn-link link-secondary","data-bs-dismiss":"modal",onClick:o[11]||(o[11]=s=>l())}," Cancel "),e("a",{href:"#",class:"btn btn-primary ms-auto","data-bs-dismiss":"modal",onClick:o[12]||(o[12]=s=>f())},R(n.mode==="new"?"생성":"수정"),1)])])])]))}}),Ne={class:"modal",id:"deleteRepository",tabindex:"-1"},Ve={class:"modal-dialog modal-lg",role:"document"},Ue={class:"modal-content"},De=e("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1),Pe=e("div",{class:"modal-status bg-danger"},null,-1),Fe={class:"modal-body text-left py-4"},qe=e("h3",{class:"mb-5"}," Repository 삭제 ",-1),Le={class:"modal-footer"},Be=e("a",{href:"#",class:"btn btn-link link-secondary","data-bs-dismiss":"modal"}," Cancel ",-1),Ae=x({__name:"deleteRepository",props:{repositoryName:{}},emits:["get-repository-list"],setup(y,{emit:b}){const r=$(),n=y,u=b,c=async()=>{const{data:t}=await L("nexus",n.repositoryName);t?r.success("삭제되었습니다."):r.error("삭제하지 못했습니다."),u("get-repository-list")};return(t,a)=>(N(),C("div",Ne,[e("div",Ve,[e("div",Ue,[De,Pe,e("div",Fe,[qe,e("h4",null,R(n.repositoryName)+"을(를) 정말 삭제하시겠습니까?",1)]),e("div",Le,[Be,e("a",{href:"#",class:"btn btn-primary ms-auto","data-bs-dismiss":"modal",onClick:a[0]||(a[0]=m=>c())}," 삭제 ")])])])]))}}),Me={class:"card card-flush w-100"},Ie=x({__name:"RepositoryList",setup(y){const b=$(),r=_([]),n=_([]);V(async()=>{t(),await u()});const u=async()=>{try{const{data:l}=await B("nexus");r.value=l}catch(l){console.log(l),b.error("데이터를 가져올 수 없습니다.")}},c=_(""),t=()=>{n.value=[{title:"Name",field:"name",width:400,cellClick:function(l,f){l.stopPropagation(),c.value=f.getRow().getData().name,S.push("/web/repository/detail/"+c.value)}},{title:"Format",field:"format",width:300},{title:"URL",field:"url",width:410},{title:"Type(hosted)",field:"type",width:400},{title:"Action",width:400,formatter:a,cellClick:function(l,f){const h=l.target,g=h==null?void 0:h.getAttribute("id");c.value=f.getRow().getData().name,g==="edit-btn"?m.value="edit":c.value=f.getRow().getData().name}}]},a=()=>` +
+ + +
`,m=_("new"),v=()=>{m.value="new"};return(l,f)=>(N(),C("div",Me,[k(U,{"header-title":"Repository","new-btn-title":"New Repository","popup-flag":!0,"popup-target":"#repositoryForm",onClickNewBtn:v}),k(D,{columns:n.value,"table-data":r.value},null,8,["columns","table-data"]),k(Ce,{mode:m.value,"repository-name":c.value,onGetRepositoryList:u},null,8,["mode","repository-name"]),k(Ae,{"repository-name":c.value,onGetRepositoryList:u},null,8,["repository-name"])]))}});export{Ie as default}; diff --git a/bin/main/static/assets/TableHeader.vue_vue_type_script_setup_true_lang-ChkuHmHt.js b/bin/main/static/assets/TableHeader.vue_vue_type_script_setup_true_lang-ChkuHmHt.js new file mode 100644 index 0000000..e961402 --- /dev/null +++ b/bin/main/static/assets/TableHeader.vue_vue_type_script_setup_true_lang-ChkuHmHt.js @@ -0,0 +1 @@ +import{d as p,h as o,a as n,b as t,t as s,q as a,s as l}from"./index-D8aamcST.js";const h={class:"page-header"},_={class:"row align-items-center"},w={class:"col"},k={class:"page-title"},g={class:"col-auto ms-auto"},b={class:"btn-list"},m=t("svg",{xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-plus",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),t("path",{d:"M12 5l0 14"}),t("path",{d:"M5 12l14 0"})],-1),u=["data-bs-target"],v=t("svg",{xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-plus",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),t("path",{d:"M12 5l0 14"}),t("path",{d:"M5 12l14 0"})],-1),x=p({__name:"TableHeader",props:{headerTitle:{},newBtnTitle:{},popupFlag:{type:Boolean},popupTarget:{}},emits:["click-new-btn"],setup(r,{emit:c}){const e=r,d=c,i=()=>{d("click-new-btn")};return(B,T)=>(o(),n("div",h,[t("div",_,[t("div",w,[t("h2",k,s(e.headerTitle),1)]),t("div",g,[t("div",b,[e.popupFlag?(o(),n("a",{key:1,class:"btn btn-primary d-none d-sm-inline-block","data-bs-toggle":"modal","data-bs-target":e.popupTarget,onClick:a(i,["prevent","stop"])},[v,l(" "+s(e.newBtnTitle),1)],8,u)):(o(),n("a",{key:0,class:"btn btn-primary d-none d-sm-inline-block",onClick:a(i,["prevent","stop"])},[m,l(" "+s(e.newBtnTitle),1)]))])])])]))}});export{x as _}; diff --git a/bin/main/static/assets/Tabulator-BXn7ndvL.css b/bin/main/static/assets/Tabulator-BXn7ndvL.css new file mode 100644 index 0000000..d4167d7 --- /dev/null +++ b/bin/main/static/assets/Tabulator-BXn7ndvL.css @@ -0,0 +1 @@ +.tabulator .tabulator-header{position:relative;box-sizing:border-box;width:100%;font-weight:unset;white-space:nowrap;overflow:hidden;outline:none}.tabulator-row .tabulator-cell{display:inline-block;position:relative;box-sizing:border-box;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none}.tabulator .tabulator-footer{font-weight:unset}.tabulator-page.active{font-weight:700} diff --git a/bin/main/static/assets/Tabulator.vue_vue_type_style_index_0_lang-C4aGmmvD.js b/bin/main/static/assets/Tabulator.vue_vue_type_style_index_0_lang-C4aGmmvD.js new file mode 100644 index 0000000..9474ef3 --- /dev/null +++ b/bin/main/static/assets/Tabulator.vue_vue_type_style_index_0_lang-C4aGmmvD.js @@ -0,0 +1,22 @@ +var vt=Object.defineProperty;var wt=(l,e,t)=>e in l?vt(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var b=(l,e,t)=>wt(l,typeof e!="symbol"?e+"":e,t);import{d as Ct,r as Ge,w as je,a as Et,h as yt}from"./index-D8aamcST.js";class M{constructor(e){this.table=e}reloadData(e,t,i){return this.table.dataLoader.load(e,void 0,void 0,void 0,t,i)}langText(){return this.table.modules.localize.getText(...arguments)}langBind(){return this.table.modules.localize.bind(...arguments)}langLocale(){return this.table.modules.localize.getLocale(...arguments)}commsConnections(){return this.table.modules.comms.getConnections(...arguments)}commsSend(){return this.table.modules.comms.send(...arguments)}layoutMode(){return this.table.modules.layout.getMode()}layoutRefresh(e){return this.table.modules.layout.layout(e)}subscribe(){return this.table.eventBus.subscribe(...arguments)}unsubscribe(){return this.table.eventBus.unsubscribe(...arguments)}subscribed(e){return this.table.eventBus.subscribed(e)}subscriptionChange(){return this.table.eventBus.subscriptionChange(...arguments)}dispatch(){return this.table.eventBus.dispatch(...arguments)}chain(){return this.table.eventBus.chain(...arguments)}confirm(){return this.table.eventBus.confirm(...arguments)}dispatchExternal(){return this.table.externalEvents.dispatch(...arguments)}subscribedExternal(e){return this.table.externalEvents.subscribed(e)}subscriptionChangeExternal(){return this.table.externalEvents.subscriptionChange(...arguments)}options(e){return this.table.options[e]}setOption(e,t){return typeof t<"u"&&(this.table.options[e]=t),this.table.options[e]}deprecationCheck(e,t,i){return this.table.deprecationAdvisor.check(e,t,i)}deprecationCheckMsg(e,t){return this.table.deprecationAdvisor.checkMsg(e,t)}deprecationMsg(e){return this.table.deprecationAdvisor.msg(e)}module(e){return this.table.module(e)}}class x{static elVisible(e){return!(e.offsetWidth<=0&&e.offsetHeight<=0)}static elOffset(e){var t=e.getBoundingClientRect();return{top:t.top+window.pageYOffset-document.documentElement.clientTop,left:t.left+window.pageXOffset-document.documentElement.clientLeft}}static retrieveNestedData(e,t,i){var s=e?t.split(e):[t],n=s.length,r;for(let o=0;od.subject===o),a>-1?t[r]=i[a].copy:(h=Object.assign(Array.isArray(o)?[]:{},o),i.unshift({subject:o,copy:h}),t[r]=this.deepClone(o,h,i)))}return t}}let Rt=class Ke extends M{constructor(e,t,i){super(e),this.element=t,this.container=this._lookupContainer(),this.parent=i,this.reversedX=!1,this.childPopup=null,this.blurable=!1,this.blurCallback=null,this.blurEventsBound=!1,this.renderedCallback=null,this.visible=!1,this.hideable=!0,this.element.classList.add("tabulator-popup-container"),this.blurEvent=this.hide.bind(this,!1),this.escEvent=this._escapeCheck.bind(this),this.destroyBinding=this.tableDestroyed.bind(this),this.destroyed=!1}tableDestroyed(){this.destroyed=!0,this.hide(!0)}_lookupContainer(){var e=this.table.options.popupContainer;return typeof e=="string"?(e=document.querySelector(e),e||console.warn("Menu Error - no container element found matching selector:",this.table.options.popupContainer,"(defaulting to document body)")):e===!0&&(e=this.table.element),e&&!this._checkContainerIsParent(e)&&(e=!1,console.warn("Menu Error - container element does not contain this table:",this.table.options.popupContainer,"(defaulting to document body)")),e||(e=document.body),e}_checkContainerIsParent(e,t=this.table.element){return e===t?!0:t.parentNode?this._checkContainerIsParent(e,t.parentNode):!1}renderCallback(e){this.renderedCallback=e}containerEventCoords(e){var t=!(e instanceof MouseEvent),i=t?e.touches[0].pageX:e.pageX,s=t?e.touches[0].pageY:e.pageY;if(this.container!==document.body){let n=x.elOffset(this.container);i-=n.left,s-=n.top}return{x:i,y:s}}elementPositionCoords(e,t="right"){var i=x.elOffset(e),s,n,r;switch(this.container!==document.body&&(s=x.elOffset(this.container),i.left-=s.left,i.top-=s.top),t){case"right":n=i.left+e.offsetWidth,r=i.top-1;break;case"bottom":n=i.left,r=i.top+e.offsetHeight;break;case"left":n=i.left,r=i.top-1;break;case"top":n=i.left,r=i.top;break;case"center":n=i.left+e.offsetWidth/2,r=i.top+e.offsetHeight/2;break}return{x:n,y:r,offset:i}}show(e,t){var i,s,n,r,o;return this.destroyed||this.table.destroyed?this:(e instanceof HTMLElement?(n=e,o=this.elementPositionCoords(e,t),r=o.offset,i=o.x,s=o.y):typeof e=="number"?(r={top:0,left:0},i=e,s=t):(o=this.containerEventCoords(e),i=o.x,s=o.y,this.reversedX=!1),this.element.style.top=s+"px",this.element.style.left=i+"px",this.container.appendChild(this.element),typeof this.renderedCallback=="function"&&this.renderedCallback(),this._fitToScreen(i,s,n,r,t),this.visible=!0,this.subscribe("table-destroy",this.destroyBinding),this.element.addEventListener("mousedown",a=>{a.stopPropagation()}),this)}_fitToScreen(e,t,i,s,n){var r=this.container===document.body?document.documentElement.scrollTop:this.container.scrollTop;(e+this.element.offsetWidth>=this.container.offsetWidth||this.reversedX)&&(this.element.style.left="",i?this.element.style.right=this.container.offsetWidth-s.left+"px":this.element.style.right=this.container.offsetWidth-e+"px",this.reversedX=!0);let o=Math.max(this.container.offsetHeight,r?this.container.scrollHeight:0);if(t+this.element.offsetHeight>o)if(i)switch(n){case"bottom":this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight-i.offsetHeight-1+"px";break;default:this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight+i.offsetHeight+1+"px"}else this.element.style.height=o+"px"}isVisible(){return this.visible}hideOnBlur(e){return this.blurable=!0,this.visible&&(setTimeout(()=>{this.visible&&(this.table.rowManager.element.addEventListener("scroll",this.blurEvent),this.subscribe("cell-editing",this.blurEvent),document.body.addEventListener("click",this.blurEvent),document.body.addEventListener("contextmenu",this.blurEvent),document.body.addEventListener("mousedown",this.blurEvent),window.addEventListener("resize",this.blurEvent),document.body.addEventListener("keydown",this.escEvent),this.blurEventsBound=!0)},100),this.blurCallback=e),this}_escapeCheck(e){e.keyCode==27&&this.hide()}blockHide(){this.hideable=!1}restoreHide(){this.hideable=!0}hide(e=!1){return this.visible&&this.hideable&&(this.blurable&&this.blurEventsBound&&(document.body.removeEventListener("keydown",this.escEvent),document.body.removeEventListener("click",this.blurEvent),document.body.removeEventListener("contextmenu",this.blurEvent),document.body.removeEventListener("mousedown",this.blurEvent),window.removeEventListener("resize",this.blurEvent),this.table.rowManager.element.removeEventListener("scroll",this.blurEvent),this.unsubscribe("cell-editing",this.blurEvent),this.blurEventsBound=!1),this.childPopup&&this.childPopup.hide(),this.parent&&(this.parent.childPopup=null),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.visible=!1,this.blurCallback&&!e&&this.blurCallback(),this.unsubscribe("table-destroy",this.destroyBinding)),this}child(e){return this.childPopup&&this.childPopup.hide(),this.childPopup=new Ke(this.table,e,this),this.childPopup}};class w extends M{constructor(e,t){super(e),this._handler=null}initialize(){}registerTableOption(e,t){this.table.optionsList.register(e,t)}registerColumnOption(e,t){this.table.columnManager.optionsList.register(e,t)}registerTableFunction(e,t){typeof this.table[e]>"u"?this.table[e]=(...i)=>(this.table.initGuard(e),t(...i)):console.warn("Unable to bind table function, name already in use",e)}registerComponentFunction(e,t,i){return this.table.componentFunctionBinder.bind(e,t,i)}registerDataHandler(e,t){this.table.rowManager.registerDataPipelineHandler(e,t),this._handler=e}registerDisplayHandler(e,t){this.table.rowManager.registerDisplayPipelineHandler(e,t),this._handler=e}displayRows(e){var t=this.table.rowManager.displayRows.length-1,i;if(this._handler&&(i=this.table.rowManager.displayPipeline.findIndex(s=>s.handler===this._handler),i>-1&&(t=i)),e&&(t=t+e),this._handler)return t>-1?this.table.rowManager.getDisplayRows(t):this.activeRows()}activeRows(){return this.table.rowManager.activeRows}refreshData(e,t){t||(t=this._handler),t&&this.table.rowManager.refreshActiveData(t,!1,e)}footerAppend(e){return this.table.footerManager.append(e)}footerPrepend(e){return this.table.footerManager.prepend(e)}footerRemove(e){return this.table.footerManager.remove(e)}popup(e,t){return new Rt(this.table,e,t)}alert(e,t){return this.table.alertManager.alert(e,t)}clearAlert(){return this.table.alertManager.clear()}}var xt={rownum:function(l,e,t,i,s,n){return n.getPosition()}};const K=class K extends w{constructor(e){super(e),this.allowedTypes=["","data","download","clipboard","print","htmlOutput"],this.registerColumnOption("accessor"),this.registerColumnOption("accessorParams"),this.registerColumnOption("accessorData"),this.registerColumnOption("accessorDataParams"),this.registerColumnOption("accessorDownload"),this.registerColumnOption("accessorDownloadParams"),this.registerColumnOption("accessorClipboard"),this.registerColumnOption("accessorClipboardParams"),this.registerColumnOption("accessorPrint"),this.registerColumnOption("accessorPrintParams"),this.registerColumnOption("accessorHtmlOutput"),this.registerColumnOption("accessorHtmlOutputParams")}initialize(){this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("row-data-retrieve",this.transformRow.bind(this))}initializeColumn(e){var t=!1,i={};this.allowedTypes.forEach(s=>{var n="accessor"+(s.charAt(0).toUpperCase()+s.slice(1)),r;e.definition[n]&&(r=this.lookupAccessor(e.definition[n]),r&&(t=!0,i[n]={accessor:r,params:e.definition[n+"Params"]||{}}))}),t&&(e.modules.accessor=i)}lookupAccessor(e){var t=!1;switch(typeof e){case"string":K.accessors[e]?t=K.accessors[e]:console.warn("Accessor Error - No such accessor found, ignoring: ",e);break;case"function":t=e;break}return t}transformRow(e,t){var i="accessor"+(t.charAt(0).toUpperCase()+t.slice(1)),s=e.getComponent(),n=x.deepClone(e.data||{});return this.table.columnManager.traverse(function(r){var o,a,h,d;r.modules.accessor&&(a=r.modules.accessor[i]||r.modules.accessor.accessor||!1,a&&(o=r.getFieldValue(n),o!="undefined"&&(d=r.getComponent(),h=typeof a.params=="function"?a.params(o,n,t,d,s):a.params,r.setFieldValue(n,a.accessor(o,n,t,h,d,s)))))}),n}};b(K,"moduleName","accessor"),b(K,"accessors",xt);let ce=K;var Tt={method:"GET"};function fe(l,e){var t=[];if(e=e||"",Array.isArray(l))l.forEach((s,n)=>{t=t.concat(fe(s,e?e+"["+n+"]":n))});else if(typeof l=="object")for(var i in l)t=t.concat(fe(l[i],e?e+"["+i+"]":i));else t.push({key:e,value:l});return t}function kt(l){var e=fe(l),t=[];return e.forEach(function(i){t.push(encodeURIComponent(i.key)+"="+encodeURIComponent(i.value))}),t.join("&")}function qe(l,e,t){return l&&t&&Object.keys(t).length&&(!e.method||e.method.toLowerCase()=="get")&&(e.method="get",l+=(l.includes("?")?"&":"?")+kt(t)),l}function Mt(l,e,t){var i;return new Promise((s,n)=>{if(l=this.urlGenerator.call(this.table,l,e,t),e.method.toUpperCase()!="GET")if(i=typeof this.table.options.ajaxContentType=="object"?this.table.options.ajaxContentType:this.contentTypeFormatters[this.table.options.ajaxContentType],i){for(var r in i.headers)e.headers||(e.headers={}),typeof e.headers[r]>"u"&&(e.headers[r]=i.headers[r]);e.body=i.body.call(this,l,e,t)}else console.warn("Ajax Error - Invalid ajaxContentType value:",this.table.options.ajaxContentType);l?(typeof e.headers>"u"&&(e.headers={}),typeof e.headers.Accept>"u"&&(e.headers.Accept="application/json"),typeof e.headers["X-Requested-With"]>"u"&&(e.headers["X-Requested-With"]="XMLHttpRequest"),typeof e.mode>"u"&&(e.mode="cors"),e.mode=="cors"?(typeof e.headers.Origin>"u"&&(e.headers.Origin=window.location.origin),typeof e.credentials>"u"&&(e.credentials="same-origin")):typeof e.credentials>"u"&&(e.credentials="include"),fetch(l,e).then(o=>{o.ok?o.json().then(a=>{s(a)}).catch(a=>{n(a),console.warn("Ajax Load Error - Invalid JSON returned",a)}):(console.error("Ajax Load Error - Connection Error: "+o.status,o.statusText),n(o))}).catch(o=>{console.error("Ajax Load Error - Connection Error: ",o),n(o)})):(console.warn("Ajax Load Error - No URL Set"),s([]))})}function pe(l,e){var t=[];if(e=e||"",Array.isArray(l))l.forEach((s,n)=>{t=t.concat(pe(s,e?e+"["+n+"]":n))});else if(typeof l=="object")for(var i in l)t=t.concat(pe(l[i],e?e+"["+i+"]":i));else t.push({key:e,value:l});return t}var Lt={json:{headers:{"Content-Type":"application/json"},body:function(l,e,t){return JSON.stringify(t)}},form:{headers:{},body:function(l,e,t){var i=pe(t),s=new FormData;return i.forEach(function(n){s.append(n.key,n.value)}),s}}};const F=class F extends w{constructor(e){super(e),this.config={},this.url="",this.urlGenerator=!1,this.params=!1,this.loaderPromise=!1,this.registerTableOption("ajaxURL",!1),this.registerTableOption("ajaxURLGenerator",!1),this.registerTableOption("ajaxParams",{}),this.registerTableOption("ajaxConfig","get"),this.registerTableOption("ajaxContentType","form"),this.registerTableOption("ajaxRequestFunc",!1),this.registerTableOption("ajaxRequesting",function(){}),this.registerTableOption("ajaxResponse",!1),this.contentTypeFormatters=F.contentTypeFormatters}initialize(){this.loaderPromise=this.table.options.ajaxRequestFunc||F.defaultLoaderPromise,this.urlGenerator=this.table.options.ajaxURLGenerator||F.defaultURLGenerator,this.table.options.ajaxURL&&this.setUrl(this.table.options.ajaxURL),this.setDefaultConfig(this.table.options.ajaxConfig),this.registerTableFunction("getAjaxUrl",this.getUrl.bind(this)),this.subscribe("data-loading",this.requestDataCheck.bind(this)),this.subscribe("data-params",this.requestParams.bind(this)),this.subscribe("data-load",this.requestData.bind(this))}requestParams(e,t,i,s){var n=this.table.options.ajaxParams;return n&&(typeof n=="function"&&(n=n.call(this.table)),s=Object.assign(Object.assign({},n),s)),s}requestDataCheck(e,t,i,s){return!!(!e&&this.url||typeof e=="string")}requestData(e,t,i,s,n){var r;return!n&&this.requestDataCheck(e)?(e&&this.setUrl(e),r=this.generateConfig(i),this.sendRequest(this.url,t,r)):n}setDefaultConfig(e={}){this.config=Object.assign({},F.defaultConfig),typeof e=="string"?this.config.method=e:Object.assign(this.config,e)}generateConfig(e={}){var t=Object.assign({},this.config);return typeof e=="string"?t.method=e:Object.assign(t,e),t}setUrl(e){this.url=e}getUrl(){return this.url}sendRequest(e,t,i){return this.table.options.ajaxRequesting.call(this.table,e,t)!==!1?this.loaderPromise(e,i,t).then(s=>(this.table.options.ajaxResponse&&(s=this.table.options.ajaxResponse.call(this.table,e,t,s)),s)):Promise.reject()}};b(F,"moduleName","ajax"),b(F,"defaultConfig",Tt),b(F,"defaultURLGenerator",qe),b(F,"defaultLoaderPromise",Mt),b(F,"contentTypeFormatters",Lt);let me=F;var St={replace:function(l){return this.table.setData(l)},update:function(l){return this.table.updateOrAddData(l)},insert:function(l){return this.table.addData(l)}},Dt={table:function(l){var e=[],t=!0,i=this.table.columnManager.columns,s=[],n=[];return l=l.split(` +`),l.forEach(function(r){e.push(r.split(" "))}),e.length&&!(e.length===1&&e[0].length<2)?(e[0].forEach(function(r){var o=i.find(function(a){return r&&a.definition.title&&r.trim()&&a.definition.title.trim()===r.trim()});o?s.push(o):t=!1}),t||(t=!0,s=[],e[0].forEach(function(r){var o=i.find(function(a){return r&&a.field&&r.trim()&&a.field.trim()===r.trim()});o?s.push(o):t=!1}),t||(s=this.table.columnManager.columnsByIndex)),t&&e.shift(),e.forEach(function(r){var o={};r.forEach(function(a,h){s[h]&&(o[s[h].field]=a)}),n.push(o)}),n):!1}},zt={copyToClipboard:["ctrl + 67","meta + 67"]},Ht={copyToClipboard:function(l){this.table.modules.edit.currentCell||this.table.modExists("clipboard",!0)&&this.table.modules.clipboard.copy(!1,!0)}},Ft={keybindings:{bindings:zt,actions:Ht}};const _=class _ extends w{constructor(e){super(e),this.mode=!0,this.pasteParser=function(){},this.pasteAction=function(){},this.customSelection=!1,this.rowRange=!1,this.blocked=!0,this.registerTableOption("clipboard",!1),this.registerTableOption("clipboardCopyStyled",!0),this.registerTableOption("clipboardCopyConfig",!1),this.registerTableOption("clipboardCopyFormatter",!1),this.registerTableOption("clipboardCopyRowRange","active"),this.registerTableOption("clipboardPasteParser","table"),this.registerTableOption("clipboardPasteAction","insert"),this.registerColumnOption("clipboard"),this.registerColumnOption("titleClipboard")}initialize(){this.mode=this.table.options.clipboard,this.rowRange=this.table.options.clipboardCopyRowRange,(this.mode===!0||this.mode==="copy")&&this.table.element.addEventListener("copy",e=>{var t,i,s;this.blocked||(e.preventDefault(),this.customSelection?(t=this.customSelection,this.table.options.clipboardCopyFormatter&&(t=this.table.options.clipboardCopyFormatter("plain",t))):(s=this.table.modules.export.generateExportList(this.table.options.clipboardCopyConfig,this.table.options.clipboardCopyStyled,this.rowRange,"clipboard"),i=this.table.modules.export.generateHTMLTable(s),t=i?this.generatePlainContent(s):"",this.table.options.clipboardCopyFormatter&&(t=this.table.options.clipboardCopyFormatter("plain",t),i=this.table.options.clipboardCopyFormatter("html",i))),window.clipboardData&&window.clipboardData.setData?window.clipboardData.setData("Text",t):e.clipboardData&&e.clipboardData.setData?(e.clipboardData.setData("text/plain",t),i&&e.clipboardData.setData("text/html",i)):e.originalEvent&&e.originalEvent.clipboardData.setData&&(e.originalEvent.clipboardData.setData("text/plain",t),i&&e.originalEvent.clipboardData.setData("text/html",i)),this.dispatchExternal("clipboardCopied",t,i),this.reset())}),(this.mode===!0||this.mode==="paste")&&this.table.element.addEventListener("paste",e=>{this.paste(e)}),this.setPasteParser(this.table.options.clipboardPasteParser),this.setPasteAction(this.table.options.clipboardPasteAction),this.registerTableFunction("copyToClipboard",this.copy.bind(this))}reset(){this.blocked=!0,this.customSelection=!1}generatePlainContent(e){var t=[];return e.forEach(i=>{var s=[];i.columns.forEach(n=>{var r="";if(n)if(i.type==="group"&&(n.value=n.component.getKey()),n.value===null)r="";else switch(typeof n.value){case"object":r=JSON.stringify(n.value);break;case"undefined":r="";break;default:r=n.value}s.push(r)}),t.push(s.join(" "))}),t.join(` +`)}copy(e,t){var i,s;this.blocked=!1,this.customSelection=!1,(this.mode===!0||this.mode==="copy")&&(this.rowRange=e||this.table.options.clipboardCopyRowRange,typeof window.getSelection<"u"&&typeof document.createRange<"u"?(e=document.createRange(),e.selectNodeContents(this.table.element),i=window.getSelection(),i.toString()&&t&&(this.customSelection=i.toString()),i.removeAllRanges(),i.addRange(e)):typeof document.selection<"u"&&typeof document.body.createTextRange<"u"&&(s=document.body.createTextRange(),s.moveToElementText(this.table.element),s.select()),document.execCommand("copy"),i&&i.removeAllRanges())}setPasteAction(e){switch(typeof e){case"string":this.pasteAction=_.pasteActions[e],this.pasteAction||console.warn("Clipboard Error - No such paste action found:",e);break;case"function":this.pasteAction=e;break}}setPasteParser(e){switch(typeof e){case"string":this.pasteParser=_.pasteParsers[e],this.pasteParser||console.warn("Clipboard Error - No such paste parser found:",e);break;case"function":this.pasteParser=e;break}}paste(e){var t,i,s;this.checkPasteOrigin(e)&&(t=this.getPasteData(e),i=this.pasteParser.call(this,t),i?(e.preventDefault(),this.table.modExists("mutator")&&(i=this.mutateData(i)),s=this.pasteAction.call(this,i),this.dispatchExternal("clipboardPasted",t,i,s)):this.dispatchExternal("clipboardPasteError",t))}mutateData(e){var t=[];return Array.isArray(e)?e.forEach(i=>{t.push(this.table.modules.mutator.transformRow(i,"clipboard"))}):t=e,t}checkPasteOrigin(e){var t=!0,i=this.confirm("clipboard-paste",[e]);return(i||!["DIV","SPAN"].includes(e.target.tagName))&&(t=!1),t}getPasteData(e){var t;return window.clipboardData&&window.clipboardData.getData?t=window.clipboardData.getData("Text"):e.clipboardData&&e.clipboardData.getData?t=e.clipboardData.getData("text/plain"):e.originalEvent&&e.originalEvent.clipboardData.getData&&(t=e.originalEvent.clipboardData.getData("text/plain")),t}};b(_,"moduleName","clipboard"),b(_,"moduleExtensions",Ft),b(_,"pasteActions",St),b(_,"pasteParsers",Dt);let ge=_;class Pt{constructor(e){return this._row=e,new Proxy(this,{get:function(t,i,s){return typeof t[i]<"u"?t[i]:t._row.table.componentFunctionBinder.handle("row",t._row,i)}})}getData(e){return this._row.getData(e)}getElement(){return this._row.getElement()}getTable(){return this._row.table}getCells(){var e=[];return this._row.getCells().forEach(function(t){e.push(t.getComponent())}),e}getCell(e){var t=this._row.getCell(e);return t?t.getComponent():!1}_getSelf(){return this._row}}class Ye{constructor(e){return this._cell=e,new Proxy(this,{get:function(t,i,s){return typeof t[i]<"u"?t[i]:t._cell.table.componentFunctionBinder.handle("cell",t._cell,i)}})}getValue(){return this._cell.getValue()}getOldValue(){return this._cell.getOldValue()}getInitialValue(){return this._cell.initialValue}getElement(){return this._cell.getElement()}getRow(){return this._cell.row.getComponent()}getData(e){return this._cell.row.getData(e)}getType(){return"cell"}getField(){return this._cell.column.getField()}getColumn(){return this._cell.column.getComponent()}setValue(e,t){typeof t>"u"&&(t=!0),this._cell.setValue(e,t)}restoreOldValue(){this._cell.setValueActual(this._cell.getOldValue())}restoreInitialValue(){this._cell.setValueActual(this._cell.initialValue)}checkHeight(){this._cell.checkHeight()}getTable(){return this._cell.table}_getSelf(){return this._cell}}class ne extends M{constructor(e,t){super(e.table),this.table=e.table,this.column=e,this.row=t,this.element=null,this.value=null,this.initialValue,this.oldValue=null,this.modules={},this.height=null,this.width=null,this.minWidth=null,this.component=null,this.loaded=!1,this.build()}build(){this.generateElement(),this.setWidth(),this._configureCell(),this.setValueActual(this.column.getFieldValue(this.row.data)),this.initialValue=this.value}generateElement(){this.element=document.createElement("div"),this.element.className="tabulator-cell",this.element.setAttribute("role","gridcell"),this.column.isRowHeader&&this.element.classList.add("tabulator-row-header")}_configureCell(){var e=this.element,t=this.column.getField(),i={top:"flex-start",bottom:"flex-end",middle:"center"},s={left:"flex-start",right:"flex-end",center:"center"};if(e.style.textAlign=this.column.hozAlign,this.column.vertAlign&&(e.style.display="inline-flex",e.style.alignItems=i[this.column.vertAlign]||"",this.column.hozAlign&&(e.style.justifyContent=s[this.column.hozAlign]||"")),t&&e.setAttribute("tabulator-field",t),this.column.definition.cssClass){var n=this.column.definition.cssClass.split(" ");n.forEach(r=>{e.classList.add(r)})}this.dispatch("cell-init",this),this.column.visible||this.hide()}_generateContents(){var e;switch(e=this.chain("cell-format",this,null,()=>this.element.innerHTML=this.value),typeof e){case"object":if(e instanceof Node){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.appendChild(e)}else this.element.innerHTML="",e!=null&&console.warn("Format Error - Formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",e);break;case"undefined":this.element.innerHTML="";break;default:this.element.innerHTML=e}}cellRendered(){this.dispatch("cell-rendered",this)}getElement(e){return this.loaded||(this.loaded=!0,e||this.layoutElement()),this.element}getValue(){return this.value}getOldValue(){return this.oldValue}setValue(e,t,i){var s=this.setValueProcessData(e,t,i);s&&(this.dispatch("cell-value-updated",this),this.cellRendered(),this.column.definition.cellEdited&&this.column.definition.cellEdited.call(this.table,this.getComponent()),this.dispatchExternal("cellEdited",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()))}setValueProcessData(e,t,i){var s=!1;return(this.value!==e||i)&&(s=!0,t&&(e=this.chain("cell-value-changing",[this,e],null,e))),this.setValueActual(e),s&&this.dispatch("cell-value-changed",this),s}setValueActual(e){this.oldValue=this.value,this.value=e,this.dispatch("cell-value-save-before",this),this.column.setFieldValue(this.row.data,e),this.dispatch("cell-value-save-after",this),this.loaded&&this.layoutElement()}layoutElement(){this._generateContents(),this.dispatch("cell-layout",this)}setWidth(){this.width=this.column.width,this.element.style.width=this.column.widthStyled}clearWidth(){this.width="",this.element.style.width=""}getWidth(){return this.width||this.element.offsetWidth}setMinWidth(){this.minWidth=this.column.minWidth,this.element.style.minWidth=this.column.minWidthStyled}setMaxWidth(){this.maxWidth=this.column.maxWidth,this.element.style.maxWidth=this.column.maxWidthStyled}checkHeight(){this.row.reinitializeHeight()}clearHeight(){this.element.style.height="",this.height=null,this.dispatch("cell-height",this,"")}setHeight(){this.height=this.row.height,this.element.style.height=this.row.heightStyled,this.dispatch("cell-height",this,this.row.heightStyled)}getHeight(){return this.height||this.element.offsetHeight}show(){this.element.style.display=this.column.vertAlign?"inline-flex":""}hide(){this.element.style.display="none"}delete(){this.dispatch("cell-delete",this),!this.table.rowManager.redrawBlock&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=!1,this.column.deleteCell(this),this.row.deleteCell(this),this.calcs={}}getIndex(){return this.row.getCellIndex(this)}getComponent(){return this.component||(this.component=new Ye(this)),this.component}}class $e{constructor(e){return this._column=e,this.type="ColumnComponent",new Proxy(this,{get:function(t,i,s){return typeof t[i]<"u"?t[i]:t._column.table.componentFunctionBinder.handle("column",t._column,i)}})}getElement(){return this._column.getElement()}getDefinition(){return this._column.getDefinition()}getField(){return this._column.getField()}getTitleDownload(){return this._column.getTitleDownload()}getCells(){var e=[];return this._column.cells.forEach(function(t){e.push(t.getComponent())}),e}isVisible(){return this._column.visible}show(){this._column.isGroup?this._column.columns.forEach(function(e){e.show()}):this._column.show()}hide(){this._column.isGroup?this._column.columns.forEach(function(e){e.hide()}):this._column.hide()}toggle(){this._column.visible?this.hide():this.show()}delete(){return this._column.delete()}getSubColumns(){var e=[];return this._column.columns.length&&this._column.columns.forEach(function(t){e.push(t.getComponent())}),e}getParentColumn(){return this._column.getParentComponent()}_getSelf(){return this._column}scrollTo(e,t){return this._column.table.columnManager.scrollToColumn(this._column,e,t)}getTable(){return this._column.table}move(e,t){var i=this._column.table.columnManager.findColumn(e);i?this._column.table.columnManager.moveColumn(this._column,i,t):console.warn("Move Error - No matching column found:",i)}getNextColumn(){var e=this._column.nextColumn();return e?e.getComponent():!1}getPrevColumn(){var e=this._column.prevColumn();return e?e.getComponent():!1}updateDefinition(e){return this._column.updateDefinition(e)}getWidth(){return this._column.getWidth()}setWidth(e){var t;return e===!0?t=this._column.reinitializeWidth(!0):t=this._column.setWidth(e),this._column.table.columnManager.rerenderColumns(!0),t}}var Qe={title:void 0,field:void 0,columns:void 0,visible:void 0,hozAlign:void 0,vertAlign:void 0,width:void 0,minWidth:40,maxWidth:void 0,maxInitialWidth:void 0,cssClass:void 0,variableHeight:void 0,headerVertical:void 0,headerHozAlign:void 0,headerWordWrap:!1,editableTitle:void 0};const W=class W extends M{constructor(e,t,i){super(t.table),this.definition=e,this.parent=t,this.type="column",this.columns=[],this.cells=[],this.isGroup=!1,this.isRowHeader=i,this.element=this.createElement(),this.contentElement=!1,this.titleHolderElement=!1,this.titleElement=!1,this.groupElement=this.createGroupElement(),this.hozAlign="",this.vertAlign="",this.field="",this.fieldStructure="",this.getFieldValue="",this.setFieldValue="",this.titleDownload=null,this.titleFormatterRendered=!1,this.mapDefinitions(),this.setField(this.definition.field),this.modules={},this.width=null,this.widthStyled="",this.maxWidth=null,this.maxWidthStyled="",this.maxInitialWidth=null,this.minWidth=null,this.minWidthStyled="",this.widthFixed=!1,this.visible=!0,this.component=null,this.definition.columns?(this.isGroup=!0,this.definition.columns.forEach((s,n)=>{var r=new W(s,this);this.attachColumn(r)}),this.checkColumnVisibility()):t.registerColumnField(this),this._initialize()}createElement(){var e=document.createElement("div");switch(e.classList.add("tabulator-col"),e.setAttribute("role","columnheader"),e.setAttribute("aria-sort","none"),this.isRowHeader&&e.classList.add("tabulator-row-header"),this.table.options.columnHeaderVertAlign){case"middle":e.style.justifyContent="center";break;case"bottom":e.style.justifyContent="flex-end";break}return e}createGroupElement(){var e=document.createElement("div");return e.classList.add("tabulator-col-group-cols"),e}mapDefinitions(){var e=this.table.options.columnDefaults;if(e)for(let t in e)typeof this.definition[t]>"u"&&(this.definition[t]=e[t]);this.definition=this.table.columnManager.optionsList.generate(W.defaultOptionList,this.definition)}checkDefinition(){Object.keys(this.definition).forEach(e=>{W.defaultOptionList.indexOf(e)===-1&&console.warn("Invalid column definition option in '"+(this.field||this.definition.title)+"' column:",e)})}setField(e){this.field=e,this.fieldStructure=e?this.table.options.nestedFieldSeparator?e.split(this.table.options.nestedFieldSeparator):[e]:[],this.getFieldValue=this.fieldStructure.length>1?this._getNestedData:this._getFlatData,this.setFieldValue=this.fieldStructure.length>1?this._setNestedData:this._setFlatData}registerColumnPosition(e){this.parent.registerColumnPosition(e)}registerColumnField(e){this.parent.registerColumnField(e)}reRegisterPosition(){this.isGroup?this.columns.forEach(function(e){e.reRegisterPosition()}):this.registerColumnPosition(this)}_initialize(){for(var e=this.definition;this.element.firstChild;)this.element.removeChild(this.element.firstChild);e.headerVertical&&(this.element.classList.add("tabulator-col-vertical"),e.headerVertical==="flip"&&this.element.classList.add("tabulator-col-vertical-flip")),this.contentElement=this._buildColumnHeaderContent(),this.element.appendChild(this.contentElement),this.isGroup?this._buildGroupHeader():this._buildColumnHeader(),this.dispatch("column-init",this)}_buildColumnHeader(){var e=this.definition;if(this.dispatch("column-layout",this),typeof e.visible<"u"&&(e.visible?this.show(!0):this.hide(!0)),e.cssClass){var t=e.cssClass.split(" ");t.forEach(i=>{this.element.classList.add(i)})}e.field&&this.element.setAttribute("tabulator-field",e.field),this.setMinWidth(parseInt(e.minWidth)),e.maxInitialWidth&&(this.maxInitialWidth=parseInt(e.maxInitialWidth)),e.maxWidth&&this.setMaxWidth(parseInt(e.maxWidth)),this.reinitializeWidth(),this.hozAlign=this.definition.hozAlign,this.vertAlign=this.definition.vertAlign,this.titleElement.style.textAlign=this.definition.headerHozAlign}_buildColumnHeaderContent(){var e=document.createElement("div");return e.classList.add("tabulator-col-content"),this.titleHolderElement=document.createElement("div"),this.titleHolderElement.classList.add("tabulator-col-title-holder"),e.appendChild(this.titleHolderElement),this.titleElement=this._buildColumnHeaderTitle(),this.titleHolderElement.appendChild(this.titleElement),e}_buildColumnHeaderTitle(){var e=this.definition,t=document.createElement("div");if(t.classList.add("tabulator-col-title"),e.headerWordWrap&&t.classList.add("tabulator-col-title-wrap"),e.editableTitle){var i=document.createElement("input");i.classList.add("tabulator-title-editor"),i.addEventListener("click",s=>{s.stopPropagation(),i.focus()}),i.addEventListener("mousedown",s=>{s.stopPropagation()}),i.addEventListener("change",()=>{e.title=i.value,this.dispatchExternal("columnTitleChanged",this.getComponent())}),t.appendChild(i),e.field?this.langBind("columns|"+e.field,s=>{i.value=s||e.title||" "}):i.value=e.title||" "}else e.field?this.langBind("columns|"+e.field,s=>{this._formatColumnHeaderTitle(t,s||e.title||" ")}):this._formatColumnHeaderTitle(t,e.title||" ");return t}_formatColumnHeaderTitle(e,t){var i=this.chain("column-format",[this,t,e],null,()=>t);switch(typeof i){case"object":i instanceof Node?e.appendChild(i):(e.innerHTML="",console.warn("Format Error - Title formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",i));break;case"undefined":e.innerHTML="";break;default:e.innerHTML=i}}_buildGroupHeader(){if(this.element.classList.add("tabulator-col-group"),this.element.setAttribute("role","columngroup"),this.element.setAttribute("aria-title",this.definition.title),this.definition.cssClass){var e=this.definition.cssClass.split(" ");e.forEach(t=>{this.element.classList.add(t)})}this.titleElement.style.textAlign=this.definition.headerHozAlign,this.element.appendChild(this.groupElement)}_getFlatData(e){return e[this.field]}_getNestedData(e){var t=e,i=this.fieldStructure,s=i.length,n;for(let r=0;r{t.push(i),t=t.concat(i.getColumns(!0))}):t=this.columns,t}getCells(){return this.cells}getTopColumn(){return this.parent.isGroup?this.parent.getTopColumn():this}getDefinition(e){var t=[];return this.isGroup&&e&&(this.columns.forEach(function(i){t.push(i.getDefinition(!0))}),this.definition.columns=t),this.definition}checkColumnVisibility(){var e=!1;this.columns.forEach(function(t){t.visible&&(e=!0)}),e?(this.show(),this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1)):this.hide()}show(e,t){this.visible||(this.visible=!0,this.element.style.display="",this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach(function(i){i.show()}),!this.isGroup&&this.width===null&&this.reinitializeWidth(),this.table.columnManager.verticalAlignHeaders(),this.dispatch("column-show",this,t),e||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!0),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}hide(e,t){this.visible&&(this.visible=!1,this.element.style.display="none",this.table.columnManager.verticalAlignHeaders(),this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach(function(i){i.hide()}),this.dispatch("column-hide",this,t),e||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}matchChildWidths(){var e=0;this.contentElement&&this.columns.length&&(this.columns.forEach(function(t){t.visible&&(e+=t.getWidth())}),this.contentElement.style.maxWidth=e-1+"px",this.parent.isGroup&&this.parent.matchChildWidths())}removeChild(e){var t=this.columns.indexOf(e);t>-1&&this.columns.splice(t,1),this.columns.length||this.delete()}setWidth(e){this.widthFixed=!0,this.setWidthActual(e)}setWidthActual(e){isNaN(e)&&(e=Math.floor(this.table.element.clientWidth/100*parseInt(e))),e=Math.max(this.minWidth,e),this.maxWidth&&(e=Math.min(this.maxWidth,e)),this.width=e,this.widthStyled=e?e+"px":"",this.element.style.width=this.widthStyled,this.isGroup||this.cells.forEach(function(t){t.setWidth()}),this.parent.isGroup&&this.parent.matchChildWidths(),this.dispatch("column-width",this),this.subscribedExternal("columnWidth")&&this.dispatchExternal("columnWidth",this.getComponent())}checkCellHeights(){var e=[];this.cells.forEach(function(t){t.row.heightInitialized&&(t.row.getElement().offsetParent!==null?(e.push(t.row),t.row.clearCellHeight()):t.row.heightInitialized=!1)}),e.forEach(function(t){t.calcHeight()}),e.forEach(function(t){t.setCellHeight()})}getWidth(){var e=0;return this.isGroup?this.columns.forEach(function(t){t.visible&&(e+=t.getWidth())}):e=this.width,e}getLeftOffset(){var e=this.element.offsetLeft;return this.parent.isGroup&&(e+=this.parent.getLeftOffset()),e}getHeight(){return Math.ceil(this.element.getBoundingClientRect().height)}setMinWidth(e){this.maxWidth&&e>this.maxWidth&&(e=this.maxWidth,console.warn("the minWidth ("+e+"px) for column '"+this.field+"' cannot be bigger that its maxWidth ("+this.maxWidthStyled+")")),this.minWidth=e,this.minWidthStyled=e?e+"px":"",this.element.style.minWidth=this.minWidthStyled,this.cells.forEach(function(t){t.setMinWidth()})}setMaxWidth(e){this.minWidth&&e{this.isGroup&&this.columns.forEach(function(s){s.delete()}),this.dispatch("column-delete",this);var i=this.cells.length;for(let s=0;s-1?this._nextVisibleColumn(e+1):!1}_nextVisibleColumn(e){var t=this.table.columnManager.getColumnByIndex(e);return!t||t.visible?t:this._nextVisibleColumn(e+1)}prevColumn(){var e=this.table.columnManager.findColumnIndex(this);return e>-1?this._prevVisibleColumn(e-1):!1}_prevVisibleColumn(e){var t=this.table.columnManager.getColumnByIndex(e);return!t||t.visible?t:this._prevVisibleColumn(e-1)}reinitializeWidth(e){this.widthFixed=!1,typeof this.definition.width<"u"&&!e&&this.setWidth(this.definition.width),this.dispatch("column-width-fit-before",this),this.fitToData(e),this.dispatch("column-width-fit-after",this)}fitToData(e){if(!this.isGroup){this.widthFixed||(this.element.style.width="",this.cells.forEach(s=>{s.clearWidth()}));var t=this.element.offsetWidth;if((!this.width||!this.widthFixed)&&(this.cells.forEach(s=>{var n=s.getWidth();n>t&&(t=n)}),t)){var i=t+1;this.maxInitialWidth&&!e&&(i=Math.min(i,this.maxInitialWidth)),this.setWidthActual(i)}}}updateDefinition(e){var t;return this.isGroup||this.parent.isGroup?(console.error("Column Update Error - The updateDefinition function is only available on ungrouped columns"),Promise.reject("Column Update Error - The updateDefinition function is only available on columns, not column groups")):(t=Object.assign({},this.getDefinition()),t=Object.assign(t,e),this.table.columnManager.addColumn(t,!1,this).then(i=>(t.field==this.field&&(this.field=!1),this.delete().then(()=>i.getComponent()))))}deleteCell(e){var t=this.cells.indexOf(e);t>-1&&this.cells.splice(t,1)}getComponent(){return this.component||(this.component=new $e(this)),this.component}getPosition(){return this.table.columnManager.getVisibleColumnsByIndex().indexOf(this)+1}getParentComponent(){return this.parent instanceof W?this.parent.getComponent():!1}};b(W,"defaultOptionList",Qe);let U=W;class oe{constructor(e){return this._row=e,new Proxy(this,{get:function(t,i,s){return typeof t[i]<"u"?t[i]:t._row.table.componentFunctionBinder.handle("row",t._row,i)}})}getData(e){return this._row.getData(e)}getElement(){return this._row.getElement()}getCells(){var e=[];return this._row.getCells().forEach(function(t){e.push(t.getComponent())}),e}getCell(e){var t=this._row.getCell(e);return t?t.getComponent():!1}getIndex(){return this._row.getData("data")[this._row.table.options.index]}getPosition(){return this._row.getPosition()}watchPosition(e){return this._row.watchPosition(e)}delete(){return this._row.delete()}scrollTo(e,t){return this._row.table.rowManager.scrollToRow(this._row,e,t)}move(e,t){this._row.moveToRow(e,t)}update(e){return this._row.updateData(e)}normalizeHeight(){this._row.normalizeHeight(!0)}_getSelf(){return this._row}reformat(){return this._row.reinitialize()}getTable(){return this._row.table}getNextRow(){var e=this._row.nextRow();return e&&e.getComponent()}getPrevRow(){var e=this._row.prevRow();return e&&e.getComponent()}}class S extends M{constructor(e,t,i="row"){super(t.table),this.parent=t,this.data={},this.type=i,this.element=!1,this.modules={},this.cells=[],this.height=0,this.heightStyled="",this.manualHeight=!1,this.outerHeight=0,this.initialized=!1,this.heightInitialized=!1,this.position=0,this.positionWatchers=[],this.component=null,this.created=!1,this.setData(e)}create(){this.created||(this.created=!0,this.generateElement())}createElement(){var e=document.createElement("div");e.classList.add("tabulator-row"),e.setAttribute("role","row"),this.element=e}getElement(){return this.create(),this.element}detachElement(){this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)}generateElement(){this.createElement(),this.dispatch("row-init",this)}generateCells(){this.cells=this.table.columnManager.generateCells(this)}initialize(e,t){if(this.create(),!this.initialized||e){for(this.deleteCells();this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.dispatch("row-layout-before",this),this.generateCells(),this.initialized=!0,this.table.columnManager.renderer.renderRowCells(this,t),e&&this.normalizeHeight(),this.dispatch("row-layout",this),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent()),this.dispatch("row-layout-after",this)}else this.table.columnManager.renderer.rerenderRowCells(this,t)}rendered(){this.cells.forEach(e=>{e.cellRendered()})}reinitializeHeight(){this.heightInitialized=!1,this.element&&this.element.offsetParent!==null&&this.normalizeHeight(!0)}deinitialize(){this.initialized=!1}deinitializeHeight(){this.heightInitialized=!1}reinitialize(e){this.initialized=!1,this.heightInitialized=!1,this.manualHeight||(this.height=0,this.heightStyled=""),this.element&&this.element.offsetParent!==null&&this.initialize(!0),this.dispatch("row-relayout",this)}calcHeight(e){var t=0,i=0;this.table.options.rowHeight?this.height=this.table.options.rowHeight:(i=this.calcMinHeight(),t=this.calcMaxHeight(),e?this.height=Math.max(t,i):this.height=this.manualHeight?this.height:Math.max(t,i)),this.heightStyled=this.height?this.height+"px":"",this.outerHeight=this.element.offsetHeight}calcMinHeight(){return this.table.options.resizableRows?this.element.clientHeight:0}calcMaxHeight(){var e=0;return this.cells.forEach(function(t){var i=t.getHeight();i>e&&(e=i)}),e}setCellHeight(){this.cells.forEach(function(e){e.setHeight()}),this.heightInitialized=!0}clearCellHeight(){this.cells.forEach(function(e){e.clearHeight()})}normalizeHeight(e){e&&!this.table.options.rowHeight&&this.clearCellHeight(),this.calcHeight(e),this.setCellHeight()}setHeight(e,t){(this.height!=e||t)&&(this.manualHeight=!0,this.height=e,this.heightStyled=e?e+"px":"",this.setCellHeight(),this.outerHeight=this.element.offsetHeight,this.subscribedExternal("rowHeight")&&this.dispatchExternal("rowHeight",this.getComponent()))}getHeight(){return this.outerHeight}getWidth(){return this.element.offsetWidth}deleteCell(e){var t=this.cells.indexOf(e);t>-1&&this.cells.splice(t,1)}setData(e){this.data=this.chain("row-data-init-before",[this,e],void 0,e),this.dispatch("row-data-init-after",this)}updateData(e){var t=this.element&&x.elVisible(this.element),i={},s;return new Promise((n,r)=>{typeof e=="string"&&(e=JSON.parse(e)),this.dispatch("row-data-save-before",this),this.subscribed("row-data-changing")&&(i=Object.assign(i,this.data),i=Object.assign(i,e)),s=this.chain("row-data-changing",[this,i,e],null,e);for(let o in s)this.data[o]=s[o];this.dispatch("row-data-save-after",this);for(let o in e)this.table.columnManager.getColumnsByFieldRoot(o).forEach(h=>{let d=this.getCell(h.getField());if(d){let u=h.getFieldValue(s);d.getValue()!==u&&(d.setValueProcessData(u),t&&d.cellRendered())}});t?(this.normalizeHeight(!0),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent())):(this.initialized=!1,this.height=0,this.heightStyled=""),this.dispatch("row-data-changed",this,t,e),this.dispatchExternal("rowUpdated",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),n()})}getData(e){return e?this.chain("row-data-retrieve",[this,e],null,this.data):this.data}getCell(e){var t=!1;return e=this.table.columnManager.findColumn(e),!this.initialized&&this.cells.length===0&&this.generateCells(),t=this.cells.find(function(i){return i.column===e}),t}getCellIndex(e){return this.cells.findIndex(function(t){return t===e})}findCell(e){return this.cells.find(t=>t.element===e)}getCells(){return!this.initialized&&this.cells.length===0&&this.generateCells(),this.cells}nextRow(){var e=this.table.rowManager.nextDisplayRow(this,!0);return e||!1}prevRow(){var e=this.table.rowManager.prevDisplayRow(this,!0);return e||!1}moveToRow(e,t){var i=this.table.rowManager.findRow(e);i?(this.table.rowManager.moveRowActual(this,i,!t),this.table.rowManager.refreshActiveData("display",!1,!0)):console.warn("Move Error - No matching row found:",e)}delete(){return this.dispatch("row-delete",this),this.deleteActual(),Promise.resolve()}deleteActual(e){this.detachModules(),this.table.rowManager.deleteRow(this,e),this.deleteCells(),this.initialized=!1,this.heightInitialized=!1,this.element=!1,this.dispatch("row-deleted",this)}detachModules(){this.dispatch("row-deleting",this)}deleteCells(){var e=this.cells.length;for(let t=0;t{t(this.position)}))}watchPosition(e){this.positionWatchers.push(e),e(this.position)}getGroup(){return this.modules.group||!1}getComponent(){return this.component||(this.component=new oe(this)),this.component}}var Ot={avg:function(l,e,t){var i=0,s=typeof t.precision<"u"?t.precision:2;return l.length&&(i=l.reduce(function(n,r){return Number(n)+Number(r)}),i=i/l.length,i=s!==!1?i.toFixed(s):i),parseFloat(i).toString()},max:function(l,e,t){var i=null,s=typeof t.precision<"u"?t.precision:!1;return l.forEach(function(n){n=Number(n),(n>i||i===null)&&(i=n)}),i!==null?s!==!1?i.toFixed(s):i:""},min:function(l,e,t){var i=null,s=typeof t.precision<"u"?t.precision:!1;return l.forEach(function(n){n=Number(n),(n(l||s===0)&&l.indexOf(s)===n);return i.length}};const B=class B extends w{constructor(e){super(e),this.topCalcs=[],this.botCalcs=[],this.genColumn=!1,this.topElement=this.createElement(),this.botElement=this.createElement(),this.topRow=!1,this.botRow=!1,this.topInitialized=!1,this.botInitialized=!1,this.blocked=!1,this.recalcAfterBlock=!1,this.registerTableOption("columnCalcs",!0),this.registerColumnOption("topCalc"),this.registerColumnOption("topCalcParams"),this.registerColumnOption("topCalcFormatter"),this.registerColumnOption("topCalcFormatterParams"),this.registerColumnOption("bottomCalc"),this.registerColumnOption("bottomCalcParams"),this.registerColumnOption("bottomCalcFormatter"),this.registerColumnOption("bottomCalcFormatterParams")}createElement(){var e=document.createElement("div");return e.classList.add("tabulator-calcs-holder"),e}initialize(){this.genColumn=new U({field:"value"},this),this.subscribe("cell-value-changed",this.cellValueChanged.bind(this)),this.subscribe("column-init",this.initializeColumnCheck.bind(this)),this.subscribe("row-deleted",this.rowsUpdated.bind(this)),this.subscribe("scroll-horizontal",this.scrollHorizontal.bind(this)),this.subscribe("row-added",this.rowsUpdated.bind(this)),this.subscribe("column-moved",this.recalcActiveRows.bind(this)),this.subscribe("column-add",this.recalcActiveRows.bind(this)),this.subscribe("data-refreshed",this.recalcActiveRowsRefresh.bind(this)),this.subscribe("table-redraw",this.tableRedraw.bind(this)),this.subscribe("rows-visible",this.visibleRows.bind(this)),this.subscribe("scrollbar-vertical",this.adjustForScrollbar.bind(this)),this.subscribe("redraw-blocked",this.blockRedraw.bind(this)),this.subscribe("redraw-restored",this.restoreRedraw.bind(this)),this.subscribe("table-redrawing",this.resizeHolderWidth.bind(this)),this.subscribe("column-resized",this.resizeHolderWidth.bind(this)),this.subscribe("column-show",this.resizeHolderWidth.bind(this)),this.subscribe("column-hide",this.resizeHolderWidth.bind(this)),this.registerTableFunction("getCalcResults",this.getResults.bind(this)),this.registerTableFunction("recalc",this.userRecalc.bind(this)),this.resizeHolderWidth()}resizeHolderWidth(){this.topElement.style.minWidth=this.table.columnManager.headersElement.offsetWidth+"px"}tableRedraw(e){this.recalc(this.table.rowManager.activeRows),e&&this.redraw()}blockRedraw(){this.blocked=!0,this.recalcAfterBlock=!1}restoreRedraw(){this.blocked=!1,this.recalcAfterBlock&&(this.recalcAfterBlock=!1,this.recalcActiveRowsRefresh())}userRecalc(){this.recalc(this.table.rowManager.activeRows)}blockCheck(){return this.blocked&&(this.recalcAfterBlock=!0),this.blocked}visibleRows(e,t){return this.topRow&&t.unshift(this.topRow),this.botRow&&t.push(this.botRow),t}rowsUpdated(e){this.table.options.groupBy?this.recalcRowGroup(e):this.recalcActiveRows()}recalcActiveRowsRefresh(){this.table.options.groupBy&&this.table.options.dataTreeStartExpanded&&this.table.options.dataTree?this.recalcAll():this.recalcActiveRows()}recalcActiveRows(){this.recalc(this.table.rowManager.activeRows)}cellValueChanged(e){(e.column.definition.topCalc||e.column.definition.bottomCalc)&&(this.table.options.groupBy?((this.table.options.columnCalcs=="table"||this.table.options.columnCalcs=="both")&&this.recalcActiveRows(),this.table.options.columnCalcs!="table"&&this.recalcRowGroup(e.row)):this.recalcActiveRows())}initializeColumnCheck(e){(e.definition.topCalc||e.definition.bottomCalc)&&this.initializeColumn(e)}initializeColumn(e){var t=e.definition,i={topCalcParams:t.topCalcParams||{},botCalcParams:t.bottomCalcParams||{}};if(t.topCalc){switch(typeof t.topCalc){case"string":B.calculations[t.topCalc]?i.topCalc=B.calculations[t.topCalc]:console.warn("Column Calc Error - No such calculation found, ignoring: ",t.topCalc);break;case"function":i.topCalc=t.topCalc;break}i.topCalc&&(e.modules.columnCalcs=i,this.topCalcs.push(e),this.table.options.columnCalcs!="group"&&this.initializeTopRow())}if(t.bottomCalc){switch(typeof t.bottomCalc){case"string":B.calculations[t.bottomCalc]?i.botCalc=B.calculations[t.bottomCalc]:console.warn("Column Calc Error - No such calculation found, ignoring: ",t.bottomCalc);break;case"function":i.botCalc=t.bottomCalc;break}i.botCalc&&(e.modules.columnCalcs=i,this.botCalcs.push(e),this.table.options.columnCalcs!="group"&&this.initializeBottomRow())}}registerColumnField(){}removeCalcs(){var e=!1;this.topInitialized&&(this.topInitialized=!1,this.topElement.parentNode.removeChild(this.topElement),e=!0),this.botInitialized&&(this.botInitialized=!1,this.footerRemove(this.botElement),e=!0),e&&this.table.rowManager.adjustTableSize()}reinitializeCalcs(){this.topCalcs.length&&this.initializeTopRow(),this.botCalcs.length&&this.initializeBottomRow()}initializeTopRow(){var e=document.createDocumentFragment();this.topInitialized||(e.appendChild(document.createElement("br")),e.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(e,this.table.columnManager.headersElement.nextSibling),this.topInitialized=!0)}initializeBottomRow(){this.botInitialized||(this.footerPrepend(this.botElement),this.botInitialized=!0)}scrollHorizontal(e){this.botInitialized&&this.botRow&&(this.botElement.scrollLeft=e)}recalc(e){var t,i;if(!this.blockCheck()&&(this.topInitialized||this.botInitialized)){if(t=this.rowsToData(e),this.topInitialized){for(this.topRow&&this.topRow.deleteCells(),i=this.generateRow("top",t),this.topRow=i;this.topElement.firstChild;)this.topElement.removeChild(this.topElement.firstChild);this.topElement.appendChild(i.getElement()),i.initialize(!0)}if(this.botInitialized){for(this.botRow&&this.botRow.deleteCells(),i=this.generateRow("bottom",t),this.botRow=i;this.botElement.firstChild;)this.botElement.removeChild(this.botElement.firstChild);this.botElement.appendChild(i.getElement()),i.initialize(!0)}this.table.rowManager.adjustTableSize(),this.table.modExists("frozenColumns")&&this.table.modules.frozenColumns.layout()}}recalcRowGroup(e){this.recalcGroup(this.table.modules.groupRows.getRowGroup(e))}recalcAll(){if((this.topCalcs.length||this.botCalcs.length)&&(this.table.options.columnCalcs!=="group"&&this.recalcActiveRows(),this.table.options.groupBy&&this.table.options.columnCalcs!=="table")){var e=this.table.modules.groupRows.getChildGroups();e.forEach(t=>{this.recalcGroup(t)})}}recalcGroup(e){var t,i;this.blockCheck()||e&&e.calcs&&(e.calcs.bottom&&(t=this.rowsToData(e.rows),i=this.generateRowData("bottom",t),e.calcs.bottom.updateData(i),e.calcs.bottom.reinitialize()),e.calcs.top&&(t=this.rowsToData(e.rows),i=this.generateRowData("top",t),e.calcs.top.updateData(i),e.calcs.top.reinitialize()))}generateTopRow(e){return this.generateRow("top",this.rowsToData(e))}generateBottomRow(e){return this.generateRow("bottom",this.rowsToData(e))}rowsToData(e){var t=[],i=this.table.options.dataTree&&this.table.options.dataTreeChildColumnCalcs,s=this.table.modules.dataTree;return e.forEach(n=>{var r;t.push(n.getData()),i&&((r=n.modules.dataTree)!=null&&r.open)&&this.rowsToData(s.getFilteredTreeChildren(n)).forEach(o=>{t.push(n)})}),t}generateRow(e,t){var i=this.generateRowData(e,t),s;return this.table.modExists("mutator")&&this.table.modules.mutator.disable(),s=new S(i,this,"calc"),this.table.modExists("mutator")&&this.table.modules.mutator.enable(),s.getElement().classList.add("tabulator-calcs","tabulator-calcs-"+e),s.component=!1,s.getComponent=()=>(s.component||(s.component=new Pt(s)),s.component),s.generateCells=()=>{var n=[];this.table.columnManager.columnsByIndex.forEach(r=>{this.genColumn.setField(r.getField()),this.genColumn.hozAlign=r.hozAlign,r.definition[e+"CalcFormatter"]&&this.table.modExists("format")?this.genColumn.modules.format={formatter:this.table.modules.format.getFormatter(r.definition[e+"CalcFormatter"]),params:r.definition[e+"CalcFormatterParams"]||{}}:this.genColumn.modules.format={formatter:this.table.modules.format.getFormatter("plaintext"),params:{}},this.genColumn.definition.cssClass=r.definition.cssClass;var o=new ne(this.genColumn,s);o.getElement(),o.column=r,o.setWidth(),r.cells.push(o),n.push(o),r.visible||o.hide()}),s.cells=n},s}generateRowData(e,t){var i={},s=e=="top"?this.topCalcs:this.botCalcs,n=e=="top"?"topCalc":"botCalc",r,o;return s.forEach(function(a){var h=[];a.modules.columnCalcs&&a.modules.columnCalcs[n]&&(t.forEach(function(d){h.push(a.getFieldValue(d))}),o=n+"Params",r=typeof a.modules.columnCalcs[o]=="function"?a.modules.columnCalcs[o](h,t):a.modules.columnCalcs[o],a.setFieldValue(i,a.modules.columnCalcs[n](h,t,r)))}),i}hasTopCalcs(){return!!this.topCalcs.length}hasBottomCalcs(){return!!this.botCalcs.length}redraw(){this.topRow&&this.topRow.normalizeHeight(!0),this.botRow&&this.botRow.normalizeHeight(!0)}getResults(){var e={},t;return this.table.options.groupBy&&this.table.modExists("groupRows")?(t=this.table.modules.groupRows.getGroups(!0),t.forEach(i=>{e[i.getKey()]=this.getGroupResults(i)})):e={top:this.topRow?this.topRow.getData():{},bottom:this.botRow?this.botRow.getData():{}},e}getGroupResults(e){var t=e._getSelf(),i=e.getSubGroups(),s={},n={};return i.forEach(r=>{s[r.getKey()]=this.getGroupResults(r)}),n={top:t.calcs.top?t.calcs.top.getData():{},bottom:t.calcs.bottom?t.calcs.bottom.getData():{},groups:s},n}adjustForScrollbar(e){this.botRow&&(this.table.rtl?this.botElement.style.paddingLeft=e+"px":this.botElement.style.paddingRight=e+"px")}};b(B,"moduleName","columnCalcs"),b(B,"calculations",Ot);let be=B;class Ze extends w{constructor(e){super(e),this.indent=10,this.field="",this.collapseEl=null,this.expandEl=null,this.branchEl=null,this.elementField=!1,this.startOpen=function(){},this.registerTableOption("dataTree",!1),this.registerTableOption("dataTreeFilter",!0),this.registerTableOption("dataTreeSort",!0),this.registerTableOption("dataTreeElementColumn",!1),this.registerTableOption("dataTreeBranchElement",!0),this.registerTableOption("dataTreeChildIndent",9),this.registerTableOption("dataTreeChildField","_children"),this.registerTableOption("dataTreeCollapseElement",!1),this.registerTableOption("dataTreeExpandElement",!1),this.registerTableOption("dataTreeStartExpanded",!1),this.registerTableOption("dataTreeChildColumnCalcs",!1),this.registerTableOption("dataTreeSelectPropagate",!1),this.registerComponentFunction("row","treeCollapse",this.collapseRow.bind(this)),this.registerComponentFunction("row","treeExpand",this.expandRow.bind(this)),this.registerComponentFunction("row","treeToggle",this.toggleRow.bind(this)),this.registerComponentFunction("row","getTreeParent",this.getTreeParent.bind(this)),this.registerComponentFunction("row","getTreeChildren",this.getRowChildren.bind(this)),this.registerComponentFunction("row","addTreeChild",this.addTreeChildRow.bind(this)),this.registerComponentFunction("row","isTreeExpanded",this.isRowExpanded.bind(this))}initialize(){if(this.table.options.dataTree){var e=null,t=this.table.options;switch(this.field=t.dataTreeChildField,this.indent=t.dataTreeChildIndent,this.options("movableRows")&&console.warn("The movableRows option is not available with dataTree enabled, moving of child rows could result in unpredictable behavior"),t.dataTreeBranchElement?t.dataTreeBranchElement===!0?(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch")):typeof t.dataTreeBranchElement=="string"?(e=document.createElement("div"),e.innerHTML=t.dataTreeBranchElement,this.branchEl=e.firstChild):this.branchEl=t.dataTreeBranchElement:(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch-empty")),t.dataTreeCollapseElement?typeof t.dataTreeCollapseElement=="string"?(e=document.createElement("div"),e.innerHTML=t.dataTreeCollapseElement,this.collapseEl=e.firstChild):this.collapseEl=t.dataTreeCollapseElement:(this.collapseEl=document.createElement("div"),this.collapseEl.classList.add("tabulator-data-tree-control"),this.collapseEl.tabIndex=0,this.collapseEl.innerHTML="
"),t.dataTreeExpandElement?typeof t.dataTreeExpandElement=="string"?(e=document.createElement("div"),e.innerHTML=t.dataTreeExpandElement,this.expandEl=e.firstChild):this.expandEl=t.dataTreeExpandElement:(this.expandEl=document.createElement("div"),this.expandEl.classList.add("tabulator-data-tree-control"),this.expandEl.tabIndex=0,this.expandEl.innerHTML="
"),typeof t.dataTreeStartExpanded){case"boolean":this.startOpen=function(i,s){return t.dataTreeStartExpanded};break;case"function":this.startOpen=t.dataTreeStartExpanded;break;default:this.startOpen=function(i,s){return t.dataTreeStartExpanded[s]};break}this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-layout-after",this.layoutRow.bind(this)),this.subscribe("row-deleted",this.rowDelete.bind(this),0),this.subscribe("row-data-changed",this.rowDataChanged.bind(this),10),this.subscribe("cell-value-updated",this.cellValueChanged.bind(this)),this.subscribe("edit-cancelled",this.cellValueChanged.bind(this)),this.subscribe("column-moving-rows",this.columnMoving.bind(this)),this.subscribe("table-built",this.initializeElementField.bind(this)),this.subscribe("table-redrawing",this.tableRedrawing.bind(this)),this.registerDisplayHandler(this.getRows.bind(this),30)}}tableRedrawing(e){var t;e&&(t=this.table.rowManager.getRows(),t.forEach(i=>{this.reinitializeRowChildren(i)}))}initializeElementField(){var e=this.table.columnManager.getFirstVisibleColumn();this.elementField=this.table.options.dataTreeElementColumn||(e?e.field:!1)}getRowChildren(e){return this.getTreeChildren(e,!0)}columnMoving(){var e=[];return this.table.rowManager.rows.forEach(t=>{e=e.concat(this.getTreeChildren(t,!1,!0))}),e}rowDataChanged(e,t,i){this.redrawNeeded(i)&&(this.initializeRow(e),t&&(this.layoutRow(e),this.refreshData(!0)))}cellValueChanged(e){var t=e.column.getField();t===this.elementField&&this.layoutRow(e.row)}initializeRow(e){var t=e.getData()[this.field],i=Array.isArray(t),s=i||!i&&typeof t=="object"&&t!==null;!s&&e.modules.dataTree&&e.modules.dataTree.branchEl&&e.modules.dataTree.branchEl.parentNode.removeChild(e.modules.dataTree.branchEl),!s&&e.modules.dataTree&&e.modules.dataTree.controlEl&&e.modules.dataTree.controlEl.parentNode.removeChild(e.modules.dataTree.controlEl),e.modules.dataTree={index:e.modules.dataTree?e.modules.dataTree.index:0,open:s?e.modules.dataTree?e.modules.dataTree.open:this.startOpen(e.getComponent(),0):!1,controlEl:e.modules.dataTree&&s?e.modules.dataTree.controlEl:!1,branchEl:e.modules.dataTree&&s?e.modules.dataTree.branchEl:!1,parent:e.modules.dataTree?e.modules.dataTree.parent:!1,children:s}}reinitializeRowChildren(e){var t=this.getTreeChildren(e,!1,!0);t.forEach(function(i){i.reinitialize(!0)})}layoutRow(e){var t=this.elementField?e.getCell(this.elementField):e.getCells()[0],i=t.getElement(),s=e.modules.dataTree;s.branchEl&&(s.branchEl.parentNode&&s.branchEl.parentNode.removeChild(s.branchEl),s.branchEl=!1),s.controlEl&&(s.controlEl.parentNode&&s.controlEl.parentNode.removeChild(s.controlEl),s.controlEl=!1),this.generateControlElement(e,i),e.getElement().classList.add("tabulator-tree-level-"+s.index),s.index&&(this.branchEl?(s.branchEl=this.branchEl.cloneNode(!0),i.insertBefore(s.branchEl,i.firstChild),this.table.rtl?s.branchEl.style.marginRight=(s.branchEl.offsetWidth+s.branchEl.style.marginLeft)*(s.index-1)+s.index*this.indent+"px":s.branchEl.style.marginLeft=(s.branchEl.offsetWidth+s.branchEl.style.marginRight)*(s.index-1)+s.index*this.indent+"px"):this.table.rtl?i.style.paddingRight=parseInt(window.getComputedStyle(i,null).getPropertyValue("padding-right"))+s.index*this.indent+"px":i.style.paddingLeft=parseInt(window.getComputedStyle(i,null).getPropertyValue("padding-left"))+s.index*this.indent+"px")}generateControlElement(e,t){var i=e.modules.dataTree,s=i.controlEl;t=t||e.getCells()[0].getElement(),i.children!==!1&&(i.open?(i.controlEl=this.collapseEl.cloneNode(!0),i.controlEl.addEventListener("click",n=>{n.stopPropagation(),this.collapseRow(e)})):(i.controlEl=this.expandEl.cloneNode(!0),i.controlEl.addEventListener("click",n=>{n.stopPropagation(),this.expandRow(e)})),i.controlEl.addEventListener("mousedown",n=>{n.stopPropagation()}),s&&s.parentNode===t?s.parentNode.replaceChild(i.controlEl,s):t.insertBefore(i.controlEl,t.firstChild))}getRows(e){var t=[];return e.forEach((i,s)=>{var n,r;t.push(i),i instanceof S&&(i.create(),n=i.modules.dataTree,!n.index&&n.children!==!1&&(r=this.getChildren(i,!1,!0),r.forEach(o=>{o.create(),t.push(o)})))}),t}getChildren(e,t,i){var s=e.modules.dataTree,n=[],r=[];return s.children!==!1&&(s.open||t)&&(Array.isArray(s.children)||(s.children=this.generateChildren(e)),this.table.modExists("filter")&&this.table.options.dataTreeFilter?n=this.table.modules.filter.filter(s.children):n=s.children,this.table.modExists("sort")&&this.table.options.dataTreeSort&&this.table.modules.sort.sort(n,i),n.forEach(o=>{r.push(o);var a=this.getChildren(o,!1,!0);a.forEach(h=>{r.push(h)})})),r}generateChildren(e){var t=[],i=e.getData()[this.field];return Array.isArray(i)||(i=[i]),i.forEach(s=>{var n=new S(s||{},this.table.rowManager);n.create(),n.modules.dataTree.index=e.modules.dataTree.index+1,n.modules.dataTree.parent=e,n.modules.dataTree.children&&(n.modules.dataTree.open=this.startOpen(n.getComponent(),n.modules.dataTree.index)),t.push(n)}),t}expandRow(e,t){var i=e.modules.dataTree;i.children!==!1&&(i.open=!0,e.reinitialize(),this.refreshData(!0),this.dispatchExternal("dataTreeRowExpanded",e.getComponent(),e.modules.dataTree.index))}collapseRow(e){var t=e.modules.dataTree;t.children!==!1&&(t.open=!1,e.reinitialize(),this.refreshData(!0),this.dispatchExternal("dataTreeRowCollapsed",e.getComponent(),e.modules.dataTree.index))}toggleRow(e){var t=e.modules.dataTree;t.children!==!1&&(t.open?this.collapseRow(e):this.expandRow(e))}isRowExpanded(e){return e.modules.dataTree.open}getTreeParent(e){return e.modules.dataTree.parent?e.modules.dataTree.parent.getComponent():!1}getTreeParentRoot(e){return e.modules.dataTree&&e.modules.dataTree.parent?this.getTreeParentRoot(e.modules.dataTree.parent):e}getFilteredTreeChildren(e){var t=e.modules.dataTree,i=[],s;return t.children&&(Array.isArray(t.children)||(t.children=this.generateChildren(e)),this.table.modExists("filter")&&this.table.options.dataTreeFilter?s=this.table.modules.filter.filter(t.children):s=t.children,s.forEach(n=>{n instanceof S&&i.push(n)})),i}rowDelete(e){var t=e.modules.dataTree.parent,i;t&&(i=this.findChildIndex(e,t),i!==!1&&t.data[this.field].splice(i,1),t.data[this.field].length||delete t.data[this.field],this.initializeRow(t),this.layoutRow(t)),this.refreshData(!0)}addTreeChildRow(e,t,i,s){var n=!1;typeof t=="string"&&(t=JSON.parse(t)),Array.isArray(e.data[this.field])||(e.data[this.field]=[],e.modules.dataTree.open=this.startOpen(e.getComponent(),e.modules.dataTree.index)),typeof s<"u"&&(n=this.findChildIndex(s,e),n!==!1&&e.data[this.field].splice(i?n:n+1,0,t)),n===!1&&(i?e.data[this.field].unshift(t):e.data[this.field].push(t)),this.initializeRow(e),this.layoutRow(e),this.refreshData(!0)}findChildIndex(e,t){var i=!1;return typeof e=="object"?e instanceof S?i=e.data:e instanceof oe?i=e._getSelf().data:typeof HTMLElement<"u"&&e instanceof HTMLElement?t.modules.dataTree&&(i=t.modules.dataTree.children.find(s=>s instanceof S?s.element===e:!1),i&&(i=i.data)):e===null&&(i=!1):typeof e>"u"?i=!1:i=t.data[this.field].find(s=>s.data[this.table.options.index]==e),i&&(Array.isArray(t.data[this.field])&&(i=t.data[this.field].indexOf(i)),i==-1&&(i=!1)),i}getTreeChildren(e,t,i){var s=e.modules.dataTree,n=[];return s&&s.children&&(Array.isArray(s.children)||(s.children=this.generateChildren(e)),s.children.forEach(r=>{r instanceof S&&(n.push(t?r.getComponent():r),i&&this.getTreeChildren(r,t,i).forEach(o=>{n.push(o)}))})),n}getChildField(){return this.field}redrawNeeded(e){return(this.field?typeof e[this.field]<"u":!1)||(this.elementField?typeof e[this.elementField]<"u":!1)}}b(Ze,"moduleName","dataTree");function At(l,e={},t){var i=e.delimiter?e.delimiter:",",s=[],n=[];l.forEach(r=>{var o=[];switch(r.type){case"group":console.warn("Download Warning - CSV downloader cannot process row groups");break;case"calc":console.warn("Download Warning - CSV downloader cannot process column calculations");break;case"header":r.columns.forEach((a,h)=>{a&&a.depth===1&&(n[h]=typeof a.value>"u"||a.value===null?"":'"'+String(a.value).split('"').join('""')+'"')});break;case"row":r.columns.forEach(a=>{if(a){switch(typeof a.value){case"object":a.value=a.value!==null?JSON.stringify(a.value):"";break;case"undefined":a.value="";break}o.push('"'+String(a.value).split('"').join('""')+'"')}}),s.push(o.join(i));break}}),n.length&&s.unshift(n.join(i)),s=s.join(` +`),e.bom&&(s="\uFEFF"+s),t(s,"text/csv")}function _t(l,e,t){var i=[];l.forEach(s=>{var n={};switch(s.type){case"header":break;case"group":console.warn("Download Warning - JSON downloader cannot process row groups");break;case"calc":console.warn("Download Warning - JSON downloader cannot process column calculations");break;case"row":s.columns.forEach(r=>{r&&(n[r.component.getTitleDownload()||r.component.getField()]=r.value)}),i.push(n);break}}),i=JSON.stringify(i,null," "),t(i,"application/json")}function Bt(l,e={},t){var i=[],s=[],n={},r=e.rowGroupStyles||{fontStyle:"bold",fontSize:12,cellPadding:6,fillColor:220},o=e.rowCalcStyles||{fontStyle:"bold",fontSize:10,cellPadding:4,fillColor:232},a=e.jsPDF||{},h=e.title?e.title:"";a.orientation||(a.orientation=e.orientation||"landscape"),a.unit||(a.unit="pt"),l.forEach(c=>{switch(c.type){case"header":i.push(d(c));break;case"group":s.push(d(c,r));break;case"calc":s.push(d(c,o));break;case"row":s.push(d(c));break}});function d(c,f){var g=[];return c.columns.forEach(p=>{var v;if(p){switch(typeof p.value){case"object":p.value=p.value!==null?JSON.stringify(p.value):"";break;case"undefined":p.value="";break}v={content:p.value,colSpan:p.width,rowSpan:p.height},f&&(v.styles=f),g.push(v)}}),g}var u=new jspdf.jsPDF(a);e.autoTable&&(typeof e.autoTable=="function"?n=e.autoTable(u)||{}:n=e.autoTable),h&&(n.didDrawPage=function(c){u.text(h,40,30)}),n.head=i,n.body=s,u.autoTable(n),e.documentProcessing&&e.documentProcessing(u),t(u.output("arraybuffer"),"application/pdf")}function Vt(l,e,t){var i=this,s=e.sheetName||"Sheet1",n=XLSX.utils.book_new(),r=new M(this),o="compress"in e?e.compress:!0,a=e.writeOptions||{bookType:"xlsx",bookSST:!0,compression:o},h;a.type="binary",n.SheetNames=[],n.Sheets={};function d(){var f=[],g=[],p={},v={s:{c:0,r:0},e:{c:l[0]?l[0].columns.reduce((m,C)=>m+(C&&C.width?C.width:1),0):0,r:l.length}};return l.forEach((m,C)=>{var T=[];m.columns.forEach(function(y,k){y?(T.push(!(y.value instanceof Date)&&typeof y.value=="object"?JSON.stringify(y.value):y.value),(y.width>1||y.height>-1)&&(y.height>1||y.width>1)&&g.push({s:{r:C,c:k},e:{r:C+y.height-1,c:k+y.width-1}})):T.push("")}),f.push(T)}),XLSX.utils.sheet_add_aoa(p,f),p["!ref"]=XLSX.utils.encode_range(v),g.length&&(p["!merges"]=g),p}if(e.sheetOnly){t(d());return}if(e.sheets)for(var u in e.sheets)e.sheets[u]===!0?(n.SheetNames.push(u),n.Sheets[u]=d()):(n.SheetNames.push(u),r.commsSend(e.sheets[u],"download","intercept",{type:"xlsx",options:{sheetOnly:!0},active:i.active,intercept:function(f){n.Sheets[u]=f}}));else n.SheetNames.push(s),n.Sheets[s]=d();e.documentProcessing&&(n=e.documentProcessing(n));function c(f){for(var g=new ArrayBuffer(f.length),p=new Uint8Array(g),v=0;v!=f.length;++v)p[v]=f.charCodeAt(v)&255;return g}h=XLSX.write(n,a),t(c(h),"application/octet-stream")}function It(l,e,t){this.modExists("export",!0)&&t(this.modules.export.generateHTMLTable(l),"text/html")}function Nt(l,e,t){const i=[];l.forEach(s=>{const n={};switch(s.type){case"header":break;case"group":console.warn("Download Warning - JSON downloader cannot process row groups");break;case"calc":console.warn("Download Warning - JSON downloader cannot process column calculations");break;case"row":s.columns.forEach(r=>{r&&(n[r.component.getTitleDownload()||r.component.getField()]=r.value)}),i.push(JSON.stringify(n));break}}),t(i.join(` +`),"application/x-ndjson")}var Wt={csv:At,json:_t,jsonLines:Nt,pdf:Bt,xlsx:Vt,html:It};const q=class q extends w{constructor(e){super(e),this.registerTableOption("downloadEncoder",function(t,i){return new Blob([t],{type:i})}),this.registerTableOption("downloadConfig",{}),this.registerTableOption("downloadRowRange","active"),this.registerColumnOption("download"),this.registerColumnOption("titleDownload")}initialize(){this.deprecatedOptionsCheck(),this.registerTableFunction("download",this.download.bind(this)),this.registerTableFunction("downloadToTab",this.downloadToTab.bind(this))}deprecatedOptionsCheck(){}downloadToTab(e,t,i,s){this.download(e,t,i,s,!0)}download(e,t,i,s,n){var r=!1;function o(h,d){n?n===!0?this.triggerDownload(h,d,e,t,!0):n(h):this.triggerDownload(h,d,e,t)}if(typeof e=="function"?r=e:q.downloaders[e]?r=q.downloaders[e]:console.warn("Download Error - No such download type found: ",e),r){var a=this.generateExportList(s);r.call(this.table,a,i||{},o.bind(this))}}generateExportList(e){var t=this.table.modules.export.generateExportList(this.table.options.downloadConfig,!1,e||this.table.options.downloadRowRange,"download"),i=this.table.options.groupHeaderDownload;return i&&!Array.isArray(i)&&(i=[i]),t.forEach(s=>{var n;s.type==="group"&&(n=s.columns[0],i&&i[s.indent]&&(n.value=i[s.indent](n.value,s.component._group.getRowCount(),s.component._group.getData(),s.component)))}),t}triggerDownload(e,t,i,s,n){var r=document.createElement("a"),o=this.table.options.downloadEncoder(e,t);o&&(n?window.open(window.URL.createObjectURL(o)):(s=s||"Tabulator."+(typeof i=="function"?"txt":i),navigator.msSaveOrOpenBlob?navigator.msSaveOrOpenBlob(o,s):(r.setAttribute("href",window.URL.createObjectURL(o)),r.setAttribute("download",s),r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r))),this.dispatchExternal("downloadComplete"))}commsReceived(e,t,i){switch(t){case"intercept":this.download(i.type,"",i.options,i.active,i.intercept);break}}};b(q,"moduleName","download"),b(q,"downloaders",Wt);let ve=q;function ae(l,e){var t=e.mask,i=typeof e.maskLetterChar<"u"?e.maskLetterChar:"A",s=typeof e.maskNumberChar<"u"?e.maskNumberChar:"9",n=typeof e.maskWildcardChar<"u"?e.maskWildcardChar:"*";function r(o){var a=t[o];typeof a<"u"&&a!==n&&a!==i&&a!==s&&(l.value=l.value+""+a,r(o+1))}l.addEventListener("keydown",o=>{var a=l.value.length,h=o.key;if(o.keyCode>46&&!o.ctrlKey&&!o.metaKey){if(a>=t.length)return o.preventDefault(),o.stopPropagation(),!1;switch(t[a]){case i:if(h.toUpperCase()==h.toLowerCase())return o.preventDefault(),o.stopPropagation(),!1;break;case s:if(isNaN(h))return o.preventDefault(),o.stopPropagation(),!1;break;case n:break;default:if(h!==t[a])return o.preventDefault(),o.stopPropagation(),!1}}}),l.addEventListener("keyup",o=>{o.keyCode>46&&e.maskAutoFill&&r(l.value.length)}),l.placeholder||(l.placeholder=t),e.maskAutoFill&&r(l.value.length)}function Gt(l,e,t,i,s){var n=l.getValue(),r=document.createElement("input");if(r.setAttribute("type",s.search?"search":"text"),r.style.padding="4px",r.style.width="100%",r.style.boxSizing="border-box",s.elementAttributes&&typeof s.elementAttributes=="object")for(let a in s.elementAttributes)a.charAt(0)=="+"?(a=a.slice(1),r.setAttribute(a,r.getAttribute(a)+s.elementAttributes["+"+a])):r.setAttribute(a,s.elementAttributes[a]);r.value=typeof n<"u"?n:"",e(function(){l.getType()==="cell"&&(r.focus({preventScroll:!0}),r.style.height="100%",s.selectContents&&r.select())});function o(a){(n===null||typeof n>"u")&&r.value!==""||r.value!==n?t(r.value)&&(n=r.value):i()}return r.addEventListener("change",o),r.addEventListener("blur",o),r.addEventListener("keydown",function(a){switch(a.keyCode){case 13:o();break;case 27:i();break;case 35:case 36:a.stopPropagation();break}}),s.mask&&ae(r,s),r}function jt(l,e,t,i,s){var n=l.getValue(),r=s.verticalNavigation||"hybrid",o=String(n!==null&&typeof n<"u"?n:""),a=document.createElement("textarea"),h=0;if(a.style.display="block",a.style.padding="2px",a.style.height="100%",a.style.width="100%",a.style.boxSizing="border-box",a.style.whiteSpace="pre-wrap",a.style.resize="none",s.elementAttributes&&typeof s.elementAttributes=="object")for(let u in s.elementAttributes)u.charAt(0)=="+"?(u=u.slice(1),a.setAttribute(u,a.getAttribute(u)+s.elementAttributes["+"+u])):a.setAttribute(u,s.elementAttributes[u]);a.value=o,e(function(){l.getType()==="cell"&&(a.focus({preventScroll:!0}),a.style.height="100%",a.scrollHeight,a.style.height=a.scrollHeight+"px",l.getRow().normalizeHeight(),s.selectContents&&a.select())});function d(u){(n===null||typeof n>"u")&&a.value!==""||a.value!==n?(t(a.value)&&(n=a.value),setTimeout(function(){l.getRow().normalizeHeight()},300)):i()}return a.addEventListener("change",d),a.addEventListener("blur",d),a.addEventListener("keyup",function(){a.style.height="";var u=a.scrollHeight;a.style.height=u+"px",u!=h&&(h=u,l.getRow().normalizeHeight())}),a.addEventListener("keydown",function(u){switch(u.keyCode){case 13:u.shiftKey&&s.shiftEnterSubmit&&d();break;case 27:i();break;case 38:(r=="editor"||r=="hybrid"&&a.selectionStart)&&(u.stopImmediatePropagation(),u.stopPropagation());break;case 40:(r=="editor"||r=="hybrid"&&a.selectionStart!==a.value.length)&&(u.stopImmediatePropagation(),u.stopPropagation());break;case 35:case 36:u.stopPropagation();break}}),s.mask&&ae(a,s),a}function Ut(l,e,t,i,s){var n=l.getValue(),r=s.verticalNavigation||"editor",o=document.createElement("input");if(o.setAttribute("type","number"),typeof s.max<"u"&&o.setAttribute("max",s.max),typeof s.min<"u"&&o.setAttribute("min",s.min),typeof s.step<"u"&&o.setAttribute("step",s.step),o.style.padding="4px",o.style.width="100%",o.style.boxSizing="border-box",s.elementAttributes&&typeof s.elementAttributes=="object")for(let d in s.elementAttributes)d.charAt(0)=="+"?(d=d.slice(1),o.setAttribute(d,o.getAttribute(d)+s.elementAttributes["+"+d])):o.setAttribute(d,s.elementAttributes[d]);o.value=n;var a=function(d){h()};e(function(){l.getType()==="cell"&&(o.removeEventListener("blur",a),o.focus({preventScroll:!0}),o.style.height="100%",o.addEventListener("blur",a),s.selectContents&&o.select())});function h(){var d=o.value;!isNaN(d)&&d!==""&&(d=Number(d)),d!==n?t(d)&&(n=d):i()}return o.addEventListener("keydown",function(d){switch(d.keyCode){case 13:h();break;case 27:i();break;case 38:case 40:r=="editor"&&(d.stopImmediatePropagation(),d.stopPropagation());break;case 35:case 36:d.stopPropagation();break}}),s.mask&&ae(o,s),o}function Xt(l,e,t,i,s){var n=l.getValue(),r=document.createElement("input");if(r.setAttribute("type","range"),typeof s.max<"u"&&r.setAttribute("max",s.max),typeof s.min<"u"&&r.setAttribute("min",s.min),typeof s.step<"u"&&r.setAttribute("step",s.step),r.style.padding="4px",r.style.width="100%",r.style.boxSizing="border-box",s.elementAttributes&&typeof s.elementAttributes=="object")for(let a in s.elementAttributes)a.charAt(0)=="+"?(a=a.slice(1),r.setAttribute(a,r.getAttribute(a)+s.elementAttributes["+"+a])):r.setAttribute(a,s.elementAttributes[a]);r.value=n,e(function(){l.getType()==="cell"&&(r.focus({preventScroll:!0}),r.style.height="100%")});function o(){var a=r.value;!isNaN(a)&&a!==""&&(a=Number(a)),a!=n?t(a)&&(n=a):i()}return r.addEventListener("blur",function(a){o()}),r.addEventListener("keydown",function(a){switch(a.keyCode){case 13:o();break;case 27:i();break}}),r}function Jt(l,e,t,i,s){var n=s.format,r=s.verticalNavigation||"editor",o=n?window.DateTime||luxon.DateTime:null,a=l.getValue(),h=document.createElement("input");function d(c){var f;return o.isDateTime(c)?f=c:n==="iso"?f=o.fromISO(String(c)):f=o.fromFormat(String(c),n),f.toFormat("yyyy-MM-dd")}if(h.type="date",h.style.padding="4px",h.style.width="100%",h.style.boxSizing="border-box",s.max&&h.setAttribute("max",n?d(s.max):s.max),s.min&&h.setAttribute("min",n?d(s.min):s.min),s.elementAttributes&&typeof s.elementAttributes=="object")for(let c in s.elementAttributes)c.charAt(0)=="+"?(c=c.slice(1),h.setAttribute(c,h.getAttribute(c)+s.elementAttributes["+"+c])):h.setAttribute(c,s.elementAttributes[c]);a=typeof a<"u"?a:"",n&&(o?a=d(a):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),h.value=a,e(function(){l.getType()==="cell"&&(h.focus({preventScroll:!0}),h.style.height="100%",s.selectContents&&h.select())});function u(){var c=h.value,f;if((a===null||typeof a>"u")&&c!==""||c!==a){if(c&&n)switch(f=o.fromFormat(String(c),"yyyy-MM-dd"),n){case!0:c=f;break;case"iso":c=f.toISO();break;default:c=f.toFormat(n)}t(c)&&(a=h.value)}else i()}return h.addEventListener("blur",function(c){(c.relatedTarget||c.rangeParent||c.explicitOriginalTarget!==h)&&u()}),h.addEventListener("keydown",function(c){switch(c.keyCode){case 13:u();break;case 27:i();break;case 35:case 36:c.stopPropagation();break;case 38:case 40:r=="editor"&&(c.stopImmediatePropagation(),c.stopPropagation());break}}),h}function Kt(l,e,t,i,s){var n=s.format,r=s.verticalNavigation||"editor",o=n?window.DateTime||luxon.DateTime:null,a,h=l.getValue(),d=document.createElement("input");if(d.type="time",d.style.padding="4px",d.style.width="100%",d.style.boxSizing="border-box",s.elementAttributes&&typeof s.elementAttributes=="object")for(let c in s.elementAttributes)c.charAt(0)=="+"?(c=c.slice(1),d.setAttribute(c,d.getAttribute(c)+s.elementAttributes["+"+c])):d.setAttribute(c,s.elementAttributes[c]);h=typeof h<"u"?h:"",n&&(o?(o.isDateTime(h)?a=h:n==="iso"?a=o.fromISO(String(h)):a=o.fromFormat(String(h),n),h=a.toFormat("HH:mm")):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),d.value=h,e(function(){l.getType()=="cell"&&(d.focus({preventScroll:!0}),d.style.height="100%",s.selectContents&&d.select())});function u(){var c=d.value,f;if((h===null||typeof h>"u")&&c!==""||c!==h){if(c&&n)switch(f=o.fromFormat(String(c),"hh:mm"),n){case!0:c=f;break;case"iso":c=f.toISO();break;default:c=f.toFormat(n)}t(c)&&(h=d.value)}else i()}return d.addEventListener("blur",function(c){(c.relatedTarget||c.rangeParent||c.explicitOriginalTarget!==d)&&u()}),d.addEventListener("keydown",function(c){switch(c.keyCode){case 13:u();break;case 27:i();break;case 35:case 36:c.stopPropagation();break;case 38:case 40:r=="editor"&&(c.stopImmediatePropagation(),c.stopPropagation());break}}),d}function qt(l,e,t,i,s){var n=s.format,r=s.verticalNavigation||"editor",o=n?window.DateTime||luxon.DateTime:null,a,h=l.getValue(),d=document.createElement("input");if(d.type="datetime-local",d.style.padding="4px",d.style.width="100%",d.style.boxSizing="border-box",s.elementAttributes&&typeof s.elementAttributes=="object")for(let c in s.elementAttributes)c.charAt(0)=="+"?(c=c.slice(1),d.setAttribute(c,d.getAttribute(c)+s.elementAttributes["+"+c])):d.setAttribute(c,s.elementAttributes[c]);h=typeof h<"u"?h:"",n&&(o?(o.isDateTime(h)?a=h:n==="iso"?a=o.fromISO(String(h)):a=o.fromFormat(String(h),n),h=a.toFormat("yyyy-MM-dd")+"T"+a.toFormat("HH:mm")):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),d.value=h,e(function(){l.getType()==="cell"&&(d.focus({preventScroll:!0}),d.style.height="100%",s.selectContents&&d.select())});function u(){var c=d.value,f;if((h===null||typeof h>"u")&&c!==""||c!==h){if(c&&n)switch(f=o.fromISO(String(c)),n){case!0:c=f;break;case"iso":c=f.toISO();break;default:c=f.toFormat(n)}t(c)&&(h=d.value)}else i()}return d.addEventListener("blur",function(c){(c.relatedTarget||c.rangeParent||c.explicitOriginalTarget!==d)&&u()}),d.addEventListener("keydown",function(c){switch(c.keyCode){case 13:u();break;case 27:i();break;case 35:case 36:c.stopPropagation();break;case 38:case 40:r=="editor"&&(c.stopImmediatePropagation(),c.stopPropagation());break}}),d}let Yt=class{constructor(e,t,i,s,n,r){this.edit=e,this.table=e.table,this.cell=t,this.params=this._initializeParams(r),this.data=[],this.displayItems=[],this.currentItems=[],this.focusedItem=null,this.input=this._createInputElement(),this.listEl=this._createListElement(),this.initialValues=null,this.isFilter=t.getType()==="header",this.filterTimeout=null,this.filtered=!1,this.typing=!1,this.values=[],this.popup=null,this.listIteration=0,this.lastAction="",this.filterTerm="",this.blurable=!0,this.actions={success:s,cancel:n},this._deprecatedOptionsCheck(),this._initializeValue(),i(this._onRendered.bind(this))}_deprecatedOptionsCheck(){}_initializeValue(){var e=this.cell.getValue();typeof e>"u"&&typeof this.params.defaultValue<"u"&&(e=this.params.defaultValue),this.initialValues=this.params.multiselect?e:[e],this.isFilter&&(this.input.value=this.initialValues?this.initialValues.join(","):"",this.headerFilterInitialListGen())}_onRendered(){var e=this.cell.getElement();function t(i){i.stopPropagation()}this.isFilter||(this.input.style.height="100%",this.input.focus({preventScroll:!0})),e.addEventListener("click",t),setTimeout(()=>{e.removeEventListener("click",t)},1e3),this.input.addEventListener("mousedown",this._preventPopupBlur.bind(this))}_createListElement(){var e=document.createElement("div");return e.classList.add("tabulator-edit-list"),e.addEventListener("mousedown",this._preventBlur.bind(this)),e.addEventListener("keydown",this._inputKeyDown.bind(this)),e}_setListWidth(){var e=this.isFilter?this.input:this.cell.getElement();this.listEl.style.minWidth=e.offsetWidth+"px",this.params.maxWidth&&(this.params.maxWidth===!0?this.listEl.style.maxWidth=e.offsetWidth+"px":typeof this.params.maxWidth=="number"?this.listEl.style.maxWidth=this.params.maxWidth+"px":this.listEl.style.maxWidth=this.params.maxWidth)}_createInputElement(){var e=this.params.elementAttributes,t=document.createElement("input");if(t.setAttribute("type",this.params.clearable?"search":"text"),t.style.padding="4px",t.style.width="100%",t.style.boxSizing="border-box",this.params.autocomplete||(t.style.cursor="default",t.style.caretColor="transparent"),e&&typeof e=="object")for(let i in e)i.charAt(0)=="+"?(i=i.slice(1),t.setAttribute(i,t.getAttribute(i)+e["+"+i])):t.setAttribute(i,e[i]);return this.params.mask&&ae(t,this.params),this._bindInputEvents(t),t}_initializeParams(e){var t=["values","valuesURL","valuesLookup"],i;return e=Object.assign({},e),e.verticalNavigation=e.verticalNavigation||"editor",e.placeholderLoading=typeof e.placeholderLoading>"u"?"Searching ...":e.placeholderLoading,e.placeholderEmpty=typeof e.placeholderEmpty>"u"?"No Results Found":e.placeholderEmpty,e.filterDelay=typeof e.filterDelay>"u"?300:e.filterDelay,e.emptyValue=Object.keys(e).includes("emptyValue")?e.emptyValue:"",i=Object.keys(e).filter(s=>t.includes(s)).length,i?i>1&&console.warn("list editor config error - only one of the values, valuesURL, or valuesLookup options can be set on the same editor"):console.warn("list editor config error - either the values, valuesURL, or valuesLookup option must be set"),e.autocomplete?e.multiselect&&(e.multiselect=!1,console.warn("list editor config error - multiselect option is not available when autocomplete is enabled")):(e.freetext&&(e.freetext=!1,console.warn("list editor config error - freetext option is only available when autocomplete is enabled")),e.filterFunc&&(e.filterFunc=!1,console.warn("list editor config error - filterFunc option is only available when autocomplete is enabled")),e.filterRemote&&(e.filterRemote=!1,console.warn("list editor config error - filterRemote option is only available when autocomplete is enabled")),e.mask&&(e.mask=!1,console.warn("list editor config error - mask option is only available when autocomplete is enabled")),e.allowEmpty&&(e.allowEmpty=!1,console.warn("list editor config error - allowEmpty option is only available when autocomplete is enabled")),e.listOnEmpty&&(e.listOnEmpty=!1,console.warn("list editor config error - listOnEmpty option is only available when autocomplete is enabled"))),e.filterRemote&&!(typeof e.valuesLookup=="function"||e.valuesURL)&&(e.filterRemote=!1,console.warn("list editor config error - filterRemote option should only be used when values list is populated from a remote source")),e}_bindInputEvents(e){e.addEventListener("focus",this._inputFocus.bind(this)),e.addEventListener("click",this._inputClick.bind(this)),e.addEventListener("blur",this._inputBlur.bind(this)),e.addEventListener("keydown",this._inputKeyDown.bind(this)),e.addEventListener("search",this._inputSearch.bind(this)),this.params.autocomplete&&e.addEventListener("keyup",this._inputKeyUp.bind(this))}_inputFocus(e){this.rebuildOptionsList()}_filter(){this.params.filterRemote?(clearTimeout(this.filterTimeout),this.filterTimeout=setTimeout(()=>{this.rebuildOptionsList()},this.params.filterDelay)):this._filterList()}_inputClick(e){e.stopPropagation()}_inputBlur(e){this.blurable&&(this.popup?this.popup.hide():this._resolveValue(!0))}_inputSearch(){this._clearChoices()}_inputKeyDown(e){switch(e.keyCode){case 38:this._keyUp(e);break;case 40:this._keyDown(e);break;case 37:case 39:this._keySide(e);break;case 13:this._keyEnter();break;case 27:this._keyEsc();break;case 36:case 35:this._keyHomeEnd(e);break;case 9:this._keyTab(e);break;default:this._keySelectLetter(e)}}_inputKeyUp(e){switch(e.keyCode){case 38:case 37:case 39:case 40:case 13:case 27:break;default:this._keyAutoCompLetter(e)}}_preventPopupBlur(){this.popup&&this.popup.blockHide(),setTimeout(()=>{this.popup&&this.popup.restoreHide()},10)}_preventBlur(){this.blurable=!1,setTimeout(()=>{this.blurable=!0},10)}_keyTab(e){this.params.autocomplete&&this.lastAction==="typing"?this._resolveValue(!0):this.focusedItem&&this._chooseItem(this.focusedItem,!0)}_keyUp(e){var t=this.displayItems.indexOf(this.focusedItem);(this.params.verticalNavigation=="editor"||this.params.verticalNavigation=="hybrid"&&t)&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault(),t>0&&this._focusItem(this.displayItems[t-1]))}_keyDown(e){var t=this.displayItems.indexOf(this.focusedItem);(this.params.verticalNavigation=="editor"||this.params.verticalNavigation=="hybrid"&&t=38&&e.keyCode<=90&&this._scrollToValue(e.keyCode))}_keyAutoCompLetter(e){this._filter(),this.lastAction="typing",this.typing=!0}_scrollToValue(e){clearTimeout(this.filterTimeout);var t=String.fromCharCode(e).toLowerCase();this.filterTerm+=t.toLowerCase();var i=this.displayItems.find(s=>typeof s.label<"u"&&s.label.toLowerCase().startsWith(this.filterTerm));i&&this._focusItem(i),this.filterTimeout=setTimeout(()=>{this.filterTerm=""},800)}_focusItem(e){this.lastAction="focus",this.focusedItem&&this.focusedItem.element&&this.focusedItem.element.classList.remove("focused"),this.focusedItem=e,e&&e.element&&(e.element.classList.add("focused"),e.element.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"}))}headerFilterInitialListGen(){this._generateOptions(!0)}rebuildOptionsList(){this._generateOptions().then(this._sortOptions.bind(this)).then(this._buildList.bind(this)).then(this._showList.bind(this)).catch(e=>{Number.isInteger(e)||console.error("List generation error",e)})}_filterList(){this._buildList(this._filterOptions()),this._showList()}_generateOptions(e){var t=[],i=++this.listIteration;return this.filtered=!1,this.params.values?t=this.params.values:this.params.valuesURL?t=this._ajaxRequest(this.params.valuesURL,this.input.value):typeof this.params.valuesLookup=="function"?t=this.params.valuesLookup(this.cell,this.input.value):this.params.valuesLookup&&(t=this._uniqueColumnValues(this.params.valuesLookupField)),t instanceof Promise?(e||this._addPlaceholder(this.params.placeholderLoading),t.then().then(s=>this.listIteration===i?this._parseList(s):Promise.reject(i))):Promise.resolve(this._parseList(t))}_addPlaceholder(e){var t=document.createElement("div");typeof e=="function"&&(e=e(this.cell.getComponent(),this.listEl)),e&&(this._clearList(),e instanceof HTMLElement?t=e:(t.classList.add("tabulator-edit-list-placeholder"),t.innerHTML=e),this.listEl.appendChild(t),this._showList())}_ajaxRequest(e,t){var i=this.params.filterRemote?{term:t}:{};return e=qe(e,{},i),fetch(e).then(s=>s.ok?s.json().catch(n=>(console.warn("List Ajax Load Error - Invalid JSON returned",n),Promise.reject(n))):(console.error("List Ajax Load Error - Connection Error: "+s.status,s.statusText),Promise.reject(s))).catch(s=>(console.error("List Ajax Load Error - Connection Error: ",s),Promise.reject(s)))}_uniqueColumnValues(e){var t={},i=this.table.getData(this.params.valuesLookup),s;return e?s=this.table.columnManager.getColumnByField(e):s=this.cell.getColumn()._getSelf(),s?i.forEach(n=>{var r=s.getFieldValue(n);r!==null&&typeof r<"u"&&r!==""&&(t[r]=!0)}):(console.warn("unable to find matching column to create select lookup list:",e),t=[]),Object.keys(t)}_parseList(e){var t=[];return Array.isArray(e)||(e=Object.entries(e).map(([i,s])=>({label:s,value:i}))),e.forEach(i=>{typeof i!="object"&&(i={label:i,value:i}),this._parseListItem(i,t,0)}),!this.currentItems.length&&this.params.freetext&&(this.input.value=this.initialValues,this.typing=!0,this.lastAction="typing"),this.data=t,t}_parseListItem(e,t,i){var s={};e.options?s=this._parseListGroup(e,i+1):(s={label:e.label,value:e.value,itemParams:e.itemParams,elementAttributes:e.elementAttributes,element:!1,selected:!1,visible:!0,level:i,original:e},this.initialValues&&this.initialValues.indexOf(e.value)>-1&&this._chooseItem(s,!0)),t.push(s)}_parseListGroup(e,t){var i={label:e.label,group:!0,itemParams:e.itemParams,elementAttributes:e.elementAttributes,element:!1,visible:!0,level:t,options:[],original:e};return e.options.forEach(s=>{this._parseListItem(s,i.options,t)}),i}_sortOptions(e){var t;return this.params.sort&&(t=typeof this.params.sort=="function"?this.params.sort:this._defaultSortFunction.bind(this),this._sortGroup(t,e)),e}_sortGroup(e,t){t.sort((i,s)=>e(i.label,s.label,i.value,s.value,i.original,s.original)),t.forEach(i=>{i.group&&this._sortGroup(e,i.options)})}_defaultSortFunction(e,t){var i,s,n,r,o=0,a,h=/(\d+)|(\D+)/g,d=/\d/,u=0;if(this.params.sort==="desc"&&([e,t]=[t,e]),!e&&e!==0)u=!t&&t!==0?0:-1;else if(!t&&t!==0)u=1;else{if(isFinite(e)&&isFinite(t))return e-t;if(i=String(e).toLowerCase(),s=String(t).toLowerCase(),i===s)return 0;if(!(d.test(i)&&d.test(s)))return i>s?1:-1;for(i=i.match(h),s=s.match(h),a=i.length>s.length?s.length:i.length;or?1:-1;return i.length>s.length}return u}_filterOptions(){var e=this.params.filterFunc||this._defaultFilterFunc,t=this.input.value;return t?(this.filtered=!0,this.data.forEach(i=>{this._filterItem(e,t,i)})):this.filtered=!1,this.data}_filterItem(e,t,i){var s=!1;return i.group?(i.options.forEach(n=>{this._filterItem(e,t,n)&&(s=!0)}),i.visible=s):i.visible=e(t,i.label,i.value,i.original),i.visible}_defaultFilterFunc(e,t,i,s){return e=String(e).toLowerCase(),t!==null&&typeof t<"u"&&(String(t).toLowerCase().indexOf(e)>-1||String(i).toLowerCase().indexOf(e)>-1)}_clearList(){for(;this.listEl.firstChild;)this.listEl.removeChild(this.listEl.firstChild);this.displayItems=[]}_buildList(e){this._clearList(),e.forEach(t=>{this._buildItem(t)}),this.displayItems.length||this._addPlaceholder(this.params.placeholderEmpty)}_buildItem(e){var t=e.element,i;if(!this.filtered||e.visible){if(!t){if(t=document.createElement("div"),t.tabIndex=0,i=this.params.itemFormatter?this.params.itemFormatter(e.label,e.value,e.original,t):e.label,i instanceof HTMLElement?t.appendChild(i):t.innerHTML=i,e.group?t.classList.add("tabulator-edit-list-group"):t.classList.add("tabulator-edit-list-item"),t.classList.add("tabulator-edit-list-group-level-"+e.level),e.elementAttributes&&typeof e.elementAttributes=="object")for(let s in e.elementAttributes)s.charAt(0)=="+"?(s=s.slice(1),t.setAttribute(s,this.input.getAttribute(s)+e.elementAttributes["+"+s])):t.setAttribute(s,e.elementAttributes[s]);e.group?t.addEventListener("click",this._groupClick.bind(this,e)):t.addEventListener("click",this._itemClick.bind(this,e)),t.addEventListener("mousedown",this._preventBlur.bind(this)),e.element=t}this._styleItem(e),this.listEl.appendChild(t),e.group?e.options.forEach(s=>{this._buildItem(s)}):this.displayItems.push(e)}}_showList(){var e=this.popup&&this.popup.isVisible();if(this.input.parentNode){if(this.params.autocomplete&&this.input.value===""&&!this.params.listOnEmpty){this.popup&&this.popup.hide(!0);return}this._setListWidth(),this.popup||(this.popup=this.edit.popup(this.listEl)),this.popup.show(this.cell.getElement(),"bottom"),e||setTimeout(()=>{this.popup.hideOnBlur(this._resolveValue.bind(this,!0))},10)}}_styleItem(e){e&&e.element&&(e.selected?e.element.classList.add("active"):e.element.classList.remove("active"))}_itemClick(e,t){t.stopPropagation(),this._chooseItem(e)}_groupClick(e,t){t.stopPropagation()}_cancel(){this.popup.hide(!0),this.actions.cancel()}_clearChoices(){this.typing=!0,this.currentItems.forEach(e=>{e.selected=!1,this._styleItem(e)}),this.currentItems=[],this.focusedItem=null}_chooseItem(e,t){var i;this.typing=!1,this.params.multiselect?(i=this.currentItems.indexOf(e),i>-1?(this.currentItems.splice(i,1),e.selected=!1):(this.currentItems.push(e),e.selected=!0),this.input.value=this.currentItems.map(s=>s.label).join(","),this._styleItem(e)):(this.currentItems=[e],e.selected=!0,this.input.value=e.label,this._styleItem(e),t||this._resolveValue()),this._focusItem(e)}_resolveValue(e){var t,i;if(this.popup&&this.popup.hide(!0),this.params.multiselect)t=this.currentItems.map(s=>s.value);else if(e&&this.params.autocomplete&&this.typing)if(this.params.freetext||this.params.allowEmpty&&this.input.value==="")t=this.input.value;else{this.actions.cancel();return}else this.currentItems[0]?t=this.currentItems[0].value:(i=Array.isArray(this.initialValues)?this.initialValues[0]:this.initialValues,i===null||typeof i>"u"||i===""?t=i:t=this.params.emptyValue);t===""&&(t=this.params.emptyValue),this.actions.success(t),this.isFilter&&(this.initialValues=t&&!Array.isArray(t)?[t]:t,this.currentItems=[])}};function $t(l,e,t,i,s){var n=new Yt(this,l,e,t,i,s);return n.input}function Qt(l,e,t,i,s){var n=this,r=l.getElement(),o=l.getValue(),a=r.getElementsByTagName("svg").length||5,h=r.getElementsByTagName("svg")[0]?r.getElementsByTagName("svg")[0].getAttribute("width"):14,d=[],u=document.createElement("div"),c=document.createElementNS("http://www.w3.org/2000/svg","svg");function f(m){d.forEach(function(C,T){T'):(n.table.browser=="ie"?C.setAttribute("class","tabulator-star-inactive"):C.classList.replace("tabulator-star-active","tabulator-star-inactive"),C.innerHTML='')})}function g(m){var C=document.createElement("span"),T=c.cloneNode(!0);d.push(T),C.addEventListener("mouseenter",function(y){y.stopPropagation(),y.stopImmediatePropagation(),f(m)}),C.addEventListener("mousemove",function(y){y.stopPropagation(),y.stopImmediatePropagation()}),C.addEventListener("click",function(y){y.stopPropagation(),y.stopImmediatePropagation(),t(m),r.blur()}),C.appendChild(T),u.appendChild(C)}function p(m){o=m,f(m)}if(r.style.whiteSpace="nowrap",r.style.overflow="hidden",r.style.textOverflow="ellipsis",u.style.verticalAlign="middle",u.style.display="inline-block",u.style.padding="4px",c.setAttribute("width",h),c.setAttribute("height",h),c.setAttribute("viewBox","0 0 512 512"),c.setAttribute("xml:space","preserve"),c.style.padding="0 1px",s.elementAttributes&&typeof s.elementAttributes=="object")for(let m in s.elementAttributes)m.charAt(0)=="+"?(m=m.slice(1),u.setAttribute(m,u.getAttribute(m)+s.elementAttributes["+"+m])):u.setAttribute(m,s.elementAttributes[m]);for(var v=1;v<=a;v++)g(v);return o=Math.min(parseInt(o),a),f(o),u.addEventListener("mousemove",function(m){f(0)}),u.addEventListener("click",function(m){t(0)}),r.addEventListener("blur",function(m){i()}),r.addEventListener("keydown",function(m){switch(m.keyCode){case 39:p(o+1);break;case 37:p(o-1);break;case 13:t(o);break;case 27:i();break}}),u}function Zt(l,e,t,i,s){var n=l.getElement(),r=typeof s.max>"u"?n.getElementsByTagName("div")[0]&&n.getElementsByTagName("div")[0].getAttribute("max")||100:s.max,o=typeof s.min>"u"?n.getElementsByTagName("div")[0]&&n.getElementsByTagName("div")[0].getAttribute("min")||0:s.min,a=(r-o)/100,h=l.getValue()||0,d=document.createElement("div"),u=document.createElement("div"),c,f;function g(){var p=window.getComputedStyle(n,null),v=a*Math.round(u.offsetWidth/((n.clientWidth-parseInt(p.getPropertyValue("padding-left"))-parseInt(p.getPropertyValue("padding-right")))/100))+o;t(v),n.setAttribute("aria-valuenow",v),n.setAttribute("aria-label",h)}if(d.style.position="absolute",d.style.right="0",d.style.top="0",d.style.bottom="0",d.style.width="5px",d.classList.add("tabulator-progress-handle"),u.style.display="inline-block",u.style.position="relative",u.style.height="100%",u.style.backgroundColor="#488CE9",u.style.maxWidth="100%",u.style.minWidth="0%",s.elementAttributes&&typeof s.elementAttributes=="object")for(let p in s.elementAttributes)p.charAt(0)=="+"?(p=p.slice(1),u.setAttribute(p,u.getAttribute(p)+s.elementAttributes["+"+p])):u.setAttribute(p,s.elementAttributes[p]);return n.style.padding="4px 4px",h=Math.min(parseFloat(h),r),h=Math.max(parseFloat(h),o),h=Math.round((h-o)/a),u.style.width=h+"%",n.setAttribute("aria-valuemin",o),n.setAttribute("aria-valuemax",r),u.appendChild(d),d.addEventListener("mousedown",function(p){c=p.screenX,f=u.offsetWidth}),d.addEventListener("mouseover",function(){d.style.cursor="ew-resize"}),n.addEventListener("mousemove",function(p){c&&(u.style.width=f+p.screenX-c+"px")}),n.addEventListener("mouseup",function(p){c&&(p.stopPropagation(),p.stopImmediatePropagation(),c=!1,f=!1,g())}),n.addEventListener("keydown",function(p){switch(p.keyCode){case 39:p.preventDefault(),u.style.width=u.clientWidth+n.clientWidth/100+"px";break;case 37:p.preventDefault(),u.style.width=u.clientWidth-n.clientWidth/100+"px";break;case 9:case 13:g();break;case 27:i();break}}),n.addEventListener("blur",function(){i()}),u}function ei(l,e,t,i,s){var n=l.getValue(),r=document.createElement("input"),o=s.tristate,a=typeof s.indeterminateValue>"u"?null:s.indeterminateValue,h=!1,d=Object.keys(s).includes("trueValue"),u=Object.keys(s).includes("falseValue");if(r.setAttribute("type","checkbox"),r.style.marginTop="5px",r.style.boxSizing="border-box",s.elementAttributes&&typeof s.elementAttributes=="object")for(let f in s.elementAttributes)f.charAt(0)=="+"?(f=f.slice(1),r.setAttribute(f,r.getAttribute(f)+s.elementAttributes["+"+f])):r.setAttribute(f,s.elementAttributes[f]);r.value=n,o&&(typeof n>"u"||n===a||n==="")&&(h=!0,r.indeterminate=!0),this.table.browser!="firefox"&&this.table.browser!="safari"&&e(function(){l.getType()==="cell"&&r.focus({preventScroll:!0})}),r.checked=d?n===s.trueValue:n===!0||n==="true"||n==="True"||n===1;function c(f){var g=r.checked;return d&&g?g=s.trueValue:u&&!g&&(g=s.falseValue),o?f?h?a:g:r.checked&&!h?(r.checked=!1,r.indeterminate=!0,h=!0,a):(h=!1,g):g}return r.addEventListener("change",function(f){t(c())}),r.addEventListener("blur",function(f){t(c(!0))}),r.addEventListener("keydown",function(f){f.keyCode==13&&t(c()),f.keyCode==27&&i()}),r}var ti={input:Gt,textarea:jt,number:Ut,range:Xt,date:Jt,time:Kt,datetime:qt,list:$t,star:Qt,progress:Zt,tickCross:ei};const Z=class Z extends w{constructor(e){super(e),this.currentCell=!1,this.mouseClick=!1,this.recursionBlock=!1,this.invalidEdit=!1,this.editedCells=[],this.convertEmptyValues=!1,this.editors=Z.editors,this.registerTableOption("editTriggerEvent","focus"),this.registerTableOption("editorEmptyValue"),this.registerTableOption("editorEmptyValueFunc",this.emptyValueCheck.bind(this)),this.registerColumnOption("editable"),this.registerColumnOption("editor"),this.registerColumnOption("editorParams"),this.registerColumnOption("editorEmptyValue"),this.registerColumnOption("editorEmptyValueFunc"),this.registerColumnOption("cellEditing"),this.registerColumnOption("cellEdited"),this.registerColumnOption("cellEditCancelled"),this.registerTableFunction("getEditedCells",this.getEditedCells.bind(this)),this.registerTableFunction("clearCellEdited",this.clearCellEdited.bind(this)),this.registerTableFunction("navigatePrev",this.navigatePrev.bind(this)),this.registerTableFunction("navigateNext",this.navigateNext.bind(this)),this.registerTableFunction("navigateLeft",this.navigateLeft.bind(this)),this.registerTableFunction("navigateRight",this.navigateRight.bind(this)),this.registerTableFunction("navigateUp",this.navigateUp.bind(this)),this.registerTableFunction("navigateDown",this.navigateDown.bind(this)),this.registerComponentFunction("cell","isEdited",this.cellIsEdited.bind(this)),this.registerComponentFunction("cell","clearEdited",this.clearEdited.bind(this)),this.registerComponentFunction("cell","edit",this.editCell.bind(this)),this.registerComponentFunction("cell","cancelEdit",this.cellCancelEdit.bind(this)),this.registerComponentFunction("cell","navigatePrev",this.navigatePrev.bind(this)),this.registerComponentFunction("cell","navigateNext",this.navigateNext.bind(this)),this.registerComponentFunction("cell","navigateLeft",this.navigateLeft.bind(this)),this.registerComponentFunction("cell","navigateRight",this.navigateRight.bind(this)),this.registerComponentFunction("cell","navigateUp",this.navigateUp.bind(this)),this.registerComponentFunction("cell","navigateDown",this.navigateDown.bind(this))}initialize(){this.subscribe("cell-init",this.bindEditor.bind(this)),this.subscribe("cell-delete",this.clearEdited.bind(this)),this.subscribe("cell-value-changed",this.updateCellClass.bind(this)),this.subscribe("column-layout",this.initializeColumnCheck.bind(this)),this.subscribe("column-delete",this.columnDeleteCheck.bind(this)),this.subscribe("row-deleting",this.rowDeleteCheck.bind(this)),this.subscribe("row-layout",this.rowEditableCheck.bind(this)),this.subscribe("data-refreshing",this.cancelEdit.bind(this)),this.subscribe("clipboard-paste",this.pasteBlocker.bind(this)),this.subscribe("keybinding-nav-prev",this.navigatePrev.bind(this,void 0)),this.subscribe("keybinding-nav-next",this.keybindingNavigateNext.bind(this)),this.subscribe("keybinding-nav-up",this.navigateUp.bind(this,void 0)),this.subscribe("keybinding-nav-down",this.navigateDown.bind(this,void 0)),Object.keys(this.table.options).includes("editorEmptyValue")&&(this.convertEmptyValues=!0)}pasteBlocker(e){if(this.currentCell)return!0}keybindingNavigateNext(e){var t=this.currentCell,i=this.options("tabEndNewRow");t&&(this.navigateNext(t,e)||i&&(t.getElement().firstChild.blur(),this.invalidEdit||(i===!0?i=this.table.addRow({}):typeof i=="function"?i=this.table.addRow(i(t.row.getComponent())):i=this.table.addRow(Object.assign({},i)),i.then(()=>{setTimeout(()=>{t.getComponent().navigateNext()})}))))}cellIsEdited(e){return!!e.modules.edit&&e.modules.edit.edited}cellCancelEdit(e){e===this.currentCell?this.table.modules.edit.cancelEdit():console.warn("Cancel Editor Error - This cell is not currently being edited ")}updateCellClass(e){this.allowEdit(e)?e.getElement().classList.add("tabulator-editable"):e.getElement().classList.remove("tabulator-editable")}clearCellEdited(e){e||(e=this.table.modules.edit.getEditedCells()),Array.isArray(e)||(e=[e]),e.forEach(t=>{this.table.modules.edit.clearEdited(t._getSelf())})}navigatePrev(e=this.currentCell,t){var i,s;if(e){if(t&&t.preventDefault(),i=this.navigateLeft(),i)return!0;if(s=this.table.rowManager.prevDisplayRow(e.row,!0),s&&(i=this.findPrevEditableCell(s,s.cells.length),i))return i.getComponent().edit(),!0}return!1}navigateNext(e=this.currentCell,t){var i,s;if(e){if(t&&t.preventDefault(),i=this.navigateRight(),i)return!0;if(s=this.table.rowManager.nextDisplayRow(e.row,!0),s&&(i=this.findNextEditableCell(s,-1),i))return i.getComponent().edit(),!0}return!1}navigateLeft(e=this.currentCell,t){var i,s;return e&&(t&&t.preventDefault(),i=e.getIndex(),s=this.findPrevEditableCell(e.row,i),s)?(s.getComponent().edit(),!0):!1}navigateRight(e=this.currentCell,t){var i,s;return e&&(t&&t.preventDefault(),i=e.getIndex(),s=this.findNextEditableCell(e.row,i),s)?(s.getComponent().edit(),!0):!1}navigateUp(e=this.currentCell,t){var i,s;return e&&(t&&t.preventDefault(),i=e.getIndex(),s=this.table.rowManager.prevDisplayRow(e.row,!0),s)?(s.cells[i].getComponent().edit(),!0):!1}navigateDown(e=this.currentCell,t){var i,s;return e&&(t&&t.preventDefault(),i=e.getIndex(),s=this.table.rowManager.nextDisplayRow(e.row,!0),s)?(s.cells[i].getComponent().edit(),!0):!1}findNextEditableCell(e,t){var i=!1;if(t0)for(var s=t-1;s>=0;s--){let n=e.cells[s];if(n.column.modules.edit&&x.elVisible(n.getElement())&&this.allowEdit(n)){i=n;break}}return i}initializeColumnCheck(e){typeof e.definition.editor<"u"&&this.initializeColumn(e)}columnDeleteCheck(e){this.currentCell&&this.currentCell.column===e&&this.cancelEdit()}rowDeleteCheck(e){this.currentCell&&this.currentCell.row===e&&this.cancelEdit()}rowEditableCheck(e){e.getCells().forEach(t=>{t.column.modules.edit&&typeof t.column.modules.edit.check=="function"&&this.updateCellClass(t)})}initializeColumn(e){var t=Object.keys(e.definition).includes("editorEmptyValue"),i={editor:!1,blocked:!1,check:e.definition.editable,params:e.definition.editorParams||{},convertEmptyValues:t,editorEmptyValue:e.definition.editorEmptyValue,editorEmptyValueFunc:e.definition.editorEmptyValueFunc};switch(typeof e.definition.editor){case"string":this.editors[e.definition.editor]?i.editor=this.editors[e.definition.editor]:console.warn("Editor Error - No such editor found: ",e.definition.editor);break;case"function":i.editor=e.definition.editor;break;case"boolean":e.definition.editor===!0&&(typeof e.definition.formatter!="function"?this.editors[e.definition.formatter]?i.editor=this.editors[e.definition.formatter]:i.editor=this.editors.input:console.warn("Editor Error - Cannot auto lookup editor for a custom formatter: ",e.definition.formatter));break}i.editor&&(e.modules.edit=i)}getCurrentCell(){return this.currentCell?this.currentCell.getComponent():!1}clearEditor(e){var t=this.currentCell,i;if(this.invalidEdit=!1,t){for(this.currentCell=!1,i=t.getElement(),this.dispatch("edit-editor-clear",t,e),i.classList.remove("tabulator-editing");i.firstChild;)i.removeChild(i.firstChild);t.row.getElement().classList.remove("tabulator-editing"),t.table.element.classList.remove("tabulator-editing")}}cancelEdit(){if(this.currentCell){var e=this.currentCell,t=this.currentCell.getComponent();this.clearEditor(!0),e.setValueActual(e.getValue()),e.cellRendered(),(e.column.definition.editor=="textarea"||e.column.definition.variableHeight)&&e.row.normalizeHeight(!0),e.column.definition.cellEditCancelled&&e.column.definition.cellEditCancelled.call(this.table,t),this.dispatch("edit-cancelled",e),this.dispatchExternal("cellEditCancelled",t)}}bindEditor(e){if(e.column.modules.edit){var t=this,i=e.getElement(!0);this.updateCellClass(e),i.setAttribute("tabindex",0),i.addEventListener("mousedown",function(s){s.button===2?s.preventDefault():t.mouseClick=!0}),this.options("editTriggerEvent")==="dblclick"&&i.addEventListener("dblclick",function(s){i.classList.contains("tabulator-editing")||(i.focus({preventScroll:!0}),t.edit(e,s,!1))}),(this.options("editTriggerEvent")==="focus"||this.options("editTriggerEvent")==="click")&&i.addEventListener("click",function(s){i.classList.contains("tabulator-editing")||(i.focus({preventScroll:!0}),t.edit(e,s,!1))}),this.options("editTriggerEvent")==="focus"&&i.addEventListener("focus",function(s){t.recursionBlock||t.edit(e,s,!1)})}}focusCellNoEvent(e,t){this.recursionBlock=!0,t&&this.table.browser==="ie"||e.getElement().focus({preventScroll:!0}),this.recursionBlock=!1}editCell(e,t){this.focusCellNoEvent(e),this.edit(e,!1,t)}focusScrollAdjust(e){if(this.table.rowManager.getRenderMode()=="virtual"){var t=this.table.rowManager.element.scrollTop,i=this.table.rowManager.element.clientHeight+this.table.rowManager.element.scrollTop,s=e.row.getElement();s.offsetTopi&&(this.table.rowManager.element.scrollTop+=s.offsetTop+s.offsetHeight-i);var n=this.table.rowManager.element.scrollLeft,r=this.table.rowManager.element.clientWidth+this.table.rowManager.element.scrollLeft,o=e.getElement();this.table.modExists("frozenColumns")&&(n+=parseInt(this.table.modules.frozenColumns.leftMargin||0),r-=parseInt(this.table.modules.frozenColumns.rightMargin||0)),this.table.options.renderHorizontal==="virtual"&&(n-=parseInt(this.table.columnManager.renderer.vDomPadLeft),r-=parseInt(this.table.columnManager.renderer.vDomPadLeft)),o.offsetLeftr&&(this.table.rowManager.element.scrollLeft+=o.offsetLeft+o.offsetWidth-r)}}allowEdit(e){var t=!!e.column.modules.edit;if(e.column.modules.edit)switch(typeof e.column.modules.edit.check){case"function":e.row.initialized&&(t=e.column.modules.edit.check(e.getComponent()));break;case"string":t=!!e.row.data[e.column.modules.edit.check];break;case"boolean":t=e.column.modules.edit.check;break}return t}edit(e,t,i){var s=this,n=!0,r=function(){},o=e.getElement(),a=!1,h,d,u;if(this.currentCell){!this.invalidEdit&&this.currentCell!==e&&this.cancelEdit();return}function c(m){if(s.currentCell===e&&!a){var C=s.chain("edit-success",[e,m],!0,!0);return C===!0||s.table.options.validationMode==="highlight"?(a=!0,s.clearEditor(),e.modules.edit||(e.modules.edit={}),e.modules.edit.edited=!0,s.editedCells.indexOf(e)==-1&&s.editedCells.push(e),m=s.transformEmptyValues(m,e),e.setValue(m,!0),C===!0):(a=!0,s.invalidEdit=!0,s.focusCellNoEvent(e,!0),r(),setTimeout(()=>{a=!1},10),!1)}}function f(){s.currentCell===e&&!a&&s.cancelEdit()}function g(m){r=m}if(e.column.modules.edit.blocked)return this.mouseClick=!1,this.blur(o),!1;if(t&&t.stopPropagation(),n=this.allowEdit(e),n||i){if(s.cancelEdit(),s.currentCell=e,this.focusScrollAdjust(e),d=e.getComponent(),this.mouseClick&&(this.mouseClick=!1,e.column.definition.cellClick&&e.column.definition.cellClick.call(this.table,t,d)),e.column.definition.cellEditing&&e.column.definition.cellEditing.call(this.table,d),this.dispatch("cell-editing",e),this.dispatchExternal("cellEditing",d),u=typeof e.column.modules.edit.params=="function"?e.column.modules.edit.params(d):e.column.modules.edit.params,h=e.column.modules.edit.editor.call(s,d,g,c,f,u),this.currentCell&&h!==!1)if(h instanceof Node){for(o.classList.add("tabulator-editing"),e.row.getElement().classList.add("tabulator-editing"),e.table.element.classList.add("tabulator-editing");o.firstChild;)o.removeChild(o.firstChild);o.appendChild(h),r();for(var p=o.children,v=0;v"u"}transformEmptyValues(e,t){var i=t.column.modules.edit,s=i.convertEmptyValues||this.convertEmptyValues,n;return s&&(n=i.editorEmptyValueFunc||this.options("editorEmptyValueFunc"),n&&n(e)&&(e=i.convertEmptyValues?i.editorEmptyValue:this.options("editorEmptyValue"))),e}blur(e){this.confirm("edit-blur",[e])||e.blur()}getEditedCells(){var e=[];return this.editedCells.forEach(t=>{e.push(t.getComponent())}),e}clearEdited(e){var t;e.modules.edit&&e.modules.edit.edited&&(e.modules.edit.edited=!1,this.dispatch("edit-edited-clear",e)),t=this.editedCells.indexOf(e),t>-1&&this.editedCells.splice(t,1)}};b(Z,"moduleName","edit"),b(Z,"editors",ti);let we=Z;class Ue{constructor(e,t,i,s){this.type=e,this.columns=t,this.component=i||!1,this.indent=s||0}}class de{constructor(e,t,i,s,n){this.value=e,this.component=t||!1,this.width=i,this.height=s,this.depth=n}}var ii={},si={visible:function(){return this.rowManager.getVisibleRows(!1,!0)},all:function(){return this.rowManager.rows},selected:function(){return this.modules.selectRow.selectedRows},active:function(){return this.options.pagination?this.rowManager.getDisplayRows(this.rowManager.displayRows.length-2):this.rowManager.getDisplayRows()}};const V=class V extends w{constructor(e){super(e),this.config={},this.cloneTableStyle=!0,this.colVisProp="",this.colVisPropAttach="",this.registerTableOption("htmlOutputConfig",!1),this.registerColumnOption("htmlOutput"),this.registerColumnOption("titleHtmlOutput")}initialize(){this.registerTableFunction("getHtml",this.getHtml.bind(this))}generateExportList(e,t,i,s){var n,r,o,a;return this.cloneTableStyle=t,this.config=e||{},this.colVisProp=s,this.colVisPropAttach=this.colVisProp.charAt(0).toUpperCase()+this.colVisProp.slice(1),a=V.columnLookups[i],a&&(o=a.call(this.table),o=o.filter(h=>this.columnVisCheck(h))),n=this.config.columnHeaders!==!1?this.headersToExportRows(this.generateColumnGroupHeaders(o)):[],o&&(o=o.map(h=>h.getComponent())),r=this.bodyToExportRows(this.rowLookup(i),o),n.concat(r)}generateTable(e,t,i,s){var n=this.generateExportList(e,t,i,s);return this.generateTableElement(n)}rowLookup(e){var t=[],i;return typeof e=="function"?e.call(this.table).forEach(s=>{s=this.table.rowManager.findRow(s),s&&t.push(s)}):(i=V.rowLookups[e]||V.rowLookups.active,t=i.call(this.table)),Object.assign([],t)}generateColumnGroupHeaders(e){var t=[];return e||(e=this.config.columnGroups!==!1?this.table.columnManager.columns:this.table.columnManager.columnsByIndex),e.forEach(i=>{var s=this.processColumnGroup(i);s&&t.push(s)}),t}processColumnGroup(e){var t=e.columns,i=0,s=e.definition["title"+this.colVisPropAttach]||e.definition.title,n={title:s,column:e,depth:1};if(t.length){if(n.subGroups=[],n.width=0,t.forEach(r=>{var o=this.processColumnGroup(r);o&&(n.width+=o.width,n.subGroups.push(o),o.depth>i&&(i=o.depth))}),n.depth+=i,!n.width)return!1}else if(this.columnVisCheck(e))n.width=1;else return!1;return n}columnVisCheck(e){var t=e.definition[this.colVisProp];return this.config.rowHeaders===!1&&e.isRowHeader?!1:(typeof t=="function"&&(t=t.call(this.table,e.getComponent())),t===!1||t===!0?t:e.visible&&e.field)}headersToExportRows(e){var t=[],i=0,s=[];function n(r,o){var a=i-o;if(typeof t[o]>"u"&&(t[o]=[]),r.height=r.subGroups?1:a-r.depth+1,t[o].push(r),r.height>1)for(let h=1;h"u"&&(t[o+h]=[]),t[o+h].push(!1);if(r.width>1)for(let h=1;hi&&(i=r.depth)}),e.forEach(function(r){n(r,0)}),t.forEach(r=>{var o=[];r.forEach(a=>{if(a){let h=typeof a.title>"u"?"":a.title;o.push(new de(h,a.column.getComponent(),a.width,a.height,a.depth))}else o.push(null)}),s.push(new Ue("header",o))}),s}bodyToExportRows(e,t=[]){var i=[];return t.length===0&&this.table.columnManager.columnsByIndex.forEach(s=>{this.columnVisCheck(s)&&t.push(s.getComponent())}),this.config.columnCalcs!==!1&&this.table.modExists("columnCalcs")&&(this.table.modules.columnCalcs.topInitialized&&e.unshift(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&e.push(this.table.modules.columnCalcs.botRow)),e=e.filter(s=>{switch(s.type){case"group":return this.config.rowGroups!==!1;case"calc":return this.config.columnCalcs!==!1;case"row":return!(this.table.options.dataTree&&this.config.dataTree===!1&&s.modules.dataTree.parent)}return!0}),e.forEach((s,n)=>{var r=s.getData(this.colVisProp),o=[],a=0;switch(s.type){case"group":a=s.level,o.push(new de(s.key,s.getComponent(),t.length,1));break;case"calc":case"row":t.forEach(h=>{o.push(new de(h._column.getFieldValue(r),h,1,1))}),this.table.options.dataTree&&this.config.dataTree!==!1&&(a=s.modules.dataTree.index);break}i.push(new Ue(s.type,o,s.getComponent(),a))}),i}generateTableElement(e){var t=document.createElement("table"),i=document.createElement("thead"),s=document.createElement("tbody"),n=this.lookupTableStyles(),r=this.table.options["rowFormatter"+this.colVisPropAttach],o={};return o.rowFormatter=r!==null?r:this.table.options.rowFormatter,this.table.options.dataTree&&this.config.dataTree!==!1&&this.table.modExists("columnCalcs")&&(o.treeElementField=this.table.modules.dataTree.elementField),o.groupHeader=this.table.options["groupHeader"+this.colVisPropAttach],o.groupHeader&&!Array.isArray(o.groupHeader)&&(o.groupHeader=[o.groupHeader]),t.classList.add("tabulator-print-table"),this.mapElementStyles(this.table.columnManager.getHeadersElement(),i,["border-top","border-left","border-right","border-bottom","background-color","color","font-weight","font-family","font-size"]),e.length>1e3&&console.warn("It may take a long time to render an HTML table with more than 1000 rows"),e.forEach((a,h)=>{let d;switch(a.type){case"header":i.appendChild(this.generateHeaderElement(a,o,n));break;case"group":s.appendChild(this.generateGroupElement(a,o,n));break;case"calc":s.appendChild(this.generateCalcElement(a,o,n));break;case"row":d=this.generateRowElement(a,o,n),this.mapElementStyles(h%2&&n.evenRow?n.evenRow:n.oddRow,d,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),s.appendChild(d);break}}),i.innerHTML&&t.appendChild(i),t.appendChild(s),this.mapElementStyles(this.table.element,t,["border-top","border-left","border-right","border-bottom"]),t}lookupTableStyles(){var e={};return this.cloneTableStyle&&window.getComputedStyle&&(e.oddRow=this.table.element.querySelector(".tabulator-row-odd:not(.tabulator-group):not(.tabulator-calcs)"),e.evenRow=this.table.element.querySelector(".tabulator-row-even:not(.tabulator-group):not(.tabulator-calcs)"),e.calcRow=this.table.element.querySelector(".tabulator-row.tabulator-calcs"),e.firstRow=this.table.element.querySelector(".tabulator-row:not(.tabulator-group):not(.tabulator-calcs)"),e.firstGroup=this.table.element.getElementsByClassName("tabulator-group")[0],e.firstRow&&(e.styleCells=e.firstRow.getElementsByClassName("tabulator-cell"),e.styleRowHeader=e.firstRow.getElementsByClassName("tabulator-row-header")[0],e.firstCell=e.styleCells[0],e.lastCell=e.styleCells[e.styleCells.length-1])),e}generateHeaderElement(e,t,i){var s=document.createElement("tr");return e.columns.forEach(n=>{if(n){var r=document.createElement("th"),o=n.component._column.definition.cssClass?n.component._column.definition.cssClass.split(" "):[];r.colSpan=n.width,r.rowSpan=n.height,r.innerHTML=n.value,this.cloneTableStyle&&(r.style.boxSizing="border-box"),o.forEach(function(a){r.classList.add(a)}),this.mapElementStyles(n.component.getElement(),r,["text-align","border-left","border-right","background-color","color","font-weight","font-family","font-size"]),this.mapElementStyles(n.component._column.contentElement,r,["padding-top","padding-left","padding-right","padding-bottom"]),n.component._column.visible?this.mapElementStyles(n.component.getElement(),r,["width"]):n.component._column.definition.width&&(r.style.width=n.component._column.definition.width+"px"),n.component._column.parent&&n.component._column.parent.isGroup?this.mapElementStyles(n.component._column.parent.groupElement,r,["border-top"]):this.mapElementStyles(n.component.getElement(),r,["border-top"]),n.component._column.isGroup?this.mapElementStyles(n.component.getElement(),r,["border-bottom"]):this.mapElementStyles(this.table.columnManager.getElement(),r,["border-bottom"]),s.appendChild(r)}}),s}generateGroupElement(e,t,i){var s=document.createElement("tr"),n=document.createElement("td"),r=e.columns[0];return s.classList.add("tabulator-print-table-row"),t.groupHeader&&t.groupHeader[e.indent]?r.value=t.groupHeader[e.indent](r.value,e.component._group.getRowCount(),e.component._group.getData(),e.component):t.groupHeader!==!1&&(r.value=e.component._group.generator(r.value,e.component._group.getRowCount(),e.component._group.getData(),e.component)),n.colSpan=r.width,n.innerHTML=r.value,s.classList.add("tabulator-print-table-group"),s.classList.add("tabulator-group-level-"+e.indent),r.component.isVisible()&&s.classList.add("tabulator-group-visible"),this.mapElementStyles(i.firstGroup,s,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),this.mapElementStyles(i.firstGroup,n,["padding-top","padding-left","padding-right","padding-bottom"]),s.appendChild(n),s}generateCalcElement(e,t,i){var s=this.generateRowElement(e,t,i);return s.classList.add("tabulator-print-table-calcs"),this.mapElementStyles(i.calcRow,s,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),s}generateRowElement(e,t,i){var s=document.createElement("tr");if(s.classList.add("tabulator-print-table-row"),e.columns.forEach((n,r)=>{if(n){var o=document.createElement("td"),a=n.component._column,h=this.table,d=h.columnManager.findColumnIndex(a),u=n.value,c,f,g={modules:{},getValue:function(){return u},getField:function(){return a.definition.field},getElement:function(){return o},getType:function(){return"cell"},getColumn:function(){return a.getComponent()},getData:function(){return e.component.getData()},getRow:function(){return e.component},getTable:function(){return h},getComponent:function(){return g},column:a},p=a.definition.cssClass?a.definition.cssClass.split(" "):[];if(p.forEach(function(v){o.classList.add(v)}),this.table.modExists("format")&&this.config.formatCells!==!1)u=this.table.modules.format.formatExportValue(g,this.colVisProp);else switch(typeof u){case"object":u=u!==null?JSON.stringify(u):"";break;case"undefined":u="";break}u instanceof Node?o.appendChild(u):o.innerHTML=u,f=["padding-top","padding-left","padding-right","padding-bottom","border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","text-align"],a.isRowHeader?(c=i.styleRowHeader,f.push("background-color")):c=i.styleCells&&i.styleCells[d]?i.styleCells[d]:i.firstCell,c&&(this.mapElementStyles(c,o,f),a.definition.align&&(o.style.textAlign=a.definition.align)),this.table.options.dataTree&&this.config.dataTree!==!1&&(t.treeElementField&&t.treeElementField==a.field||!t.treeElementField&&r==0)&&(e.component._row.modules.dataTree.controlEl&&o.insertBefore(e.component._row.modules.dataTree.controlEl.cloneNode(!0),o.firstChild),e.component._row.modules.dataTree.branchEl&&o.insertBefore(e.component._row.modules.dataTree.branchEl.cloneNode(!0),o.firstChild)),s.appendChild(o),g.modules.format&&g.modules.format.renderedCallback&&g.modules.format.renderedCallback()}}),t.rowFormatter&&e.type==="row"&&this.config.formatCells!==!1){let n=Object.assign(e.component);n.getElement=function(){return s},t.rowFormatter(e.component)}return s}generateHTMLTable(e){var t=document.createElement("div");return t.appendChild(this.generateTableElement(e)),t.innerHTML}getHtml(e,t,i,s){var n=this.generateExportList(i||this.table.options.htmlOutputConfig,t,e,s||"htmlOutput");return this.generateHTMLTable(n)}mapElementStyles(e,t,i){if(this.cloneTableStyle&&e&&t){var s={"background-color":"backgroundColor",color:"fontColor",width:"width","font-weight":"fontWeight","font-family":"fontFamily","font-size":"fontSize","text-align":"textAlign","border-top":"borderTop","border-left":"borderLeft","border-right":"borderRight","border-bottom":"borderBottom","padding-top":"paddingTop","padding-left":"paddingLeft","padding-right":"paddingRight","padding-bottom":"paddingBottom"};if(window.getComputedStyle){var n=window.getComputedStyle(e);i.forEach(function(r){t.style[s[r]]||(t.style[s[r]]=n.getPropertyValue(r))})}}}};b(V,"moduleName","export"),b(V,"columnLookups",ii),b(V,"rowLookups",si);let Ce=V;var ni={"=":function(l,e,t,i){return e==l},"<":function(l,e,t,i){return e":function(l,e,t,i){return e>l},">=":function(l,e,t,i){return e>=l},"!=":function(l,e,t,i){return e!=l},regex:function(l,e,t,i){return typeof l=="string"&&(l=new RegExp(l)),l.test(e)},like:function(l,e,t,i){return l===null||typeof l>"u"?e===l:typeof e<"u"&&e!==null?String(e).toLowerCase().indexOf(l.toLowerCase())>-1:!1},keywords:function(l,e,t,i){var s=l.toLowerCase().split(typeof i.separator>"u"?" ":i.separator),n=String(e===null||typeof e>"u"?"":e).toLowerCase(),r=[];return s.forEach(o=>{n.includes(o)&&r.push(!0)}),i.matchAll?r.length===s.length:!!r.length},starts:function(l,e,t,i){return l===null||typeof l>"u"?e===l:typeof e<"u"&&e!==null?String(e).toLowerCase().startsWith(l.toLowerCase()):!1},ends:function(l,e,t,i){return l===null||typeof l>"u"?e===l:typeof e<"u"&&e!==null?String(e).toLowerCase().endsWith(l.toLowerCase()):!1},in:function(l,e,t,i){return Array.isArray(l)?l.length?l.indexOf(e)>-1:!0:(console.warn("Filter Error - filter value is not an array:",l),!1)}};const O=class O extends w{constructor(e){super(e),this.filterList=[],this.headerFilters={},this.headerFilterColumns=[],this.prevHeaderFilterChangeCheck="",this.prevHeaderFilterChangeCheck="{}",this.changed=!1,this.tableInitialized=!1,this.registerTableOption("filterMode","local"),this.registerTableOption("initialFilter",!1),this.registerTableOption("initialHeaderFilter",!1),this.registerTableOption("headerFilterLiveFilterDelay",300),this.registerTableOption("placeholderHeaderFilter",!1),this.registerColumnOption("headerFilter"),this.registerColumnOption("headerFilterPlaceholder"),this.registerColumnOption("headerFilterParams"),this.registerColumnOption("headerFilterEmptyCheck"),this.registerColumnOption("headerFilterFunc"),this.registerColumnOption("headerFilterFuncParams"),this.registerColumnOption("headerFilterLiveFilter"),this.registerTableFunction("searchRows",this.searchRows.bind(this)),this.registerTableFunction("searchData",this.searchData.bind(this)),this.registerTableFunction("setFilter",this.userSetFilter.bind(this)),this.registerTableFunction("refreshFilter",this.userRefreshFilter.bind(this)),this.registerTableFunction("addFilter",this.userAddFilter.bind(this)),this.registerTableFunction("getFilters",this.getFilters.bind(this)),this.registerTableFunction("setHeaderFilterFocus",this.userSetHeaderFilterFocus.bind(this)),this.registerTableFunction("getHeaderFilterValue",this.userGetHeaderFilterValue.bind(this)),this.registerTableFunction("setHeaderFilterValue",this.userSetHeaderFilterValue.bind(this)),this.registerTableFunction("getHeaderFilters",this.getHeaderFilters.bind(this)),this.registerTableFunction("removeFilter",this.userRemoveFilter.bind(this)),this.registerTableFunction("clearFilter",this.userClearFilter.bind(this)),this.registerTableFunction("clearHeaderFilter",this.userClearHeaderFilter.bind(this)),this.registerComponentFunction("column","headerFilterFocus",this.setHeaderFilterFocus.bind(this)),this.registerComponentFunction("column","reloadHeaderFilter",this.reloadHeaderFilter.bind(this)),this.registerComponentFunction("column","getHeaderFilterValue",this.getHeaderFilterValue.bind(this)),this.registerComponentFunction("column","setHeaderFilterValue",this.setHeaderFilterValue.bind(this))}initialize(){this.subscribe("column-init",this.initializeColumnHeaderFilter.bind(this)),this.subscribe("column-width-fit-before",this.hideHeaderFilterElements.bind(this)),this.subscribe("column-width-fit-after",this.showHeaderFilterElements.bind(this)),this.subscribe("table-built",this.tableBuilt.bind(this)),this.subscribe("placeholder",this.generatePlaceholder.bind(this)),this.table.options.filterMode==="remote"&&this.subscribe("data-params",this.remoteFilterParams.bind(this)),this.registerDataHandler(this.filter.bind(this),10)}tableBuilt(){this.table.options.initialFilter&&this.setFilter(this.table.options.initialFilter),this.table.options.initialHeaderFilter&&this.table.options.initialHeaderFilter.forEach(e=>{var t=this.table.columnManager.findColumn(e.field);if(t)this.setHeaderFilterValue(t,e.value);else return console.warn("Column Filter Error - No matching column found:",e.field),!1}),this.tableInitialized=!0}remoteFilterParams(e,t,i,s){return s.filter=this.getFilters(!0,!0),s}generatePlaceholder(e){if(this.table.options.placeholderHeaderFilter&&Object.keys(this.headerFilters).length)return this.table.options.placeholderHeaderFilter}userSetFilter(e,t,i,s){this.setFilter(e,t,i,s),this.refreshFilter()}userRefreshFilter(){this.refreshFilter()}userAddFilter(e,t,i,s){this.addFilter(e,t,i,s),this.refreshFilter()}userSetHeaderFilterFocus(e){var t=this.table.columnManager.findColumn(e);if(t)this.setHeaderFilterFocus(t);else return console.warn("Column Filter Focus Error - No matching column found:",e),!1}userGetHeaderFilterValue(e){var t=this.table.columnManager.findColumn(e);if(t)return this.getHeaderFilterValue(t);console.warn("Column Filter Error - No matching column found:",e)}userSetHeaderFilterValue(e,t){var i=this.table.columnManager.findColumn(e);if(i)this.setHeaderFilterValue(i,t);else return console.warn("Column Filter Error - No matching column found:",e),!1}userRemoveFilter(e,t,i){this.removeFilter(e,t,i),this.refreshFilter()}userClearFilter(e){this.clearFilter(e),this.refreshFilter()}userClearHeaderFilter(){this.clearHeaderFilter(),this.refreshFilter()}searchRows(e,t,i){return this.search("rows",e,t,i)}searchData(e,t,i){return this.search("data",e,t,i)}initializeColumnHeaderFilter(e){var t=e.definition;t.headerFilter&&this.initializeColumn(e)}initializeColumn(e,t){var i=this,s=e.getField();function n(r){var o=e.modules.filter.tagType=="input"&&e.modules.filter.attrType=="text"||e.modules.filter.tagType=="textarea"?"partial":"match",a="",h="",d;if(typeof e.modules.filter.prevSuccess>"u"||e.modules.filter.prevSuccess!==r){if(e.modules.filter.prevSuccess=r,e.modules.filter.emptyFunc(r))delete i.headerFilters[s];else{switch(e.modules.filter.value=r,typeof e.definition.headerFilterFunc){case"string":O.filters[e.definition.headerFilterFunc]?(a=e.definition.headerFilterFunc,d=function(u){var c=e.definition.headerFilterFuncParams||{},f=e.getFieldValue(u);return c=typeof c=="function"?c(r,f,u):c,O.filters[e.definition.headerFilterFunc](r,f,u,c)}):console.warn("Header Filter Error - Matching filter function not found: ",e.definition.headerFilterFunc);break;case"function":d=function(u){var c=e.definition.headerFilterFuncParams||{},f=e.getFieldValue(u);return c=typeof c=="function"?c(r,f,u):c,e.definition.headerFilterFunc(r,f,u,c)},a=d;break}if(!d)switch(o){case"partial":d=function(u){var c=e.getFieldValue(u);return typeof c<"u"&&c!==null?String(c).toLowerCase().indexOf(String(r).toLowerCase())>-1:!1},a="like";break;default:d=function(u){return e.getFieldValue(u)==r},a="="}i.headerFilters[s]={value:r,func:d,type:a}}e.modules.filter.value=r,h=JSON.stringify(i.headerFilters),i.prevHeaderFilterChangeCheck!==h&&(i.prevHeaderFilterChangeCheck=h,i.trackChanges(),i.refreshFilter())}return!0}e.modules.filter={success:n,attrType:!1,tagType:!1,emptyFunc:!1},this.generateHeaderFilterElement(e)}generateHeaderFilterElement(e,t,i){var s=this,n=e.modules.filter.success,r=e.getField(),o,a,h,d,u,c,f,g;e.modules.filter.value=t;function p(){}function v(m){g=m}if(e.modules.filter.headerElement&&e.modules.filter.headerElement.parentNode&&e.contentElement.removeChild(e.modules.filter.headerElement.parentNode),r){switch(e.modules.filter.emptyFunc=e.definition.headerFilterEmptyCheck||function(m){return!m&&m!==0},o=document.createElement("div"),o.classList.add("tabulator-header-filter"),typeof e.definition.headerFilter){case"string":s.table.modules.edit.editors[e.definition.headerFilter]?(a=s.table.modules.edit.editors[e.definition.headerFilter],(e.definition.headerFilter==="tick"||e.definition.headerFilter==="tickCross")&&!e.definition.headerFilterEmptyCheck&&(e.modules.filter.emptyFunc=function(m){return m!==!0&&m!==!1})):console.warn("Filter Error - Cannot build header filter, No such editor found: ",e.definition.editor);break;case"function":a=e.definition.headerFilter;break;case"boolean":e.modules.edit&&e.modules.edit.editor?a=e.modules.edit.editor:e.definition.formatter&&s.table.modules.edit.editors[e.definition.formatter]?(a=s.table.modules.edit.editors[e.definition.formatter],(e.definition.formatter==="tick"||e.definition.formatter==="tickCross")&&!e.definition.headerFilterEmptyCheck&&(e.modules.filter.emptyFunc=function(m){return m!==!0&&m!==!1})):a=s.table.modules.edit.editors.input;break}if(a){if(d={getValue:function(){return typeof t<"u"?t:""},getField:function(){return e.definition.field},getElement:function(){return o},getColumn:function(){return e.getComponent()},getTable:()=>this.table,getType:()=>"header",getRow:function(){return{normalizeHeight:function(){}}}},f=e.definition.headerFilterParams||{},f=typeof f=="function"?f.call(s.table,d):f,h=a.call(this.table.modules.edit,d,v,n,p,f),!h){console.warn("Filter Error - Cannot add filter to "+r+" column, editor returned a value of false");return}if(!(h instanceof Node)){console.warn("Filter Error - Cannot add filter to "+r+" column, editor should return an instance of Node, the editor returned:",h);return}s.langBind("headerFilters|columns|"+e.definition.field,function(m){h.setAttribute("placeholder",typeof m<"u"&&m?m:e.definition.headerFilterPlaceholder||s.langText("headerFilters|default"))}),h.addEventListener("click",function(m){m.stopPropagation(),h.focus()}),h.addEventListener("focus",m=>{var C=this.table.columnManager.contentsElement.scrollLeft,T=this.table.rowManager.element.scrollLeft;C!==T&&(this.table.rowManager.scrollHorizontal(C),this.table.columnManager.scrollHorizontal(C))}),u=!1,c=function(m){u&&clearTimeout(u),u=setTimeout(function(){n(h.value)},s.table.options.headerFilterLiveFilterDelay)},e.modules.filter.headerElement=h,e.modules.filter.attrType=h.hasAttribute("type")?h.getAttribute("type").toLowerCase():"",e.modules.filter.tagType=h.tagName.toLowerCase(),e.definition.headerFilterLiveFilter!==!1&&(e.definition.headerFilter==="autocomplete"||e.definition.headerFilter==="tickCross"||(e.definition.editor==="autocomplete"||e.definition.editor==="tickCross")&&e.definition.headerFilter===!0||(h.addEventListener("keyup",c),h.addEventListener("search",c),e.modules.filter.attrType=="number"&&h.addEventListener("change",function(m){n(h.value)}),e.modules.filter.attrType=="text"&&this.table.browser!=="ie"&&h.setAttribute("type","search")),(e.modules.filter.tagType=="input"||e.modules.filter.tagType=="select"||e.modules.filter.tagType=="textarea")&&h.addEventListener("mousedown",function(m){m.stopPropagation()})),o.appendChild(h),e.contentElement.appendChild(o),i||s.headerFilterColumns.push(e),g&&g()}}else console.warn("Filter Error - Cannot add header filter, column has no field set:",e.definition.title)}hideHeaderFilterElements(){this.headerFilterColumns.forEach(function(e){e.modules.filter&&e.modules.filter.headerElement&&(e.modules.filter.headerElement.style.display="none")})}showHeaderFilterElements(){this.headerFilterColumns.forEach(function(e){e.modules.filter&&e.modules.filter.headerElement&&(e.modules.filter.headerElement.style.display="")})}setHeaderFilterFocus(e){e.modules.filter&&e.modules.filter.headerElement?e.modules.filter.headerElement.focus():console.warn("Column Filter Focus Error - No header filter set on column:",e.getField())}getHeaderFilterValue(e){if(e.modules.filter&&e.modules.filter.headerElement)return e.modules.filter.value;console.warn("Column Filter Error - No header filter set on column:",e.getField())}setHeaderFilterValue(e,t){e&&(e.modules.filter&&e.modules.filter.headerElement?(this.generateHeaderFilterElement(e,t,!0),e.modules.filter.success(t)):console.warn("Column Filter Error - No header filter set on column:",e.getField()))}reloadHeaderFilter(e){e&&(e.modules.filter&&e.modules.filter.headerElement?this.generateHeaderFilterElement(e,e.modules.filter.value,!0):console.warn("Column Filter Error - No header filter set on column:",e.getField()))}refreshFilter(){this.tableInitialized&&(this.table.options.filterMode==="remote"?this.reloadData(null,!1,!1):this.refreshData(!0))}trackChanges(){this.changed=!0,this.dispatch("filter-changed")}hasChanged(){var e=this.changed;return this.changed=!1,e}setFilter(e,t,i,s){this.filterList=[],Array.isArray(e)||(e=[{field:e,type:t,value:i,params:s}]),this.addFilter(e)}addFilter(e,t,i,s){var n=!1;Array.isArray(e)||(e=[{field:e,type:t,value:i,params:s}]),e.forEach(r=>{r=this.findFilter(r),r&&(this.filterList.push(r),n=!0)}),n&&this.trackChanges()}findFilter(e){var t;if(Array.isArray(e))return this.findSubFilters(e);var i=!1;return typeof e.field=="function"?i=function(s){return e.field(s,e.type||{})}:O.filters[e.type]?(t=this.table.columnManager.getColumnByField(e.field),t?i=function(s){return O.filters[e.type](e.value,t.getFieldValue(s),s,e.params||{})}:i=function(s){return O.filters[e.type](e.value,s[e.field],s,e.params||{})}):console.warn("Filter Error - No such filter type found, ignoring: ",e.type),e.func=i,e.func?e:!1}findSubFilters(e){var t=[];return e.forEach(i=>{i=this.findFilter(i),i&&t.push(i)}),t.length?t:!1}getFilters(e,t){var i=[];return e&&(i=this.getHeaderFilters()),t&&i.forEach(function(s){typeof s.type=="function"&&(s.type="function")}),i=i.concat(this.filtersToArray(this.filterList,t)),i}filtersToArray(e,t){var i=[];return e.forEach(s=>{var n;Array.isArray(s)?i.push(this.filtersToArray(s,t)):(n={field:s.field,type:s.type,value:s.value},t&&typeof n.type=="function"&&(n.type="function"),i.push(n))}),i}getHeaderFilters(){var e=[];for(var t in this.headerFilters)e.push({field:t,type:this.headerFilters[t].type,value:this.headerFilters[t].value});return e}removeFilter(e,t,i){Array.isArray(e)||(e=[{field:e,type:t,value:i}]),e.forEach(s=>{var n=-1;typeof s.field=="object"?n=this.filterList.findIndex(r=>s===r):n=this.filterList.findIndex(r=>s.field===r.field&&s.type===r.type&&s.value===r.value),n>-1?this.filterList.splice(n,1):console.warn("Filter Error - No matching filter type found, ignoring: ",s.type)}),this.trackChanges()}clearFilter(e){this.filterList=[],e&&this.clearHeaderFilter(),this.trackChanges()}clearHeaderFilter(){this.headerFilters={},this.prevHeaderFilterChangeCheck="{}",this.headerFilterColumns.forEach(e=>{typeof e.modules.filter.value<"u"&&delete e.modules.filter.value,e.modules.filter.prevSuccess=void 0,this.reloadHeaderFilter(e)}),this.trackChanges()}search(e,t,i,s){var n=[],r=[];return Array.isArray(t)||(t=[{field:t,type:i,value:s}]),t.forEach(o=>{o=this.findFilter(o),o&&r.push(o)}),this.table.rowManager.rows.forEach(o=>{var a=!0;r.forEach(h=>{this.filterRecurse(h,o.getData())||(a=!1)}),a&&n.push(e==="data"?o.getData("data"):o.getComponent())}),n}filter(e,t){var i=[],s=[];return this.subscribedExternal("dataFiltering")&&this.dispatchExternal("dataFiltering",this.getFilters(!0)),this.table.options.filterMode!=="remote"&&(this.filterList.length||Object.keys(this.headerFilters).length)?e.forEach(n=>{this.filterRow(n)&&i.push(n)}):i=e.slice(0),this.subscribedExternal("dataFiltered")&&(i.forEach(n=>{s.push(n.getComponent())}),this.dispatchExternal("dataFiltered",this.getFilters(!0),s)),i}filterRow(e,t){var i=!0,s=e.getData();this.filterList.forEach(r=>{this.filterRecurse(r,s)||(i=!1)});for(var n in this.headerFilters)this.headerFilters[n].func(s)||(i=!1);return i}filterRecurse(e,t){var i=!1;return Array.isArray(e)?e.forEach(s=>{this.filterRecurse(s,t)&&(i=!0)}):i=e.func(t),i}};b(O,"moduleName","filter"),b(O,"filters",ni);let Ee=O;function ri(l,e,t){return this.emptyToSpace(this.sanitizeHTML(l.getValue()))}function oi(l,e,t){return l.getValue()}function ai(l,e,t){return l.getElement().style.whiteSpace="pre-wrap",this.emptyToSpace(this.sanitizeHTML(l.getValue()))}function li(l,e,t){var i=parseFloat(l.getValue()),s="",n,r,o,a,h,d=e.decimal||".",u=e.thousand||",",c=e.negativeSign||"-",f=e.symbol||"",g=!!e.symbolAfter,p=typeof e.precision<"u"?e.precision:2;if(isNaN(i))return this.emptyToSpace(this.sanitizeHTML(l.getValue()));if(i<0&&(i=Math.abs(i),s=c),n=p!==!1?i.toFixed(p):i,n=String(n).split("."),r=n[0],o=n.length>1?d+n[1]:"",e.thousand!==!1)for(a=/(\d+)(\d{3})/;a.test(r);)r=r.replace(a,"$1"+u+"$2");return h=r+o,s===!0?(h="("+h+")",g?h+f:f+h):g?s+h+f:s+f+h}function hi(l,e,t){var i=l.getValue(),s=e.urlPrefix||"",n=e.download,r=i,o=document.createElement("a"),a;function h(d,u){var c=d.shift(),f=u[c];return d.length&&typeof f=="object"?h(d,f):f}if(e.labelField&&(a=l.getData(),r=h(e.labelField.split(this.table.options.nestedFieldSeparator),a)),e.label)switch(typeof e.label){case"string":r=e.label;break;case"function":r=e.label(l);break}if(r){if(e.urlField&&(a=l.getData(),i=x.retrieveNestedData(this.table.options.nestedFieldSeparator,e.urlField,a)),e.url)switch(typeof e.url){case"string":i=e.url;break;case"function":i=e.url(l);break}return o.setAttribute("href",s+i),e.target&&o.setAttribute("target",e.target),e.download&&(typeof n=="function"?n=n(l):n=n===!0?"":n,o.setAttribute("download",n)),o.innerHTML=this.emptyToSpace(this.sanitizeHTML(r)),o}else return" "}function di(l,e,t){var i=document.createElement("img"),s=l.getValue();switch(e.urlPrefix&&(s=e.urlPrefix+l.getValue()),e.urlSuffix&&(s=s+e.urlSuffix),i.setAttribute("src",s),typeof e.height){case"number":i.style.height=e.height+"px";break;case"string":i.style.height=e.height;break}switch(typeof e.width){case"number":i.style.width=e.width+"px";break;case"string":i.style.width=e.width;break}return i.addEventListener("load",function(){l.getRow().normalizeHeight()}),i}function ui(l,e,t){var i=l.getValue(),s=l.getElement(),n=e.allowEmpty,r=e.allowTruthy,o=Object.keys(e).includes("trueValue"),a=typeof e.tickElement<"u"?e.tickElement:'',h=typeof e.crossElement<"u"?e.crossElement:'';return o&&i===e.trueValue||!o&&(r&&i||i===!0||i==="true"||i==="True"||i===1||i==="1")?(s.setAttribute("aria-checked",!0),a||""):n&&(i==="null"||i===""||i===null||typeof i>"u")?(s.setAttribute("aria-checked","mixed"),""):(s.setAttribute("aria-checked",!1),h||"")}function ci(l,e,t){var i=window.DateTime||luxon.DateTime,s=e.inputFormat||"yyyy-MM-dd HH:mm:ss",n=e.outputFormat||"dd/MM/yyyy HH:mm:ss",r=typeof e.invalidPlaceholder<"u"?e.invalidPlaceholder:"",o=l.getValue();if(typeof i<"u"){var a;return i.isDateTime(o)?a=o:s==="iso"?a=i.fromISO(String(o)):a=i.fromFormat(String(o),s),a.isValid?(e.timezone&&(a=a.setZone(e.timezone)),a.toFormat(n)):r===!0||!o?o:typeof r=="function"?r(o):r}else console.error("Format Error - 'datetime' formatter is dependant on luxon.js")}function fi(l,e,t){var i=window.DateTime||luxon.DateTime,s=e.inputFormat||"yyyy-MM-dd HH:mm:ss",n=typeof e.invalidPlaceholder<"u"?e.invalidPlaceholder:"",r=typeof e.suffix<"u"?e.suffix:!1,o=typeof e.unit<"u"?e.unit:"days",a=typeof e.humanize<"u"?e.humanize:!1,h=typeof e.date<"u"?e.date:i.now(),d=l.getValue();if(typeof i<"u"){var u;return i.isDateTime(d)?u=d:s==="iso"?u=i.fromISO(String(d)):u=i.fromFormat(String(d),s),u.isValid?a?u.diff(h,o).toHuman()+(r?" "+r:""):parseInt(u.diff(h,o)[o])+(r?" "+r:""):n===!0?d:typeof n=="function"?n(d):n}else console.error("Format Error - 'datetimediff' formatter is dependant on luxon.js")}function pi(l,e,t){var i=l.getValue();return typeof e[i]>"u"?(console.warn("Missing display value for "+i),i):e[i]}function mi(l,e,t){var i=l.getValue(),s=l.getElement(),n=e&&e.stars?e.stars:5,r=document.createElement("span"),o=document.createElementNS("http://www.w3.org/2000/svg","svg"),a='',h='';r.style.verticalAlign="middle",o.setAttribute("width","14"),o.setAttribute("height","14"),o.setAttribute("viewBox","0 0 512 512"),o.setAttribute("xml:space","preserve"),o.style.padding="0 1px",i=i&&!isNaN(i)?parseInt(i):0,i=Math.max(0,Math.min(i,n));for(var d=1;d<=n;d++){var u=o.cloneNode(!0);u.innerHTML=d<=i?a:h,r.appendChild(u)}return s.style.whiteSpace="nowrap",s.style.overflow="hidden",s.style.textOverflow="ellipsis",s.setAttribute("aria-label",i),r}function gi(l,e,t){var i=this.sanitizeHTML(l.getValue())||0,s=document.createElement("span"),n=e&&e.max?e.max:100,r=e&&e.min?e.min:0,o=e&&typeof e.color<"u"?e.color:["red","orange","green"],a="#666666",h,d;if(!(isNaN(i)||typeof l.getValue()>"u")){switch(s.classList.add("tabulator-traffic-light"),d=parseFloat(i)<=n?parseFloat(i):n,d=parseFloat(d)>=r?parseFloat(d):r,h=(n-r)/100,d=Math.round((d-r)/h),typeof o){case"string":a=o;break;case"function":a=o(i);break;case"object":if(Array.isArray(o)){var u=100/o.length,c=Math.floor(d/u);c=Math.min(c,o.length-1),c=Math.max(c,0),a=o[c];break}}return s.style.backgroundColor=a,s}}function bi(l,e={},t){var i=this.sanitizeHTML(l.getValue())||0,s=l.getElement(),n=e.max?e.max:100,r=e.min?e.min:0,o=e.legendAlign?e.legendAlign:"center",a,h,d,u,c;switch(h=parseFloat(i)<=n?parseFloat(i):n,h=parseFloat(h)>=r?parseFloat(h):r,a=(n-r)/100,h=Math.round((h-r)/a),typeof e.color){case"string":d=e.color;break;case"function":d=e.color(i);break;case"object":if(Array.isArray(e.color)){let v=100/e.color.length,m=Math.floor(h/v);m=Math.min(m,e.color.length-1),m=Math.max(m,0),d=e.color[m];break}default:d="#2DC214"}switch(typeof e.legend){case"string":u=e.legend;break;case"function":u=e.legend(i);break;case"boolean":u=i;break;default:u=!1}switch(typeof e.legendColor){case"string":c=e.legendColor;break;case"function":c=e.legendColor(i);break;case"object":if(Array.isArray(e.legendColor)){let v=100/e.legendColor.length,m=Math.floor(h/v);m=Math.min(m,e.legendColor.length-1),m=Math.max(m,0),c=e.legendColor[m]}break;default:c="#000"}s.style.minWidth="30px",s.style.position="relative",s.setAttribute("aria-label",h);var f=document.createElement("div");f.style.display="inline-block",f.style.width=h+"%",f.style.backgroundColor=d,f.style.height="100%",f.setAttribute("data-max",n),f.setAttribute("data-min",r);var g=document.createElement("div");if(g.style.position="relative",g.style.width="100%",g.style.height="100%",u){var p=document.createElement("div");p.style.position="absolute",p.style.top=0,p.style.left=0,p.style.textAlign=o,p.style.width="100%",p.style.color=c,p.innerHTML=u}return t(function(){if(!(l instanceof Ye)){var v=document.createElement("div");v.style.position="absolute",v.style.top="4px",v.style.bottom="4px",v.style.left="4px",v.style.right="4px",s.appendChild(v),s=v}s.appendChild(g),g.appendChild(f),u&&g.appendChild(p)}),""}function vi(l,e,t){return l.getElement().style.backgroundColor=this.sanitizeHTML(l.getValue()),""}function wi(l,e,t){return''}function Ci(l,e,t){return''}function Ei(l,e,t){var i=l.getValue(),s=e.size||15,n=s+"px",r,o,a=e.hasOwnProperty("onValue")?e.onValue:!0,h=e.hasOwnProperty("offValue")?e.offValue:!1,d=e.onTruthy?i:i===a;return r=document.createElement("div"),r.classList.add("tabulator-toggle"),d?(r.classList.add("tabulator-toggle-on"),r.style.flexDirection="row-reverse",e.onColor&&(r.style.background=e.onColor)):e.offColor&&(r.style.background=e.offColor),r.style.width=2.5*s+"px",r.style.borderRadius=n,e.clickable&&r.addEventListener("click",u=>{l.setValue(d?h:a)}),o=document.createElement("div"),o.classList.add("tabulator-toggle-switch"),o.style.height=n,o.style.width=n,o.style.borderRadius=n,r.appendChild(o),r}function yi(l,e,t){var i=document.createElement("span"),s=l.getRow(),n=l.getTable();return s.watchPosition(r=>{e.relativeToPage&&(r+=n.modules.page.getPageSize()*(n.modules.page.getPage()-1)),i.innerText=r}),i}function Ri(l,e,t){return l.getElement().classList.add("tabulator-row-handle"),"
"}var xi={plaintext:ri,html:oi,textarea:ai,money:li,link:hi,image:di,tickCross:ui,datetime:ci,datetimediff:fi,lookup:pi,star:mi,traffic:gi,progress:bi,color:vi,buttonTick:wi,buttonCross:Ci,toggle:Ei,rownum:yi,handle:Ri};const H=class H extends w{constructor(e){super(e),this.registerColumnOption("formatter"),this.registerColumnOption("formatterParams"),this.registerColumnOption("formatterPrint"),this.registerColumnOption("formatterPrintParams"),this.registerColumnOption("formatterClipboard"),this.registerColumnOption("formatterClipboardParams"),this.registerColumnOption("formatterHtmlOutput"),this.registerColumnOption("formatterHtmlOutputParams"),this.registerColumnOption("titleFormatter"),this.registerColumnOption("titleFormatterParams")}initialize(){this.subscribe("cell-format",this.formatValue.bind(this)),this.subscribe("cell-rendered",this.cellRendered.bind(this)),this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("column-format",this.formatHeader.bind(this))}initializeColumn(e){e.modules.format=this.lookupFormatter(e,""),typeof e.definition.formatterPrint<"u"&&(e.modules.format.print=this.lookupFormatter(e,"Print")),typeof e.definition.formatterClipboard<"u"&&(e.modules.format.clipboard=this.lookupFormatter(e,"Clipboard")),typeof e.definition.formatterHtmlOutput<"u"&&(e.modules.format.htmlOutput=this.lookupFormatter(e,"HtmlOutput"))}lookupFormatter(e,t){var i={params:e.definition["formatter"+t+"Params"]||{}},s=e.definition["formatter"+t];switch(typeof s){case"string":H.formatters[s]?i.formatter=H.formatters[s]:(console.warn("Formatter Error - No such formatter found: ",s),i.formatter=H.formatters.plaintext);break;case"function":i.formatter=s;break;default:i.formatter=H.formatters.plaintext;break}return i}cellRendered(e){e.modules.format&&e.modules.format.renderedCallback&&!e.modules.format.rendered&&(e.modules.format.renderedCallback(),e.modules.format.rendered=!0)}formatHeader(e,t,i){var s,n,r,o;return e.definition.titleFormatter?(s=this.getFormatter(e.definition.titleFormatter),r=a=>{e.titleFormatterRendered=a},o={getValue:function(){return t},getElement:function(){return i},getType:function(){return"header"},getColumn:function(){return e.getComponent()},getTable:()=>this.table},n=e.definition.titleFormatterParams||{},n=typeof n=="function"?n():n,s.call(this,o,n,r)):t}formatValue(e){var t=e.getComponent(),i=typeof e.column.modules.format.params=="function"?e.column.modules.format.params(t):e.column.modules.format.params;function s(n){e.modules.format||(e.modules.format={}),e.modules.format.renderedCallback=n,e.modules.format.rendered=!1}return e.column.modules.format.formatter.call(this,t,i,s)}formatExportValue(e,t){var i=e.column.modules.format[t],s;if(i){let n=function(r){e.modules.format||(e.modules.format={}),e.modules.format.renderedCallback=r,e.modules.format.rendered=!1};return s=typeof i.params=="function"?i.params(e.getComponent()):i.params,i.formatter.call(this,e.getComponent(),s,n)}else return this.formatValue(e)}sanitizeHTML(e){if(e){var t={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(e).replace(/[&<>"'`=/]/g,function(i){return t[i]})}else return e}emptyToSpace(e){return e===null||typeof e>"u"||e===""?" ":e}getFormatter(e){switch(typeof e){case"string":H.formatters[e]?e=H.formatters[e]:(console.warn("Formatter Error - No such formatter found: ",e),e=H.formatters.plaintext);break;case"function":break;default:e=H.formatters.plaintext;break}return e}};b(H,"moduleName","format"),b(H,"formatters",xi);let ye=H;class et extends w{constructor(e){super(e),this.leftColumns=[],this.rightColumns=[],this.initializationMode="left",this.active=!1,this.blocked=!0,this.registerColumnOption("frozen")}reset(){this.initializationMode="left",this.leftColumns=[],this.rightColumns=[],this.active=!1}initialize(){this.subscribe("cell-layout",this.layoutCell.bind(this)),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-width",this.layout.bind(this)),this.subscribe("row-layout-after",this.layoutRow.bind(this)),this.subscribe("table-layout",this.layout.bind(this)),this.subscribe("columns-loading",this.reset.bind(this)),this.subscribe("column-add",this.reinitializeColumns.bind(this)),this.subscribe("column-deleted",this.reinitializeColumns.bind(this)),this.subscribe("column-hide",this.reinitializeColumns.bind(this)),this.subscribe("column-show",this.reinitializeColumns.bind(this)),this.subscribe("columns-loaded",this.reinitializeColumns.bind(this)),this.subscribe("table-redraw",this.layout.bind(this)),this.subscribe("layout-refreshing",this.blockLayout.bind(this)),this.subscribe("layout-refreshed",this.unblockLayout.bind(this)),this.subscribe("scrollbar-vertical",this.adjustForScrollbar.bind(this))}blockLayout(){this.blocked=!0}unblockLayout(){this.blocked=!1}layoutCell(e){this.layoutElement(e.element,e.column)}reinitializeColumns(){this.reset(),this.table.columnManager.columnsByIndex.forEach(e=>{this.initializeColumn(e)}),this.layout()}initializeColumn(e){var t={margin:0,edge:!1};e.isGroup||(this.frozenCheck(e)?(t.position=this.initializationMode,this.initializationMode=="left"?this.leftColumns.push(e):this.rightColumns.unshift(e),this.active=!0,e.modules.frozen=t):this.initializationMode="right")}frozenCheck(e){return e.parent.isGroup&&e.definition.frozen&&console.warn("Frozen Column Error - Parent column group must be frozen, not individual columns or sub column groups"),e.parent.isGroup?this.frozenCheck(e.parent):e.definition.frozen}layoutCalcRows(){this.table.modExists("columnCalcs")&&(this.table.modules.columnCalcs.topInitialized&&this.table.modules.columnCalcs.topRow&&this.layoutRow(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&this.table.modules.columnCalcs.botRow&&this.layoutRow(this.table.modules.columnCalcs.botRow),this.table.modExists("groupRows")&&this.layoutGroupCalcs(this.table.modules.groupRows.getGroups()))}layoutGroupCalcs(e){e.forEach(t=>{t.calcs.top&&this.layoutRow(t.calcs.top),t.calcs.bottom&&this.layoutRow(t.calcs.bottom),t.groupList&&t.groupList.length&&this.layoutGroupCalcs(t.groupList)})}layoutColumnPosition(e){var t=[],i=0,s=0;this.leftColumns.forEach((n,r)=>{if(n.modules.frozen.marginValue=i,n.modules.frozen.margin=n.modules.frozen.marginValue+"px",n.visible&&(i+=n.getWidth()),r==this.leftColumns.length-1?n.modules.frozen.edge=!0:n.modules.frozen.edge=!1,n.parent.isGroup){var o=this.getColGroupParentElement(n);t.includes(o)||(this.layoutElement(o,n),t.push(o)),o.classList.toggle("tabulator-frozen-left",n.modules.frozen.edge&&n.modules.frozen.position==="left"),o.classList.toggle("tabulator-frozen-right",n.modules.frozen.edge&&n.modules.frozen.position==="right")}else this.layoutElement(n.getElement(),n);e&&n.cells.forEach(a=>{this.layoutElement(a.getElement(!0),n)})}),this.rightColumns.forEach((n,r)=>{n.modules.frozen.marginValue=s,n.modules.frozen.margin=n.modules.frozen.marginValue+"px",n.visible&&(s+=n.getWidth()),r==this.rightColumns.length-1?n.modules.frozen.edge=!0:n.modules.frozen.edge=!1,n.parent.isGroup?this.layoutElement(this.getColGroupParentElement(n),n):this.layoutElement(n.getElement(),n),e&&n.cells.forEach(o=>{this.layoutElement(o.getElement(!0),n)})})}getColGroupParentElement(e){return e.parent.isGroup?this.getColGroupParentElement(e.parent):e.getElement()}layout(){this.active&&!this.blocked&&(this.layoutColumnPosition(),this.reinitializeRows(),this.layoutCalcRows())}reinitializeRows(){var e=this.table.rowManager.getVisibleRows(!0),t=this.table.rowManager.getRows().filter(i=>!e.includes(i));t.forEach(i=>{i.deinitialize()}),e.forEach(i=>{i.type==="row"&&this.layoutRow(i)})}layoutRow(e){this.table.options.layout==="fitDataFill"&&this.rightColumns.length&&(this.table.rowManager.getTableElement().style.minWidth="calc(100% - "+this.rightMargin+")"),this.leftColumns.forEach(t=>{var i=e.getCell(t);i&&this.layoutElement(i.getElement(!0),t)}),this.rightColumns.forEach(t=>{var i=e.getCell(t);i&&this.layoutElement(i.getElement(!0),t)})}layoutElement(e,t){var i;t.modules.frozen&&e&&(e.style.position="sticky",this.table.rtl?i=t.modules.frozen.position==="left"?"right":"left":i=t.modules.frozen.position,e.style[i]=t.modules.frozen.margin,e.classList.add("tabulator-frozen"),e.classList.toggle("tabulator-frozen-left",t.modules.frozen.edge&&t.modules.frozen.position==="left"),e.classList.toggle("tabulator-frozen-right",t.modules.frozen.edge&&t.modules.frozen.position==="right"))}adjustForScrollbar(e){this.rightColumns.length&&(this.table.columnManager.getContentsElement().style.width="calc(100% - "+e+"px)")}getFrozenColumns(){return this.leftColumns.concat(this.rightColumns)}_calcSpace(e,t){var i=0;for(let s=0;s{this.initializeRow(e)})}initializeRow(e){var t=this.table.options.frozenRows,i=typeof t;i==="number"?e.getPosition()&&e.getPosition()+this.rows.length<=t&&this.freezeRow(e):i==="function"?t.call(this.table,e.getComponent())&&this.freezeRow(e):Array.isArray(t)&&t.includes(e.data[this.options("frozenRowsField")])&&this.freezeRow(e)}isRowFrozen(e){var t=this.rows.indexOf(e);return t>-1}isFrozen(){return!!this.rows.length}visibleRows(e,t){return this.rows.forEach(i=>{t.push(i)}),t}getRows(e){var t=e.slice(0);return this.rows.forEach(function(i){var s=t.indexOf(i);s>-1&&t.splice(s,1)}),t}freezeRow(e){e.modules.frozen?console.warn("Freeze Error - Row is already frozen"):(e.modules.frozen=!0,this.topElement.appendChild(e.getElement()),e.initialize(),e.normalizeHeight(),this.rows.push(e),this.refreshData(!1,"display"),this.table.rowManager.adjustTableSize(),this.styleRows())}unfreezeRow(e){e.modules.frozen?(e.modules.frozen=!1,this.detachRow(e),this.table.rowManager.adjustTableSize(),this.refreshData(!1,"display"),this.rows.length&&this.styleRows()):console.warn("Freeze Error - Row is already unfrozen")}detachRow(e){var t=this.rows.indexOf(e);if(t>-1){var i=e.getElement();i.parentNode&&i.parentNode.removeChild(i),this.rows.splice(t,1)}}styleRows(e){this.rows.forEach((t,i)=>{this.table.rowManager.styleRow(t,i)})}}b(tt,"moduleName","frozenRows");class Ti{constructor(e){return this._group=e,this.type="GroupComponent",new Proxy(this,{get:function(t,i,s){return typeof t[i]<"u"?t[i]:t._group.groupManager.table.componentFunctionBinder.handle("group",t._group,i)}})}getKey(){return this._group.key}getField(){return this._group.field}getElement(){return this._group.element}getRows(){return this._group.getRows(!0)}getSubGroups(){return this._group.getSubGroups(!0)}getParentGroup(){return this._group.parent?this._group.parent.getComponent():!1}isVisible(){return this._group.visible}show(){this._group.show()}hide(){this._group.hide()}toggle(){this._group.toggleVisibility()}scrollTo(e,t){return this._group.groupManager.table.rowManager.scrollToRow(this._group,e,t)}_getSelf(){return this._group}getTable(){return this._group.groupManager.table}}class J{constructor(e,t,i,s,n,r,o){this.groupManager=e,this.parent=t,this.key=s,this.level=i,this.field=n,this.hasSubGroups=i{t.modules&&delete t.modules.group})),this.element=!1,this.arrowElement=!1,this.elementContents=!1}createElements(){var e=document.createElement("div");e.classList.add("tabulator-arrow"),this.element=document.createElement("div"),this.element.classList.add("tabulator-row"),this.element.classList.add("tabulator-group"),this.element.classList.add("tabulator-group-level-"+this.level),this.element.setAttribute("role","rowgroup"),this.arrowElement=document.createElement("div"),this.arrowElement.classList.add("tabulator-group-toggle"),this.arrowElement.appendChild(e),this.groupManager.table.options.movableRows!==!1&&this.groupManager.table.modExists("moveRow")&&this.groupManager.table.modules.moveRow.initializeGroupHeader(this)}createValueGroups(){var e=this.level+1;this.groupManager.allowedValues&&this.groupManager.allowedValues[e]&&this.groupManager.allowedValues[e].forEach(t=>{this._createGroup(t,e)})}addBindings(){var e;this.groupManager.table.options.groupToggleElement&&(e=this.groupManager.table.options.groupToggleElement=="arrow"?this.arrowElement:this.element,e.addEventListener("click",t=>{this.groupManager.table.options.groupToggleElement==="arrow"&&(t.stopPropagation(),t.stopImmediatePropagation()),setTimeout(()=>{this.toggleVisibility()})}))}_createGroup(e,t){var i=t+"_"+e,s=new J(this.groupManager,this,t,e,this.groupManager.groupIDLookups[t].field,this.groupManager.headerGenerator[t]||this.groupManager.headerGenerator[0],this.old?this.old.groups[i]:!1);this.groups[i]=s,this.groupList.push(s)}_addRowToGroup(e){var t=this.level+1;if(this.hasSubGroups){var i=this.groupManager.groupIDLookups[t].func(e.getData()),s=t+"_"+i;this.groupManager.allowedValues&&this.groupManager.allowedValues[t]?this.groups[s]&&this.groups[s].addRow(e):(this.groups[s]||this._createGroup(i,t),this.groups[s].addRow(e))}}_addRow(e){this.rows.push(e),e.modules.group=this}insertRow(e,t,i){var s=this.conformRowData({});e.updateData(s);var n=this.rows.indexOf(t);n>-1?i?this.rows.splice(n+1,0,e):this.rows.splice(n,0,e):i?this.rows.push(e):this.rows.unshift(e),e.modules.group=this,this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.options.columnCalcs!="table"&&this.groupManager.table.modules.columnCalcs.recalcGroup(this),this.groupManager.updateGroupRows(!0)}scrollHeader(e){this.arrowElement&&(this.arrowElement.style.marginLeft=e,this.groupList.forEach(function(t){t.scrollHeader(e)}))}getRowIndex(e){}conformRowData(e){return this.field?e[this.field]=this.key:console.warn("Data Conforming Error - Cannot conform row data to match new group as groupBy is a function"),this.parent&&(e=this.parent.conformRowData(e)),e}removeRow(e){var t=this.rows.indexOf(e),i=e.getElement();t>-1&&this.rows.splice(t,1),!this.groupManager.table.options.groupValues&&!this.rows.length?(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this),this.groupManager.updateGroupRows(!0)):(i.parentNode&&i.parentNode.removeChild(i),this.groupManager.blockRedraw||(this.generateGroupHeaderContents(),this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.options.columnCalcs!="table"&&this.groupManager.table.modules.columnCalcs.recalcGroup(this)))}removeGroup(e){var t=e.level+"_"+e.key,i;this.groups[t]&&(delete this.groups[t],i=this.groupList.indexOf(e),i>-1&&this.groupList.splice(i,1),this.groupList.length||(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this)))}getHeadersAndRows(){var e=[];return e.push(this),this._visSet(),this.calcs.top&&(this.calcs.top.detachElement(),this.calcs.top.deleteCells()),this.calcs.bottom&&(this.calcs.bottom.detachElement(),this.calcs.bottom.deleteCells()),this.visible?this.groupList.length?this.groupList.forEach(function(t){e=e.concat(t.getHeadersAndRows())}):(this.groupManager.table.options.columnCalcs!="table"&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),e.push(this.calcs.top)),e=e.concat(this.rows),this.groupManager.table.options.columnCalcs!="table"&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),e.push(this.calcs.bottom))):!this.groupList.length&&this.groupManager.table.options.columnCalcs!="table"&&this.groupManager.table.modExists("columnCalcs")&&(this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&this.groupManager.table.options.groupClosedShowCalcs&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),e.push(this.calcs.top)),this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&this.groupManager.table.options.groupClosedShowCalcs&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),e.push(this.calcs.bottom))),e}getData(e,t){var i=[];return this._visSet(),(!e||e&&this.visible)&&this.rows.forEach(s=>{i.push(s.getData(t||"data"))}),i}getRowCount(){var e=0;return this.groupList.length?this.groupList.forEach(t=>{e+=t.getRowCount()}):e=this.rows.length,e}toggleVisibility(){this.visible?this.hide():this.show()}hide(){this.visible=!1,this.groupManager.table.rowManager.getRenderMode()=="basic"&&!this.groupManager.table.options.pagination?(this.element.classList.remove("tabulator-group-visible"),this.groupList.length?this.groupList.forEach(e=>{var t=e.getHeadersAndRows();t.forEach(i=>{i.detachElement()})}):this.rows.forEach(e=>{var t=e.getElement();t.parentNode.removeChild(t)}),this.groupManager.updateGroupRows(!0)):this.groupManager.updateGroupRows(!0),this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),!1)}show(){if(this.visible=!0,this.groupManager.table.rowManager.getRenderMode()=="basic"&&!this.groupManager.table.options.pagination){this.element.classList.add("tabulator-group-visible");var e=this.generateElement();this.groupList.length?this.groupList.forEach(t=>{var i=t.getHeadersAndRows();i.forEach(s=>{var n=s.getElement();e.parentNode.insertBefore(n,e.nextSibling),s.initialize(),e=n})}):this.rows.forEach(t=>{var i=t.getElement();e.parentNode.insertBefore(i,e.nextSibling),t.initialize(),e=i}),this.groupManager.updateGroupRows(!0)}else this.groupManager.updateGroupRows(!0);this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),!0)}_visSet(){var e=[];typeof this.visible=="function"&&(this.rows.forEach(function(t){e.push(t.getData())}),this.visible=this.visible(this.key,this.getRowCount(),e,this.getComponent()))}getRowGroup(e){var t=!1;return this.groupList.length?this.groupList.forEach(function(i){var s=i.getRowGroup(e);s&&(t=s)}):this.rows.find(function(i){return i===e})&&(t=this),t}getSubGroups(e){var t=[];return this.groupList.forEach(function(i){t.push(e?i.getComponent():i)}),t}getRows(e,t){var i=[];return t&&this.groupList.length?this.groupList.forEach(s=>{i=i.concat(s.getRows(e,t))}):this.rows.forEach(function(s){i.push(e?s.getComponent():s)}),i}generateGroupHeaderContents(){var e=[],t=this.getRows(!1,!0);for(t.forEach(function(i){e.push(i.getData())}),this.elementContents=this.generator(this.key,this.getRowCount(),e,this.getComponent());this.element.firstChild;)this.element.removeChild(this.element.firstChild);typeof this.elementContents=="string"?this.element.innerHTML=this.elementContents:this.element.appendChild(this.elementContents),this.element.insertBefore(this.arrowElement,this.element.firstChild)}getPath(e=[]){return e.unshift(this.key),this.parent&&this.parent.getPath(e),e}getElement(){return this.elementContents?this.element:this.generateElement()}generateElement(){this.addBindings=!1,this._visSet(),this.visible?this.element.classList.add("tabulator-group-visible"):this.element.classList.remove("tabulator-group-visible");for(var e=0;ei.length&&console.warn("Error creating group headers, groupHeader array is shorter than groupBy array"),this.headerGenerator=[function(){return""}],this.startOpen=[function(){return!1}],this.langBind("groups|item",(n,r)=>{this.headerGenerator[0]=(o,a,h)=>(typeof o>"u"?"":o)+"("+a+" "+(a===1?n:r.groups.items)+")"}),this.groupIDLookups=[],e)this.table.modExists("columnCalcs")&&this.table.options.columnCalcs!="table"&&this.table.options.columnCalcs!="both"&&this.table.modules.columnCalcs.removeCalcs();else if(this.table.modExists("columnCalcs")&&this.table.options.columnCalcs!="group"){var s=this.table.columnManager.getRealColumns();s.forEach(n=>{n.definition.topCalc&&this.table.modules.columnCalcs.initializeTopRow(),n.definition.bottomCalc&&this.table.modules.columnCalcs.initializeBottomRow()})}Array.isArray(e)||(e=[e]),e.forEach((n,r)=>{var o,a;typeof n=="function"?o=n:(a=this.table.columnManager.getColumnByField(n),a?o=function(h){return a.getFieldValue(h)}:o=function(h){return h[n]}),this.groupIDLookups.push({field:typeof n=="function"?!1:n,func:o,values:this.allowedValues?this.allowedValues[r]:!1})}),t&&(Array.isArray(t)||(t=[t]),t.forEach(n=>{}),this.startOpen=t),i&&(this.headerGenerator=Array.isArray(i)?i:[i])}else this.groupList=[],this.groups={}}rowSample(e,t){if(this.table.options.groupBy){var i=this.getGroups(!1)[0];t.push(i.getRows(!1)[0])}return t}virtualRenderFill(){var e=this.table.rowManager.tableElement,t=this.table.rowManager.getVisibleRows();if(this.table.options.groupBy)t=t.filter(i=>i.type!=="group"),e.style.minWidth=t.length?"":this.table.columnManager.getWidth()+"px";else return t}rowAddingIndex(e,t,i){if(this.table.options.groupBy){this.assignRowToGroup(e);var s=e.modules.group.rows;return s.length>1&&(!t||t&&s.indexOf(t)==-1?i?s[0]!==e&&(t=s[0],this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)):s[s.length-1]!==e&&(t=s[s.length-1],this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)):this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)),t}}trackChanges(){this.dispatch("group-changed")}setGroupBy(e){this.table.options.groupBy=e,this.initialized||this.initialize(),this.configureGroupSetup(),!e&&this.table.modExists("columnCalcs")&&this.table.options.columnCalcs===!0&&this.table.modules.columnCalcs.reinitializeCalcs(),this.refreshData(),this.trackChanges()}setGroupValues(e){this.table.options.groupValues=e,this.configureGroupSetup(),this.refreshData(),this.trackChanges()}setGroupStartOpen(e){this.table.options.groupStartOpen=e,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn("Grouping Update - cant refresh view, no groups have been set")}setGroupHeader(e){this.table.options.groupHeader=e,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn("Grouping Update - cant refresh view, no groups have been set")}userGetGroups(e){return this.getGroups(!0)}userGetGroupedData(){return this.table.options.groupBy?this.getGroupedData():this.getData()}rowGetGroup(e){return e.modules.group?e.modules.group.getComponent():!1}rowMoving(e,t,i){if(this.table.options.groupBy){!i&&t instanceof J&&(t=this.table.rowManager.prevDisplayRow(e)||t);var s=t instanceof J?t:t.modules.group,n=e instanceof J?e:e.modules.group;s===n?this.table.rowManager.moveRowInArray(s.rows,e,t,i):(n&&n.removeRow(e),s.insertRow(e,t,i))}}rowDeleting(e){this.table.options.groupBy&&e.modules.group&&e.modules.group.removeRow(e)}rowsUpdated(e){this.table.options.groupBy&&this.updateGroupRows(!0)}cellUpdated(e){this.table.options.groupBy&&this.reassignRowToGroup(e.row)}getRows(e){return this.table.options.groupBy&&this.groupIDLookups.length?(this.dispatchExternal("dataGrouping"),this.generateGroups(e),this.subscribedExternal("dataGrouped")&&this.dispatchExternal("dataGrouped",this.getGroups(!0)),this.updateGroupRows()):e.slice(0)}getGroups(e){var t=[];return this.groupList.forEach(function(i){t.push(e?i.getComponent():i)}),t}getChildGroups(e){var t=[];return e||(e=this),e.groupList.forEach(i=>{i.groupList.length?t=t.concat(this.getChildGroups(i)):t.push(i)}),t}wipe(){this.table.options.groupBy&&(this.groupList.forEach(function(e){e.wipe()}),this.groupList=[],this.groups={})}pullGroupListData(e){var t=[];return e.forEach(i=>{var s={};s.level=0,s.rowCount=0,s.headerContent="";var n=[];i.hasSubGroups?(n=this.pullGroupListData(i.groupList),s.level=i.level,s.rowCount=n.length-i.groupList.length,s.headerContent=i.generator(i.key,s.rowCount,i.rows,i),t.push(s),t=t.concat(n)):(s.level=i.level,s.headerContent=i.generator(i.key,i.rows.length,i.rows,i),s.rowCount=i.getRows().length,t.push(s),i.getRows().forEach(r=>{t.push(r.getData("data"))}))}),t}getGroupedData(){return this.pullGroupListData(this.groupList)}getRowGroup(e){var t=!1;return this.options("dataTree")&&(e=this.table.modules.dataTree.getTreeParentRoot(e)),this.groupList.forEach(i=>{var s=i.getRowGroup(e);s&&(t=s)}),t}countGroups(){return this.groupList.length}generateGroups(e){var t=this.groups;this.groups={},this.groupList=[],this.allowedValues&&this.allowedValues[0]?(this.allowedValues[0].forEach(i=>{this.createGroup(i,0,t)}),e.forEach(i=>{this.assignRowToExistingGroup(i,t)})):e.forEach(i=>{this.assignRowToGroup(i,t)}),Object.values(t).forEach(i=>{i.wipe(!0)})}createGroup(e,t,i){var s=t+"_"+e,n;i=i||[],n=new J(this,!1,t,e,this.groupIDLookups[0].field,this.headerGenerator[0],i[s]),this.groups[s]=n,this.groupList.push(n)}assignRowToExistingGroup(e,t){var i=this.groupIDLookups[0].func(e.getData()),s="0_"+i;this.groups[s]&&this.groups[s].addRow(e)}assignRowToGroup(e,t){var i=this.groupIDLookups[0].func(e.getData()),s=!this.groups["0_"+i];return s&&this.createGroup(i,0,t),this.groups["0_"+i].addRow(e),!s}reassignRowToGroup(e){if(e.type==="row"){var t=e.modules.group,i=t.getPath(),s=this.getExpectedPath(e),n;n=i.length==s.length&&i.every((r,o)=>r===s[o]),n||(t.removeRow(e),this.assignRowToGroup(e,this.groups),this.refreshData(!0))}}getExpectedPath(e){var t=[],i=e.getData();return this.groupIDLookups.forEach(s=>{t.push(s.func(i))}),t}updateGroupRows(e){var t=[];return this.blockRedraw||(this.groupList.forEach(i=>{t=t.concat(i.getHeadersAndRows())}),e&&this.refreshData(!0)),t}scrollHeaders(e){this.table.options.groupBy&&(this.table.options.renderHorizontal==="virtual"&&(e-=this.table.columnManager.renderer.vDomPadLeft),e=e+"px",this.groupList.forEach(t=>{t.scrollHeader(e)}))}removeGroup(e){var t=e.level+"_"+e.key,i;this.groups[t]&&(delete this.groups[t],i=this.groupList.indexOf(e),i>-1&&this.groupList.splice(i,1))}checkBasicModeGroupHeaderWidth(){var e=this.table.rowManager.tableElement,t=!0;this.table.rowManager.getDisplayRows().forEach((i,s)=>{this.table.rowManager.styleRow(i,s),e.appendChild(i.getElement()),i.initialize(!0),i.type!=="group"&&(t=!1)}),t?e.style.minWidth=this.table.columnManager.getWidth()+"px":e.style.minWidth=""}}b(it,"moduleName","groupRows");var ki={cellEdit:function(l){l.component.setValueProcessData(l.data.oldValue),l.component.cellRendered()},rowAdd:function(l){l.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowDelete:function(l){var e=this.table.rowManager.addRowActual(l.data.data,l.data.pos,l.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(l.component,e),this.table.rowManager.checkPlaceholder()},rowMove:function(l){var e=l.data.posFrom-l.data.posTo>0;this.table.rowManager.moveRowActual(l.component,this.table.rowManager.getRowFromPosition(l.data.posFrom),e),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}},Mi={cellEdit:function(l){l.component.setValueProcessData(l.data.newValue),l.component.cellRendered()},rowAdd:function(l){var e=this.table.rowManager.addRowActual(l.data.data,l.data.pos,l.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(l.component,e),this.table.rowManager.checkPlaceholder()},rowDelete:function(l){l.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowMove:function(l){this.table.rowManager.moveRowActual(l.component,this.table.rowManager.getRowFromPosition(l.data.posTo),l.data.after),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}},Li={undo:["ctrl + 90","meta + 90"],redo:["ctrl + 89","meta + 89"]},Si={undo:function(l){var e=!1;this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&(e=this.table.modules.edit.currentCell,e||(l.preventDefault(),this.table.modules.history.undo()))},redo:function(l){var e=!1;this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&(e=this.table.modules.edit.currentCell,e||(l.preventDefault(),this.table.modules.history.redo()))}},Di={keybindings:{bindings:Li,actions:Si}};const I=class I extends w{constructor(e){super(e),this.history=[],this.index=-1,this.registerTableOption("history",!1)}initialize(){this.table.options.history&&(this.subscribe("cell-value-updated",this.cellUpdated.bind(this)),this.subscribe("cell-delete",this.clearComponentHistory.bind(this)),this.subscribe("row-delete",this.rowDeleted.bind(this)),this.subscribe("rows-wipe",this.clear.bind(this)),this.subscribe("row-added",this.rowAdded.bind(this)),this.subscribe("row-move",this.rowMoved.bind(this))),this.registerTableFunction("undo",this.undo.bind(this)),this.registerTableFunction("redo",this.redo.bind(this)),this.registerTableFunction("getHistoryUndoSize",this.getHistoryUndoSize.bind(this)),this.registerTableFunction("getHistoryRedoSize",this.getHistoryRedoSize.bind(this)),this.registerTableFunction("clearHistory",this.clear.bind(this))}rowMoved(e,t,i){this.action("rowMove",e,{posFrom:e.getPosition(),posTo:t.getPosition(),to:t,after:i})}rowAdded(e,t,i,s){this.action("rowAdd",e,{data:t,pos:i,index:s})}rowDeleted(e){var t,i;this.table.options.groupBy?(i=e.getComponent().getGroup()._getSelf().rows,t=i.indexOf(e),t&&(t=i[t-1])):(t=e.table.rowManager.getRowIndex(e),t&&(t=e.table.rowManager.rows[t-1])),this.action("rowDelete",e,{data:e.getData(),pos:!t,index:t})}cellUpdated(e){this.action("cellEdit",e,{oldValue:e.oldValue,newValue:e.value})}clear(){this.history=[],this.index=-1}action(e,t,i){this.history=this.history.slice(0,this.index+1),this.history.push({type:e,component:t,data:i}),this.index++}getHistoryUndoSize(){return this.index+1}getHistoryRedoSize(){return this.history.length-(this.index+1)}clearComponentHistory(e){var t=this.history.findIndex(function(i){return i.component===e});t>-1&&(this.history.splice(t,1),t<=this.index&&this.index--,this.clearComponentHistory(e))}undo(){if(this.index>-1){let e=this.history[this.index];return I.undoers[e.type].call(this,e),this.index--,this.dispatchExternal("historyUndo",e.type,e.component.getComponent(),e.data),!0}else return console.warn(this.options("history")?"History Undo Error - No more history to undo":"History module not enabled"),!1}redo(){if(this.history.length-1>this.index){this.index++;let e=this.history[this.index];return I.redoers[e.type].call(this,e),this.dispatchExternal("historyRedo",e.type,e.component.getComponent(),e.data),!0}else return console.warn(this.options("history")?"History Redo Error - No more history to redo":"History module not enabled"),!1}_rebindRow(e,t){this.history.forEach(function(i){if(i.component instanceof S)i.component===e&&(i.component=t);else if(i.component instanceof ne&&i.component.row===e){var s=i.component.column.getField();s&&(i.component=t.getCell(s))}})}};b(I,"moduleName","history"),b(I,"moduleExtensions",Di),b(I,"undoers",ki),b(I,"redoers",Mi);let Re=I;class st extends w{constructor(e){super(e),this.fieldIndex=[],this.hasIndex=!1}initialize(){this.tableElementCheck()}tableElementCheck(){this.table.originalElement&&this.table.originalElement.tagName==="TABLE"&&(this.table.originalElement.childNodes.length?this.parseTable():console.warn("Unable to parse data from empty table tag, Tabulator should be initialized on a div tag unless importing data from a table element."))}parseTable(){var e=this.table.originalElement,t=this.table.options,i=e.getElementsByTagName("th"),s=e.getElementsByTagName("tbody")[0],n=[];this.hasIndex=!1,this.dispatchExternal("htmlImporting"),s=s?s.getElementsByTagName("tr"):[],this._extractOptions(e,t),i.length?this._extractHeaders(i,s):this._generateBlankHeaders(i,s);for(var r=0;r{r[d.toLowerCase()]=d});for(var o in s){var a=s[o],h;a&&typeof a=="object"&&a.name&&a.name.indexOf("tabulator-")===0&&(h=a.name.replace("tabulator-",""),typeof r[h]<"u"&&(t[r[h]]=this._attribValue(a.value)))}}_attribValue(e){return e==="true"?!0:e==="false"?!1:e}_findCol(e){var t=this.table.options.columns.find(i=>i.title===e);return t||!1}_extractHeaders(e,t){for(var i=0;i(console.error("Import Error:",r||"Unable to import data"),Promise.reject(r)))}lookupImporter(e){var t;return e||(e=this.table.options.importFormat),typeof e=="string"?t=ee.importers[e]:t=e,t||console.error("Import Error - Importer not found:",e),t}importFromFile(e,t,i){var s=this.lookupImporter(e);if(s)return this.pickFile(t,i).then(this.importData.bind(this,s)).then(this.structureData.bind(this)).then(this.setData.bind(this)).catch(n=>(this.dispatch("import-error",n),this.dispatchExternal("importError",n),console.error("Import Error:",n||"Unable to import file"),Promise.reject(n)))}pickFile(e,t){return new Promise((i,s)=>{var n=document.createElement("input");n.type="file",n.accept=e,n.addEventListener("change",r=>{var o=n.files[0],a=new FileReader;switch(this.dispatch("import-importing",n.files),this.dispatchExternal("importImporting",n.files),t||this.table.options.importReader){case"buffer":a.readAsArrayBuffer(o);break;case"binary":a.readAsBinaryString(o);break;case"url":a.readAsDataURL(o);break;case"text":default:a.readAsText(o)}a.onload=h=>{i(a.result)},a.onerror=h=>{console.warn("File Load Error - Unable to read file"),s()}}),this.dispatch("import-choose"),this.dispatchExternal("importChoose"),n.click()})}importData(e,t){var i=e.call(this.table,t);return i instanceof Promise?i:i?Promise.resolve(i):Promise.reject()}structureData(e){var t=[];return Array.isArray(e)&&e.length&&Array.isArray(e[0])?(this.table.options.autoColumns?t=this.structureArrayToObject(e):t=this.structureArrayToColumns(e),t):e}structureArrayToObject(e){var t=e.shift(),i=e.map(s=>{var n={};return t.forEach((r,o)=>{n[r]=s[o]}),n});return i}structureArrayToColumns(e){var t=[],i=this.table.getColumns();return i[0]&&e[0][0]&&i[0].getDefinition().title===e[0][0]&&e.shift(),e.forEach(s=>{var n={};s.forEach((r,o)=>{var a=i[o];a&&(n[a.getField()]=r)}),t.push(n)}),t}setData(e){return this.dispatch("import-imported",e),this.dispatchExternal("importImported",e),this.table.setData(e)}};b(ee,"moduleName","import"),b(ee,"importers",Oi);let xe=ee;class nt extends w{constructor(e){super(e),this.eventMap={rowClick:"row-click",rowDblClick:"row-dblclick",rowContext:"row-contextmenu",rowMouseEnter:"row-mouseenter",rowMouseLeave:"row-mouseleave",rowMouseOver:"row-mouseover",rowMouseOut:"row-mouseout",rowMouseMove:"row-mousemove",rowMouseDown:"row-mousedown",rowMouseUp:"row-mouseup",rowTap:"row",rowDblTap:"row",rowTapHold:"row",cellClick:"cell-click",cellDblClick:"cell-dblclick",cellContext:"cell-contextmenu",cellMouseEnter:"cell-mouseenter",cellMouseLeave:"cell-mouseleave",cellMouseOver:"cell-mouseover",cellMouseOut:"cell-mouseout",cellMouseMove:"cell-mousemove",cellMouseDown:"cell-mousedown",cellMouseUp:"cell-mouseup",cellTap:"cell",cellDblTap:"cell",cellTapHold:"cell",headerClick:"column-click",headerDblClick:"column-dblclick",headerContext:"column-contextmenu",headerMouseEnter:"column-mouseenter",headerMouseLeave:"column-mouseleave",headerMouseOver:"column-mouseover",headerMouseOut:"column-mouseout",headerMouseMove:"column-mousemove",headerMouseDown:"column-mousedown",headerMouseUp:"column-mouseup",headerTap:"column",headerDblTap:"column",headerTapHold:"column",groupClick:"group-click",groupDblClick:"group-dblclick",groupContext:"group-contextmenu",groupMouseEnter:"group-mouseenter",groupMouseLeave:"group-mouseleave",groupMouseOver:"group-mouseover",groupMouseOut:"group-mouseout",groupMouseMove:"group-mousemove",groupMouseDown:"group-mousedown",groupMouseUp:"group-mouseup",groupTap:"group",groupDblTap:"group",groupTapHold:"group"},this.subscribers={},this.touchSubscribers={},this.columnSubscribers={},this.touchWatchers={row:{tap:null,tapDbl:null,tapHold:null},cell:{tap:null,tapDbl:null,tapHold:null},column:{tap:null,tapDbl:null,tapHold:null},group:{tap:null,tapDbl:null,tapHold:null}},this.registerColumnOption("headerClick"),this.registerColumnOption("headerDblClick"),this.registerColumnOption("headerContext"),this.registerColumnOption("headerMouseEnter"),this.registerColumnOption("headerMouseLeave"),this.registerColumnOption("headerMouseOver"),this.registerColumnOption("headerMouseOut"),this.registerColumnOption("headerMouseMove"),this.registerColumnOption("headerMouseDown"),this.registerColumnOption("headerMouseUp"),this.registerColumnOption("headerTap"),this.registerColumnOption("headerDblTap"),this.registerColumnOption("headerTapHold"),this.registerColumnOption("cellClick"),this.registerColumnOption("cellDblClick"),this.registerColumnOption("cellContext"),this.registerColumnOption("cellMouseEnter"),this.registerColumnOption("cellMouseLeave"),this.registerColumnOption("cellMouseOver"),this.registerColumnOption("cellMouseOut"),this.registerColumnOption("cellMouseMove"),this.registerColumnOption("cellMouseDown"),this.registerColumnOption("cellMouseUp"),this.registerColumnOption("cellTap"),this.registerColumnOption("cellDblTap"),this.registerColumnOption("cellTapHold")}initialize(){this.initializeExternalEvents(),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("cell-dblclick",this.cellContentsSelectionFixer.bind(this)),this.subscribe("scroll-horizontal",this.clearTouchWatchers.bind(this)),this.subscribe("scroll-vertical",this.clearTouchWatchers.bind(this))}clearTouchWatchers(){var e=Object.values(this.touchWatchers);e.forEach(t=>{for(let i in t)t[i]=null})}cellContentsSelectionFixer(e,t){var i;if(!(this.table.modExists("edit")&&this.table.modules.edit.currentCell===t)){e.preventDefault();try{document.selection?(i=document.body.createTextRange(),i.moveToElementText(t.getElement()),i.select()):window.getSelection&&(i=document.createRange(),i.selectNode(t.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(i))}catch{}}}initializeExternalEvents(){for(let e in this.eventMap)this.subscriptionChangeExternal(e,this.subscriptionChanged.bind(this,e))}subscriptionChanged(e,t){t?this.subscribers[e]||(this.eventMap[e].includes("-")?(this.subscribers[e]=this.handle.bind(this,e),this.subscribe(this.eventMap[e],this.subscribers[e])):this.subscribeTouchEvents(e)):this.eventMap[e].includes("-")?this.subscribers[e]&&!this.columnSubscribers[e]&&!this.subscribedExternal(e)&&(this.unsubscribe(this.eventMap[e],this.subscribers[e]),delete this.subscribers[e]):this.unsubscribeTouchEvents(e)}subscribeTouchEvents(e){var t=this.eventMap[e];this.touchSubscribers[t+"-touchstart"]||(this.touchSubscribers[t+"-touchstart"]=this.handleTouch.bind(this,t,"start"),this.touchSubscribers[t+"-touchend"]=this.handleTouch.bind(this,t,"end"),this.subscribe(t+"-touchstart",this.touchSubscribers[t+"-touchstart"]),this.subscribe(t+"-touchend",this.touchSubscribers[t+"-touchend"])),this.subscribers[e]=!0}unsubscribeTouchEvents(e){var t=!0,i=this.eventMap[e];if(this.subscribers[e]&&!this.subscribedExternal(e)){delete this.subscribers[e];for(let s in this.eventMap)this.eventMap[s]===i&&this.subscribers[s]&&(t=!1);t&&(this.unsubscribe(i+"-touchstart",this.touchSubscribers[i+"-touchstart"]),this.unsubscribe(i+"-touchend",this.touchSubscribers[i+"-touchend"]),delete this.touchSubscribers[i+"-touchstart"],delete this.touchSubscribers[i+"-touchend"])}}initializeColumn(e){var t=e.definition;for(let i in this.eventMap)t[i]&&(this.subscriptionChanged(i,!0),this.columnSubscribers[i]||(this.columnSubscribers[i]=[]),this.columnSubscribers[i].push(e))}handle(e,t,i){this.dispatchEvent(e,t,i)}handleTouch(e,t,i,s){var n=this.touchWatchers[e];switch(e==="column"&&(e="header"),t){case"start":n.tap=!0,clearTimeout(n.tapHold),n.tapHold=setTimeout(()=>{clearTimeout(n.tapHold),n.tapHold=null,n.tap=null,clearTimeout(n.tapDbl),n.tapDbl=null,this.dispatchEvent(e+"TapHold",i,s)},1e3);break;case"end":n.tap&&(n.tap=null,this.dispatchEvent(e+"Tap",i,s)),n.tapDbl?(clearTimeout(n.tapDbl),n.tapDbl=null,this.dispatchEvent(e+"DblTap",i,s)):n.tapDbl=setTimeout(()=>{clearTimeout(n.tapDbl),n.tapDbl=null},300),clearTimeout(n.tapHold),n.tapHold=null;break}}dispatchEvent(e,t,i){var s=i.getComponent(),n;this.columnSubscribers[e]&&(i instanceof ne?n=i.column.definition[e]:i instanceof U&&(n=i.definition[e]),n&&n(t,s)),this.dispatchExternal(e,t,s)}}b(nt,"moduleName","interaction");var Ai={navPrev:"shift + 9",navNext:9,navUp:38,navDown:40,navLeft:37,navRight:39,scrollPageUp:33,scrollPageDown:34,scrollToStart:36,scrollToEnd:35},_i={keyBlock:function(l){l.stopPropagation(),l.preventDefault()},scrollPageUp:function(l){var e=this.table.rowManager,t=e.scrollTop-e.element.clientHeight;l.preventDefault(),e.displayRowsCount&&(t>=0?e.element.scrollTop=t:e.scrollToRow(e.getDisplayRows()[0])),this.table.element.focus()},scrollPageDown:function(l){var e=this.table.rowManager,t=e.scrollTop+e.element.clientHeight,i=e.element.scrollHeight;l.preventDefault(),e.displayRowsCount&&(t<=i?e.element.scrollTop=t:e.scrollToRow(e.getDisplayRows()[e.displayRowsCount-1])),this.table.element.focus()},scrollToStart:function(l){var e=this.table.rowManager;l.preventDefault(),e.displayRowsCount&&e.scrollToRow(e.getDisplayRows()[0]),this.table.element.focus()},scrollToEnd:function(l){var e=this.table.rowManager;l.preventDefault(),e.displayRowsCount&&e.scrollToRow(e.getDisplayRows()[e.displayRowsCount-1]),this.table.element.focus()},navPrev:function(l){this.dispatch("keybinding-nav-prev",l)},navNext:function(l){this.dispatch("keybinding-nav-next",l)},navLeft:function(l){this.dispatch("keybinding-nav-left",l)},navRight:function(l){this.dispatch("keybinding-nav-right",l)},navUp:function(l){this.dispatch("keybinding-nav-up",l)},navDown:function(l){this.dispatch("keybinding-nav-down",l)}};const N=class N extends w{constructor(e){super(e),this.watchKeys=null,this.pressedKeys=null,this.keyupBinding=!1,this.keydownBinding=!1,this.registerTableOption("keybindings",{}),this.registerTableOption("tabEndNewRow",!1)}initialize(){var e=this.table.options.keybindings,t={};this.watchKeys={},this.pressedKeys=[],e!==!1&&(Object.assign(t,N.bindings),Object.assign(t,e),this.mapBindings(t),this.bindEvents()),this.subscribe("table-destroy",this.clearBindings.bind(this))}mapBindings(e){for(let t in e)N.actions[t]?e[t]&&(typeof e[t]!="object"&&(e[t]=[e[t]]),e[t].forEach(i=>{var s=Array.isArray(i)?i:[i];s.forEach(n=>{this.mapBinding(t,n)})})):console.warn("Key Binding Error - no such action:",t)}mapBinding(e,t){var i={action:N.actions[e],keys:[],ctrl:!1,shift:!1,meta:!1},s=t.toString().toLowerCase().split(" ").join("").split("+");s.forEach(n=>{switch(n){case"ctrl":i.ctrl=!0;break;case"shift":i.shift=!0;break;case"meta":i.meta=!0;break;default:n=isNaN(n)?n.toUpperCase().charCodeAt(0):parseInt(n),i.keys.push(n),this.watchKeys[n]||(this.watchKeys[n]=[]),this.watchKeys[n].push(i)}})}bindEvents(){var e=this;this.keyupBinding=function(t){var i=t.keyCode,s=e.watchKeys[i];s&&(e.pressedKeys.push(i),s.forEach(function(n){e.checkBinding(t,n)}))},this.keydownBinding=function(t){var i=t.keyCode,s=e.watchKeys[i];if(s){var n=e.pressedKeys.indexOf(i);n>-1&&e.pressedKeys.splice(n,1)}},this.table.element.addEventListener("keydown",this.keyupBinding),this.table.element.addEventListener("keyup",this.keydownBinding)}clearBindings(){this.keyupBinding&&this.table.element.removeEventListener("keydown",this.keyupBinding),this.keydownBinding&&this.table.element.removeEventListener("keyup",this.keydownBinding)}checkBinding(e,t){var i=!0;return e.ctrlKey==t.ctrl&&e.shiftKey==t.shift&&e.metaKey==t.meta?(t.keys.forEach(s=>{var n=this.pressedKeys.indexOf(s);n==-1&&(i=!1)}),i&&t.action.call(this,e),!0):!1}};b(N,"moduleName","keybindings"),b(N,"bindings",Ai),b(N,"actions",_i);let Te=N;class rt extends w{constructor(e){super(e),this.menuContainer=null,this.nestedMenuBlock=!1,this.currentComponent=null,this.rootPopup=null,this.columnSubscribers={},this.registerTableOption("rowContextMenu",!1),this.registerTableOption("rowClickMenu",!1),this.registerTableOption("rowDblClickMenu",!1),this.registerTableOption("groupContextMenu",!1),this.registerTableOption("groupClickMenu",!1),this.registerTableOption("groupDblClickMenu",!1),this.registerColumnOption("headerContextMenu"),this.registerColumnOption("headerClickMenu"),this.registerColumnOption("headerDblClickMenu"),this.registerColumnOption("headerMenu"),this.registerColumnOption("headerMenuIcon"),this.registerColumnOption("contextMenu"),this.registerColumnOption("clickMenu"),this.registerColumnOption("dblClickMenu")}initialize(){this.deprecatedOptionsCheck(),this.initializeRowWatchers(),this.initializeGroupWatchers(),this.subscribe("column-init",this.initializeColumn.bind(this))}deprecatedOptionsCheck(){}initializeRowWatchers(){this.table.options.rowContextMenu&&(this.subscribe("row-contextmenu",this.loadMenuEvent.bind(this,this.table.options.rowContextMenu)),this.table.on("rowTapHold",this.loadMenuEvent.bind(this,this.table.options.rowContextMenu))),this.table.options.rowClickMenu&&this.subscribe("row-click",this.loadMenuEvent.bind(this,this.table.options.rowClickMenu)),this.table.options.rowDblClickMenu&&this.subscribe("row-dblclick",this.loadMenuEvent.bind(this,this.table.options.rowDblClickMenu))}initializeGroupWatchers(){this.table.options.groupContextMenu&&(this.subscribe("group-contextmenu",this.loadMenuEvent.bind(this,this.table.options.groupContextMenu)),this.table.on("groupTapHold",this.loadMenuEvent.bind(this,this.table.options.groupContextMenu))),this.table.options.groupClickMenu&&this.subscribe("group-click",this.loadMenuEvent.bind(this,this.table.options.groupClickMenu)),this.table.options.groupDblClickMenu&&this.subscribe("group-dblclick",this.loadMenuEvent.bind(this,this.table.options.groupDblClickMenu))}initializeColumn(e){var t=e.definition;t.headerContextMenu&&!this.columnSubscribers.headerContextMenu&&(this.columnSubscribers.headerContextMenu=this.loadMenuTableColumnEvent.bind(this,"headerContextMenu"),this.subscribe("column-contextmenu",this.columnSubscribers.headerContextMenu),this.table.on("headerTapHold",this.loadMenuTableColumnEvent.bind(this,"headerContextMenu"))),t.headerClickMenu&&!this.columnSubscribers.headerClickMenu&&(this.columnSubscribers.headerClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerClickMenu"),this.subscribe("column-click",this.columnSubscribers.headerClickMenu)),t.headerDblClickMenu&&!this.columnSubscribers.headerDblClickMenu&&(this.columnSubscribers.headerDblClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerDblClickMenu"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickMenu)),t.headerMenu&&this.initializeColumnHeaderMenu(e),t.contextMenu&&!this.columnSubscribers.contextMenu&&(this.columnSubscribers.contextMenu=this.loadMenuTableCellEvent.bind(this,"contextMenu"),this.subscribe("cell-contextmenu",this.columnSubscribers.contextMenu),this.table.on("cellTapHold",this.loadMenuTableCellEvent.bind(this,"contextMenu"))),t.clickMenu&&!this.columnSubscribers.clickMenu&&(this.columnSubscribers.clickMenu=this.loadMenuTableCellEvent.bind(this,"clickMenu"),this.subscribe("cell-click",this.columnSubscribers.clickMenu)),t.dblClickMenu&&!this.columnSubscribers.dblClickMenu&&(this.columnSubscribers.dblClickMenu=this.loadMenuTableCellEvent.bind(this,"dblClickMenu"),this.subscribe("cell-dblclick",this.columnSubscribers.dblClickMenu))}initializeColumnHeaderMenu(e){var t=e.definition.headerMenuIcon,i;i=document.createElement("span"),i.classList.add("tabulator-header-popup-button"),t?(typeof t=="function"&&(t=t(e.getComponent())),t instanceof HTMLElement?i.appendChild(t):i.innerHTML=t):i.innerHTML="⋮",i.addEventListener("click",s=>{s.stopPropagation(),s.preventDefault(),this.loadMenuEvent(e.definition.headerMenu,s,e)}),e.titleElement.insertBefore(i,e.titleElement.firstChild)}loadMenuTableCellEvent(e,t,i){i._cell&&(i=i._cell),i.column.definition[e]&&this.loadMenuEvent(i.column.definition[e],t,i)}loadMenuTableColumnEvent(e,t,i){i._column&&(i=i._column),i.definition[e]&&this.loadMenuEvent(i.definition[e],t,i)}loadMenuEvent(e,t,i){i._group?i=i._group:i._row&&(i=i._row),e=typeof e=="function"?e.call(this.table,t,i.getComponent()):e,this.loadMenu(t,i,e)}loadMenu(e,t,i,s,n){var r=!(e instanceof MouseEvent),o=document.createElement("div"),a;if(o.classList.add("tabulator-menu"),r||e.preventDefault(),!(!i||!i.length)){if(s)a=n.child(o);else{if(this.nestedMenuBlock){if(this.rootPopup)return}else this.nestedMenuBlock=setTimeout(()=>{this.nestedMenuBlock=!1},100);this.rootPopup&&this.rootPopup.hide(),this.rootPopup=a=this.popup(o)}i.forEach(h=>{var d=document.createElement("div"),u=h.label,c=h.disabled;h.separator?d.classList.add("tabulator-menu-separator"):(d.classList.add("tabulator-menu-item"),typeof u=="function"&&(u=u.call(this.table,t.getComponent())),u instanceof Node?d.appendChild(u):d.innerHTML=u,typeof c=="function"&&(c=c.call(this.table,t.getComponent())),c?(d.classList.add("tabulator-menu-item-disabled"),d.addEventListener("click",f=>{f.stopPropagation()})):h.menu&&h.menu.length?d.addEventListener("click",f=>{f.stopPropagation(),this.loadMenu(f,t,h.menu,d,a)}):h.action&&d.addEventListener("click",f=>{h.action(f,t.getComponent())}),h.menu&&h.menu.length&&d.classList.add("tabulator-menu-item-submenu")),o.appendChild(d)}),o.addEventListener("click",h=>{this.rootPopup&&this.rootPopup.hide()}),a.show(s||e),a===this.rootPopup&&(this.rootPopup.hideOnBlur(()=>{this.rootPopup=null,this.currentComponent&&(this.dispatch("menu-closed",i,a),this.dispatchExternal("menuClosed",this.currentComponent.getComponent()),this.currentComponent=null)}),this.currentComponent=t,this.dispatch("menu-opened",i,a),this.dispatchExternal("menuOpened",t.getComponent()))}}}b(rt,"moduleName","menu");class ot extends w{constructor(e){super(e),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=!1,this.checkTimeout=!1,this.checkPeriod=250,this.moving=!1,this.toCol=!1,this.toColAfter=!1,this.startX=0,this.autoScrollMargin=40,this.autoScrollStep=5,this.autoScrollTimeout=!1,this.touchMove=!1,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.registerTableOption("movableColumns",!1)}createPlaceholderElement(){var e=document.createElement("div");return e.classList.add("tabulator-col"),e.classList.add("tabulator-col-placeholder"),e}initialize(){this.table.options.movableColumns&&(this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("alert-show",this.abortMove.bind(this)))}abortMove(){clearTimeout(this.checkTimeout)}initializeColumn(e){var t=this,i={},s;!e.modules.frozen&&!e.isGroup&&!e.isRowHeader&&(s=e.getElement(),i.mousemove=(function(n){e.parent===t.moving.parent&&((t.touchMove?n.touches[0].pageX:n.pageX)-x.elOffset(s).left+t.table.columnManager.contentsElement.scrollLeft>e.getWidth()/2?(t.toCol!==e||!t.toColAfter)&&(s.parentNode.insertBefore(t.placeholderElement,s.nextSibling),t.moveColumn(e,!0)):(t.toCol!==e||t.toColAfter)&&(s.parentNode.insertBefore(t.placeholderElement,s),t.moveColumn(e,!1)))}).bind(t),s.addEventListener("mousedown",function(n){t.touchMove=!1,n.which===1&&(t.checkTimeout=setTimeout(function(){t.startMove(n,e)},t.checkPeriod))}),s.addEventListener("mouseup",function(n){n.which===1&&t.checkTimeout&&clearTimeout(t.checkTimeout)}),t.bindTouchEvents(e)),e.modules.moveColumn=i}bindTouchEvents(e){var t=e.getElement(),i=!1,s,n,r,o,a,h;t.addEventListener("touchstart",d=>{this.checkTimeout=setTimeout(()=>{this.touchMove=!0,s=e.nextColumn(),r=s?s.getWidth()/2:0,n=e.prevColumn(),o=n?n.getWidth()/2:0,a=0,h=0,i=!1,this.startMove(d,e)},this.checkPeriod)},{passive:!0}),t.addEventListener("touchmove",d=>{var u,c;this.moving&&(this.moveHover(d),i||(i=d.touches[0].pageX),u=d.touches[0].pageX-i,u>0?s&&u-a>r&&(c=s,c!==e&&(i=d.touches[0].pageX,c.getElement().parentNode.insertBefore(this.placeholderElement,c.getElement().nextSibling),this.moveColumn(c,!0))):n&&-u-h>o&&(c=n,c!==e&&(i=d.touches[0].pageX,c.getElement().parentNode.insertBefore(this.placeholderElement,c.getElement()),this.moveColumn(c,!1))),c&&(s=c.nextColumn(),a=r,r=s?s.getWidth()/2:0,n=c.prevColumn(),h=o,o=n?n.getWidth()/2:0))},{passive:!0}),t.addEventListener("touchend",d=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&this.endMove(d)})}startMove(e,t){var i=t.getElement(),s=this.table.columnManager.getContentsElement(),n=this.table.columnManager.getHeadersElement();this.table.modules.selectRange&&this.table.modules.selectRange.columnSelection&&this.table.modules.selectRange.mousedown&&this.table.modules.selectRange.selecting==="column"||(this.moving=t,this.startX=(this.touchMove?e.touches[0].pageX:e.pageX)-x.elOffset(i).left,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=t.getWidth()+"px",this.placeholderElement.style.height=t.getHeight()+"px",i.parentNode.insertBefore(this.placeholderElement,i),i.parentNode.removeChild(i),this.hoverElement=i.cloneNode(!0),this.hoverElement.classList.add("tabulator-moving"),s.appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.bottom=s.clientHeight-n.offsetHeight+"px",this.touchMove||(this._bindMouseMove(),document.body.addEventListener("mousemove",this.moveHover),document.body.addEventListener("mouseup",this.endMove)),this.moveHover(e),this.dispatch("column-moving",e,this.moving))}_bindMouseMove(){this.table.columnManager.columnsByIndex.forEach(function(e){e.modules.moveColumn.mousemove&&e.getElement().addEventListener("mousemove",e.modules.moveColumn.mousemove)})}_unbindMouseMove(){this.table.columnManager.columnsByIndex.forEach(function(e){e.modules.moveColumn.mousemove&&e.getElement().removeEventListener("mousemove",e.modules.moveColumn.mousemove)})}moveColumn(e,t){var i=this.moving.getCells();this.toCol=e,this.toColAfter=t,t?e.getCells().forEach(function(s,n){var r=s.getElement(!0);r.parentNode&&i[n]&&r.parentNode.insertBefore(i[n].getElement(),r.nextSibling)}):e.getCells().forEach(function(s,n){var r=s.getElement(!0);r.parentNode&&i[n]&&r.parentNode.insertBefore(i[n].getElement(),r)})}endMove(e){(e.which===1||this.touchMove)&&(this._unbindMouseMove(),this.placeholderElement.parentNode.insertBefore(this.moving.getElement(),this.placeholderElement.nextSibling),this.placeholderElement.parentNode.removeChild(this.placeholderElement),this.hoverElement.parentNode.removeChild(this.hoverElement),this.table.element.classList.remove("tabulator-block-select"),this.toCol&&this.table.columnManager.moveColumnActual(this.moving,this.toCol,this.toColAfter),this.moving=!1,this.toCol=!1,this.toColAfter=!1,this.touchMove||(document.body.removeEventListener("mousemove",this.moveHover),document.body.removeEventListener("mouseup",this.endMove)))}moveHover(e){var t=this.table.columnManager.getContentsElement(),i=t.scrollLeft,s=(this.touchMove?e.touches[0].pageX:e.pageX)-x.elOffset(t).left+i,n;this.hoverElement.style.left=s-this.startX+"px",s-i{n=Math.max(0,i-5),this.table.rowManager.getElement().scrollLeft=n,this.autoScrollTimeout=!1},1))),i+t.clientWidth-s{n=Math.min(t.clientWidth,i+5),this.table.rowManager.getElement().scrollLeft=n,this.autoScrollTimeout=!1},1)))}}b(ot,"moduleName","moveColumn");var Bi={delete:function(l,e,t){l.delete()}},Vi={insert:function(l,e,t){return this.table.addRow(l.getData(),void 0,e),!0},add:function(l,e,t){return this.table.addRow(l.getData()),!0},update:function(l,e,t){return e?(e.update(l.getData()),!0):!1},replace:function(l,e,t){return e?(this.table.addRow(l.getData(),void 0,e),e.delete(),!0):!1}};const G=class G extends w{constructor(e){super(e),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=!1,this.checkTimeout=!1,this.checkPeriod=150,this.moving=!1,this.toRow=!1,this.toRowAfter=!1,this.hasHandle=!1,this.startY=0,this.startX=0,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.tableRowDropEvent=!1,this.touchMove=!1,this.connection=!1,this.connectionSelectorsTables=!1,this.connectionSelectorsElements=!1,this.connectionElements=[],this.connections=[],this.connectedTable=!1,this.connectedRow=!1,this.registerTableOption("movableRows",!1),this.registerTableOption("movableRowsConnectedTables",!1),this.registerTableOption("movableRowsConnectedElements",!1),this.registerTableOption("movableRowsSender",!1),this.registerTableOption("movableRowsReceiver","insert"),this.registerColumnOption("rowHandle")}createPlaceholderElement(){var e=document.createElement("div");return e.classList.add("tabulator-row"),e.classList.add("tabulator-row-placeholder"),e}initialize(){this.table.options.movableRows&&(this.connectionSelectorsTables=this.table.options.movableRowsConnectedTables,this.connectionSelectorsElements=this.table.options.movableRowsConnectedElements,this.connection=this.connectionSelectorsTables||this.connectionSelectorsElements,this.subscribe("cell-init",this.initializeCell.bind(this)),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("row-init",this.initializeRow.bind(this)))}initializeGroupHeader(e){var t=this,i={};i.mouseup=(function(s){t.tableRowDrop(s,e)}).bind(t),i.mousemove=(function(s){var n;s.pageY-x.elOffset(e.element).top+t.table.rowManager.element.scrollTop>e.getHeight()/2?(t.toRow!==e||!t.toRowAfter)&&(n=e.getElement(),n.parentNode.insertBefore(t.placeholderElement,n.nextSibling),t.moveRow(e,!0)):(t.toRow!==e||t.toRowAfter)&&(n=e.getElement(),n.previousSibling&&(n.parentNode.insertBefore(t.placeholderElement,n),t.moveRow(e,!1)))}).bind(t),e.modules.moveRow=i}initializeRow(e){var t=this,i={},s;i.mouseup=(function(n){t.tableRowDrop(n,e)}).bind(t),i.mousemove=(function(n){var r=e.getElement();n.pageY-x.elOffset(r).top+t.table.rowManager.element.scrollTop>e.getHeight()/2?(t.toRow!==e||!t.toRowAfter)&&(r.parentNode.insertBefore(t.placeholderElement,r.nextSibling),t.moveRow(e,!0)):(t.toRow!==e||t.toRowAfter)&&(r.parentNode.insertBefore(t.placeholderElement,r),t.moveRow(e,!1))}).bind(t),this.hasHandle||(s=e.getElement(),s.addEventListener("mousedown",function(n){n.which===1&&(t.checkTimeout=setTimeout(function(){t.startMove(n,e)},t.checkPeriod))}),s.addEventListener("mouseup",function(n){n.which===1&&t.checkTimeout&&clearTimeout(t.checkTimeout)}),this.bindTouchEvents(e,e.getElement())),e.modules.moveRow=i}initializeColumn(e){e.definition.rowHandle&&this.table.options.movableRows!==!1&&(this.hasHandle=!0)}initializeCell(e){if(e.column.definition.rowHandle&&this.table.options.movableRows!==!1){var t=this,i=e.getElement(!0);i.addEventListener("mousedown",function(s){s.which===1&&(t.checkTimeout=setTimeout(function(){t.startMove(s,e.row)},t.checkPeriod))}),i.addEventListener("mouseup",function(s){s.which===1&&t.checkTimeout&&clearTimeout(t.checkTimeout)}),this.bindTouchEvents(e.row,i)}}bindTouchEvents(e,t){var i=!1,s,n,r,o,a,h;t.addEventListener("touchstart",d=>{this.checkTimeout=setTimeout(()=>{this.touchMove=!0,s=e.nextRow(),r=s?s.getHeight()/2:0,n=e.prevRow(),o=n?n.getHeight()/2:0,a=0,h=0,i=!1,this.startMove(d,e)},this.checkPeriod)},{passive:!0}),this.moving,this.toRow,this.toRowAfter,t.addEventListener("touchmove",d=>{var u,c;this.moving&&(d.preventDefault(),this.moveHover(d),i||(i=d.touches[0].pageY),u=d.touches[0].pageY-i,u>0?s&&u-a>r&&(c=s,c!==e&&(i=d.touches[0].pageY,c.getElement().parentNode.insertBefore(this.placeholderElement,c.getElement().nextSibling),this.moveRow(c,!0))):n&&-u-h>o&&(c=n,c!==e&&(i=d.touches[0].pageY,c.getElement().parentNode.insertBefore(this.placeholderElement,c.getElement()),this.moveRow(c,!1))),c&&(s=c.nextRow(),a=r,r=s?s.getHeight()/2:0,n=c.prevRow(),h=o,o=n?n.getHeight()/2:0))}),t.addEventListener("touchend",d=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&(this.endMove(d),this.touchMove=!1)})}_bindMouseMove(){this.table.rowManager.getDisplayRows().forEach(e=>{(e.type==="row"||e.type==="group")&&e.modules.moveRow&&e.modules.moveRow.mousemove&&e.getElement().addEventListener("mousemove",e.modules.moveRow.mousemove)})}_unbindMouseMove(){this.table.rowManager.getDisplayRows().forEach(e=>{(e.type==="row"||e.type==="group")&&e.modules.moveRow&&e.modules.moveRow.mousemove&&e.getElement().removeEventListener("mousemove",e.modules.moveRow.mousemove)})}startMove(e,t){var i=t.getElement();this.setStartPosition(e,t),this.moving=t,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=t.getWidth()+"px",this.placeholderElement.style.height=t.getHeight()+"px",this.connection?(this.table.element.classList.add("tabulator-movingrow-sending"),this.connectToTables(t)):(i.parentNode.insertBefore(this.placeholderElement,i),i.parentNode.removeChild(i)),this.hoverElement=i.cloneNode(!0),this.hoverElement.classList.add("tabulator-moving"),this.connection?(document.body.appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.top="0",this.hoverElement.style.width=this.table.element.clientWidth+"px",this.hoverElement.style.whiteSpace="nowrap",this.hoverElement.style.overflow="hidden",this.hoverElement.style.pointerEvents="none"):(this.table.rowManager.getTableElement().appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.top="0",this._bindMouseMove()),document.body.addEventListener("mousemove",this.moveHover),document.body.addEventListener("mouseup",this.endMove),this.dispatchExternal("rowMoving",t.getComponent()),this.moveHover(e)}setStartPosition(e,t){var i=this.touchMove?e.touches[0].pageX:e.pageX,s=this.touchMove?e.touches[0].pageY:e.pageY,n,r;n=t.getElement(),this.connection?(r=n.getBoundingClientRect(),this.startX=r.left-i+window.pageXOffset,this.startY=r.top-s+window.pageYOffset):this.startY=s-n.getBoundingClientRect().top}endMove(e){(!e||e.which===1||this.touchMove)&&(this._unbindMouseMove(),this.connection||(this.placeholderElement.parentNode.insertBefore(this.moving.getElement(),this.placeholderElement.nextSibling),this.placeholderElement.parentNode.removeChild(this.placeholderElement)),this.hoverElement.parentNode.removeChild(this.hoverElement),this.table.element.classList.remove("tabulator-block-select"),this.toRow?this.table.rowManager.moveRow(this.moving,this.toRow,this.toRowAfter):this.dispatchExternal("rowMoveCancelled",this.moving.getComponent()),this.moving=!1,this.toRow=!1,this.toRowAfter=!1,document.body.removeEventListener("mousemove",this.moveHover),document.body.removeEventListener("mouseup",this.endMove),this.connection&&(this.table.element.classList.remove("tabulator-movingrow-sending"),this.disconnectFromTables()))}moveRow(e,t){this.toRow=e,this.toRowAfter=t}moveHover(e){this.connection?this.moveHoverConnections.call(this,e):this.moveHoverTable.call(this,e)}moveHoverTable(e){var t=this.table.rowManager.getElement(),i=t.scrollTop,s=(this.touchMove?e.touches[0].pageY:e.pageY)-t.getBoundingClientRect().top+i;this.hoverElement.style.top=Math.min(s-this.startY,this.table.rowManager.element.scrollHeight-this.hoverElement.offsetHeight)+"px"}moveHoverConnections(e){this.hoverElement.style.left=this.startX+(this.touchMove?e.touches[0].pageX:e.pageX)+"px",this.hoverElement.style.top=this.startY+(this.touchMove?e.touches[0].pageY:e.pageY)+"px"}elementRowDrop(e,t,i){this.dispatchExternal("movableRowsElementDrop",e,t,i?i.getComponent():!1)}connectToTables(e){var t;this.connectionSelectorsTables&&(t=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStart",t),this.commsSend(this.connectionSelectorsTables,"moveRow","connect",{row:e})),this.connectionSelectorsElements&&(this.connectionElements=[],Array.isArray(this.connectionSelectorsElements)||(this.connectionSelectorsElements=[this.connectionSelectorsElements]),this.connectionSelectorsElements.forEach(i=>{typeof i=="string"?this.connectionElements=this.connectionElements.concat(Array.prototype.slice.call(document.querySelectorAll(i))):this.connectionElements.push(i)}),this.connectionElements.forEach(i=>{var s=n=>{this.elementRowDrop(n,i,this.moving)};i.addEventListener("mouseup",s),i.tabulatorElementDropEvent=s,i.classList.add("tabulator-movingrow-receiving")}))}disconnectFromTables(){var e;this.connectionSelectorsTables&&(e=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStop",e),this.commsSend(this.connectionSelectorsTables,"moveRow","disconnect")),this.connectionElements.forEach(t=>{t.classList.remove("tabulator-movingrow-receiving"),t.removeEventListener("mouseup",t.tabulatorElementDropEvent),delete t.tabulatorElementDropEvent})}connect(e,t){return this.connectedTable?(console.warn("Move Row Error - Table cannot accept connection, already connected to table:",this.connectedTable),!1):(this.connectedTable=e,this.connectedRow=t,this.table.element.classList.add("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach(i=>{i.type==="row"&&i.modules.moveRow&&i.modules.moveRow.mouseup&&i.getElement().addEventListener("mouseup",i.modules.moveRow.mouseup)}),this.tableRowDropEvent=this.tableRowDrop.bind(this),this.table.element.addEventListener("mouseup",this.tableRowDropEvent),this.dispatchExternal("movableRowsReceivingStart",t,e),!0)}disconnect(e){e===this.connectedTable?(this.connectedTable=!1,this.connectedRow=!1,this.table.element.classList.remove("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach(t=>{t.type==="row"&&t.modules.moveRow&&t.modules.moveRow.mouseup&&t.getElement().removeEventListener("mouseup",t.modules.moveRow.mouseup)}),this.table.element.removeEventListener("mouseup",this.tableRowDropEvent),this.dispatchExternal("movableRowsReceivingStop",e)):console.warn("Move Row Error - trying to disconnect from non connected table")}dropComplete(e,t,i){var s=!1;if(i){switch(typeof this.table.options.movableRowsSender){case"string":s=G.senders[this.table.options.movableRowsSender];break;case"function":s=this.table.options.movableRowsSender;break}s?s.call(this,this.moving?this.moving.getComponent():void 0,t?t.getComponent():void 0,e):this.table.options.movableRowsSender&&console.warn("Mover Row Error - no matching sender found:",this.table.options.movableRowsSender),this.dispatchExternal("movableRowsSent",this.moving.getComponent(),t?t.getComponent():void 0,e)}else this.dispatchExternal("movableRowsSentFailed",this.moving.getComponent(),t?t.getComponent():void 0,e);this.endMove()}tableRowDrop(e,t){var i=!1,s=!1;switch(e.stopImmediatePropagation(),typeof this.table.options.movableRowsReceiver){case"string":i=G.receivers[this.table.options.movableRowsReceiver];break;case"function":i=this.table.options.movableRowsReceiver;break}i?s=i.call(this,this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable):console.warn("Mover Row Error - no matching receiver found:",this.table.options.movableRowsReceiver),s?this.dispatchExternal("movableRowsReceived",this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable):this.dispatchExternal("movableRowsReceivedFailed",this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable),this.commsSend(this.connectedTable,"moveRow","dropcomplete",{row:t,success:s})}commsReceived(e,t,i){switch(t){case"connect":return this.connect(e,i.row);case"disconnect":return this.disconnect(e);case"dropcomplete":return this.dropComplete(e,i.row,i.success)}}};b(G,"moduleName","moveRow"),b(G,"senders",Bi),b(G,"receivers",Vi);let ke=G;var Ii={};const Y=class Y extends w{constructor(e){super(e),this.allowedTypes=["","data","edit","clipboard"],this.enabled=!0,this.registerColumnOption("mutator"),this.registerColumnOption("mutatorParams"),this.registerColumnOption("mutatorData"),this.registerColumnOption("mutatorDataParams"),this.registerColumnOption("mutatorEdit"),this.registerColumnOption("mutatorEditParams"),this.registerColumnOption("mutatorClipboard"),this.registerColumnOption("mutatorClipboardParams"),this.registerColumnOption("mutateLink")}initialize(){this.subscribe("cell-value-changing",this.transformCell.bind(this)),this.subscribe("cell-value-changed",this.mutateLink.bind(this)),this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("row-data-init-before",this.rowDataChanged.bind(this)),this.subscribe("row-data-changing",this.rowDataChanged.bind(this))}rowDataChanged(e,t,i){return this.transformRow(t,"data",i)}initializeColumn(e){var t=!1,i={};this.allowedTypes.forEach(s=>{var n="mutator"+(s.charAt(0).toUpperCase()+s.slice(1)),r;e.definition[n]&&(r=this.lookupMutator(e.definition[n]),r&&(t=!0,i[n]={mutator:r,params:e.definition[n+"Params"]||{}}))}),t&&(e.modules.mutate=i)}lookupMutator(e){var t=!1;switch(typeof e){case"string":Y.mutators[e]?t=Y.mutators[e]:console.warn("Mutator Error - No such mutator found, ignoring: ",e);break;case"function":t=e;break}return t}transformRow(e,t,i){var s="mutator"+(t.charAt(0).toUpperCase()+t.slice(1)),n;return this.enabled&&this.table.columnManager.traverse(r=>{var o,a,h;r.modules.mutate&&(o=r.modules.mutate[s]||r.modules.mutate.mutator||!1,o&&(n=r.getFieldValue(typeof i<"u"?i:e),(t=="data"&&!i||typeof n<"u")&&(h=r.getComponent(),a=typeof o.params=="function"?o.params(n,e,t,h):o.params,r.setFieldValue(e,o.mutator(n,e,t,a,h)))))}),e}transformCell(e,t){if(e.column.modules.mutate){var i=e.column.modules.mutate.mutatorEdit||e.column.modules.mutate.mutator||!1,s={};if(i)return s=Object.assign(s,e.row.getData()),e.column.setFieldValue(s,t),i.mutator(t,s,"edit",i.params,e.getComponent())}return t}mutateLink(e){var t=e.column.definition.mutateLink;t&&(Array.isArray(t)||(t=[t]),t.forEach(i=>{var s=e.row.getCell(i);s&&s.setValue(s.getValue(),!0,!0)}))}enable(){this.enabled=!0}disable(){this.enabled=!1}};b(Y,"moduleName","mutator"),b(Y,"mutators",Ii);let Me=Y;function Ni(l,e,t,i,s){var n=document.createElement("span"),r=document.createElement("span"),o=document.createElement("span"),a=document.createElement("span"),h=document.createElement("span"),d=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",u=>{r.innerHTML=u}),this.table.modules.localize.langBind("pagination|counter|of",u=>{a.innerHTML=u}),this.table.modules.localize.langBind("pagination|counter|rows",u=>{d.innerHTML=u}),i?(o.innerHTML=" "+e+"-"+Math.min(e+l-1,i)+" ",h.innerHTML=" "+i+" ",n.appendChild(r),n.appendChild(o),n.appendChild(a),n.appendChild(h),n.appendChild(d)):(o.innerHTML=" 0 ",n.appendChild(r),n.appendChild(o),n.appendChild(d)),n}function Wi(l,e,t,i,s){var n=document.createElement("span"),r=document.createElement("span"),o=document.createElement("span"),a=document.createElement("span"),h=document.createElement("span"),d=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",u=>{r.innerHTML=u}),o.innerHTML=" "+t+" ",this.table.modules.localize.langBind("pagination|counter|of",u=>{a.innerHTML=u}),h.innerHTML=" "+s+" ",this.table.modules.localize.langBind("pagination|counter|pages",u=>{d.innerHTML=u}),n.appendChild(r),n.appendChild(o),n.appendChild(a),n.appendChild(h),n.appendChild(d),n}var Gi={rows:Ni,pages:Wi};const te=class te extends w{constructor(e){super(e),this.mode="local",this.progressiveLoad=!1,this.element=null,this.pageCounterElement=null,this.pageCounter=null,this.size=0,this.page=1,this.count=5,this.max=1,this.remoteRowCountEstimate=null,this.initialLoad=!0,this.dataChanging=!1,this.pageSizes=[],this.registerTableOption("pagination",!1),this.registerTableOption("paginationMode","local"),this.registerTableOption("paginationSize",!1),this.registerTableOption("paginationInitialPage",1),this.registerTableOption("paginationCounter",!1),this.registerTableOption("paginationCounterElement",!1),this.registerTableOption("paginationButtonCount",5),this.registerTableOption("paginationSizeSelector",!1),this.registerTableOption("paginationElement",!1),this.registerTableOption("paginationAddRow","page"),this.registerTableOption("progressiveLoad",!1),this.registerTableOption("progressiveLoadDelay",0),this.registerTableOption("progressiveLoadScrollMargin",0),this.registerTableFunction("setMaxPage",this.setMaxPage.bind(this)),this.registerTableFunction("setPage",this.setPage.bind(this)),this.registerTableFunction("setPageToRow",this.userSetPageToRow.bind(this)),this.registerTableFunction("setPageSize",this.userSetPageSize.bind(this)),this.registerTableFunction("getPageSize",this.getPageSize.bind(this)),this.registerTableFunction("previousPage",this.previousPage.bind(this)),this.registerTableFunction("nextPage",this.nextPage.bind(this)),this.registerTableFunction("getPage",this.getPage.bind(this)),this.registerTableFunction("getPageMax",this.getPageMax.bind(this)),this.registerComponentFunction("row","pageTo",this.setPageToRow.bind(this))}initialize(){this.table.options.pagination?(this.subscribe("row-deleted",this.rowsUpdated.bind(this)),this.subscribe("row-added",this.rowsUpdated.bind(this)),this.subscribe("data-processed",this.initialLoadComplete.bind(this)),this.subscribe("table-built",this.calculatePageSizes.bind(this)),this.subscribe("footer-redraw",this.footerRedraw.bind(this)),this.table.options.paginationAddRow=="page"&&this.subscribe("row-adding-position",this.rowAddingPosition.bind(this)),this.table.options.paginationMode==="remote"&&(this.subscribe("data-params",this.remotePageParams.bind(this)),this.subscribe("data-loaded",this._parseRemoteData.bind(this))),this.table.options.progressiveLoad&&console.error("Progressive Load Error - Pagination and progressive load cannot be used at the same time"),this.registerDisplayHandler(this.restOnRenderBefore.bind(this),40),this.registerDisplayHandler(this.getRows.bind(this),50),this.createElements(),this.initializePageCounter(),this.initializePaginator()):this.table.options.progressiveLoad&&(this.subscribe("data-params",this.remotePageParams.bind(this)),this.subscribe("data-loaded",this._parseRemoteData.bind(this)),this.subscribe("table-built",this.calculatePageSizes.bind(this)),this.subscribe("data-processed",this.initialLoadComplete.bind(this)),this.initializeProgressive(this.table.options.progressiveLoad),this.table.options.progressiveLoad==="scroll"&&this.subscribe("scroll-vertical",this.scrollVertical.bind(this)))}rowAddingPosition(e,t){var i=this.table.rowManager,s=i.getDisplayRows(),n;return t?s.length?n=s[0]:i.activeRows.length&&(n=i.activeRows[i.activeRows.length-1],t=!1):s.length&&(n=s[s.length-1],t=!(s.length{}))}restOnRenderBefore(e,t){return t||this.mode==="local"&&this.reset(),e}rowsUpdated(){this.refreshData(!0,"all")}createElements(){var e;this.element=document.createElement("span"),this.element.classList.add("tabulator-paginator"),this.pagesElement=document.createElement("span"),this.pagesElement.classList.add("tabulator-pages"),e=document.createElement("button"),e.classList.add("tabulator-page"),e.setAttribute("type","button"),e.setAttribute("role","button"),e.setAttribute("aria-label",""),e.setAttribute("title",""),this.firstBut=e.cloneNode(!0),this.firstBut.setAttribute("data-page","first"),this.prevBut=e.cloneNode(!0),this.prevBut.setAttribute("data-page","prev"),this.nextBut=e.cloneNode(!0),this.nextBut.setAttribute("data-page","next"),this.lastBut=e.cloneNode(!0),this.lastBut.setAttribute("data-page","last"),this.table.options.paginationSizeSelector&&(this.pageSizeSelect=document.createElement("select"),this.pageSizeSelect.classList.add("tabulator-page-size"))}generatePageSizeSelectList(){var e=[];if(this.pageSizeSelect){if(Array.isArray(this.table.options.paginationSizeSelector))e=this.table.options.paginationSizeSelector,this.pageSizes=e,this.pageSizes.indexOf(this.size)==-1&&e.unshift(this.size);else if(this.pageSizes.indexOf(this.size)==-1){e=[];for(let t=1;t<5;t++)e.push(this.size*t);this.pageSizes=e}else e=this.pageSizes;for(;this.pageSizeSelect.firstChild;)this.pageSizeSelect.removeChild(this.pageSizeSelect.firstChild);e.forEach(t=>{var i=document.createElement("option");i.value=t,t===!0?this.langBind("pagination|all",function(s){i.innerHTML=s}):i.innerHTML=t,this.pageSizeSelect.appendChild(i)}),this.pageSizeSelect.value=this.size}}initializePageCounter(){var e=this.table.options.paginationCounter,t=null;e&&(typeof e=="function"?t=e:t=te.pageCounters[e],t?(this.pageCounter=t,this.pageCounterElement=document.createElement("span"),this.pageCounterElement.classList.add("tabulator-page-counter")):console.warn("Pagination Error - No such page counter found: ",e))}initializePaginator(e){var t,i;e||(this.langBind("pagination|first",s=>{this.firstBut.innerHTML=s}),this.langBind("pagination|first_title",s=>{this.firstBut.setAttribute("aria-label",s),this.firstBut.setAttribute("title",s)}),this.langBind("pagination|prev",s=>{this.prevBut.innerHTML=s}),this.langBind("pagination|prev_title",s=>{this.prevBut.setAttribute("aria-label",s),this.prevBut.setAttribute("title",s)}),this.langBind("pagination|next",s=>{this.nextBut.innerHTML=s}),this.langBind("pagination|next_title",s=>{this.nextBut.setAttribute("aria-label",s),this.nextBut.setAttribute("title",s)}),this.langBind("pagination|last",s=>{this.lastBut.innerHTML=s}),this.langBind("pagination|last_title",s=>{this.lastBut.setAttribute("aria-label",s),this.lastBut.setAttribute("title",s)}),this.firstBut.addEventListener("click",()=>{this.setPage(1)}),this.prevBut.addEventListener("click",()=>{this.previousPage()}),this.nextBut.addEventListener("click",()=>{this.nextPage()}),this.lastBut.addEventListener("click",()=>{this.setPage(this.max)}),this.table.options.paginationElement&&(this.element=this.table.options.paginationElement),this.pageSizeSelect&&(t=document.createElement("label"),this.langBind("pagination|page_size",s=>{this.pageSizeSelect.setAttribute("aria-label",s),this.pageSizeSelect.setAttribute("title",s),t.innerHTML=s}),this.element.appendChild(t),this.element.appendChild(this.pageSizeSelect),this.pageSizeSelect.addEventListener("change",s=>{this.setPageSize(this.pageSizeSelect.value=="true"?!0:this.pageSizeSelect.value),this.setPage(1)})),this.element.appendChild(this.firstBut),this.element.appendChild(this.prevBut),this.element.appendChild(this.pagesElement),this.element.appendChild(this.nextBut),this.element.appendChild(this.lastBut),this.table.options.paginationElement||(this.table.options.paginationCounter&&(this.table.options.paginationCounterElement?this.table.options.paginationCounterElement instanceof HTMLElement?this.table.options.paginationCounterElement.appendChild(this.pageCounterElement):typeof this.table.options.paginationCounterElement=="string"&&(i=document.querySelector(this.table.options.paginationCounterElement),i?i.appendChild(this.pageCounterElement):console.warn("Pagination Error - Unable to find element matching paginationCounterElement selector:",this.table.options.paginationCounterElement)):this.footerAppend(this.pageCounterElement)),this.footerAppend(this.element)),this.page=this.table.options.paginationInitialPage,this.count=this.table.options.paginationButtonCount),this.mode=this.table.options.paginationMode}initializeProgressive(e){this.initializePaginator(!0),this.mode="progressive_"+e,this.progressiveLoad=!0}trackChanges(){this.dispatch("page-changed")}setMaxRows(e){e?this.max=this.size===!0?1:Math.ceil(e/this.size):this.max=1,this.page>this.max&&(this.page=this.max)}reset(e){this.initialLoad||(this.mode=="local"||e)&&(this.page=1,this.trackChanges())}setMaxPage(e){e=parseInt(e),this.max=e||1,this.page>this.max&&(this.page=this.max,this.trigger())}setPage(e){switch(e){case"first":return this.setPage(1);case"prev":return this.previousPage();case"next":return this.nextPage();case"last":return this.setPage(this.max)}return e=parseInt(e),e>0&&e<=this.max||this.mode!=="local"?(this.page=e,this.trackChanges(),this.trigger()):(console.warn("Pagination Error - Requested page is out of range of 1 - "+this.max+":",e),Promise.reject())}setPageToRow(e){var t=this.displayRows(-1),i=t.indexOf(e);if(i>-1){var s=this.size===!0?1:Math.ceil((i+1)/this.size);return this.setPage(s)}else return console.warn("Pagination Error - Requested row is not visible"),Promise.reject()}setPageSize(e){e!==!0&&(e=parseInt(e)),e>0&&(this.size=e,this.dispatchExternal("pageSizeChanged",e)),this.pageSizeSelect&&this.generatePageSizeSelectList(),this.trackChanges()}_setPageCounter(e,t,i){var s;if(this.pageCounter)switch(this.mode==="remote"&&(t=this.size,i=(this.page-1)*this.size+1,e=this.remoteRowCountEstimate),s=this.pageCounter.call(this,t,i,this.page,e,this.max),typeof s){case"object":if(s instanceof Node){for(;this.pageCounterElement.firstChild;)this.pageCounterElement.removeChild(this.pageCounterElement.firstChild);this.pageCounterElement.appendChild(s)}else this.pageCounterElement.innerHTML="",s!=null&&console.warn("Page Counter Error - Page Counter has returned a type of object, the only valid page counter object return is an instance of Node, the page counter returned:",s);break;case"undefined":this.pageCounterElement.innerHTML="";break;default:this.pageCounterElement.innerHTML=s}}_setPageButtons(){let e=Math.floor((this.count-1)/2),t=Math.ceil((this.count-1)/2),i=this.max-this.page+e+10&&n<=this.max&&this.pagesElement.appendChild(this._generatePageButton(n));this.footerRedraw()}_generatePageButton(e){var t=document.createElement("button");return t.classList.add("tabulator-page"),e==this.page&&t.classList.add("active"),t.setAttribute("type","button"),t.setAttribute("role","button"),this.langBind("pagination|page_title",i=>{t.setAttribute("aria-label",i+" "+e),t.setAttribute("title",i+" "+e)}),t.setAttribute("data-page",e),t.textContent=e,t.addEventListener("click",i=>{this.setPage(e)}),t}previousPage(){return this.page>1?(this.page--,this.trackChanges(),this.trigger()):(console.warn("Pagination Error - Previous page would be less than page 1:",0),Promise.reject())}nextPage(){return this.pagea.type==="row");if(this.mode=="local"){i=[],this.setMaxRows(e.length),this.size===!0?(s=0,n=e.length):(s=this.size*(this.page-1),n=s+parseInt(this.size)),this._setPageButtons();for(let a=s;a{this.dataChanging=!1});case"progressive_load":case"progressive_scroll":return this.reloadData(null,!0);default:return console.warn("Pagination Error - no such pagination mode:",this.mode),Promise.reject()}}_parseRemoteData(e){var t;if(typeof e.last_page>"u"&&console.warn("Remote Pagination Error - Server response missing '"+(this.options("dataReceiveParams").last_page||"last_page")+"' property"),e.data)if(this.max=parseInt(e.last_page)||1,this.remoteRowCountEstimate=typeof e.last_row<"u"?e.last_row:e.last_page*this.size-(this.page==e.last_page?this.size-e.data.length:0),this.progressiveLoad){switch(this.mode){case"progressive_load":this.page==1?this.table.rowManager.setData(e.data,!1,this.page==1):this.table.rowManager.addRows(e.data),this.page{this.nextPage()},this.table.options.progressiveLoadDelay);break;case"progressive_scroll":e=this.page===1?e.data:this.table.rowManager.getData().concat(e.data),this.table.rowManager.setData(e,this.page!==1,this.page==1),t=this.table.options.progressiveLoadScrollMargin||this.table.rowManager.element.clientHeight*2,this.table.rowManager.element.scrollHeight<=this.table.rowManager.element.clientHeight+t&&this.page{this.nextPage()});break}return!1}else this.dispatchExternal("pageLoaded",this.getPage());else console.warn("Remote Pagination Error - Server response missing '"+(this.options("dataReceiveParams").data||"data")+"' property");return e.data}footerRedraw(){var e=this.table.footerManager.containerElement;Math.ceil(e.clientWidth)-e.scrollWidth<0?this.pagesElement.style.display="none":(this.pagesElement.style.display="",Math.ceil(e.clientWidth)-e.scrollWidth<0&&(this.pagesElement.style.display="none"))}};b(te,"moduleName","page"),b(te,"pageCounters",Gi);let Le=te;var ji={local:function(l,e){var t=localStorage.getItem(l+"-"+e);return t?JSON.parse(t):!1},cookie:function(l,e){var t=document.cookie,i=l+"-"+e,s=t.indexOf(i+"="),n,r;return s>-1&&(t=t.slice(s),n=t.indexOf(";"),n>-1&&(t=t.slice(0,n)),r=t.replace(i+"=","")),r?JSON.parse(r):!1}},Ui={local:function(l,e,t){localStorage.setItem(l+"-"+e,JSON.stringify(t))},cookie:function(l,e,t){var i=new Date;i.setDate(i.getDate()+1e4),document.cookie=l+"-"+e+"="+JSON.stringify(t)+"; expires="+i.toUTCString()}};const D=class D extends w{constructor(e){super(e),this.mode="",this.id="",this.defWatcherBlock=!1,this.config={},this.readFunc=!1,this.writeFunc=!1,this.registerTableOption("persistence",!1),this.registerTableOption("persistenceID",""),this.registerTableOption("persistenceMode",!0),this.registerTableOption("persistenceReaderFunc",!1),this.registerTableOption("persistenceWriterFunc",!1)}localStorageTest(){var e="_tabulator_test";try{return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch{return!1}}initialize(){if(this.table.options.persistence){var e=this.table.options.persistenceMode,t=this.table.options.persistenceID,i;this.mode=e!==!0?e:this.localStorageTest()?"local":"cookie",this.table.options.persistenceReaderFunc?typeof this.table.options.persistenceReaderFunc=="function"?this.readFunc=this.table.options.persistenceReaderFunc:D.readers[this.table.options.persistenceReaderFunc]?this.readFunc=D.readers[this.table.options.persistenceReaderFunc]:console.warn("Persistence Read Error - invalid reader set",this.table.options.persistenceReaderFunc):D.readers[this.mode]?this.readFunc=D.readers[this.mode]:console.warn("Persistence Read Error - invalid reader set",this.mode),this.table.options.persistenceWriterFunc?typeof this.table.options.persistenceWriterFunc=="function"?this.writeFunc=this.table.options.persistenceWriterFunc:D.writers[this.table.options.persistenceWriterFunc]?this.writeFunc=D.writers[this.table.options.persistenceWriterFunc]:console.warn("Persistence Write Error - invalid reader set",this.table.options.persistenceWriterFunc):D.writers[this.mode]?this.writeFunc=D.writers[this.mode]:console.warn("Persistence Write Error - invalid writer set",this.mode),this.id="tabulator-"+(t||this.table.element.getAttribute("id")||""),this.config={sort:this.table.options.persistence===!0||this.table.options.persistence.sort,filter:this.table.options.persistence===!0||this.table.options.persistence.filter,headerFilter:this.table.options.persistence===!0||this.table.options.persistence.headerFilter,group:this.table.options.persistence===!0||this.table.options.persistence.group,page:this.table.options.persistence===!0||this.table.options.persistence.page,columns:this.table.options.persistence===!0?["title","width","visible"]:this.table.options.persistence.columns},this.config.page&&(i=this.retrieveData("page"),i&&(typeof i.paginationSize<"u"&&(this.config.page===!0||this.config.page.size)&&(this.table.options.paginationSize=i.paginationSize),typeof i.paginationInitialPage<"u"&&(this.config.page===!0||this.config.page.page)&&(this.table.options.paginationInitialPage=i.paginationInitialPage))),this.config.group&&(i=this.retrieveData("group"),i&&(typeof i.groupBy<"u"&&(this.config.group===!0||this.config.group.groupBy)&&(this.table.options.groupBy=i.groupBy),typeof i.groupStartOpen<"u"&&(this.config.group===!0||this.config.group.groupStartOpen)&&(this.table.options.groupStartOpen=i.groupStartOpen),typeof i.groupHeader<"u"&&(this.config.group===!0||this.config.group.groupHeader)&&(this.table.options.groupHeader=i.groupHeader))),this.config.columns&&(this.table.options.columns=this.load("columns",this.table.options.columns),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-show",this.save.bind(this,"columns")),this.subscribe("column-hide",this.save.bind(this,"columns")),this.subscribe("column-moved",this.save.bind(this,"columns"))),this.subscribe("table-built",this.tableBuilt.bind(this),0),this.subscribe("table-redraw",this.tableRedraw.bind(this)),this.subscribe("filter-changed",this.eventSave.bind(this,"filter")),this.subscribe("filter-changed",this.eventSave.bind(this,"headerFilter")),this.subscribe("sort-changed",this.eventSave.bind(this,"sort")),this.subscribe("group-changed",this.eventSave.bind(this,"group")),this.subscribe("page-changed",this.eventSave.bind(this,"page")),this.subscribe("column-resized",this.eventSave.bind(this,"columns")),this.subscribe("column-width",this.eventSave.bind(this,"columns")),this.subscribe("layout-refreshed",this.eventSave.bind(this,"columns"))}this.registerTableFunction("getColumnLayout",this.getColumnLayout.bind(this)),this.registerTableFunction("setColumnLayout",this.setColumnLayout.bind(this))}eventSave(e){this.config[e]&&this.save(e)}tableBuilt(){var e,t,i;this.config.sort&&(e=this.load("sort"),e&&(this.table.options.initialSort=e)),this.config.filter&&(t=this.load("filter"),t&&(this.table.options.initialFilter=t)),this.config.headerFilter&&(i=this.load("headerFilter"),i&&(this.table.options.initialHeaderFilter=i))}tableRedraw(e){e&&this.config.columns&&this.save("columns")}getColumnLayout(){return this.parseColumns(this.table.columnManager.getColumns())}setColumnLayout(e){return this.table.columnManager.setColumns(this.mergeDefinition(this.table.options.columns,e,!0)),!0}initializeColumn(e){var t,i;this.config.columns&&(this.defWatcherBlock=!0,t=e.getDefinition(),i=this.config.columns===!0?Object.keys(t):this.config.columns,i.forEach(s=>{var n=Object.getOwnPropertyDescriptor(t,s),r=t[s];n&&Object.defineProperty(t,s,{set:o=>{r=o,this.defWatcherBlock||this.save("columns"),n.set&&n.set(o)},get:()=>(n.get&&n.get(),r)})}),this.defWatcherBlock=!1)}load(e,t){var i=this.retrieveData(e);return t&&(i=i?this.mergeDefinition(t,i):t),i}retrieveData(e){return this.readFunc?this.readFunc(this.id,e):!1}mergeDefinition(e,t,i){var s=[];return t=t||[],t.forEach((n,r)=>{var o=this._findColumn(e,n),a;o&&(i?a=Object.keys(n):this.config.columns===!0||this.config.columns==null?(a=Object.keys(o),a.push("width")):a=this.config.columns,a.forEach(h=>{h!=="columns"&&typeof n[h]<"u"&&(o[h]=n[h])}),o.columns&&(o.columns=this.mergeDefinition(o.columns,n.columns)),s.push(o))}),e.forEach((n,r)=>{var o=this._findColumn(t,n);o||(s.length>r?s.splice(r,0,n):s.push(n))}),s}_findColumn(e,t){var i=t.columns?"group":t.field?"field":"object";return e.find(function(s){switch(i){case"group":return s.title===t.title&&s.columns.length===t.columns.length;case"field":return s.field===t.field;case"object":return s===t}})}save(e){var t={};switch(e){case"columns":t=this.parseColumns(this.table.columnManager.getColumns());break;case"filter":t=this.table.modules.filter.getFilters();break;case"headerFilter":t=this.table.modules.filter.getHeaderFilters();break;case"sort":t=this.validateSorters(this.table.modules.sort.getSort());break;case"group":t=this.getGroupConfig();break;case"page":t=this.getPageConfig();break}this.writeFunc&&this.writeFunc(this.id,e,t)}validateSorters(e){return e.forEach(function(t){t.column=t.field,delete t.field}),e}getGroupConfig(){var e={};return this.config.group&&((this.config.group===!0||this.config.group.groupBy)&&(e.groupBy=this.table.options.groupBy),(this.config.group===!0||this.config.group.groupStartOpen)&&(e.groupStartOpen=this.table.options.groupStartOpen),(this.config.group===!0||this.config.group.groupHeader)&&(e.groupHeader=this.table.options.groupHeader)),e}getPageConfig(){var e={};return this.config.page&&((this.config.page===!0||this.config.page.size)&&(e.paginationSize=this.table.modules.page.getPageSize()),(this.config.page===!0||this.config.page.page)&&(e.paginationInitialPage=this.table.modules.page.getPage())),e}parseColumns(e){var t=[],i=["headerContextMenu","headerMenu","contextMenu","clickMenu"];return e.forEach(s=>{var n={},r=s.getDefinition(),o;s.isGroup?(n.title=r.title,n.columns=this.parseColumns(s.getColumns())):(n.field=s.getField(),this.config.columns===!0||this.config.columns==null?(o=Object.keys(r),o.push("width"),o.push("visible")):o=this.config.columns,o.forEach(a=>{switch(a){case"width":n.width=s.getWidth();break;case"visible":n.visible=s.visible;break;default:typeof r[a]!="function"&&i.indexOf(a)===-1&&(n[a]=r[a])}})),t.push(n)}),t}};b(D,"moduleName","persistence"),b(D,"moduleInitOrder",-10),b(D,"readers",ji),b(D,"writers",Ui);let Se=D;class at extends w{constructor(e){super(e),this.columnSubscribers={},this.registerTableOption("rowContextPopup",!1),this.registerTableOption("rowClickPopup",!1),this.registerTableOption("rowDblClickPopup",!1),this.registerTableOption("groupContextPopup",!1),this.registerTableOption("groupClickPopup",!1),this.registerTableOption("groupDblClickPopup",!1),this.registerColumnOption("headerContextPopup"),this.registerColumnOption("headerClickPopup"),this.registerColumnOption("headerDblClickPopup"),this.registerColumnOption("headerPopup"),this.registerColumnOption("headerPopupIcon"),this.registerColumnOption("contextPopup"),this.registerColumnOption("clickPopup"),this.registerColumnOption("dblClickPopup"),this.registerComponentFunction("cell","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("column","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("row","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("group","popup",this._componentPopupCall.bind(this))}initialize(){this.initializeRowWatchers(),this.initializeGroupWatchers(),this.subscribe("column-init",this.initializeColumn.bind(this))}_componentPopupCall(e,t,i){this.loadPopupEvent(t,null,e,i)}initializeRowWatchers(){this.table.options.rowContextPopup&&(this.subscribe("row-contextmenu",this.loadPopupEvent.bind(this,this.table.options.rowContextPopup)),this.table.on("rowTapHold",this.loadPopupEvent.bind(this,this.table.options.rowContextPopup))),this.table.options.rowClickPopup&&this.subscribe("row-click",this.loadPopupEvent.bind(this,this.table.options.rowClickPopup)),this.table.options.rowDblClickPopup&&this.subscribe("row-dblclick",this.loadPopupEvent.bind(this,this.table.options.rowDblClickPopup))}initializeGroupWatchers(){this.table.options.groupContextPopup&&(this.subscribe("group-contextmenu",this.loadPopupEvent.bind(this,this.table.options.groupContextPopup)),this.table.on("groupTapHold",this.loadPopupEvent.bind(this,this.table.options.groupContextPopup))),this.table.options.groupClickPopup&&this.subscribe("group-click",this.loadPopupEvent.bind(this,this.table.options.groupClickPopup)),this.table.options.groupDblClickPopup&&this.subscribe("group-dblclick",this.loadPopupEvent.bind(this,this.table.options.groupDblClickPopup))}initializeColumn(e){var t=e.definition;t.headerContextPopup&&!this.columnSubscribers.headerContextPopup&&(this.columnSubscribers.headerContextPopup=this.loadPopupTableColumnEvent.bind(this,"headerContextPopup"),this.subscribe("column-contextmenu",this.columnSubscribers.headerContextPopup),this.table.on("headerTapHold",this.loadPopupTableColumnEvent.bind(this,"headerContextPopup"))),t.headerClickPopup&&!this.columnSubscribers.headerClickPopup&&(this.columnSubscribers.headerClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerClickPopup"),this.subscribe("column-click",this.columnSubscribers.headerClickPopup)),t.headerDblClickPopup&&!this.columnSubscribers.headerDblClickPopup&&(this.columnSubscribers.headerDblClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerDblClickPopup"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickPopup)),t.headerPopup&&this.initializeColumnHeaderPopup(e),t.contextPopup&&!this.columnSubscribers.contextPopup&&(this.columnSubscribers.contextPopup=this.loadPopupTableCellEvent.bind(this,"contextPopup"),this.subscribe("cell-contextmenu",this.columnSubscribers.contextPopup),this.table.on("cellTapHold",this.loadPopupTableCellEvent.bind(this,"contextPopup"))),t.clickPopup&&!this.columnSubscribers.clickPopup&&(this.columnSubscribers.clickPopup=this.loadPopupTableCellEvent.bind(this,"clickPopup"),this.subscribe("cell-click",this.columnSubscribers.clickPopup)),t.dblClickPopup&&!this.columnSubscribers.dblClickPopup&&(this.columnSubscribers.dblClickPopup=this.loadPopupTableCellEvent.bind(this,"dblClickPopup"),this.subscribe("cell-click",this.columnSubscribers.dblClickPopup))}initializeColumnHeaderPopup(e){var t=e.definition.headerPopupIcon,i;i=document.createElement("span"),i.classList.add("tabulator-header-popup-button"),t?(typeof t=="function"&&(t=t(e.getComponent())),t instanceof HTMLElement?i.appendChild(t):i.innerHTML=t):i.innerHTML="⋮",i.addEventListener("click",s=>{s.stopPropagation(),s.preventDefault(),this.loadPopupEvent(e.definition.headerPopup,s,e)}),e.titleElement.insertBefore(i,e.titleElement.firstChild)}loadPopupTableCellEvent(e,t,i){i._cell&&(i=i._cell),i.column.definition[e]&&this.loadPopupEvent(i.column.definition[e],t,i)}loadPopupTableColumnEvent(e,t,i){i._column&&(i=i._column),i.definition[e]&&this.loadPopupEvent(i.definition[e],t,i)}loadPopupEvent(e,t,i,s){var n;function r(o){n=o}i._group?i=i._group:i._row&&(i=i._row),e=typeof e=="function"?e.call(this.table,t,i.getComponent(),r):e,this.loadPopup(t,i,e,n,s)}loadPopup(e,t,i,s,n){var r=!(e instanceof MouseEvent),o,a;i instanceof HTMLElement?o=i:(o=document.createElement("div"),o.innerHTML=i),o.classList.add("tabulator-popup"),o.addEventListener("click",h=>{h.stopPropagation()}),r||e.preventDefault(),a=this.popup(o),typeof s=="function"&&a.renderCallback(s),e?a.show(e):a.show(t.getElement(),n||"center"),a.hideOnBlur(()=>{this.dispatchExternal("popupClosed",t.getComponent())}),this.dispatchExternal("popupOpened",t.getComponent())}}b(at,"moduleName","popup");class lt extends w{constructor(e){super(e),this.element=!1,this.manualBlock=!1,this.beforeprintEventHandler=null,this.afterprintEventHandler=null,this.registerTableOption("printAsHtml",!1),this.registerTableOption("printFormatter",!1),this.registerTableOption("printHeader",!1),this.registerTableOption("printFooter",!1),this.registerTableOption("printStyled",!0),this.registerTableOption("printRowRange","visible"),this.registerTableOption("printConfig",{}),this.registerColumnOption("print"),this.registerColumnOption("titlePrint")}initialize(){this.table.options.printAsHtml&&(this.beforeprintEventHandler=this.replaceTable.bind(this),this.afterprintEventHandler=this.cleanup.bind(this),window.addEventListener("beforeprint",this.beforeprintEventHandler),window.addEventListener("afterprint",this.afterprintEventHandler),this.subscribe("table-destroy",this.destroy.bind(this))),this.registerTableFunction("print",this.printFullscreen.bind(this))}destroy(){this.table.options.printAsHtml&&(window.removeEventListener("beforeprint",this.beforeprintEventHandler),window.removeEventListener("afterprint",this.afterprintEventHandler))}replaceTable(){this.manualBlock||(this.element=document.createElement("div"),this.element.classList.add("tabulator-print-table"),this.element.appendChild(this.table.modules.export.generateTable(this.table.options.printConfig,this.table.options.printStyled,this.table.options.printRowRange,"print")),this.table.element.style.display="none",this.table.element.parentNode.insertBefore(this.element,this.table.element))}cleanup(){document.body.classList.remove("tabulator-print-fullscreen-hide"),this.element&&this.element.parentNode&&(this.element.parentNode.removeChild(this.element),this.table.element.style.display="")}printFullscreen(e,t,i){var s=window.scrollX,n=window.scrollY,r=document.createElement("div"),o=document.createElement("div"),a=this.table.modules.export.generateTable(typeof i<"u"?i:this.table.options.printConfig,typeof t<"u"?t:this.table.options.printStyled,e||this.table.options.printRowRange,"print"),h,d;this.manualBlock=!0,this.element=document.createElement("div"),this.element.classList.add("tabulator-print-fullscreen"),this.table.options.printHeader&&(r.classList.add("tabulator-print-header"),h=typeof this.table.options.printHeader=="function"?this.table.options.printHeader.call(this.table):this.table.options.printHeader,typeof h=="string"?r.innerHTML=h:r.appendChild(h),this.element.appendChild(r)),this.element.appendChild(a),this.table.options.printFooter&&(o.classList.add("tabulator-print-footer"),d=typeof this.table.options.printFooter=="function"?this.table.options.printFooter.call(this.table):this.table.options.printFooter,typeof d=="string"?o.innerHTML=d:o.appendChild(d),this.element.appendChild(o)),document.body.classList.add("tabulator-print-fullscreen-hide"),document.body.appendChild(this.element),this.table.options.printFormatter&&this.table.options.printFormatter(this.element,a),window.print(),this.cleanup(),window.scrollTo(s,n),this.manualBlock=!1}}b(lt,"moduleName","print");class ht extends w{constructor(e){super(e),this.data=!1,this.blocked=!1,this.origFuncs={},this.currentVersion=0,this.registerTableOption("reactiveData",!1)}initialize(){this.table.options.reactiveData&&(this.subscribe("cell-value-save-before",this.block.bind(this,"cellsave")),this.subscribe("cell-value-save-after",this.unblock.bind(this,"cellsave")),this.subscribe("row-data-save-before",this.block.bind(this,"rowsave")),this.subscribe("row-data-save-after",this.unblock.bind(this,"rowsave")),this.subscribe("row-data-init-after",this.watchRow.bind(this)),this.subscribe("data-processing",this.watchData.bind(this)),this.subscribe("table-destroy",this.unwatchData.bind(this)))}watchData(e){var t=this,i;this.currentVersion++,i=this.currentVersion,this.unwatchData(),this.data=e,this.origFuncs.push=e.push,Object.defineProperty(this.data,"push",{enumerable:!1,configurable:!0,value:function(){var s=Array.from(arguments),n;return!t.blocked&&i===t.currentVersion&&(t.block("data-push"),s.forEach(r=>{t.table.rowManager.addRowActual(r,!1)}),n=t.origFuncs.push.apply(e,arguments),t.unblock("data-push")),n}}),this.origFuncs.unshift=e.unshift,Object.defineProperty(this.data,"unshift",{enumerable:!1,configurable:!0,value:function(){var s=Array.from(arguments),n;return!t.blocked&&i===t.currentVersion&&(t.block("data-unshift"),s.forEach(r=>{t.table.rowManager.addRowActual(r,!0)}),n=t.origFuncs.unshift.apply(e,arguments),t.unblock("data-unshift")),n}}),this.origFuncs.shift=e.shift,Object.defineProperty(this.data,"shift",{enumerable:!1,configurable:!0,value:function(){var s,n;return!t.blocked&&i===t.currentVersion&&(t.block("data-shift"),t.data.length&&(s=t.table.rowManager.getRowFromDataObject(t.data[0]),s&&s.deleteActual()),n=t.origFuncs.shift.call(e),t.unblock("data-shift")),n}}),this.origFuncs.pop=e.pop,Object.defineProperty(this.data,"pop",{enumerable:!1,configurable:!0,value:function(){var s,n;return!t.blocked&&i===t.currentVersion&&(t.block("data-pop"),t.data.length&&(s=t.table.rowManager.getRowFromDataObject(t.data[t.data.length-1]),s&&s.deleteActual()),n=t.origFuncs.pop.call(e),t.unblock("data-pop")),n}}),this.origFuncs.splice=e.splice,Object.defineProperty(this.data,"splice",{enumerable:!1,configurable:!0,value:function(){var s=Array.from(arguments),n=s[0]<0?e.length+s[0]:s[0],r=s[1],o=s[2]?s.slice(2):!1,a,h;if(!t.blocked&&i===t.currentVersion){if(t.block("data-splice"),o&&(a=e[n]?t.table.rowManager.getRowFromDataObject(e[n]):!1,a?o.forEach(u=>{t.table.rowManager.addRowActual(u,!0,a,!0)}):(o=o.slice().reverse(),o.forEach(u=>{t.table.rowManager.addRowActual(u,!0,!1,!0)}))),r!==0){var d=e.slice(n,typeof s[1]>"u"?s[1]:n+r);d.forEach((u,c)=>{var f=t.table.rowManager.getRowFromDataObject(u);f&&f.deleteActual(c!==d.length-1)})}(o||r!==0)&&t.table.rowManager.reRenderInPosition(),h=t.origFuncs.splice.apply(e,arguments),t.unblock("data-splice")}return h}})}unwatchData(){if(this.data!==!1)for(var e in this.origFuncs)Object.defineProperty(this.data,e,{enumerable:!0,configurable:!0,writable:!0,value:this.origFuncs.key})}watchRow(e){var t=e.getData();for(var i in t)this.watchKey(e,t,i);this.table.options.dataTree&&this.watchTreeChildren(e)}watchTreeChildren(e){var t=this,i=e.getData()[this.table.options.dataTreeChildField],s={};i&&(s.push=i.push,Object.defineProperty(i,"push",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-push");var n=s.push.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-push")}return n}}),s.unshift=i.unshift,Object.defineProperty(i,"unshift",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-unshift");var n=s.unshift.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-unshift")}return n}}),s.shift=i.shift,Object.defineProperty(i,"shift",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-shift");var n=s.shift.call(i);this.rebuildTree(e),t.unblock("tree-shift")}return n}}),s.pop=i.pop,Object.defineProperty(i,"pop",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-pop");var n=s.pop.call(i);this.rebuildTree(e),t.unblock("tree-pop")}return n}}),s.splice=i.splice,Object.defineProperty(i,"splice",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-splice");var n=s.splice.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-splice")}return n}}))}rebuildTree(e){this.table.modules.dataTree.initializeRow(e),this.table.modules.dataTree.layoutRow(e),this.table.rowManager.refreshActiveData("tree",!1,!0)}watchKey(e,t,i){var s=this,n=Object.getOwnPropertyDescriptor(t,i),r=t[i],o=this.currentVersion;Object.defineProperty(t,i,{set:a=>{if(r=a,!s.blocked&&o===s.currentVersion){s.block("key");var h={};h[i]=a,e.updateData(h),s.unblock("key")}n.set&&n.set(a)},get:()=>(n.get&&n.get(),r)})}unwatchRow(e){var t=e.getData();for(var i in t)Object.defineProperty(t,i,{value:t[i]})}block(e){this.blocked||(this.blocked=e)}unblock(e){this.blocked===e&&(this.blocked=!1)}}b(ht,"moduleName","reactiveData");class dt extends w{constructor(e){super(e),this.startColumn=!1,this.startX=!1,this.startWidth=!1,this.latestX=!1,this.handle=null,this.initialNextColumn=null,this.nextColumn=null,this.initialized=!1,this.registerColumnOption("resizable",!0),this.registerTableOption("resizableColumnFit",!1),this.registerTableOption("resizableColumnGuide",!1)}initialize(){this.subscribe("column-rendered",this.layoutColumnHeader.bind(this))}initializeEventWatchers(){this.initialized||(this.subscribe("cell-rendered",this.layoutCellHandles.bind(this)),this.subscribe("cell-delete",this.deInitializeComponent.bind(this)),this.subscribe("cell-height",this.resizeHandle.bind(this)),this.subscribe("column-moved",this.columnLayoutUpdated.bind(this)),this.subscribe("column-hide",this.deInitializeColumn.bind(this)),this.subscribe("column-show",this.columnLayoutUpdated.bind(this)),this.subscribe("column-width",this.columnWidthUpdated.bind(this)),this.subscribe("column-delete",this.deInitializeComponent.bind(this)),this.subscribe("column-height",this.resizeHandle.bind(this)),this.initialized=!0)}layoutCellHandles(e){e.row.type==="row"&&(this.deInitializeComponent(e),this.initializeColumn("cell",e,e.column,e.element))}layoutColumnHeader(e){e.definition.resizable&&(this.initializeEventWatchers(),this.deInitializeComponent(e),this.initializeColumn("header",e,e,e.element))}columnLayoutUpdated(e){var t=e.prevColumn();this.reinitializeColumn(e),t&&this.reinitializeColumn(t)}columnWidthUpdated(e){e.modules.frozen&&(this.table.modules.frozenColumns.leftColumns.includes(e)?this.table.modules.frozenColumns.leftColumns.forEach(t=>{this.reinitializeColumn(t)}):this.table.modules.frozenColumns.rightColumns.includes(e)&&this.table.modules.frozenColumns.rightColumns.forEach(t=>{this.reinitializeColumn(t)}))}frozenColumnOffset(e){var t=!1;return e.modules.frozen&&(t=e.modules.frozen.marginValue,e.modules.frozen.position==="left"?t+=e.getWidth()-3:t&&(t-=3)),t!==!1?t+"px":!1}reinitializeColumn(e){var t=this.frozenColumnOffset(e);e.cells.forEach(i=>{i.modules.resize&&i.modules.resize.handleEl&&(t&&(i.modules.resize.handleEl.style[e.modules.frozen.position]=t,i.modules.resize.handleEl.style["z-index"]=11),i.element.after(i.modules.resize.handleEl))}),e.modules.resize&&e.modules.resize.handleEl&&(t&&(e.modules.resize.handleEl.style[e.modules.frozen.position]=t),e.element.after(e.modules.resize.handleEl))}initializeColumn(e,t,i,s){var n=this,r=!1,o=i.definition.resizable,a={},h=i.getLastColumn();if(e==="header"&&(r=i.definition.formatter=="textarea"||i.definition.variableHeight,a={variableHeight:r}),(o===!0||o==e)&&this._checkResizability(h)){var d=document.createElement("span");d.className="tabulator-col-resize-handle",d.addEventListener("click",function(c){c.stopPropagation()});var u=function(c){n.startColumn=i,n.initialNextColumn=n.nextColumn=h.nextColumn(),n._mouseDown(c,h,d)};d.addEventListener("mousedown",u),d.addEventListener("touchstart",u,{passive:!0}),d.addEventListener("dblclick",c=>{var f=h.getWidth();c.stopPropagation(),h.reinitializeWidth(!0),f!==h.getWidth()&&(n.dispatch("column-resized",h),n.dispatchExternal("columnResized",h.getComponent()))}),i.modules.frozen&&(d.style.position="sticky",d.style[i.modules.frozen.position]=this.frozenColumnOffset(i)),a.handleEl=d,s.parentNode&&i.visible&&s.after(d)}t.modules.resize=a}deInitializeColumn(e){this.deInitializeComponent(e),e.cells.forEach(t=>{this.deInitializeComponent(t)})}deInitializeComponent(e){var t;e.modules.resize&&(t=e.modules.resize.handleEl,t&&t.parentElement&&t.parentElement.removeChild(t))}resizeHandle(e,t){e.modules.resize&&e.modules.resize.handleEl&&(e.modules.resize.handleEl.style.height=t)}resize(e,t){var i=typeof e.clientX>"u"?e.touches[0].clientX:e.clientX,s=i-this.startX,n=i-this.latestX,r,o;if(this.latestX=i,this.table.rtl&&(s=-s,n=-n),r=t.width==t.minWidth||t.width==t.maxWidth,t.setWidth(this.startWidth+s),o=t.width==t.minWidth||t.width==t.maxWidth,n<0&&(this.nextColumn=this.initialNextColumn),this.table.options.resizableColumnFit&&this.nextColumn&&!(r&&o)){let a=this.nextColumn.getWidth();n>0&&a<=this.nextColumn.minWidth&&(this.nextColumn=this.nextColumn.nextColumn()),this.nextColumn&&this.nextColumn.setWidth(this.nextColumn.getWidth()-n)}this.table.columnManager.rerenderColumns(!0),!this.table.browserSlow&&t.modules.resize&&t.modules.resize.variableHeight&&t.checkCellHeights()}calcGuidePosition(e,t,i){var s=typeof e.clientX>"u"?e.touches[0].clientX:e.clientX,n=i.getBoundingClientRect().x-this.table.element.getBoundingClientRect().x,r=this.table.element.getBoundingClientRect().x,o=t.element.getBoundingClientRect().left-r,a=s-this.startX,h=Math.max(n+a,o+t.minWidth);return t.maxWidth&&(h=Math.min(h,o+t.maxWidth)),h}_checkResizability(e){return e.definition.resizable}_mouseDown(e,t,i){var s=this,n;this.dispatchExternal("columnResizing",t.getComponent()),s.table.options.resizableColumnGuide&&(n=document.createElement("span"),n.classList.add("tabulator-col-resize-guide"),s.table.element.appendChild(n),setTimeout(()=>{n.style.left=s.calcGuidePosition(e,t,i)+"px"})),s.table.element.classList.add("tabulator-block-select");function r(a){s.table.options.resizableColumnGuide?n.style.left=s.calcGuidePosition(a,t,i)+"px":s.resize(a,t)}function o(a){s.table.options.resizableColumnGuide&&(s.resize(a,t),n.remove()),s.startColumn.modules.edit&&(s.startColumn.modules.edit.blocked=!1),s.table.browserSlow&&t.modules.resize&&t.modules.resize.variableHeight&&t.checkCellHeights(),document.body.removeEventListener("mouseup",o),document.body.removeEventListener("mousemove",r),i.removeEventListener("touchmove",r),i.removeEventListener("touchend",o),s.table.element.classList.remove("tabulator-block-select"),s.startWidth!==t.getWidth()&&(s.table.columnManager.verticalAlignHeaders(),s.dispatch("column-resized",t),s.dispatchExternal("columnResized",t.getComponent()))}e.stopPropagation(),s.startColumn.modules.edit&&(s.startColumn.modules.edit.blocked=!0),s.startX=typeof e.clientX>"u"?e.touches[0].clientX:e.clientX,s.latestX=s.startX,s.startWidth=t.getWidth(),document.body.addEventListener("mousemove",r),document.body.addEventListener("mouseup",o),i.addEventListener("touchmove",r,{passive:!0}),i.addEventListener("touchend",o)}}b(dt,"moduleName","resizeColumns");class ut extends w{constructor(e){super(e),this.startColumn=!1,this.startY=!1,this.startHeight=!1,this.handle=null,this.prevHandle=null,this.registerTableOption("resizableRows",!1),this.registerTableOption("resizableRowGuide",!1)}initialize(){this.table.options.resizableRows&&this.subscribe("row-layout-after",this.initializeRow.bind(this))}initializeRow(e){var t=this,i=e.getElement(),s=document.createElement("div");s.className="tabulator-row-resize-handle";var n=document.createElement("div");n.className="tabulator-row-resize-handle prev",s.addEventListener("click",function(a){a.stopPropagation()});var r=function(a){t.startRow=e,t._mouseDown(a,e,s)};s.addEventListener("mousedown",r),s.addEventListener("touchstart",r,{passive:!0}),n.addEventListener("click",function(a){a.stopPropagation()});var o=function(a){var h=t.table.rowManager.prevDisplayRow(e);h&&(t.startRow=h,t._mouseDown(a,h,n))};n.addEventListener("mousedown",o),n.addEventListener("touchstart",o,{passive:!0}),i.appendChild(s),i.appendChild(n)}resize(e,t){t.setHeight(this.startHeight+((typeof e.screenY>"u"?e.touches[0].screenY:e.screenY)-this.startY))}calcGuidePosition(e,t,i){var s=typeof e.screenY>"u"?e.touches[0].screenY:e.screenY,n=i.getBoundingClientRect().y-this.table.element.getBoundingClientRect().y,r=this.table.element.getBoundingClientRect().y,o=t.element.getBoundingClientRect().top-r,a=s-this.startY;return Math.max(n+a,o)}_mouseDown(e,t,i){var s=this,n;s.dispatchExternal("rowResizing",t.getComponent()),s.table.options.resizableRowGuide&&(n=document.createElement("span"),n.classList.add("tabulator-row-resize-guide"),s.table.element.appendChild(n),setTimeout(()=>{n.style.top=s.calcGuidePosition(e,t,i)+"px"})),s.table.element.classList.add("tabulator-block-select");function r(a){s.table.options.resizableRowGuide?n.style.top=s.calcGuidePosition(a,t,i)+"px":s.resize(a,t)}function o(a){s.table.options.resizableRowGuide&&(s.resize(a,t),n.remove()),document.body.removeEventListener("mouseup",r),document.body.removeEventListener("mousemove",r),i.removeEventListener("touchmove",r),i.removeEventListener("touchend",o),s.table.element.classList.remove("tabulator-block-select"),s.dispatchExternal("rowResized",t.getComponent())}e.stopPropagation(),s.startY=typeof e.screenY>"u"?e.touches[0].screenY:e.screenY,s.startHeight=t.getHeight(),document.body.addEventListener("mousemove",r),document.body.addEventListener("mouseup",o),i.addEventListener("touchmove",r,{passive:!0}),i.addEventListener("touchend",o)}}b(ut,"moduleName","resizeRows");class ct extends w{constructor(e){super(e),this.binding=!1,this.visibilityObserver=!1,this.resizeObserver=!1,this.containerObserver=!1,this.tableHeight=0,this.tableWidth=0,this.containerHeight=0,this.containerWidth=0,this.autoResize=!1,this.visible=!1,this.initialized=!1,this.initialRedraw=!1,this.registerTableOption("autoResize",!0)}initialize(){if(this.table.options.autoResize){var e=this.table,t;this.tableHeight=e.element.clientHeight,this.tableWidth=e.element.clientWidth,e.element.parentNode&&(this.containerHeight=e.element.parentNode.clientHeight,this.containerWidth=e.element.parentNode.clientWidth),typeof IntersectionObserver<"u"&&typeof ResizeObserver<"u"&&e.rowManager.getRenderMode()==="virtual"?(this.initializeVisibilityObserver(),this.autoResize=!0,this.resizeObserver=new ResizeObserver(i=>{if(!e.browserMobile||e.browserMobile&&(!e.modules.edit||e.modules.edit&&!e.modules.edit.currentCell)){var s=Math.floor(i[0].contentRect.height),n=Math.floor(i[0].contentRect.width);(this.tableHeight!=s||this.tableWidth!=n)&&(this.tableHeight=s,this.tableWidth=n,e.element.parentNode&&(this.containerHeight=e.element.parentNode.clientHeight,this.containerWidth=e.element.parentNode.clientWidth),this.redrawTable())}}),this.resizeObserver.observe(e.element),t=window.getComputedStyle(e.element),this.table.element.parentNode&&!this.table.rowManager.fixedHeight&&(t.getPropertyValue("max-height")||t.getPropertyValue("min-height"))&&(this.containerObserver=new ResizeObserver(i=>{if(!e.browserMobile||e.browserMobile&&(!e.modules.edit||e.modules.edit&&!e.modules.edit.currentCell)){var s=Math.floor(i[0].contentRect.height),n=Math.floor(i[0].contentRect.width);(this.containerHeight!=s||this.containerWidth!=n)&&(this.containerHeight=s,this.containerWidth=n,this.tableHeight=e.element.clientHeight,this.tableWidth=e.element.clientWidth),this.redrawTable()}}),this.containerObserver.observe(this.table.element.parentNode)),this.subscribe("table-resize",this.tableResized.bind(this))):(this.binding=function(){(!e.browserMobile||e.browserMobile&&(!e.modules.edit||e.modules.edit&&!e.modules.edit.currentCell))&&(e.columnManager.rerenderColumns(!0),e.redraw())},window.addEventListener("resize",this.binding)),this.subscribe("table-destroy",this.clearBindings.bind(this))}}initializeVisibilityObserver(){this.visibilityObserver=new IntersectionObserver(e=>{this.visible=e[0].isIntersecting,this.initialized?this.visible&&(this.redrawTable(this.initialRedraw),this.initialRedraw=!1):(this.initialized=!0,this.initialRedraw=!this.visible)}),this.visibilityObserver.observe(this.table.element)}redrawTable(e){this.initialized&&this.visible&&(this.table.columnManager.rerenderColumns(!0),this.table.redraw(e))}tableResized(){this.table.rowManager.redraw()}clearBindings(){this.binding&&window.removeEventListener("resize",this.binding),this.resizeObserver&&this.resizeObserver.unobserve(this.table.element),this.visibilityObserver&&this.visibilityObserver.unobserve(this.table.element),this.containerObserver&&this.containerObserver.unobserve(this.table.element.parentNode)}}b(ct,"moduleName","resizeTable");function Xi(l,e,t){var i=document.createElement("div"),s=l.getRow()._row.modules.responsiveLayout;i.classList.add("tabulator-responsive-collapse-toggle"),i.innerHTML=` + + + + + + +`,l.getElement().classList.add("tabulator-row-handle");function n(r){var o=s.element;s.open=r,o&&(s.open?(i.classList.add("open"),o.style.display=""):(i.classList.remove("open"),o.style.display="none"))}return i.addEventListener("click",function(r){r.stopImmediatePropagation(),n(!s.open),l.getTable().rowManager.adjustTableSize()}),n(s.open),i}var Ji={format:{formatters:{responsiveCollapse:Xi}}};class De extends w{constructor(e){super(e),this.columns=[],this.hiddenColumns=[],this.mode="",this.index=0,this.collapseFormatter=[],this.collapseStartOpen=!0,this.collapseHandleColumn=!1,this.registerTableOption("responsiveLayout",!1),this.registerTableOption("responsiveLayoutCollapseStartOpen",!0),this.registerTableOption("responsiveLayoutCollapseUseFormatters",!0),this.registerTableOption("responsiveLayoutCollapseFormatter",!1),this.registerColumnOption("responsive")}initialize(){this.table.options.responsiveLayout&&(this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("column-show",this.updateColumnVisibility.bind(this)),this.subscribe("column-hide",this.updateColumnVisibility.bind(this)),this.subscribe("columns-loaded",this.initializeResponsivity.bind(this)),this.subscribe("column-moved",this.initializeResponsivity.bind(this)),this.subscribe("column-add",this.initializeResponsivity.bind(this)),this.subscribe("column-delete",this.initializeResponsivity.bind(this)),this.subscribe("table-redrawing",this.tableRedraw.bind(this)),this.table.options.responsiveLayout==="collapse"&&(this.subscribe("row-data-changed",this.generateCollapsedRowContent.bind(this)),this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-layout",this.layoutRow.bind(this))))}tableRedraw(e){["fitColumns","fitDataStretch"].indexOf(this.layoutMode())===-1&&(e||this.update())}initializeResponsivity(){var e=[];this.mode=this.table.options.responsiveLayout,this.collapseFormatter=this.table.options.responsiveLayoutCollapseFormatter||this.formatCollapsedData,this.collapseStartOpen=this.table.options.responsiveLayoutCollapseStartOpen,this.hiddenColumns=[],this.collapseFormatter&&(this.collapseFormatter=this.collapseFormatter.bind(this.table)),this.table.columnManager.columnsByIndex.forEach((t,i)=>{t.modules.responsive&&t.modules.responsive.order&&t.modules.responsive.visible&&(t.modules.responsive.index=i,e.push(t),!t.visible&&this.mode==="collapse"&&this.hiddenColumns.push(t))}),e=e.reverse(),e=e.sort((t,i)=>{var s=i.modules.responsive.order-t.modules.responsive.order;return s||i.modules.responsive.index-t.modules.responsive.index}),this.columns=e,this.mode==="collapse"&&this.generateCollapsedContent();for(let t of this.table.columnManager.columnsByIndex)if(t.definition.formatter=="responsiveCollapse"){this.collapseHandleColumn=t;break}this.collapseHandleColumn&&(this.hiddenColumns.length?this.collapseHandleColumn.show():this.collapseHandleColumn.hide())}initializeColumn(e){var t=e.getDefinition();e.modules.responsive={order:typeof t.responsive>"u"?1:t.responsive,visible:t.visible!==!1}}initializeRow(e){var t;e.type!=="calc"&&(t=document.createElement("div"),t.classList.add("tabulator-responsive-collapse"),e.modules.responsiveLayout={element:t,open:this.collapseStartOpen},this.collapseStartOpen||(t.style.display="none"))}layoutRow(e){var t=e.getElement();e.modules.responsiveLayout&&(t.appendChild(e.modules.responsiveLayout.element),this.generateCollapsedRowContent(e))}updateColumnVisibility(e,t){!t&&e.modules.responsive&&(e.modules.responsive.visible=e.visible,this.initializeResponsivity())}hideColumn(e){var t=this.hiddenColumns.length;e.hide(!1,!0),this.mode==="collapse"&&(this.hiddenColumns.unshift(e),this.generateCollapsedContent(),this.collapseHandleColumn&&!t&&this.collapseHandleColumn.show())}showColumn(e){var t;e.show(!1,!0),e.setWidth(e.getWidth()),this.mode==="collapse"&&(t=this.hiddenColumns.indexOf(e),t>-1&&this.hiddenColumns.splice(t,1),this.generateCollapsedContent(),this.collapseHandleColumn&&!this.hiddenColumns.length&&this.collapseHandleColumn.hide())}update(){for(var e=!0;e;){let t=this.table.modules.layout.getMode()=="fitColumns"?this.table.columnManager.getFlexBaseWidth():this.table.columnManager.getWidth(),i=(this.table.options.headerVisible?this.table.columnManager.element.clientWidth:this.table.element.clientWidth)-t;if(i<0){let s=this.columns[this.index];s?(this.hideColumn(s),this.index++):e=!1}else{let s=this.columns[this.index-1];s&&i>0&&i>=s.getWidth()?(this.showColumn(s),this.index--):e=!1}this.table.rowManager.activeRowsCount||this.table.rowManager.renderEmptyScroll()}}generateCollapsedContent(){var e=this.table.rowManager.getDisplayRows();e.forEach(t=>{this.generateCollapsedRowContent(t)})}generateCollapsedRowContent(e){var t,i;if(e.modules.responsiveLayout){for(t=e.modules.responsiveLayout.element;t.firstChild;)t.removeChild(t.firstChild);i=this.collapseFormatter(this.generateCollapsedRowData(e)),i&&t.appendChild(i),e.calcHeight(!0)}}generateCollapsedRowData(e){var t=e.getData(),i=[],s;return this.hiddenColumns.forEach(n=>{var r=n.getFieldValue(t);if(n.definition.title&&n.field)if(n.modules.format&&this.table.options.responsiveLayoutCollapseUseFormatters){let o=function(a){a()};s={value:!1,data:{},getValue:function(){return r},getData:function(){return t},getType:function(){return"cell"},getElement:function(){return document.createElement("div")},getRow:function(){return e.getComponent()},getColumn:function(){return n.getComponent()},getTable:()=>this.table},i.push({field:n.field,title:n.definition.title,value:n.modules.format.formatter.call(this.table.modules.format,s,n.modules.format.params,o)})}else i.push({field:n.field,title:n.definition.title,value:r})}),i}formatCollapsedData(e){var t=document.createElement("table");return e.forEach(i=>{var s=document.createElement("tr"),n=document.createElement("td"),r=document.createElement("td"),o,a=document.createElement("strong");n.appendChild(a),this.modules.localize.bind("columns|"+i.field,function(h){a.innerHTML=h||i.title}),i.value instanceof Node?(o=document.createElement("div"),o.appendChild(i.value),r.appendChild(o)):r.innerHTML=i.value,s.appendChild(n),s.appendChild(r),t.appendChild(s)}),Object.keys(e).length?t:""}}b(De,"moduleName","responsiveLayout"),b(De,"moduleExtensions",Ji);function Ki(l,e,t){var i=document.createElement("input"),s=!1;if(i.type="checkbox",i.setAttribute("aria-label","Select Row"),this.table.modExists("selectRow",!0))if(i.addEventListener("click",r=>{r.stopPropagation()}),typeof l.getRow=="function"){var n=l.getRow();n instanceof oe?(i.addEventListener("change",r=>{this.table.options.selectableRowsRangeMode==="click"&&s?s=!1:n.toggleSelect()}),this.table.options.selectableRowsRangeMode==="click"&&i.addEventListener("click",r=>{s=!0,this.table.modules.selectRow.handleComplexRowClick(n._row,r)}),i.checked=n.isSelected&&n.isSelected(),this.table.modules.selectRow.registerRowSelectCheckbox(n,i)):i=""}else i.addEventListener("change",r=>{this.table.modules.selectRow.selectedRows.length?this.table.deselectRow():this.table.selectRow(e.rowRange)}),this.table.modules.selectRow.registerHeaderSelectCheckbox(i);return i}var qi={format:{formatters:{rowSelection:Ki}}};class ze extends w{constructor(e){super(e),this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],this.headerCheckboxElement=null,this.registerTableOption("selectableRows","highlight"),this.registerTableOption("selectableRowsRangeMode","drag"),this.registerTableOption("selectableRowsRollingSelection",!0),this.registerTableOption("selectableRowsPersistence",!0),this.registerTableOption("selectableRowsCheck",function(t,i){return!0}),this.registerTableFunction("selectRow",this.selectRows.bind(this)),this.registerTableFunction("deselectRow",this.deselectRows.bind(this)),this.registerTableFunction("toggleSelectRow",this.toggleRow.bind(this)),this.registerTableFunction("getSelectedRows",this.getSelectedRows.bind(this)),this.registerTableFunction("getSelectedData",this.getSelectedData.bind(this)),this.registerComponentFunction("row","select",this.selectRows.bind(this)),this.registerComponentFunction("row","deselect",this.deselectRows.bind(this)),this.registerComponentFunction("row","toggleSelect",this.toggleRow.bind(this)),this.registerComponentFunction("row","isSelected",this.isRowSelected.bind(this))}initialize(){this.deprecatedOptionsCheck(),this.table.options.selectableRows==="highlight"&&this.table.options.selectableRange&&(this.table.options.selectableRows=!1),this.table.options.selectableRows!==!1&&(this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-deleting",this.rowDeleted.bind(this)),this.subscribe("rows-wipe",this.clearSelectionData.bind(this)),this.subscribe("rows-retrieve",this.rowRetrieve.bind(this)),this.table.options.selectableRows&&!this.table.options.selectableRowsPersistence&&this.subscribe("data-refreshing",this.deselectRows.bind(this)))}deprecatedOptionsCheck(){}rowRetrieve(e,t){return e==="selected"?this.selectedRows:t}rowDeleted(e){this._deselectRow(e,!0)}clearSelectionData(e){var t=this.selectedRows.length;this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],t&&e!==!0&&this._rowSelectionChanged()}initializeRow(e){var t=this,i=t.checkRowSelectability(e),s=e.getElement(),n=function(){setTimeout(function(){t.selecting=!1},50),document.body.removeEventListener("mouseup",n)};e.modules.select={selected:!1},s.classList.toggle("tabulator-selectable",i),s.classList.toggle("tabulator-unselectable",!i),t.checkRowSelectability(e)&&t.table.options.selectableRows&&t.table.options.selectableRows!="highlight"&&(t.table.options.selectableRowsRangeMode==="click"?s.addEventListener("click",this.handleComplexRowClick.bind(this,e)):(s.addEventListener("click",function(r){(!t.table.modExists("edit")||!t.table.modules.edit.getCurrentCell())&&t.table._clearSelection(),t.selecting||t.toggleRow(e)}),s.addEventListener("mousedown",function(r){if(r.shiftKey)return t.table._clearSelection(),t.selecting=!0,t.selectPrev=[],document.body.addEventListener("mouseup",n),document.body.addEventListener("keyup",n),t.toggleRow(e),!1}),s.addEventListener("mouseenter",function(r){t.selecting&&(t.table._clearSelection(),t.toggleRow(e),t.selectPrev[1]==e&&t.toggleRow(t.selectPrev[0]))}),s.addEventListener("mouseout",function(r){t.selecting&&(t.table._clearSelection(),t.selectPrev.unshift(e))})))}handleComplexRowClick(e,t){if(t.shiftKey){this.table._clearSelection(),this.lastClickedRow=this.lastClickedRow||e;var i=this.table.rowManager.getDisplayRowIndex(this.lastClickedRow),s=this.table.rowManager.getDisplayRowIndex(e),n=i<=s?i:s,r=i>=s?i:s,o=this.table.rowManager.getDisplayRows().slice(0),a=o.splice(n,r-n+1);t.ctrlKey||t.metaKey?(a.forEach(h=>{h!==this.lastClickedRow&&(this.table.options.selectableRows!==!0&&!this.isRowSelected(e)?this.selectedRows.lengththis.table.options.selectableRows&&(a=a.slice(0,this.table.options.selectableRows)),this.selectRows(a)),this.table._clearSelection()}else t.ctrlKey||t.metaKey?(this.toggleRow(e),this.lastClickedRow=e):(this.deselectRows(void 0,!0),this.selectRows(e),this.lastClickedRow=e)}checkRowSelectability(e){return e&&e.type==="row"?this.table.options.selectableRowsCheck.call(this.table,e.getComponent()):!1}toggleRow(e){this.checkRowSelectability(e)&&(e.modules.select&&e.modules.select.selected?this._deselectRow(e):this._selectRow(e))}selectRows(e){var t=[],i,s;switch(typeof e){case"undefined":i=this.table.rowManager.rows;break;case"number":i=this.table.rowManager.findRow(e);break;case"string":i=this.table.rowManager.findRow(e),i||(i=this.table.rowManager.getRows(e));break;default:i=e;break}Array.isArray(i)?i.length&&(i.forEach(n=>{s=this._selectRow(n,!0,!0),s&&t.push(s)}),this._rowSelectionChanged(!1,t)):i&&this._selectRow(i,!1,!0)}_selectRow(e,t,i){if(!isNaN(this.table.options.selectableRows)&&this.table.options.selectableRows!==!0&&!i&&this.selectedRows.length>=this.table.options.selectableRows)if(this.table.options.selectableRowsRollingSelection)this._deselectRow(this.selectedRows[0]);else return!1;var s=this.table.rowManager.findRow(e);if(s){if(this.selectedRows.indexOf(s)==-1)return s.getElement().classList.add("tabulator-selected"),s.modules.select||(s.modules.select={}),s.modules.select.selected=!0,s.modules.select.checkboxEl&&(s.modules.select.checkboxEl.checked=!0),this.selectedRows.push(s),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(s,!0),this.dispatchExternal("rowSelected",s.getComponent()),this._rowSelectionChanged(t,s),s}else t||console.warn("Selection Error - No such row found, ignoring selection:"+e)}isRowSelected(e){return this.selectedRows.indexOf(e)!==-1}deselectRows(e,t){var i=[],s,n;switch(typeof e){case"undefined":s=Object.assign([],this.selectedRows);break;case"number":s=this.table.rowManager.findRow(e);break;case"string":s=this.table.rowManager.findRow(e),s||(s=this.table.rowManager.getRows(e));break;default:s=e;break}Array.isArray(s)?s.length&&(s.forEach(r=>{n=this._deselectRow(r,!0,!0),n&&i.push(n)}),this._rowSelectionChanged(t,[],i)):s&&this._deselectRow(s,t,!0)}_deselectRow(e,t){var i=this,s=i.table.rowManager.findRow(e),n,r;if(s){if(n=i.selectedRows.findIndex(function(o){return o==s}),n>-1)return r=s.getElement(),r&&r.classList.remove("tabulator-selected"),s.modules.select||(s.modules.select={}),s.modules.select.selected=!1,s.modules.select.checkboxEl&&(s.modules.select.checkboxEl.checked=!1),i.selectedRows.splice(n,1),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(s,!1),this.dispatchExternal("rowDeselected",s.getComponent()),i._rowSelectionChanged(t,void 0,s),s}else t||console.warn("Deselection Error - No such row found, ignoring selection:"+e)}getSelectedData(){var e=[];return this.selectedRows.forEach(function(t){e.push(t.getData())}),e}getSelectedRows(){var e=[];return this.selectedRows.forEach(function(t){e.push(t.getComponent())}),e}_rowSelectionChanged(e,t=[],i=[]){this.headerCheckboxElement&&(this.selectedRows.length===0?(this.headerCheckboxElement.checked=!1,this.headerCheckboxElement.indeterminate=!1):this.table.rowManager.rows.length===this.selectedRows.length?(this.headerCheckboxElement.checked=!0,this.headerCheckboxElement.indeterminate=!1):(this.headerCheckboxElement.indeterminate=!0,this.headerCheckboxElement.checked=!1)),e||(Array.isArray(t)||(t=[t]),t=t.map(s=>s.getComponent()),Array.isArray(i)||(i=[i]),i=i.map(s=>s.getComponent()),this.dispatchExternal("rowSelectionChanged",this.getSelectedData(),this.getSelectedRows(),t,i))}registerRowSelectCheckbox(e,t){e._row.modules.select||(e._row.modules.select={}),e._row.modules.select.checkboxEl=t}registerHeaderSelectCheckbox(e){this.headerCheckboxElement=e}childRowSelection(e,t){var i=this.table.modules.dataTree.getChildren(e,!0,!0);if(t)for(let s of i)this._selectRow(s,!0);else for(let s of i)this._deselectRow(s,!0)}}b(ze,"moduleName","selectRow"),b(ze,"moduleExtensions",qi);class Yi{constructor(e){return this._range=e,new Proxy(this,{get:function(t,i,s){return typeof t[i]<"u"?t[i]:t._range.table.componentFunctionBinder.handle("range",t._range,i)}})}getElement(){return this._range.element}getData(){return this._range.getData()}getCells(){return this._range.getCells(!0,!0)}getStructuredCells(){return this._range.getStructuredCells()}getRows(){return this._range.getRows().map(e=>e.getComponent())}getColumns(){return this._range.getColumns().map(e=>e.getComponent())}getBounds(){return this._range.getBounds()}getTopEdge(){return this._range.top}getBottomEdge(){return this._range.bottom}getLeftEdge(){return this._range.left}getRightEdge(){return this._range.right}setBounds(e,t){this._range.destroyedGuard("setBounds")&&this._range.setBounds(e&&e._cell,t&&t._cell)}setStartBound(e){this._range.destroyedGuard("setStartBound")&&(this._range.setEndBound(e&&e._cell),this._range.rangeManager.layoutElement())}setEndBound(e){this._range.destroyedGuard("setEndBound")&&(this._range.setEndBound(e&&e._cell),this._range.rangeManager.layoutElement())}clearValues(){this._range.destroyedGuard("clearValues")&&this._range.clearValues()}remove(){this._range.destroyedGuard("remove")&&this._range.destroy(!0)}}class $i extends M{constructor(e,t,i,s){super(e),this.rangeManager=t,this.element=null,this.initialized=!1,this.initializing={start:!1,end:!1},this.destroyed=!1,this.top=0,this.bottom=0,this.left=0,this.right=0,this.table=e,this.start={row:0,col:0},this.end={row:0,col:0},this.rangeManager.rowHeader&&(this.left=1,this.right=1,this.start.col=1,this.end.col=1),this.initElement(),setTimeout(()=>{this.initBounds(i,s)})}initElement(){this.element=document.createElement("div"),this.element.classList.add("tabulator-range")}initBounds(e,t){this._updateMinMax(),e&&this.setBounds(e,t||e)}setStart(e,t){(this.start.row!==e||this.start.col!==t)&&(this.start.row=e,this.start.col=t,this.initializing.start=!0,this._updateMinMax())}setEnd(e,t){(this.end.row!==e||this.end.col!==t)&&(this.end.row=e,this.end.col=t,this.initializing.end=!0,this._updateMinMax())}setBounds(e,t,i){e&&this.setStartBound(e),this.setEndBound(t||e),this.rangeManager.layoutElement(i)}setStartBound(e){var t,i;e.type==="column"?this.rangeManager.columnSelection&&this.setStart(0,e.getPosition()-1):(t=e.row.position-1,i=e.column.getPosition()-1,e.column===this.rangeManager.rowHeader?this.setStart(t,1):this.setStart(t,i))}setEndBound(e){var t=this._getTableRows().length,i,s,n;e.type==="column"?this.rangeManager.columnSelection&&(this.rangeManager.selecting==="column"?this.setEnd(t-1,e.getPosition()-1):this.rangeManager.selecting==="cell"&&this.setEnd(0,e.getPosition()-1)):(i=e.row.position-1,s=e.column.getPosition()-1,n=e.column===this.rangeManager.rowHeader,this.rangeManager.selecting==="row"?this.setEnd(i,this._getTableColumns().length-1):this.rangeManager.selecting!=="row"&&n?this.setEnd(i,0):this.rangeManager.selecting==="column"?this.setEnd(t-1,s):this.setEnd(i,s))}_updateMinMax(){this.top=Math.min(this.start.row,this.end.row),this.bottom=Math.max(this.start.row,this.end.row),this.left=Math.min(this.start.col,this.end.col),this.right=Math.max(this.start.col,this.end.col),this.initialized?this.dispatchExternal("rangeChanged",this.getComponent()):this.initializing.start&&this.initializing.end&&(this.initialized=!0,this.dispatchExternal("rangeAdded",this.getComponent()))}_getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}_getTableRows(){return this.table.rowManager.getDisplayRows().filter(e=>e.type==="row")}layout(){var e=this.table.rowManager.renderer.vDomTop,t=this.table.rowManager.renderer.vDomBottom,i=this.table.columnManager.renderer.leftCol,s=this.table.columnManager.renderer.rightCol,n,r,o,a,h,d,u,c,f,g;this.table.options.renderHorizontal==="virtual"&&this.rangeManager.rowHeader&&(s+=1),e==null&&(e=0),t==null&&(t=1/0),i==null&&(i=0),s==null&&(s=1/0),this.overlaps(i,e,s,t)&&(n=Math.max(this.top,e),r=Math.min(this.bottom,t),o=Math.max(this.left,i),a=Math.min(this.right,s),h=this.rangeManager.getCell(n,o),d=this.rangeManager.getCell(r,a),u=h.getElement(),c=d.getElement(),f=h.row.getElement(),g=d.row.getElement(),this.element.classList.add("tabulator-range-active"),this.table.rtl?(this.element.style.right=f.offsetWidth-u.offsetLeft-u.offsetWidth+"px",this.element.style.width=u.offsetLeft+u.offsetWidth-c.offsetLeft+"px"):(this.element.style.left=f.offsetLeft+u.offsetLeft+"px",this.element.style.width=c.offsetLeft+c.offsetWidth-u.offsetLeft+"px"),this.element.style.top=f.offsetTop+"px",this.element.style.height=g.offsetTop+g.offsetHeight-f.offsetTop+"px")}atTopLeft(e){return e.row.position-1===this.top&&e.column.getPosition()-1===this.left}atBottomRight(e){return e.row.position-1===this.bottom&&e.column.getPosition()-1===this.right}occupies(e){return this.occupiesRow(e.row)&&this.occupiesColumn(e.column)}occupiesRow(e){return this.top<=e.position-1&&e.position-1<=this.bottom}occupiesColumn(e){return this.left<=e.getPosition()-1&&e.getPosition()-1<=this.right}overlaps(e,t,i,s){return!(this.left>i||e>this.right||this.top>s||t>this.bottom)}getData(){var e=[],t=this.getRows(),i=this.getColumns();return t.forEach(s=>{var n=s.getData(),r={};i.forEach(o=>{r[o.field]=n[o.field]}),e.push(r)}),e}getCells(e,t){var i=[],s=this.getRows(),n=this.getColumns();return e?i=s.map(r=>{var o=[];return r.getCells().forEach(a=>{n.includes(a.column)&&o.push(t?a.getComponent():a)}),o}):s.forEach(r=>{r.getCells().forEach(o=>{n.includes(o.column)&&i.push(t?o.getComponent():o)})}),i}getStructuredCells(){return this.getCells(!0,!0)}getRows(){return this._getTableRows().slice(this.top,this.bottom+1)}getColumns(){return this._getTableColumns().slice(this.left,this.right+1)}clearValues(){var e=this.getCells(),t=this.table.options.selectableRangeClearCellsValue;this.table.blockRedraw(),e.forEach(i=>{i.setValue(t)}),this.table.restoreRedraw()}getBounds(e){var t=this.getCells(!1,e),i={start:null,end:null};return t.length?(i.start=t[0],i.end=t[t.length-1]):console.warn("No bounds defined on range"),i}getComponent(){return this.component||(this.component=new Yi(this)),this.component}destroy(e){this.destroyed=!0,this.element.remove(),e&&this.rangeManager.rangeRemoved(this),this.initialized&&this.dispatchExternal("rangeRemoved",this.getComponent())}destroyedGuard(e){return this.destroyed&&console.warn("You cannot call the "+e+" function on a destroyed range"),!this.destroyed}}var Qi={rangeJumpUp:["ctrl + 38","meta + 38"],rangeJumpDown:["ctrl + 40","meta + 40"],rangeJumpLeft:["ctrl + 37","meta + 37"],rangeJumpRight:["ctrl + 39","meta + 39"],rangeExpandUp:"shift + 38",rangeExpandDown:"shift + 40",rangeExpandLeft:"shift + 37",rangeExpandRight:"shift + 39",rangeExpandJumpUp:["ctrl + shift + 38","meta + shift + 38"],rangeExpandJumpDown:["ctrl + shift + 40","meta + shift + 40"],rangeExpandJumpLeft:["ctrl + shift + 37","meta + shift + 37"],rangeExpandJumpRight:["ctrl + shift + 39","meta + shift + 39"]},Zi={rangeJumpLeft:function(l){this.dispatch("keybinding-nav-range",l,"left",!0,!1)},rangeJumpRight:function(l){this.dispatch("keybinding-nav-range",l,"right",!0,!1)},rangeJumpUp:function(l){this.dispatch("keybinding-nav-range",l,"up",!0,!1)},rangeJumpDown:function(l){this.dispatch("keybinding-nav-range",l,"down",!0,!1)},rangeExpandLeft:function(l){this.dispatch("keybinding-nav-range",l,"left",!1,!0)},rangeExpandRight:function(l){this.dispatch("keybinding-nav-range",l,"right",!1,!0)},rangeExpandUp:function(l){this.dispatch("keybinding-nav-range",l,"up",!1,!0)},rangeExpandDown:function(l){this.dispatch("keybinding-nav-range",l,"down",!1,!0)},rangeExpandJumpLeft:function(l){this.dispatch("keybinding-nav-range",l,"left",!0,!0)},rangeExpandJumpRight:function(l){this.dispatch("keybinding-nav-range",l,"right",!0,!0)},rangeExpandJumpUp:function(l){this.dispatch("keybinding-nav-range",l,"up",!0,!0)},rangeExpandJumpDown:function(l){this.dispatch("keybinding-nav-range",l,"down",!0,!0)}},es={range:function(l){var e=[],t=this.table.modules.selectRange.activeRange,i=!1,s,n,r,o,a;return a=l.length,t&&(s=t.getBounds(),n=s.start,s.start===s.end&&(i=!0),n&&(e=this.table.rowManager.activeRows.slice(),r=e.indexOf(n.row),i?o=l.length:o=e.indexOf(s.end.row)-r+1,r>-1&&(this.table.blockRedraw(),e=e.slice(r,r+o),e.forEach((h,d)=>{h.updateData(l[d%a])}),this.table.restoreRedraw()))),e}},ts={range:function(l){var e=[],t=[],i=this.table.modules.selectRange.activeRange,s=!1,n,r,o,a,h;return i&&(n=i.getBounds(),r=n.start,n.start===n.end&&(s=!0),r&&(l=l.split(` +`),l.forEach(function(d){e.push(d.split(" "))}),e.length&&(a=this.table.columnManager.getVisibleColumnsByIndex(),h=a.indexOf(r.column),h>-1)))?(s?o=e[0].length:o=a.indexOf(n.end.column)-h+1,a=a.slice(h,h+o),e.forEach(d=>{var u={},c=d.length;a.forEach(function(f,g){u[f.field]=d[g%c]}),t.push(u)}),t):!1}},is={range:function(){var l=this.modules.selectRange.selectedColumns();return this.columnManager.rowHeader&&l.unshift(this.columnManager.rowHeader),l}},ss={range:function(){return this.modules.selectRange.selectedRows()}},ns={keybindings:{bindings:Qi,actions:Zi},clipboard:{pasteActions:es,pasteParsers:ts},export:{columnLookups:is,rowLookups:ss}};class re extends w{constructor(e){super(e),this.selecting="cell",this.mousedown=!1,this.ranges=[],this.overlay=null,this.rowHeader=null,this.layoutChangeTimeout=null,this.columnSelection=!1,this.rowSelection=!1,this.maxRanges=0,this.activeRange=!1,this.blockKeydown=!1,this.keyDownEvent=this._handleKeyDown.bind(this),this.mouseUpEvent=this._handleMouseUp.bind(this),this.registerTableOption("selectableRange",!1),this.registerTableOption("selectableRangeColumns",!1),this.registerTableOption("selectableRangeRows",!1),this.registerTableOption("selectableRangeClearCells",!1),this.registerTableOption("selectableRangeClearCellsValue",void 0),this.registerTableFunction("getRangesData",this.getRangesData.bind(this)),this.registerTableFunction("getRanges",this.getRanges.bind(this)),this.registerTableFunction("addRange",this.addRangeFromComponent.bind(this)),this.registerComponentFunction("cell","getRanges",this.cellGetRanges.bind(this)),this.registerComponentFunction("row","getRanges",this.rowGetRanges.bind(this)),this.registerComponentFunction("column","getRanges",this.colGetRanges.bind(this))}initialize(){this.options("selectableRange")&&(this.options("selectableRows")?console.warn("SelectRange functionality cannot be used in conjunction with row selection"):(this.maxRanges=this.options("selectableRange"),this.initializeTable(),this.initializeWatchers()),this.options("columns").findIndex(e=>e.frozen)>0&&console.warn("Having frozen column in arbitrary position with selectRange option may result in unpredictable behavior."),this.options("columns").filter(e=>e.frozen)>1&&console.warn("Having multiple frozen columns with selectRange option may result in unpredictable behavior."))}initializeTable(){this.overlay=document.createElement("div"),this.overlay.classList.add("tabulator-range-overlay"),this.rangeContainer=document.createElement("div"),this.rangeContainer.classList.add("tabulator-range-container"),this.activeRangeCellElement=document.createElement("div"),this.activeRangeCellElement.classList.add("tabulator-range-cell-active"),this.overlay.appendChild(this.rangeContainer),this.overlay.appendChild(this.activeRangeCellElement),this.table.rowManager.element.addEventListener("keydown",this.keyDownEvent),this.resetRanges(),this.table.rowManager.element.appendChild(this.overlay),this.table.columnManager.element.setAttribute("tabindex",0),this.table.element.classList.add("tabulator-ranges")}initializeWatchers(){this.columnSelection=this.options("selectableRangeColumns"),this.rowSelection=this.options("selectableRangeRows"),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-mousedown",this.handleColumnMouseDown.bind(this)),this.subscribe("column-mousemove",this.handleColumnMouseMove.bind(this)),this.subscribe("column-resized",this.handleColumnResized.bind(this)),this.subscribe("column-moving",this.handleColumnMoving.bind(this)),this.subscribe("column-moved",this.handleColumnMoved.bind(this)),this.subscribe("column-width",this.layoutChange.bind(this)),this.subscribe("column-height",this.layoutChange.bind(this)),this.subscribe("column-resized",this.layoutChange.bind(this)),this.subscribe("columns-loaded",this.updateHeaderColumn.bind(this)),this.subscribe("cell-height",this.layoutChange.bind(this)),this.subscribe("cell-rendered",this.renderCell.bind(this)),this.subscribe("cell-mousedown",this.handleCellMouseDown.bind(this)),this.subscribe("cell-mousemove",this.handleCellMouseMove.bind(this)),this.subscribe("cell-click",this.handleCellClick.bind(this)),this.subscribe("cell-editing",this.handleEditingCell.bind(this)),this.subscribe("page-changed",this.redraw.bind(this)),this.subscribe("scroll-vertical",this.layoutChange.bind(this)),this.subscribe("scroll-horizontal",this.layoutChange.bind(this)),this.subscribe("data-destroy",this.tableDestroyed.bind(this)),this.subscribe("data-processed",this.resetRanges.bind(this)),this.subscribe("table-layout",this.layoutElement.bind(this)),this.subscribe("table-redraw",this.redraw.bind(this)),this.subscribe("table-destroy",this.tableDestroyed.bind(this)),this.subscribe("edit-editor-clear",this.finishEditingCell.bind(this)),this.subscribe("edit-blur",this.restoreFocus.bind(this)),this.subscribe("keybinding-nav-prev",this.keyNavigate.bind(this,"left")),this.subscribe("keybinding-nav-next",this.keyNavigate.bind(this,"right")),this.subscribe("keybinding-nav-left",this.keyNavigate.bind(this,"left")),this.subscribe("keybinding-nav-right",this.keyNavigate.bind(this,"right")),this.subscribe("keybinding-nav-up",this.keyNavigate.bind(this,"up")),this.subscribe("keybinding-nav-down",this.keyNavigate.bind(this,"down")),this.subscribe("keybinding-nav-range",this.keyNavigateRange.bind(this))}initializeColumn(e){this.columnSelection&&e.definition.headerSort&&this.options("headerSortClickElement")!=="icon"&&console.warn("Using column headerSort with selectableRangeColumns option may result in unpredictable behavior. Consider using headerSortClickElement: 'icon'."),e.modules.edit}updateHeaderColumn(){var e;this.rowSelection&&(this.rowHeader=this.table.columnManager.getVisibleColumnsByIndex()[0],this.rowHeader&&(this.rowHeader.definition.cssClass=this.rowHeader.definition.cssClass+" tabulator-range-row-header",this.rowHeader.definition.headerSort&&console.warn("Using column headerSort with selectableRangeRows option may result in unpredictable behavior"),this.rowHeader.definition.editor&&console.warn("Using column editor with selectableRangeRows option may result in unpredictable behavior"))),this.table.modules.frozenColumns&&this.table.modules.frozenColumns.active&&(e=this.table.modules.frozenColumns.getFrozenColumns(),(e.length>1||e.length===1&&e[0]!==this.rowHeader)&&console.warn("Using frozen columns that are not the range header in combination with the selectRange option may result in unpredictable behavior"))}getRanges(){return this.ranges.map(e=>e.getComponent())}getRangesData(){return this.ranges.map(e=>e.getData())}addRangeFromComponent(e,t){return e=e?e._cell:null,t=t?t._cell:null,this.addRange(e,t)}cellGetRanges(e){var t=[];return e.column===this.rowHeader?t=this.ranges.filter(i=>i.occupiesRow(e.row)):t=this.ranges.filter(i=>i.occupies(e)),t.map(i=>i.getComponent())}rowGetRanges(e){var t=this.ranges.filter(i=>i.occupiesRow(e));return t.map(i=>i.getComponent())}colGetRanges(e){var t=this.ranges.filter(i=>i.occupiesColumn(e));return t.map(i=>i.getComponent())}_handleMouseUp(e){this.mousedown=!1,document.removeEventListener("mouseup",this.mouseUpEvent)}_handleKeyDown(e){if(!this.blockKeydown&&(!this.table.modules.edit||this.table.modules.edit&&!this.table.modules.edit.currentCell)){if(e.key==="Enter"){if(this.table.modules.edit&&this.table.modules.edit.currentCell)return;this.table.modules.edit.editCell(this.getActiveCell()),e.preventDefault()}(e.key==="Backspace"||e.key==="Delete")&&this.options("selectableRangeClearCells")&&this.activeRange&&this.activeRange.clearValues()}}initializeFocus(e){var t;this.restoreFocus();try{document.selection?(t=document.body.createTextRange(),t.moveToElementText(e.getElement()),t.select()):window.getSelection&&(t=document.createRange(),t.selectNode(e.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(t))}catch{}}restoreFocus(e){return this.table.rowManager.element.focus(),!0}handleColumnResized(e){var t;this.selecting!=="column"&&this.selecting!=="all"||(t=this.ranges.some(i=>i.occupiesColumn(e)),t&&this.ranges.forEach(i=>{var s=i.getColumns(!0);s.forEach(n=>{n!==e&&n.setWidth(e.width)})}))}handleColumnMoving(e,t){this.resetRanges().setBounds(t),this.overlay.style.visibility="hidden"}handleColumnMoved(e,t,i){this.activeRange.setBounds(e),this.layoutElement()}handleColumnMouseDown(e,t){e.button===2&&(this.selecting==="column"||this.selecting==="all")&&this.activeRange.occupiesColumn(t)||this.table.options.movableColumns&&this.selecting==="column"&&this.activeRange.occupiesColumn(t)||(this.mousedown=!0,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(e,t))}handleColumnMouseMove(e,t){t===this.rowHeader||!this.mousedown||this.selecting==="all"||this.activeRange.setBounds(!1,t,!0)}renderCell(e){var t=e.getElement(),i=this.ranges.findIndex(s=>s.occupies(e));t.classList.toggle("tabulator-range-selected",i!==-1),t.classList.toggle("tabulator-range-only-cell-selected",this.ranges.length===1&&this.ranges[0].atTopLeft(e)&&this.ranges[0].atBottomRight(e)),t.dataset.range=i}handleCellMouseDown(e,t){e.button===2&&(this.activeRange.occupies(t)||(this.selecting==="row"||this.selecting==="all")&&this.activeRange.occupiesRow(t.row))||(this.mousedown=!0,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(e,t))}handleCellMouseMove(e,t){!this.mousedown||this.selecting==="all"||this.activeRange.setBounds(!1,t,!0)}handleCellClick(e,t){this.initializeFocus(t)}handleEditingCell(e){this.activeRange&&this.activeRange.setBounds(e)}finishEditingCell(){this.blockKeydown=!0,this.table.rowManager.element.focus(),setTimeout(()=>{this.blockKeydown=!1},10)}keyNavigate(e,t){this.navigate(!1,!1,e),t.preventDefault()}keyNavigateRange(e,t,i,s){this.navigate(i,s,t),e.preventDefault()}navigate(e,t,i){var s=!1,n,r,o,a,h,d;if(this.table.modules.edit&&this.table.modules.edit.currentCell)return!1;if(this.ranges.length>1&&(this.ranges=this.ranges.filter(u=>u===this.activeRange?(u.setEnd(u.start.row,u.start.col),!0):(u.destroy(),!1))),n=this.activeRange,r=t?n.end:n.start,o=r.row,a=r.col,e)switch(i){case"left":a=this.findJumpCellLeft(n.start.row,r.col);break;case"right":a=this.findJumpCellRight(n.start.row,r.col);break;case"up":o=this.findJumpCellUp(r.row,n.start.col);break;case"down":o=this.findJumpCellDown(r.row,n.start.col);break}else{if(t&&(this.selecting==="row"&&(i==="left"||i==="right")||this.selecting==="column"&&(i==="up"||i==="down")))return;switch(i){case"left":a=Math.max(a-1,0);break;case"right":a=Math.min(a+1,this.getTableColumns().length-1);break;case"up":o=Math.max(o-1,0);break;case"down":o=Math.min(o+1,this.getTableRows().length-1);break}}if(this.rowHeader&&a===0&&(a=1),s=a!==r.col||o!==r.row,t||n.setStart(o,a),n.setEnd(o,a),t||(this.selecting="cell"),s)return h=this.getRowByRangePos(n.end.row),d=this.getColumnByRangePos(n.end.col),(i==="left"||i==="right")&&d.getElement().parentNode===null?d.getComponent().scrollTo(void 0,!1):(i==="up"||i==="down")&&h.getElement().parentNode===null?h.getComponent().scrollTo(void 0,!1):this.autoScroll(n,h.getElement(),d.getElement()),this.layoutElement(),!0}rangeRemoved(e){this.ranges=this.ranges.filter(t=>t!==e),this.activeRange===e&&(this.ranges.length?this.activeRange=this.ranges[this.ranges.length-1]:this.addRange()),this.layoutElement()}findJumpRow(e,t,i,s,n){return i&&(t=t.reverse()),this.findJumpItem(s,n,t,function(r){return r.getData()[e.getField()]})}findJumpCol(e,t,i,s,n){return i&&(t=t.reverse()),this.findJumpItem(s,n,t,function(r){return e.getData()[r.getField()]})}findJumpItem(e,t,i,s){var n;for(let r of i){let o=s(r);if(e){if(n=r,o)break}else if(t){if(n=r,o)break}else if(o)n=r;else break}return n}findJumpCellLeft(e,t){var i=this.getRowByRangePos(e),s=this.getTableColumns(),n=this.isEmpty(i.getData()[s[t].getField()]),r=s[t-1]?this.isEmpty(i.getData()[s[t-1].getField()]):!1,o=this.rowHeader?s.slice(1,t):s.slice(0,t),a=this.findJumpCol(i,o,!0,n,r);return a?a.getPosition()-1:t}findJumpCellRight(e,t){var i=this.getRowByRangePos(e),s=this.getTableColumns(),n=this.isEmpty(i.getData()[s[t].getField()]),r=s[t+1]?this.isEmpty(i.getData()[s[t+1].getField()]):!1,o=this.findJumpCol(i,s.slice(t+1,s.length),!1,n,r);return o?o.getPosition()-1:t}findJumpCellUp(e,t){var i=this.getColumnByRangePos(t),s=this.getTableRows(),n=this.isEmpty(s[e].getData()[i.getField()]),r=s[e-1]?this.isEmpty(s[e-1].getData()[i.getField()]):!1,o=this.findJumpRow(i,s.slice(0,e),!0,n,r);return o?o.position-1:e}findJumpCellDown(e,t){var i=this.getColumnByRangePos(t),s=this.getTableRows(),n=this.isEmpty(s[e].getData()[i.getField()]),r=s[e+1]?this.isEmpty(s[e+1].getData()[i.getField()]):!1,o=this.findJumpRow(i,s.slice(e+1,s.length),!1,n,r);return o?o.position-1:e}newSelection(e,t){var i;if(t.type==="column"){if(!this.columnSelection)return;if(t===this.rowHeader){i=this.resetRanges(),this.selecting="all";var s,n=this.getCell(-1,-1);this.rowHeader?s=this.getCell(0,1):s=this.getCell(0,0),i.setBounds(s,n);return}else this.selecting="column"}else t.column===this.rowHeader?this.selecting="row":this.selecting="cell";e.shiftKey?this.activeRange.setBounds(!1,t):e.ctrlKey?this.addRange().setBounds(t):this.resetRanges().setBounds(t)}autoScroll(e,t,i){var s=this.table.rowManager.element,n,r,o,a,h;typeof t>"u"&&(t=this.getRowByRangePos(e.end.row).getElement()),typeof i>"u"&&(i=this.getColumnByRangePos(e.end.col).getElement()),this.rowHeader&&(n=this.rowHeader.getElement()),r={left:i.offsetLeft,right:i.offsetLeft+i.offsetWidth,top:t.offsetTop,bottom:t.offsetTop+t.offsetHeight},o={left:s.scrollLeft,right:Math.ceil(s.scrollLeft+s.clientWidth),top:s.scrollTop,bottom:s.scrollTop+s.offsetHeight-this.table.rowManager.scrollbarWidth},n&&(o.left+=n.offsetWidth),a=o.lefto.right&&(s.scrollLeft=r.right-s.clientWidth)),h||(r.topo.bottom&&(s.scrollTop=r.bottom-s.clientHeight))}layoutChange(){this.overlay.style.visibility="hidden",clearTimeout(this.layoutChangeTimeout),this.layoutChangeTimeout=setTimeout(this.layoutRanges.bind(this),200)}redraw(e){e&&(this.selecting="cell",this.resetRanges(),this.layoutElement())}layoutElement(e){var t;e?t=this.table.rowManager.getVisibleRows(!0):t=this.table.rowManager.getRows(),t.forEach(i=>{i.type==="row"&&(this.layoutRow(i),i.cells.forEach(s=>this.renderCell(s)))}),this.getTableColumns().forEach(i=>{this.layoutColumn(i)}),this.layoutRanges()}layoutRow(e){var t=e.getElement(),i=!1,s=this.ranges.some(n=>n.occupiesRow(e));this.selecting==="row"?i=s:this.selecting==="all"&&(i=!0),t.classList.toggle("tabulator-range-selected",i),t.classList.toggle("tabulator-range-highlight",s)}layoutColumn(e){var t=e.getElement(),i=!1,s=this.ranges.some(n=>n.occupiesColumn(e));this.selecting==="column"?i=s:this.selecting==="all"&&(i=!0),t.classList.toggle("tabulator-range-selected",i),t.classList.toggle("tabulator-range-highlight",s)}layoutRanges(){var e,t,i;this.table.initialized&&(e=this.getActiveCell(),e&&(t=e.getElement(),i=e.row.getElement(),this.table.rtl?this.activeRangeCellElement.style.right=i.offsetWidth-t.offsetLeft-t.offsetWidth+"px":this.activeRangeCellElement.style.left=i.offsetLeft+t.offsetLeft+"px",this.activeRangeCellElement.style.top=i.offsetTop+"px",this.activeRangeCellElement.style.width=t.offsetWidth+"px",this.activeRangeCellElement.style.height=i.offsetHeight+"px",this.ranges.forEach(s=>s.layout()),this.overlay.style.visibility="visible"))}getCell(e,t){var i;return t<0&&(t=this.getTableColumns().length+t,t<0)?null:(e<0&&(e=this.getTableRows().length+e),i=this.table.rowManager.getRowFromPosition(e+1),i?i.getCells(!1,!0).filter(s=>s.column.visible)[t]:null)}getActiveCell(){return this.getCell(this.activeRange.start.row,this.activeRange.start.col)}getRowByRangePos(e){return this.getTableRows()[e]}getColumnByRangePos(e){return this.getTableColumns()[e]}getTableRows(){return this.table.rowManager.getDisplayRows().filter(e=>e.type==="row")}getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}addRange(e,t){var i;return this.maxRanges!==!0&&this.ranges.length>=this.maxRanges&&this.ranges.shift().destroy(),i=new $i(this.table,this,e,t),this.activeRange=i,this.ranges.push(i),this.rangeContainer.appendChild(i.element),i}resetRanges(){var e,t,i;return this.ranges.forEach(s=>s.destroy()),this.ranges=[],e=this.addRange(),this.table.rowManager.activeRows.length&&(i=this.table.rowManager.activeRows[0].cells.filter(s=>s.column.visible),t=i[this.rowHeader?1:0],t&&(e.setBounds(t),this.initializeFocus(t))),e}tableDestroyed(){document.removeEventListener("mouseup",this.mouseUpEvent),this.table.rowManager.element.removeEventListener("keydown",this.keyDownEvent)}selectedRows(e){return e?this.activeRange.getRows().map(t=>t.getComponent()):this.activeRange.getRows()}selectedColumns(e){return e?this.activeRange.getColumns().map(t=>t.getComponent()):this.activeRange.getColumns()}isEmpty(e){return e==null||e===""}}b(re,"moduleName","selectRange"),b(re,"moduleInitOrder",1),b(re,"moduleExtensions",ns);function rs(l,e,t,i,s,n,r){var o=r.alignEmptyValues,a=r.decimalSeparator,h=r.thousandSeparator,d=0;if(l=String(l),e=String(e),h&&(l=l.split(h).join(""),e=e.split(h).join("")),a&&(l=l.split(a).join("."),e=e.split(a).join(".")),l=parseFloat(l),e=parseFloat(e),isNaN(l))d=isNaN(e)?0:-1;else if(isNaN(e))d=1;else return l-e;return(o==="top"&&n==="desc"||o==="bottom"&&n==="asc")&&(d*=-1),d}function os(l,e,t,i,s,n,r){var o=r.alignEmptyValues,a=0,h;if(!l)a=e?-1:0;else if(!e)a=1;else{switch(typeof r.locale){case"boolean":r.locale&&(h=this.langLocale());break;case"string":h=r.locale;break}return String(l).toLowerCase().localeCompare(String(e).toLowerCase(),h)}return(o==="top"&&n==="desc"||o==="bottom"&&n==="asc")&&(a*=-1),a}function Ve(l,e,t,i,s,n,r){var o=window.DateTime||luxon.DateTime,a=r.format||"dd/MM/yyyy HH:mm:ss",h=r.alignEmptyValues,d=0;if(typeof o<"u"){if(o.isDateTime(l)||(a==="iso"?l=o.fromISO(String(l)):l=o.fromFormat(String(l),a)),o.isDateTime(e)||(a==="iso"?e=o.fromISO(String(e)):e=o.fromFormat(String(e),a)),!l.isValid)d=e.isValid?-1:0;else if(!e.isValid)d=1;else return l-e;return(h==="top"&&n==="desc"||h==="bottom"&&n==="asc")&&(d*=-1),d}else console.error("Sort Error - 'datetime' sorter is dependant on luxon.js")}function as(l,e,t,i,s,n,r){return r.format||(r.format="dd/MM/yyyy"),Ve.call(this,l,e,t,i,s,n,r)}function ls(l,e,t,i,s,n,r){return r.format||(r.format="HH:mm"),Ve.call(this,l,e,t,i,s,n,r)}function hs(l,e,t,i,s,n,r){var o=l===!0||l==="true"||l==="True"||l===1?1:0,a=e===!0||e==="true"||e==="True"||e===1?1:0;return o-a}function ds(l,e,t,i,s,n,r){var o=r.type||"length",a=r.alignEmptyValues,h=0;function d(u){var c;switch(o){case"length":c=u.length;break;case"sum":c=u.reduce(function(f,g){return f+g});break;case"max":c=Math.max.apply(null,u);break;case"min":c=Math.min.apply(null,u);break;case"avg":c=u.reduce(function(f,g){return f+g})/u.length;break}return c}if(!Array.isArray(l))h=Array.isArray(e)?-1:0;else if(!Array.isArray(e))h=1;else return d(e)-d(l);return(a==="top"&&n==="desc"||a==="bottom"&&n==="asc")&&(h*=-1),h}function us(l,e,t,i,s,n,r){var o=typeof l>"u"?0:1,a=typeof e>"u"?0:1;return o-a}function cs(l,e,t,i,s,n,r){var o,a,h,d,u=0,c,f=/(\d+)|(\D+)/g,g=/\d/,p=r.alignEmptyValues,v=0;if(!l&&l!==0)v=!e&&e!==0?0:-1;else if(!e&&e!==0)v=1;else{if(isFinite(l)&&isFinite(e))return l-e;if(o=String(l).toLowerCase(),a=String(e).toLowerCase(),o===a)return 0;if(!(g.test(o)&&g.test(a)))return o>a?1:-1;for(o=o.match(f),a=a.match(f),c=o.length>a.length?a.length:o.length;ud?1:-1;return o.length>a.length}return(p==="top"&&n==="desc"||p==="bottom"&&n==="asc")&&(v*=-1),v}var fs={number:rs,string:os,date:as,time:ls,datetime:Ve,boolean:hs,array:ds,exists:us,alphanum:cs};const j=class j extends w{constructor(e){super(e),this.sortList=[],this.changed=!1,this.registerTableOption("sortMode","local"),this.registerTableOption("initialSort",!1),this.registerTableOption("columnHeaderSortMulti",!0),this.registerTableOption("sortOrderReverse",!1),this.registerTableOption("headerSortElement","
"),this.registerTableOption("headerSortClickElement","header"),this.registerColumnOption("sorter"),this.registerColumnOption("sorterParams"),this.registerColumnOption("headerSort",!0),this.registerColumnOption("headerSortStartingDir"),this.registerColumnOption("headerSortTristate")}initialize(){this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("table-built",this.tableBuilt.bind(this)),this.registerDataHandler(this.sort.bind(this),20),this.registerTableFunction("setSort",this.userSetSort.bind(this)),this.registerTableFunction("getSorters",this.getSort.bind(this)),this.registerTableFunction("clearSort",this.clearSort.bind(this)),this.table.options.sortMode==="remote"&&this.subscribe("data-params",this.remoteSortParams.bind(this))}tableBuilt(){this.table.options.initialSort&&this.setSort(this.table.options.initialSort)}remoteSortParams(e,t,i,s){var n=this.getSort();return n.forEach(r=>{delete r.column}),s.sort=n,s}userSetSort(e,t){this.setSort(e,t),this.refreshSort()}clearSort(){this.clear(),this.refreshSort()}initializeColumn(e){var t=!1,i,s;switch(typeof e.definition.sorter){case"string":j.sorters[e.definition.sorter]?t=j.sorters[e.definition.sorter]:console.warn("Sort Error - No such sorter found: ",e.definition.sorter);break;case"function":t=e.definition.sorter;break}if(e.modules.sort={sorter:t,dir:"none",params:e.definition.sorterParams||{},startingDir:e.definition.headerSortStartingDir||"asc",tristate:e.definition.headerSortTristate},e.definition.headerSort!==!1){switch(i=e.getElement(),i.classList.add("tabulator-sortable"),s=document.createElement("div"),s.classList.add("tabulator-col-sorter"),this.table.options.headerSortClickElement){case"icon":s.classList.add("tabulator-col-sorter-element");break;case"header":i.classList.add("tabulator-col-sorter-element");break;default:i.classList.add("tabulator-col-sorter-element");break}switch(this.table.options.headerSortElement){case"function":break;case"object":s.appendChild(this.table.options.headerSortElement);break;default:s.innerHTML=this.table.options.headerSortElement}e.titleHolderElement.appendChild(s),e.modules.sort.element=s,this.setColumnHeaderSortIcon(e,"none"),this.table.options.headerSortClickElement==="icon"&&s.addEventListener("mousedown",n=>{n.stopPropagation()}),(this.table.options.headerSortClickElement==="icon"?s:i).addEventListener("click",n=>{var r="",o=[],a=!1;if(e.modules.sort){if(e.modules.sort.tristate)e.modules.sort.dir=="none"?r=e.modules.sort.startingDir:e.modules.sort.dir==e.modules.sort.startingDir?r=e.modules.sort.dir=="asc"?"desc":"asc":r="none";else switch(e.modules.sort.dir){case"asc":r="desc";break;case"desc":r="asc";break;default:r=e.modules.sort.startingDir}this.table.options.columnHeaderSortMulti&&(n.shiftKey||n.ctrlKey)?(o=this.getSort(),a=o.findIndex(h=>h.field===e.getField()),a>-1?(o[a].dir=r,a=o.splice(a,1)[0],r!="none"&&o.push(a)):r!="none"&&o.push({column:e,dir:r}),this.setSort(o)):r=="none"?this.clear():this.setSort(e,r),this.refreshSort()}})}}refreshSort(){this.table.options.sortMode==="remote"?this.reloadData(null,!1,!1):this.refreshData(!0)}hasChanged(){var e=this.changed;return this.changed=!1,e}getSort(){var e=this,t=[];return e.sortList.forEach(function(i){i.column&&t.push({column:i.column.getComponent(),field:i.column.getField(),dir:i.dir})}),t}setSort(e,t){var i=this,s=[];Array.isArray(e)||(e=[{column:e,dir:t}]),e.forEach(function(n){var r;r=i.table.columnManager.findColumn(n.column),r?(n.column=r,s.push(n),i.changed=!0):console.warn("Sort Warning - Sort field does not exist and is being ignored: ",n.column)}),i.sortList=s,this.dispatch("sort-changed")}clear(){this.setSort([])}findSorter(e){var t=this.table.rowManager.activeRows[0],i="string",s,n;if(t&&(t=t.getData(),s=e.getField(),s))switch(n=e.getFieldValue(t),typeof n){case"undefined":i="string";break;case"boolean":i="boolean";break;default:!isNaN(n)&&n!==""?i="number":n.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)&&(i="alphanum");break}return j.sorters[i]}sort(e,t){var i=this,s=this.table.options.sortOrderReverse?i.sortList.slice().reverse():i.sortList,n=[],r=[];return this.subscribedExternal("dataSorting")&&this.dispatchExternal("dataSorting",i.getSort()),t||i.clearColumnHeaders(),this.table.options.sortMode!=="remote"?(s.forEach(function(o,a){var h;o.column&&(h=o.column.modules.sort,h&&(h.sorter||(h.sorter=i.findSorter(o.column)),o.params=typeof h.params=="function"?h.params(o.column.getComponent(),o.dir):h.params,n.push(o)),t||i.setColumnHeader(o.column,o.dir))}),n.length&&i._sortItems(e,n)):t||s.forEach(function(o,a){i.setColumnHeader(o.column,o.dir)}),this.subscribedExternal("dataSorted")&&(e.forEach(o=>{r.push(o.getComponent())}),this.dispatchExternal("dataSorted",i.getSort(),r)),e}clearColumnHeaders(){this.table.columnManager.getRealColumns().forEach(e=>{e.modules.sort&&(e.modules.sort.dir="none",e.getElement().setAttribute("aria-sort","none"),this.setColumnHeaderSortIcon(e,"none"))})}setColumnHeader(e,t){e.modules.sort.dir=t,e.getElement().setAttribute("aria-sort",t==="asc"?"ascending":"descending"),this.setColumnHeaderSortIcon(e,t)}setColumnHeaderSortIcon(e,t){var i=e.modules.sort.element,s;if(e.definition.headerSort&&typeof this.table.options.headerSortElement=="function"){for(;i.firstChild;)i.removeChild(i.firstChild);s=this.table.options.headerSortElement.call(this.table,e.getComponent(),t),typeof s=="object"?i.appendChild(s):i.innerHTML=s}}_sortItems(e,t){var i=t.length-1;e.sort((s,n)=>{for(var r,o=i;o>=0;o--){let a=t[o];if(r=this._sortRow(s,n,a.column,a.dir,a.params),r!==0)break}return r})}_sortRow(e,t,i,s,n){var r,o,a=s=="asc"?e:t,h=s=="asc"?t:e;return e=i.getFieldValue(a.getData()),t=i.getFieldValue(h.getData()),e=typeof e<"u"?e:"",t=typeof t<"u"?t:"",r=a.getComponent(),o=h.getComponent(),i.modules.sort.sorter.call(this,e,t,r,o,i.getComponent(),s,n)}};b(j,"moduleName","sort"),b(j,"sorters",fs);let He=j;class ps{constructor(e,t){this.columnCount=e,this.rowCount=t,this.columnString=[],this.columns=[],this.rows=[]}genColumns(e){var t=Math.max(this.columnCount,Math.max(...e.map(i=>i.length)));this.columnString=[],this.columns=[];for(let i=1;i<=t;i++)this.incrementChar(this.columnString.length-1),this.columns.push(this.columnString.join(""));return this.columns}genRows(e){var t=Math.max(this.rowCount,e.length);this.rows=[];for(let i=1;i<=t;i++)this.rows.push(i);return this.rows}incrementChar(e){let t=this.columnString[e];t?t!=="Z"?this.columnString[e]=String.fromCharCode(this.columnString[e].charCodeAt(0)+1):(this.columnString[e]="A",e?this.incrementChar(e-1):this.columnString.push("A")):this.columnString.push("A")}setRowCount(e){this.rowCount=e}setColumnCount(e){this.columnCount=e}}class ft{constructor(e){return this._sheet=e,new Proxy(this,{get:function(t,i,s){return typeof t[i]<"u"?t[i]:t._sheet.table.componentFunctionBinder.handle("sheet",t._sheet,i)}})}getTitle(){return this._sheet.title}getKey(){return this._sheet.key}getDefinition(){return this._sheet.getDefinition()}getData(){return this._sheet.getData()}setData(e){return this._sheet.setData(e)}clear(){return this._sheet.clear()}remove(){return this._sheet.remove()}active(){return this._sheet.active()}setTitle(e){return this._sheet.setTitle(e)}setRows(e){return this._sheet.setRows(e)}setColumns(e){return this._sheet.setColumns(e)}}class Xe extends M{constructor(e,t){super(e.table),this.spreadsheetManager=e,this.definition=t,this.title=this.definition.title||"",this.key=this.definition.key||this.definition.title,this.rowCount=this.definition.rows,this.columnCount=this.definition.columns,this.data=this.definition.data||[],this.element=null,this.isActive=!1,this.grid=new ps(this.columnCount,this.rowCount),this.defaultColumnDefinition={width:100,headerHozAlign:"center",headerSort:!1},this.columnDefinition=Object.assign(this.defaultColumnDefinition,this.options("spreadsheetColumnDefinition")),this.columnDefs=[],this.rowDefs=[],this.columnFields=[],this.columns=[],this.rows=[],this.scrollTop=null,this.scrollLeft=null,this.initialize(),this.dispatchExternal("sheetAdded",this.getComponent())}initialize(){this.initializeElement(),this.initializeColumns(),this.initializeRows()}reinitialize(){this.initializeColumns(),this.initializeRows()}initializeElement(){this.element=document.createElement("div"),this.element.classList.add("tabulator-spreadsheet-tab"),this.element.innerText=this.title,this.element.addEventListener("click",()=>{this.spreadsheetManager.loadSheet(this)})}initializeColumns(){this.grid.setColumnCount(this.columnCount),this.columnFields=this.grid.genColumns(this.data),this.columnDefs=[],this.columnFields.forEach(e=>{var t=Object.assign({},this.columnDefinition);t.field=e,t.title=e,this.columnDefs.push(t)})}initializeRows(){var e;this.grid.setRowCount(this.rowCount),e=this.grid.genRows(this.data),this.rowDefs=[],e.forEach((t,i)=>{var s={_id:t},n=this.data[i];n&&n.forEach((r,o)=>{var a=this.columnFields[o];a&&(s[a]=r)}),this.rowDefs.push(s)})}unload(){this.isActive=!1,this.scrollTop=this.table.rowManager.scrollTop,this.scrollLeft=this.table.rowManager.scrollLeft,this.data=this.getData(!0),this.element.classList.remove("tabulator-spreadsheet-tab-active")}load(){var e=!this.isActive;this.isActive=!0,this.table.blockRedraw(),this.table.setData([]),this.table.setColumns(this.columnDefs),this.table.setData(this.rowDefs),this.table.restoreRedraw(),e&&this.scrollTop!==null&&(this.table.rowManager.element.scrollLeft=this.scrollLeft,this.table.rowManager.element.scrollTop=this.scrollTop),this.element.classList.add("tabulator-spreadsheet-tab-active"),this.dispatchExternal("sheetLoaded",this.getComponent())}getComponent(){return new ft(this)}getDefinition(){return{title:this.title,key:this.key,rows:this.rowCount,columns:this.columnCount,data:this.getData()}}getData(e){var t=[],i,s,n;return this.rowDefs.forEach(r=>{var o=[];this.columnFields.forEach(a=>{o.push(r[a])}),t.push(o)}),!e&&!this.options("spreadsheetOutputFull")&&(i=t.map(r=>r.findLastIndex(o=>typeof o<"u")+1),s=Math.max(...i),n=i.findLastIndex(r=>r>0)+1,t=t.slice(0,n),t=t.map(r=>r.slice(0,s))),t}setData(e){this.data=e,this.reinitialize(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}clear(){this.setData([])}setTitle(e){this.title=e,this.element.innerText=e,this.dispatchExternal("sheetUpdated",this.getComponent())}setRows(e){this.rowCount=e,this.initializeRows(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}setColumns(e){this.columnCount=e,this.reinitialize(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}remove(){this.spreadsheetManager.removeSheet(this)}destroy(){this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.dispatchExternal("sheetRemoved",this.getComponent())}active(){this.spreadsheetManager.loadSheet(this)}}class pt extends w{constructor(e){super(e),this.sheets=[],this.element=null,this.registerTableOption("spreadsheet",!1),this.registerTableOption("spreadsheetRows",50),this.registerTableOption("spreadsheetColumns",50),this.registerTableOption("spreadsheetColumnDefinition",{}),this.registerTableOption("spreadsheetOutputFull",!1),this.registerTableOption("spreadsheetData",!1),this.registerTableOption("spreadsheetSheets",!1),this.registerTableOption("spreadsheetSheetTabs",!1),this.registerTableOption("spreadsheetSheetTabsElement",!1),this.registerTableFunction("setSheets",this.setSheets.bind(this)),this.registerTableFunction("addSheet",this.addSheet.bind(this)),this.registerTableFunction("getSheets",this.getSheets.bind(this)),this.registerTableFunction("getSheetDefinitions",this.getSheetDefinitions.bind(this)),this.registerTableFunction("setSheetData",this.setSheetData.bind(this)),this.registerTableFunction("getSheet",this.getSheet.bind(this)),this.registerTableFunction("getSheetData",this.getSheetData.bind(this)),this.registerTableFunction("clearSheet",this.clearSheet.bind(this)),this.registerTableFunction("removeSheet",this.removeSheetFunc.bind(this)),this.registerTableFunction("activeSheet",this.activeSheetFunc.bind(this))}initialize(){this.options("spreadsheet")&&(this.subscribe("table-initialized",this.tableInitialized.bind(this)),this.subscribe("data-loaded",this.loadRemoteData.bind(this)),this.table.options.index="_id",this.options("spreadsheetData")&&this.options("spreadsheetSheets")&&(console.warn("You cannot use spreadsheetData and spreadsheetSheets at the same time, ignoring spreadsheetData"),this.table.options.spreadsheetData=!1),this.compatibilityCheck(),this.options("spreadsheetSheetTabs")&&this.initializeTabset())}compatibilityCheck(){this.options("data")&&console.warn("Do not use the data option when working with spreadsheets, use either spreadsheetData or spreadsheetSheets to pass data into the table"),this.options("pagination")&&console.warn("The spreadsheet module is not compatible with the pagination module"),this.options("groupBy")&&console.warn("The spreadsheet module is not compatible with the row grouping module"),this.options("responsiveCollapse")&&console.warn("The spreadsheet module is not compatible with the responsive collapse module")}initializeTabset(){this.element=document.createElement("div"),this.element.classList.add("tabulator-spreadsheet-tabs");var e=this.options("spreadsheetSheetTabsElement");e&&!(e instanceof HTMLElement)&&(e=document.querySelector(e),e||console.warn("Unable to find element matching spreadsheetSheetTabsElement selector:",this.options("spreadsheetSheetTabsElement"))),e?e.appendChild(this.element):this.footerAppend(this.element)}tableInitialized(){this.sheets.length?this.loadSheet(this.sheets[0]):this.options("spreadsheetSheets")?this.loadSheets(this.options("spreadsheetSheets")):this.options("spreadsheetData")&&this.loadData(this.options("spreadsheetData"))}loadRemoteData(e,t,i){return console.log("data",e,t,i),Array.isArray(e)?(this.table.dataLoader.clearAlert(),this.dispatchExternal("dataLoaded",e),!e.length||Array.isArray(e[0])?this.loadData(e):this.loadSheets(e)):console.error(`Spreadsheet Loading Error - Unable to process remote data due to invalid data type +Expecting: array +Received: `,typeof e,` +Data: `,e),!1}loadData(e){var t={data:e};this.loadSheet(this.newSheet(t))}destroySheets(){this.sheets.forEach(e=>{e.destroy()}),this.sheets=[],this.activeSheet=null}loadSheets(e){Array.isArray(e)||(e=[]),this.destroySheets(),e.forEach(t=>{this.newSheet(t)}),this.loadSheet(this.sheets[0])}loadSheet(e){this.activeSheet!==e&&(this.activeSheet&&this.activeSheet.unload(),this.activeSheet=e,e.load())}newSheet(e={}){var t;return e.rows||(e.rows=this.options("spreadsheetRows")),e.columns||(e.columns=this.options("spreadsheetColumns")),t=new Xe(this,e),this.sheets.push(t),this.element&&this.element.appendChild(t.element),t}removeSheet(e){var t=this.sheets.indexOf(e),i;this.sheets.length>1?t>-1&&(this.sheets.splice(t,1),e.destroy(),this.activeSheet===e&&(i=this.sheets[t-1]||this.sheets[0],i?this.loadSheet(i):this.activeSheet=null)):console.warn("Unable to remove sheet, at least one sheet must be active")}lookupSheet(e){return e?e instanceof Xe?e:e instanceof ft?e._sheet:this.sheets.find(t=>t.key===e)||!1:this.activeSheet}setSheets(e){return this.loadSheets(e),this.getSheets()}addSheet(e){return this.newSheet(e).getComponent()}getSheetDefinitions(){return this.sheets.map(e=>e.getDefinition())}getSheets(){return this.sheets.map(e=>e.getComponent())}getSheet(e){var t=this.lookupSheet(e);return t?t.getComponent():!1}setSheetData(e,t){e&&!t&&(t=e,e=!1);var i=this.lookupSheet(e);return i?i.setData(t):!1}getSheetData(e){var t=this.lookupSheet(e);return t?t.getData():!1}clearSheet(e){var t=this.lookupSheet(e);return t?t.clear():!1}removeSheetFunc(e){var t=this.lookupSheet(e);t&&this.removeSheet(t)}activeSheetFunc(e){var t=this.lookupSheet(e);return t?this.loadSheet(t):!1}}b(pt,"moduleName","spreadsheet");class mt extends w{constructor(e){super(e),this.tooltipSubscriber=null,this.headerSubscriber=null,this.timeout=null,this.popupInstance=null,this.registerTableOption("tooltipDelay",300),this.registerColumnOption("tooltip"),this.registerColumnOption("headerTooltip")}initialize(){this.deprecatedOptionsCheck(),this.subscribe("column-init",this.initializeColumn.bind(this))}deprecatedOptionsCheck(){}initializeColumn(e){e.definition.headerTooltip&&!this.headerSubscriber&&(this.headerSubscriber=!0,this.subscribe("column-mousemove",this.mousemoveCheck.bind(this,"headerTooltip")),this.subscribe("column-mouseout",this.mouseoutCheck.bind(this,"headerTooltip"))),e.definition.tooltip&&!this.tooltipSubscriber&&(this.tooltipSubscriber=!0,this.subscribe("cell-mousemove",this.mousemoveCheck.bind(this,"tooltip")),this.subscribe("cell-mouseout",this.mouseoutCheck.bind(this,"tooltip")))}mousemoveCheck(e,t,i){var s=e==="tooltip"?i.column.definition.tooltip:i.definition.headerTooltip;s&&(this.clearPopup(),this.timeout=setTimeout(this.loadTooltip.bind(this,t,i,s),this.table.options.tooltipDelay))}mouseoutCheck(e,t,i){this.popupInstance||this.clearPopup()}clearPopup(e,t,i){clearTimeout(this.timeout),this.timeout=null,this.popupInstance&&this.popupInstance.hide()}loadTooltip(e,t,i){var s,n,r;function o(a){n=a}typeof i=="function"&&(i=i(e,t.getComponent(),o)),i instanceof HTMLElement?s=i:(s=document.createElement("div"),i===!0&&(t instanceof ne?i=t.value:t.definition.field?this.langBind("columns|"+t.definition.field,a=>{s.innerHTML=i=a||t.definition.title}):i=t.definition.title),s.innerHTML=i),(i||i===0||i===!1)&&(s.classList.add("tabulator-tooltip"),s.addEventListener("mousemove",a=>a.preventDefault()),this.popupInstance=this.popup(s),typeof n=="function"&&this.popupInstance.renderCallback(n),r=this.popupInstance.containerEventCoords(e),this.popupInstance.show(r.x+15,r.y+15).hideOnBlur(()=>{this.dispatchExternal("TooltipClosed",t.getComponent()),this.popupInstance=null}),this.dispatchExternal("TooltipOpened",t.getComponent()))}}b(mt,"moduleName","tooltip");var ms={integer:function(l,e,t){return e===""||e===null||typeof e>"u"?!0:(e=Number(e),!isNaN(e)&&isFinite(e)&&Math.floor(e)===e)},float:function(l,e,t){return e===""||e===null||typeof e>"u"?!0:(e=Number(e),!isNaN(e)&&isFinite(e)&&e%1!==0)},numeric:function(l,e,t){return e===""||e===null||typeof e>"u"?!0:!isNaN(e)},string:function(l,e,t){return e===""||e===null||typeof e>"u"?!0:isNaN(e)},alphanumeric:function(l,e,t){if(e===""||e===null||typeof e>"u")return!0;var i=new RegExp(/^[a-z0-9]+$/i);return i.test(e)},max:function(l,e,t){return e===""||e===null||typeof e>"u"?!0:parseFloat(e)<=t},min:function(l,e,t){return e===""||e===null||typeof e>"u"?!0:parseFloat(e)>=t},starts:function(l,e,t){return e===""||e===null||typeof e>"u"?!0:String(e).toLowerCase().startsWith(String(t).toLowerCase())},ends:function(l,e,t){return e===""||e===null||typeof e>"u"?!0:String(e).toLowerCase().endsWith(String(t).toLowerCase())},minLength:function(l,e,t){return e===""||e===null||typeof e>"u"?!0:String(e).length>=t},maxLength:function(l,e,t){return e===""||e===null||typeof e>"u"?!0:String(e).length<=t},in:function(l,e,t){return e===""||e===null||typeof e>"u"?!0:(typeof t=="string"&&(t=t.split("|")),t.indexOf(e)>-1)},regex:function(l,e,t){if(e===""||e===null||typeof e>"u")return!0;var i=new RegExp(t);return i.test(e)},unique:function(l,e,t){if(e===""||e===null||typeof e>"u")return!0;var i=!0,s=l.getData(),n=l.getColumn()._getSelf();return this.table.rowManager.rows.forEach(function(r){var o=r.getData();o!==s&&e==n.getFieldValue(o)&&(i=!1)}),i},required:function(l,e,t){return e!==""&&e!==null&&typeof e<"u"}};const ie=class ie extends w{constructor(e){super(e),this.invalidCells=[],this.registerTableOption("validationMode","blocking"),this.registerColumnOption("validator"),this.registerTableFunction("getInvalidCells",this.getInvalidCells.bind(this)),this.registerTableFunction("clearCellValidation",this.userClearCellValidation.bind(this)),this.registerTableFunction("validate",this.userValidate.bind(this)),this.registerComponentFunction("cell","isValid",this.cellIsValid.bind(this)),this.registerComponentFunction("cell","clearValidation",this.clearValidation.bind(this)),this.registerComponentFunction("cell","validate",this.cellValidate.bind(this)),this.registerComponentFunction("column","validate",this.columnValidate.bind(this)),this.registerComponentFunction("row","validate",this.rowValidate.bind(this))}initialize(){this.subscribe("cell-delete",this.clearValidation.bind(this)),this.subscribe("column-layout",this.initializeColumnCheck.bind(this)),this.subscribe("edit-success",this.editValidate.bind(this)),this.subscribe("edit-editor-clear",this.editorClear.bind(this)),this.subscribe("edit-edited-clear",this.editedClear.bind(this))}editValidate(e,t,i){var s=this.table.options.validationMode!=="manual"?this.validate(e.column.modules.validate,e,t):!0;return s!==!0&&setTimeout(()=>{e.getElement().classList.add("tabulator-validation-fail"),this.dispatchExternal("validationFailed",e.getComponent(),t,s)}),s}editorClear(e,t){t&&e.column.modules.validate&&this.cellValidate(e),e.getElement().classList.remove("tabulator-validation-fail")}editedClear(e){e.modules.validate&&(e.modules.validate.invalid=!1)}cellIsValid(e){return e.modules.validate&&e.modules.validate.invalid||!0}cellValidate(e){return this.validate(e.column.modules.validate,e,e.getValue())}columnValidate(e){var t=[];return e.cells.forEach(i=>{this.cellValidate(i)!==!0&&t.push(i.getComponent())}),t.length?t:!0}rowValidate(e){var t=[];return e.cells.forEach(i=>{this.cellValidate(i)!==!0&&t.push(i.getComponent())}),t.length?t:!0}userClearCellValidation(e){e||(e=this.getInvalidCells()),Array.isArray(e)||(e=[e]),e.forEach(t=>{this.clearValidation(t._getSelf())})}userValidate(e){var t=[];return this.table.rowManager.rows.forEach(i=>{i=i.getComponent();var s=i.validate();s!==!0&&(t=t.concat(s))}),t.length?t:!0}initializeColumnCheck(e){typeof e.definition.validator<"u"&&this.initializeColumn(e)}initializeColumn(e){var t=this,i=[],s;e.definition.validator&&(Array.isArray(e.definition.validator)?e.definition.validator.forEach(n=>{s=t._extractValidator(n),s&&i.push(s)}):(s=this._extractValidator(e.definition.validator),s&&i.push(s)),e.modules.validate=i.length?i:!1)}_extractValidator(e){var t,i,s;switch(typeof e){case"string":return s=e.indexOf(":"),s>-1?(t=e.substring(0,s),i=e.substring(s+1)):t=e,this._buildValidator(t,i);case"function":return this._buildValidator(e);case"object":return this._buildValidator(e.type,e.parameters)}}_buildValidator(e,t){var i=typeof e=="function"?e:ie.validators[e];return i?{type:typeof e=="function"?"function":e,func:i,params:t}:(console.warn("Validator Setup Error - No matching validator found:",e),!1)}validate(e,t,i){var s=this,n=[],r=this.invalidCells.indexOf(t);return e&&e.forEach(o=>{o.func.call(s,t.getComponent(),i,o.params)||n.push({type:o.type,parameters:o.params})}),t.modules.validate||(t.modules.validate={}),n.length?(t.modules.validate.invalid=n,this.table.options.validationMode!=="manual"&&t.getElement().classList.add("tabulator-validation-fail"),r==-1&&this.invalidCells.push(t)):(t.modules.validate.invalid=!1,t.getElement().classList.remove("tabulator-validation-fail"),r>-1&&this.invalidCells.splice(r,1)),n.length?n:!0}getInvalidCells(){var e=[];return this.invalidCells.forEach(t=>{e.push(t.getComponent())}),e}clearValidation(e){var t;e.modules.validate&&e.modules.validate.invalid&&(e.getElement().classList.remove("tabulator-validation-fail"),e.modules.validate.invalid=!1,t=this.invalidCells.indexOf(e),t>-1&&this.invalidCells.splice(t,1))}};b(ie,"moduleName","validate"),b(ie,"validators",ms);let Fe=ie;var ue=Object.freeze({__proto__:null,AccessorModule:ce,AjaxModule:me,ClipboardModule:ge,ColumnCalcsModule:be,DataTreeModule:Ze,DownloadModule:ve,EditModule:we,ExportModule:Ce,FilterModule:Ee,FormatModule:ye,FrozenColumnsModule:et,FrozenRowsModule:tt,GroupRowsModule:it,HistoryModule:Re,HtmlTableImportModule:st,ImportModule:xe,InteractionModule:nt,KeybindingsModule:Te,MenuModule:rt,MoveColumnsModule:ot,MoveRowsModule:ke,MutatorModule:Me,PageModule:Le,PersistenceModule:Se,PopupModule:at,PrintModule:lt,ReactiveDataModule:ht,ResizeColumnsModule:dt,ResizeRowsModule:ut,ResizeTableModule:ct,ResponsiveLayoutModule:De,SelectRangeModule:re,SelectRowModule:ze,SortModule:He,SpreadsheetModule:pt,TooltipModule:mt,ValidateModule:Fe}),gs={debugEventsExternal:!1,debugEventsInternal:!1,debugInvalidOptions:!0,debugInvalidComponentFuncs:!0,debugInitialization:!0,debugDeprecation:!0,height:!1,minHeight:!1,maxHeight:!1,columnHeaderVertAlign:"top",popupContainer:!1,columns:[],columnDefaults:{},rowHeader:!1,data:!1,autoColumns:!1,autoColumnsDefinitions:!1,nestedFieldSeparator:".",footerElement:!1,index:"id",textDirection:"auto",addRowPos:"bottom",headerVisible:!0,renderVertical:"virtual",renderHorizontal:"basic",renderVerticalBuffer:0,scrollToRowPosition:"top",scrollToRowIfVisible:!0,scrollToColumnPosition:"left",scrollToColumnIfVisible:!0,rowFormatter:!1,rowFormatterPrint:null,rowFormatterClipboard:null,rowFormatterHtmlOutput:null,rowHeight:null,placeholder:!1,dataLoader:!0,dataLoaderLoading:!1,dataLoaderError:!1,dataLoaderErrorTimeout:3e3,dataSendParams:{},dataReceiveParams:{}};class gt{constructor(e,t,i={}){this.table=e,this.msgType=t,this.registeredDefaults=Object.assign({},i)}register(e,t){this.registeredDefaults[e]=t}generate(e,t={}){var i=Object.assign({},this.registeredDefaults),s=this.table.options.debugInvalidOptions||t.debugInvalidOptions===!0;Object.assign(i,e);for(let n in t)i.hasOwnProperty(n)||(s&&console.warn("Invalid "+this.msgType+" option:",n),i[n]=t.key);for(let n in i)n in t?i[n]=t[n]:Array.isArray(i[n])?i[n]=Object.assign([],i[n]):typeof i[n]=="object"&&i[n]!==null?i[n]=Object.assign({},i[n]):typeof i[n]>"u"&&delete i[n];return i}}class le extends M{constructor(e){super(e),this.elementVertical=e.rowManager.element,this.elementHorizontal=e.columnManager.element,this.tableElement=e.rowManager.tableElement,this.verticalFillMode="fit"}initialize(){}clearRows(){}clearColumns(){}reinitializeColumnWidths(e){}renderRows(){}renderColumns(){}rerenderRows(e){e&&e()}rerenderColumns(e,t){}renderRowCells(e){}rerenderRowCells(e,t){}scrollColumns(e,t){}scrollRows(e,t){}resize(){}scrollToRow(e){}scrollToRowNearestTop(e){}visibleRows(e){return[]}rows(){return this.table.rowManager.getDisplayRows()}styleRow(e,t){var i=e.getElement();t%2?(i.classList.add("tabulator-row-even"),i.classList.remove("tabulator-row-odd")):(i.classList.add("tabulator-row-odd"),i.classList.remove("tabulator-row-even"))}clear(){this.clearRows(),this.clearColumns()}render(){this.renderRows(),this.renderColumns()}rerender(e){this.rerenderRows(),this.rerenderColumns()}scrollToRowPosition(e,t,i){var s=this.rows().indexOf(e),n=e.getElement(),r=0;return new Promise((o,a)=>{if(s>-1){if(typeof i>"u"&&(i=this.table.options.scrollToRowIfVisible),!i&&x.elVisible(n)&&(r=x.elOffset(n).top-x.elOffset(this.elementVertical).top,r>0&&r"u"&&(t=this.table.options.scrollToRowPosition),t==="nearest"&&(t=this.scrollToRowNearestTop(e)?"top":"bottom"),this.scrollToRow(e),t){case"middle":case"center":this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop=this.elementVertical.scrollTop+(n.offsetTop-this.elementVertical.scrollTop)-(this.elementVertical.scrollHeight-n.offsetTop)/2:this.elementVertical.scrollTop=this.elementVertical.scrollTop-this.elementVertical.clientHeight/2;break;case"bottom":this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop=this.elementVertical.scrollTop-(this.elementVertical.scrollHeight-n.offsetTop)+n.offsetHeight:this.elementVertical.scrollTop=this.elementVertical.scrollTop-this.elementVertical.clientHeight+n.offsetHeight;break;case"top":this.elementVertical.scrollTop=n.offsetTop;break}o()}else console.warn("Scroll Error - Row not visible"),a("Scroll Error - Row not visible")})}}class bs extends le{constructor(e){super(e)}renderRowCells(e,t){const i=document.createDocumentFragment();e.cells.forEach(s=>{i.appendChild(s.getElement())}),e.element.appendChild(i),t||e.cells.forEach(s=>{s.cellRendered()})}reinitializeColumnWidths(e){e.forEach(function(t){t.reinitializeWidth()})}}class vs extends le{constructor(e){super(e),this.leftCol=0,this.rightCol=0,this.scrollLeft=0,this.vDomScrollPosLeft=0,this.vDomScrollPosRight=0,this.vDomPadLeft=0,this.vDomPadRight=0,this.fitDataColAvg=0,this.windowBuffer=200,this.visibleRows=null,this.initialized=!1,this.isFitData=!1,this.columns=[]}initialize(){this.compatibilityCheck(),this.layoutCheck(),this.vertScrollListen()}compatibilityCheck(){this.options("layout")=="fitDataTable"&&console.warn("Horizontal Virtual DOM is not compatible with fitDataTable layout mode"),this.options("responsiveLayout")&&console.warn("Horizontal Virtual DOM is not compatible with responsive columns"),this.options("rtl")&&console.warn("Horizontal Virtual DOM is not currently compatible with RTL text direction")}layoutCheck(){this.isFitData=this.options("layout").startsWith("fitData")}vertScrollListen(){this.subscribe("scroll-vertical",this.clearVisRowCache.bind(this)),this.subscribe("data-refreshed",this.clearVisRowCache.bind(this))}clearVisRowCache(){this.visibleRows=null}renderColumns(e,t){this.dataChange()}scrollColumns(e,t){this.scrollLeft!=e&&(this.scrollLeft=e,this.scroll(e-(this.vDomScrollPosLeft+this.windowBuffer)))}calcWindowBuffer(){var e=this.elementVertical.clientWidth;this.table.columnManager.columnsByIndex.forEach(t=>{if(t.visible){var i=t.getWidth();i>e&&(e=i)}}),this.windowBuffer=e*2}rerenderColumns(e,t){var i={cols:this.columns,leftCol:this.leftCol,rightCol:this.rightCol},s=0;e&&!this.initialized||(this.clear(),this.calcWindowBuffer(),this.scrollLeft=this.elementVertical.scrollLeft,this.vDomScrollPosLeft=this.scrollLeft-this.windowBuffer,this.vDomScrollPosRight=this.scrollLeft+this.elementVertical.clientWidth+this.windowBuffer,this.table.columnManager.columnsByIndex.forEach(n=>{var r={},o;n.visible&&(n.modules.frozen||(o=n.getWidth(),r.leftPos=s,r.rightPos=s+o,r.width=o,this.isFitData&&(r.fitDataCheck=n.modules.vdomHoz?n.modules.vdomHoz.fitDataCheck:!0),s+o>this.vDomScrollPosLeft&&s{t.appendChild(i.getElement())}),e.element.appendChild(t),e.cells.forEach(i=>{i.cellRendered()})}}rerenderRowCells(e,t){this.reinitializeRow(e,t)}reinitializeColumnWidths(e){for(let t=this.leftCol;t<=this.rightCol;t++)this.columns[t].reinitializeWidth()}deinitialize(){this.initialized=!1}clear(){this.columns=[],this.leftCol=-1,this.rightCol=0,this.vDomScrollPosLeft=0,this.vDomScrollPosRight=0,this.vDomPadLeft=0,this.vDomPadRight=0}dataChange(){var e=!1,t,i;if(this.isFitData){if(this.table.columnManager.columnsByIndex.forEach(s=>{!s.definition.width&&s.visible&&(e=!0)}),e&&this.table.rowManager.getDisplayRows().length&&(this.vDomScrollPosRight=this.scrollLeft+this.elementVertical.clientWidth+this.windowBuffer,t=this.chain("rows-sample",[1],[],()=>this.table.rowManager.getDisplayRows())[0],t)){i=t.getElement(),t.generateCells(),this.tableElement.appendChild(i);for(let s=0;s{i!==this.columns[s]&&(t=!1)}),!t)}reinitializeRows(){var e=this.getVisibleRows(),t=this.table.rowManager.getRows().filter(i=>!e.includes(i));e.forEach(i=>{this.reinitializeRow(i,!0)}),t.forEach(i=>{i.deinitialize()})}getVisibleRows(){return this.visibleRows||(this.visibleRows=this.table.rowManager.getVisibleRows()),this.visibleRows}scroll(e){this.vDomScrollPosLeft+=e,this.vDomScrollPosRight+=e,Math.abs(e)>this.windowBuffer/2?this.rerenderColumns():e>0?(this.addColRight(),this.removeColLeft()):(this.addColLeft(),this.removeColRight())}colPositionAdjust(e,t,i){for(let s=e;s{if(s.type!=="group"){var n=s.getCell(i);s.getElement().insertBefore(n.getElement(),s.getCell(this.columns[this.rightCol]).getElement().nextSibling),n.cellRendered()}}),this.fitDataColActualWidthCheck(i),this.rightCol++,this.getVisibleRows().forEach(s=>{s.type!=="group"&&(s.modules.vdomHoz.rightCol=this.rightCol)}),this.rightCol>=this.columns.length-1?this.vDomPadRight=0:this.vDomPadRight-=i.getWidth()):t=!1}e&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px")}addColLeft(){for(var e=!1,t=!0;t;){let i=this.columns[this.leftCol-1];if(i)if(i.modules.vdomHoz.rightPos>=this.vDomScrollPosLeft){e=!0,this.getVisibleRows().forEach(n=>{if(n.type!=="group"){var r=n.getCell(i);n.getElement().insertBefore(r.getElement(),n.getCell(this.columns[this.leftCol]).getElement()),r.cellRendered()}}),this.leftCol--,this.getVisibleRows().forEach(n=>{n.type!=="group"&&(n.modules.vdomHoz.leftCol=this.leftCol)}),this.leftCol<=0?this.vDomPadLeft=0:this.vDomPadLeft-=i.getWidth();let s=this.fitDataColActualWidthCheck(i);s&&(this.scrollLeft=this.elementVertical.scrollLeft=this.elementVertical.scrollLeft+s,this.vDomPadRight-=s)}else t=!1;else t=!1}e&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px")}removeColRight(){for(var e=!1,t=!0;t;){let i=this.columns[this.rightCol];i&&i.modules.vdomHoz.leftPos>this.vDomScrollPosRight?(e=!0,this.getVisibleRows().forEach(s=>{if(s.type!=="group"){var n=s.getCell(i);try{s.getElement().removeChild(n.getElement())}catch(r){console.warn("Could not removeColRight",r.message)}}}),this.vDomPadRight+=i.getWidth(),this.rightCol--,this.getVisibleRows().forEach(s=>{s.type!=="group"&&(s.modules.vdomHoz.rightCol=this.rightCol)})):t=!1}e&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px")}removeColLeft(){for(var e=!1,t=!0;t;){let i=this.columns[this.leftCol];i&&i.modules.vdomHoz.rightPos{if(s.type!=="group"){var n=s.getCell(i);try{s.getElement().removeChild(n.getElement())}catch(r){console.warn("Could not removeColLeft",r.message)}}}),this.vDomPadLeft+=i.getWidth(),this.leftCol++,this.getVisibleRows().forEach(s=>{s.type!=="group"&&(s.modules.vdomHoz.leftCol=this.leftCol)})):t=!1}e&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px")}fitDataColActualWidthCheck(e){var t,i;return e.modules.vdomHoz.fitDataCheck&&(e.reinitializeWidth(),t=e.getWidth(),i=t-e.modules.vdomHoz.width,i&&(e.modules.vdomHoz.rightPos+=i,e.modules.vdomHoz.width=t,this.colPositionAdjust(this.columns.indexOf(e)+1,this.columns.length,i)),e.modules.vdomHoz.fitDataCheck=!1),i}initializeRow(e){if(e.type!=="group"){e.modules.vdomHoz={leftCol:this.leftCol,rightCol:this.rightCol},this.table.modules.frozenColumns&&this.table.modules.frozenColumns.leftColumns.forEach(t=>{this.appendCell(e,t)});for(let t=this.leftCol;t<=this.rightCol;t++)this.appendCell(e,this.columns[t]);this.table.modules.frozenColumns&&this.table.modules.frozenColumns.rightColumns.forEach(t=>{this.appendCell(e,t)})}}appendCell(e,t){if(t&&t.visible){let i=e.getCell(t);e.getElement().appendChild(i.getElement()),i.cellRendered()}}reinitializeRow(e,t){if(e.type!=="group"&&(t||!e.modules.vdomHoz||e.modules.vdomHoz.leftCol!==this.leftCol||e.modules.vdomHoz.rightCol!==this.rightCol)){for(var i=e.getElement();i.firstChild;)i.removeChild(i.firstChild);this.initializeRow(e)}}}class ws extends M{constructor(e){super(e),this.blockHozScrollEvent=!1,this.headersElement=null,this.contentsElement=null,this.rowHeader=null,this.element=null,this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.scrollLeft=0,this.optionsList=new gt(this.table,"column definition",Qe),this.redrawBlock=!1,this.redrawBlockUpdate=null,this.renderer=null}initialize(){this.initializeRenderer(),this.headersElement=this.createHeadersElement(),this.contentsElement=this.createHeaderContentsElement(),this.element=this.createHeaderElement(),this.contentsElement.insertBefore(this.headersElement,this.contentsElement.firstChild),this.element.insertBefore(this.contentsElement,this.element.firstChild),this.initializeScrollWheelWatcher(),this.subscribe("scroll-horizontal",this.scrollHorizontal.bind(this)),this.subscribe("scrollbar-vertical",this.padVerticalScrollbar.bind(this))}padVerticalScrollbar(e){this.table.rtl?this.headersElement.style.marginLeft=e+"px":this.headersElement.style.marginRight=e+"px"}initializeRenderer(){var e,t={virtual:vs,basic:bs};typeof this.table.options.renderHorizontal=="string"?e=t[this.table.options.renderHorizontal]:e=this.table.options.renderHorizontal,e?(this.renderer=new e(this.table,this.element,this.tableElement),this.renderer.initialize()):console.error("Unable to find matching renderer:",this.table.options.renderHorizontal)}createHeadersElement(){var e=document.createElement("div");return e.classList.add("tabulator-headers"),e.setAttribute("role","row"),e}createHeaderContentsElement(){var e=document.createElement("div");return e.classList.add("tabulator-header-contents"),e.setAttribute("role","rowgroup"),e}createHeaderElement(){var e=document.createElement("div");return e.classList.add("tabulator-header"),e.setAttribute("role","rowgroup"),this.table.options.headerVisible||e.classList.add("tabulator-header-hidden"),e}getElement(){return this.element}getContentsElement(){return this.contentsElement}getHeadersElement(){return this.headersElement}scrollHorizontal(e){this.contentsElement.scrollLeft=e,this.scrollLeft=e,this.renderer.scrollColumns(e)}initializeScrollWheelWatcher(){this.contentsElement.addEventListener("wheel",e=>{var t;e.deltaX&&(t=this.contentsElement.scrollLeft+e.deltaX,this.table.rowManager.scrollHorizontal(t),this.table.columnManager.scrollHorizontal(t))})}generateColumnsFromRowData(e){var t=[],i={},s=this.table.options.autoColumns==="full"?e:[e[0]],n=this.table.options.autoColumnsDefinitions;if(e&&e.length){if(s.forEach(r=>{Object.keys(r).forEach((o,a)=>{let h=r[o],d;i[o]?i[o]!==!0&&typeof h<"u"&&(i[o].sorter=this.calculateSorterFromValue(h),i[o]=!0):(d={field:o,title:o,sorter:this.calculateSorterFromValue(h)},t.splice(a,0,d),i[o]=typeof h>"u"?d:!0)})}),n)switch(typeof n){case"function":this.table.options.columns=n.call(this.table,t);break;case"object":Array.isArray(n)?t.forEach(r=>{var o=n.find(a=>a.field===r.field);o&&Object.assign(r,o)}):t.forEach(r=>{n[r.field]&&Object.assign(r,n[r.field])}),this.table.options.columns=t;break}else this.table.options.columns=t;this.setColumns(this.table.options.columns)}}calculateSorterFromValue(e){var t;switch(typeof e){case"undefined":t="string";break;case"boolean":t="boolean";break;case"number":t="number";break;case"object":Array.isArray(e)?t="array":t="string";break;default:!isNaN(e)&&e!==""?t="number":e.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)?t="alphanum":t="string";break}return t}setColumns(e,t){for(;this.headersElement.firstChild;)this.headersElement.removeChild(this.headersElement.firstChild);this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.dispatch("columns-loading"),this.dispatchExternal("columnsLoading"),this.table.options.rowHeader&&(this.rowHeader=new U(this.table.options.rowHeader===!0?{}:this.table.options.rowHeader,this,!0),this.columns.push(this.rowHeader),this.headersElement.appendChild(this.rowHeader.getElement()),this.rowHeader.columnRendered()),e.forEach((i,s)=>{this._addColumn(i)}),this._reIndexColumns(),this.dispatch("columns-loaded"),this.subscribedExternal("columnsLoaded")&&this.dispatchExternal("columnsLoaded",this.getComponents()),this.rerenderColumns(!1,!0),this.redraw(!0)}_addColumn(e,t,i){var s=new U(e,this),n=s.getElement(),r=i&&this.findColumnIndex(i);if(t&&this.rowHeader&&(!i||i===this.rowHeader)&&(t=!1,i=this.rowHeader,r=0),i&&r>-1){var o=i.getTopColumn(),a=this.columns.indexOf(o),h=o.getElement();t?(this.columns.splice(a,0,s),h.parentNode.insertBefore(n,h)):(this.columns.splice(a+1,0,s),h.parentNode.insertBefore(n,h.nextSibling))}else t?(this.columns.unshift(s),this.headersElement.insertBefore(s.getElement(),this.headersElement.firstChild)):(this.columns.push(s),this.headersElement.appendChild(s.getElement()));return s.columnRendered(),s}registerColumnField(e){e.definition.field&&(this.columnsByField[e.definition.field]=e)}registerColumnPosition(e){this.columnsByIndex.push(e)}_reIndexColumns(){this.columnsByIndex=[],this.columns.forEach(function(e){e.reRegisterPosition()})}verticalAlignHeaders(){var e=0;this.redrawBlock||(this.headersElement.style.height="",this.columns.forEach(t=>{t.clearVerticalAlign()}),this.columns.forEach(t=>{var i=t.getHeight();i>e&&(e=i)}),this.headersElement.style.height=e+"px",this.columns.forEach(t=>{t.verticalAlign(this.table.options.columnHeaderVertAlign,e)}),this.table.rowManager.adjustTableSize())}findColumn(e){var t;if(typeof e=="object"){if(e instanceof U)return e;if(e instanceof $e)return e._getSelf()||!1;if(typeof HTMLElement<"u"&&e instanceof HTMLElement)return t=[],this.columns.forEach(s=>{t.push(s),t=t.concat(s.getColumns(!0))}),t.find(s=>s.element===e)||!1}else return this.columnsByField[e]||!1;return!1}getColumnByField(e){return this.columnsByField[e]}getColumnsByFieldRoot(e){var t=[];return Object.keys(this.columnsByField).forEach(i=>{var s=this.table.options.nestedFieldSeparator?i.split(this.table.options.nestedFieldSeparator)[0]:i;s===e&&t.push(this.columnsByField[i])}),t}getColumnByIndex(e){return this.columnsByIndex[e]}getFirstVisibleColumn(){var e=this.columnsByIndex.findIndex(t=>t.visible);return e>-1?this.columnsByIndex[e]:!1}getVisibleColumnsByIndex(){return this.columnsByIndex.filter(e=>e.visible)}getColumns(){return this.columns}findColumnIndex(e){return this.columnsByIndex.findIndex(t=>e===t)}getRealColumns(){return this.columnsByIndex}traverse(e){this.columnsByIndex.forEach((t,i)=>{e(t,i)})}getDefinitions(e){var t=[];return this.columnsByIndex.forEach(i=>{(!e||e&&i.visible)&&t.push(i.getDefinition())}),t}getDefinitionTree(){var e=[];return this.columns.forEach(t=>{e.push(t.getDefinition(!0))}),e}getComponents(e){var t=[],i=e?this.columns:this.columnsByIndex;return i.forEach(s=>{t.push(s.getComponent())}),t}getWidth(){var e=0;return this.columnsByIndex.forEach(t=>{t.visible&&(e+=t.getWidth())}),e}moveColumn(e,t,i){t.element.parentNode.insertBefore(e.element,t.element),i&&t.element.parentNode.insertBefore(t.element,e.element),this.moveColumnActual(e,t,i),this.verticalAlignHeaders(),this.table.rowManager.reinitialize()}moveColumnActual(e,t,i){e.parent.isGroup?this._moveColumnInArray(e.parent.columns,e,t,i):this._moveColumnInArray(this.columns,e,t,i),this._moveColumnInArray(this.columnsByIndex,e,t,i,!0),this.rerenderColumns(!0),this.dispatch("column-moved",e,t,i),this.subscribedExternal("columnMoved")&&this.dispatchExternal("columnMoved",e.getComponent(),this.table.columnManager.getComponents())}_moveColumnInArray(e,t,i,s,n){var r=e.indexOf(t),o,a=[];r>-1&&(e.splice(r,1),o=e.indexOf(i),o>-1?s&&(o=o+1):o=r,e.splice(o,0,t),n&&(a=this.chain("column-moving-rows",[t,i,s],null,[])||[],a=a.concat(this.table.rowManager.rows),a.forEach(function(h){if(h.cells.length){var d=h.cells.splice(r,1)[0];h.cells.splice(o,0,d)}})))}scrollToColumn(e,t,i){var s=0,n=e.getLeftOffset(),r=0,o=e.getElement();return new Promise((a,h)=>{if(typeof t>"u"&&(t=this.table.options.scrollToColumnPosition),typeof i>"u"&&(i=this.table.options.scrollToColumnIfVisible),e.visible){switch(t){case"middle":case"center":r=-this.element.clientWidth/2;break;case"right":r=o.clientWidth-this.headersElement.clientWidth;break}if(!i&&n>0&&n+o.offsetWidth{t.push(i.generateCell(e))}),t}getFlexBaseWidth(){var e=this.table.element.clientWidth,t=0;return this.table.rowManager.element.scrollHeight>this.table.rowManager.element.clientHeight&&(e-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),this.columnsByIndex.forEach(function(i){var s,n,r;i.visible&&(s=i.definition.width||0,n=parseInt(i.minWidth),typeof s=="string"?s.indexOf("%")>-1?r=e/100*parseInt(s):r=parseInt(s):r=s,t+=r>n?r:n)}),t}addColumn(e,t,i){return new Promise((s,n)=>{var r=this._addColumn(e,t,i);this._reIndexColumns(),this.dispatch("column-add",e,t,i),this.layoutMode()!="fitColumns"&&r.reinitializeWidth(),this.redraw(!0),this.table.rowManager.reinitialize(),this.rerenderColumns(),s(r)})}deregisterColumn(e){var t=e.getField(),i;t&&delete this.columnsByField[t],i=this.columnsByIndex.indexOf(e),i>-1&&this.columnsByIndex.splice(i,1),i=this.columns.indexOf(e),i>-1&&this.columns.splice(i,1),this.verticalAlignHeaders(),this.redraw()}rerenderColumns(e,t){this.redrawBlock?(e===!1||e===!0&&this.redrawBlockUpdate===null)&&(this.redrawBlockUpdate=e):this.renderer.rerenderColumns(e,t)}blockRedraw(){this.redrawBlock=!0,this.redrawBlockUpdate=null}restoreRedraw(){this.redrawBlock=!1,this.verticalAlignHeaders(),this.renderer.rerenderColumns(this.redrawBlockUpdate)}redraw(e){x.elVisible(this.element)&&this.verticalAlignHeaders(),e&&(this.table.rowManager.resetScroll(),this.table.rowManager.reinitialize()),this.confirm("table-redrawing",e)||this.layoutRefresh(e),this.dispatch("table-redraw",e),this.table.footerManager.redraw()}}class Cs extends le{constructor(e){super(e),this.verticalFillMode="fill",this.scrollTop=0,this.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0}clearRows(){for(var e=this.tableElement;e.firstChild;)e.removeChild(e.firstChild);e.scrollTop=0,e.scrollLeft=0,e.style.minWidth="",e.style.minHeight="",e.style.display="",e.style.visibility=""}renderRows(){var e=this.tableElement,t=!0,i=document.createDocumentFragment(),s=this.rows();s.forEach((n,r)=>{this.styleRow(n,r),n.initialize(!1,!0),n.type!=="group"&&(t=!1),i.appendChild(n.getElement())}),e.appendChild(i),s.forEach(n=>{n.rendered(),n.heightInitialized||n.calcHeight(!0)}),s.forEach(n=>{n.heightInitialized||n.setCellHeight()}),t?e.style.minWidth=this.table.columnManager.getWidth()+"px":e.style.minWidth=""}rerenderRows(e){this.clearRows(),e&&e(),this.renderRows(),this.rows().length||this.table.rowManager.tableEmpty()}scrollToRowNearestTop(e){var t=x.elOffset(e.getElement()).top;return!(Math.abs(this.elementVertical.scrollTop-t)>Math.abs(this.elementVertical.scrollTop+this.elementVertical.clientHeight-t))}scrollToRow(e){var t=e.getElement();this.elementVertical.scrollTop=x.elOffset(t).top-x.elOffset(this.elementVertical).top+this.elementVertical.scrollTop}visibleRows(e){return this.rows()}}class Es extends le{constructor(e){super(e),this.verticalFillMode="fill",this.scrollTop=0,this.scrollLeft=0,this.vDomRowHeight=20,this.vDomTop=0,this.vDomBottom=0,this.vDomScrollPosTop=0,this.vDomScrollPosBottom=0,this.vDomTopPad=0,this.vDomBottomPad=0,this.vDomMaxRenderChain=90,this.vDomWindowBuffer=0,this.vDomWindowMinTotalRows=20,this.vDomWindowMinMarginRows=5,this.vDomTopNewRows=[],this.vDomBottomNewRows=[]}clearRows(){for(var e=this.tableElement;e.firstChild;)e.removeChild(e.firstChild);e.style.paddingTop="",e.style.paddingBottom="",e.style.minHeight="",e.style.display="",e.style.visibility="",this.elementVertical.scrollTop=0,this.elementVertical.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0,this.vDomTop=0,this.vDomBottom=0,this.vDomTopPad=0,this.vDomBottomPad=0,this.vDomScrollPosTop=0,this.vDomScrollPosBottom=0}renderRows(){this._virtualRenderFill()}rerenderRows(e){for(var t=this.elementVertical.scrollTop,i=!1,s=!1,n=this.table.rowManager.scrollLeft,r=this.rows(),o=this.vDomTop;o<=this.vDomBottom;o++)if(r[o]){var a=t-r[o].getElement().offsetTop;if(s===!1||Math.abs(a){h.deinitializeHeight()}),e&&e(),this.rows().length?this._virtualRenderFill(i===!1?this.rows.length-1:i,!0,s||0):(this.clear(),this.table.rowManager.tableEmpty()),this.scrollColumns(n)}scrollColumns(e){this.table.rowManager.scrollHorizontal(e)}scrollRows(e,t){var i=e-this.vDomScrollPosTop,s=e-this.vDomScrollPosBottom,n=this.vDomWindowBuffer*2,r=this.rows();if(this.scrollTop=e,-i>n||s>n){var o=this.table.rowManager.scrollLeft;this._virtualRenderFill(Math.floor(this.elementVertical.scrollTop/this.elementVertical.scrollHeight*r.length)),this.scrollColumns(o)}else t?(i<0&&this._addTopRow(r,-i),s<0&&(this.vDomScrollHeight-this.scrollTop>this.vDomWindowBuffer?this._removeBottomRow(r,-s):this.vDomScrollPosBottom=this.scrollTop)):(s>=0&&this._addBottomRow(r,s),i>=0&&(this.scrollTop>this.vDomWindowBuffer?this._removeTopRow(r,i):this.vDomScrollPosTop=this.scrollTop))}resize(){this.vDomWindowBuffer=this.table.options.renderVerticalBuffer||this.elementVertical.clientHeight}scrollToRowNearestTop(e){var t=this.rows().indexOf(e);return!(Math.abs(this.vDomTop-t)>Math.abs(this.vDomBottom-t))}scrollToRow(e){var t=this.rows().indexOf(e);t>-1&&this._virtualRenderFill(t,!0)}visibleRows(e){var t=this.elementVertical.scrollTop,i=this.elementVertical.clientHeight+t,s=!1,n=0,r=0,o=this.rows();if(e)n=this.vDomTop,r=this.vDomBottom;else for(var a=this.vDomTop;a<=this.vDomBottom;a++)if(o[a])if(s)if(i-o[a].getElement().offsetTop>=0)r=a;else break;else if(t-o[a].getElement().offsetTop>=0)n=a;else if(s=!0,i-o[a].getElement().offsetTop>=0)r=a;else break;return o.slice(n,r+1)}_virtualRenderFill(e,t,i){var s=this.tableElement,n=this.elementVertical,r=0,o=0,a=0,h=0,d=0,u=0,c=this.rows(),f=c.length,g=0,p,v,m=[],C=0,T=0,y=this.table.rowManager.fixedHeight,k=this.elementVertical.clientHeight,P=this.table.options.rowHeight,X=!0;if(e=e||0,i=i||0,!e)this.clear();else{for(;s.firstChild;)s.removeChild(s.firstChild);h=(f-e+1)*this.vDomRowHeight,h{L.rendered(),L.heightInitialized||L.calcHeight(!0)}),m.forEach(L=>{L.heightInitialized||L.setCellHeight()}),m.forEach(L=>{a=L.getHeight(),Cthis.vDomWindowBuffer&&(this.vDomWindowBuffer=a*2),C++}),X=this.table.rowManager.adjustTableSize(),k=this.elementVertical.clientHeight,X&&(y||this.table.options.maxHeight)&&(P=o/C,T=Math.max(this.vDomWindowMinTotalRows,Math.ceil(k/P+this.vDomWindowBuffer/P)))}e?(this.vDomTopPad=t?this.vDomRowHeight*this.vDomTop+i:this.scrollTop-d,this.vDomBottomPad=this.vDomBottom==f-1?0:Math.max(this.vDomScrollHeight-this.vDomTopPad-o-d,0)):(this.vDomTopPad=0,this.vDomRowHeight=Math.floor((o+d)/C),this.vDomBottomPad=this.vDomRowHeight*(f-this.vDomBottom-1),this.vDomScrollHeight=d+o+this.vDomBottomPad-k),s.style.paddingTop=this.vDomTopPad+"px",s.style.paddingBottom=this.vDomBottomPad+"px",t&&(this.scrollTop=this.vDomTopPad+d+i-(this.elementVertical.scrollWidth>this.elementVertical.clientWidth?this.elementVertical.offsetHeight-k:0)),this.scrollTop=Math.min(this.scrollTop,this.elementVertical.scrollHeight-k),this.elementVertical.scrollWidth>this.elementVertical.clientWidth&&t&&(this.scrollTop+=this.elementVertical.offsetHeight-k),this.vDomScrollPosTop=this.scrollTop,this.vDomScrollPosBottom=this.scrollTop,n.scrollTop=this.scrollTop,this.dispatch("render-virtual-fill")}}_addTopRow(e,t){for(var i=this.tableElement,s=[],n=0,r=this.vDomTop-1,o=0,a=!0;a;)if(this.vDomTop){let h=e[r],d,u;h&&o=d?(this.styleRow(h,r),i.insertBefore(h.getElement(),i.firstChild),(!h.initialized||!h.heightInitialized)&&s.push(h),h.initialize(),u||(d=h.getElement().offsetHeight,d>this.vDomWindowBuffer&&(this.vDomWindowBuffer=d*2)),t-=d,n+=d,this.vDomTop--,r--,o++):a=!1):a=!1}else a=!1;for(let h of s)h.clearCellHeight();this._quickNormalizeRowHeight(s),n&&(this.vDomTopPad-=n,this.vDomTopPad<0&&(this.vDomTopPad=r*this.vDomRowHeight),r<1&&(this.vDomTopPad=0),i.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop-=n)}_removeTopRow(e,t){for(var i=[],s=0,n=0,r=!0;r;){let o=e[this.vDomTop],a;o&&n=a?(this.vDomTop++,t-=a,s+=a,i.push(o),n++):r=!1):r=!1}for(let o of i){let a=o.getElement();a.parentNode&&a.parentNode.removeChild(a)}s&&(this.vDomTopPad+=s,this.tableElement.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop+=this.vDomTop?s:s+this.vDomWindowBuffer)}_addBottomRow(e,t){for(var i=this.tableElement,s=[],n=0,r=this.vDomBottom+1,o=0,a=!0;a;){let h=e[r],d,u;h&&o=d?(this.styleRow(h,r),i.appendChild(h.getElement()),(!h.initialized||!h.heightInitialized)&&s.push(h),h.initialize(),u||(d=h.getElement().offsetHeight,d>this.vDomWindowBuffer&&(this.vDomWindowBuffer=d*2)),t-=d,n+=d,this.vDomBottom++,r++,o++):a=!1):a=!1}for(let h of s)h.clearCellHeight();this._quickNormalizeRowHeight(s),n&&(this.vDomBottomPad-=n,(this.vDomBottomPad<0||r==e.length-1)&&(this.vDomBottomPad=0),i.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom+=n)}_removeBottomRow(e,t){for(var i=[],s=0,n=0,r=!0;r;){let o=e[this.vDomBottom],a;o&&n=a?(this.vDomBottom--,t-=a,s+=a,i.push(o),n++):r=!1):r=!1}for(let o of i){let a=o.getElement();a.parentNode&&a.parentNode.removeChild(a)}s&&(this.vDomBottomPad+=s,this.vDomBottomPad<0&&(this.vDomBottomPad=0),this.tableElement.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom-=s)}_quickNormalizeRowHeight(e){for(let t of e)t.calcHeight();for(let t of e)t.setCellHeight()}}class ys extends M{constructor(e){super(e),this.element=this.createHolderElement(),this.tableElement=this.createTableElement(),this.heightFixer=this.createTableElement(),this.placeholder=null,this.placeholderContents=null,this.firstRender=!1,this.renderMode="virtual",this.fixedHeight=!1,this.rows=[],this.activeRowsPipeline=[],this.activeRows=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0,this.scrollTop=0,this.scrollLeft=0,this.redrawBlock=!1,this.redrawBlockRestoreConfig=!1,this.redrawBlockRenderInPosition=!1,this.dataPipeline=[],this.displayPipeline=[],this.scrollbarWidth=0,this.renderer=null}createHolderElement(){var e=document.createElement("div");return e.classList.add("tabulator-tableholder"),e.setAttribute("tabindex",0),e}createTableElement(){var e=document.createElement("div");return e.classList.add("tabulator-table"),e.setAttribute("role","rowgroup"),e}initializePlaceholder(){var e=this.table.options.placeholder;if(typeof e=="function"&&(e=e.call(this.table)),e=this.chain("placeholder",[e],e,e)||e,e){let t=document.createElement("div");if(t.classList.add("tabulator-placeholder"),typeof e=="string"){let i=document.createElement("div");i.classList.add("tabulator-placeholder-contents"),i.innerHTML=e,t.appendChild(i),this.placeholderContents=i}else typeof HTMLElement<"u"&&e instanceof HTMLElement?(t.appendChild(e),this.placeholderContents=e):(console.warn("Invalid placeholder provided, must be string or HTML Element",e),this.el=null);this.placeholder=t}}getElement(){return this.element}getTableElement(){return this.tableElement}initialize(){this.initializePlaceholder(),this.initializeRenderer(),this.element.appendChild(this.tableElement),this.firstRender=!0,this.element.addEventListener("scroll",()=>{var e=this.element.scrollLeft,t=this.scrollLeft>e,i=this.element.scrollTop,s=this.scrollTop>i;this.scrollLeft!=e&&(this.scrollLeft=e,this.dispatch("scroll-horizontal",e,t),this.dispatchExternal("scrollHorizontal",e,t),this._positionPlaceholder()),this.scrollTop!=i&&(this.scrollTop=i,this.renderer.scrollRows(i,s),this.dispatch("scroll-vertical",i,s),this.dispatchExternal("scrollVertical",i,s))})}findRow(e){if(typeof e=="object"){if(e instanceof S)return e;if(e instanceof oe)return e._getSelf()||!1;if(typeof HTMLElement<"u"&&e instanceof HTMLElement)return this.rows.find(i=>i.getElement()===e)||!1;if(e===null)return!1}else return typeof e>"u"?!1:this.rows.find(i=>i.data[this.table.options.index]==e)||!1;return!1}getRowFromDataObject(e){var t=this.rows.find(i=>i.data===e);return t||!1}getRowFromPosition(e){return this.getDisplayRows().find(t=>t.type==="row"&&t.getPosition()===e&&t.isDisplayed())}scrollToRow(e,t,i){return this.renderer.scrollToRowPosition(e,t,i)}setData(e,t,i){return new Promise((s,n)=>{t&&this.getDisplayRows().length?this.table.options.pagination?this._setDataActual(e,!0):this.reRenderInPosition(()=>{this._setDataActual(e)}):(this.table.options.autoColumns&&i&&this.table.initialized&&this.table.columnManager.generateColumnsFromRowData(e),this.resetScroll(),this._setDataActual(e)),s()})}_setDataActual(e,t){this.dispatchExternal("dataProcessing",e),this._wipeElements(),Array.isArray(e)?(this.dispatch("data-processing",e),e.forEach((i,s)=>{if(i&&typeof i=="object"){var n=new S(i,this);this.rows.push(n)}else console.warn("Data Loading Warning - Invalid row data detected and ignored, expecting object but received:",i)}),this.refreshActiveData(!1,!1,t),this.dispatch("data-processed",e),this.dispatchExternal("dataProcessed",e)):console.error(`Data Loading Error - Unable to process data due to invalid data type +Expecting: array +Received: `,typeof e,` +Data: `,e)}_wipeElements(){this.dispatch("rows-wipe"),this.destroy(),this.adjustTableSize(),this.dispatch("rows-wiped")}destroy(){this.rows.forEach(e=>{e.wipe()}),this.rows=[],this.activeRows=[],this.activeRowsPipeline=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0}deleteRow(e,t){var i=this.rows.indexOf(e),s=this.activeRows.indexOf(e);s>-1&&this.activeRows.splice(s,1),i>-1&&this.rows.splice(i,1),this.setActiveRows(this.activeRows),this.displayRowIterator(n=>{var r=n.indexOf(e);r>-1&&n.splice(r,1)}),t||this.reRenderInPosition(),this.regenerateRowPositions(),this.dispatchExternal("rowDeleted",e.getComponent()),this.displayRowsCount||this.tableEmpty(),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.getData())}addRow(e,t,i,s){var n=this.addRowActual(e,t,i,s);return n}addRows(e,t,i,s){var n=[];return new Promise((r,o)=>{t=this.findAddRowPos(t),Array.isArray(e)||(e=[e]),(typeof i>"u"&&t||typeof i<"u"&&!t)&&e.reverse(),e.forEach((a,h)=>{var d=this.addRow(a,t,i,!0);n.push(d),this.dispatch("row-added",d,a,t,i)}),this.refreshActiveData(s?"displayPipeline":!1,!1,!0),this.regenerateRowPositions(),this.displayRowsCount&&this._clearPlaceholder(),r(n)})}findAddRowPos(e){return typeof e>"u"&&(e=this.table.options.addRowPos),e==="pos"&&(e=!0),e==="bottom"&&(e=!1),e}addRowActual(e,t,i,s){var n=e instanceof S?e:new S(e||{},this),r=this.findAddRowPos(t),o=-1,a,h;return i||(h=this.chain("row-adding-position",[n,r],null,{index:i,top:r}),i=h.index,r=h.top),typeof i<"u"&&(i=this.findRow(i)),i=this.chain("row-adding-index",[n,i,r],null,i),i&&(o=this.rows.indexOf(i)),i&&o>-1?(a=this.activeRows.indexOf(i),this.displayRowIterator(function(d){var u=d.indexOf(i);u>-1&&d.splice(r?u:u+1,0,n)}),a>-1&&this.activeRows.splice(r?a:a+1,0,n),this.rows.splice(r?o:o+1,0,n)):r?(this.displayRowIterator(function(d){d.unshift(n)}),this.activeRows.unshift(n),this.rows.unshift(n)):(this.displayRowIterator(function(d){d.push(n)}),this.activeRows.push(n),this.rows.push(n)),this.setActiveRows(this.activeRows),this.dispatchExternal("rowAdded",n.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),s||this.reRenderInPosition(),n}moveRow(e,t,i){this.dispatch("row-move",e,t,i),this.moveRowActual(e,t,i),this.regenerateRowPositions(),this.dispatch("row-moved",e,t,i),this.dispatchExternal("rowMoved",e.getComponent())}moveRowActual(e,t,i){this.moveRowInArray(this.rows,e,t,i),this.moveRowInArray(this.activeRows,e,t,i),this.displayRowIterator(s=>{this.moveRowInArray(s,e,t,i)}),this.dispatch("row-moving",e,t,i)}moveRowInArray(e,t,i,s){var n,r,o,a;if(t!==i&&(n=e.indexOf(t),n>-1&&(e.splice(n,1),r=e.indexOf(i),r>-1?s?e.splice(r+1,0,t):e.splice(r,0,t):e.splice(n,0,t)),e===this.getDisplayRows())){o=nn?r:n+1;for(let h=o;h<=a;h++)e[h]&&this.styleRow(e[h],h)}}clearData(){this.setData([])}getRowIndex(e){return this.findRowIndex(e,this.rows)}getDisplayRowIndex(e){var t=this.getDisplayRows().indexOf(e);return t>-1?t:!1}nextDisplayRow(e,t){var i=this.getDisplayRowIndex(e),s=!1;return i!==!1&&i-1)?i:!1}getData(e,t){var i=[],s=this.getRows(e);return s.forEach(function(n){n.type=="row"&&i.push(n.getData(t||"data"))}),i}getComponents(e){var t=[],i=this.getRows(e);return i.forEach(function(s){t.push(s.getComponent())}),t}getDataCount(e){var t=this.getRows(e);return t.length}scrollHorizontal(e){this.scrollLeft=e,this.element.scrollLeft=e,this.dispatch("scroll-horizontal",e)}registerDataPipelineHandler(e,t){typeof t<"u"?(this.dataPipeline.push({handler:e,priority:t}),this.dataPipeline.sort((i,s)=>i.priority-s.priority)):console.error("Data pipeline handlers must have a priority in order to be registered")}registerDisplayPipelineHandler(e,t){typeof t<"u"?(this.displayPipeline.push({handler:e,priority:t}),this.displayPipeline.sort((i,s)=>i.priority-s.priority)):console.error("Display pipeline handlers must have a priority in order to be registered")}refreshActiveData(e,t,i){var s=this.table,n="",r=0,o=["all","dataPipeline","display","displayPipeline","end"];if(!this.table.destroyed){if(typeof e=="function")if(r=this.dataPipeline.findIndex(a=>a.handler===e),r>-1)n="dataPipeline",t&&(r==this.dataPipeline.length-1?n="display":r++);else if(r=this.displayPipeline.findIndex(a=>a.handler===e),r>-1)n="displayPipeline",t&&(r==this.displayPipeline.length-1?n="end":r++);else{console.error("Unable to refresh data, invalid handler provided",e);return}else n=e||"all",r=0;if(this.redrawBlock){(!this.redrawBlockRestoreConfig||this.redrawBlockRestoreConfig&&(this.redrawBlockRestoreConfig.stage===n&&r{i.type==="row"&&(i.setPosition(t),t++)})}setActiveRows(e){this.activeRows=this.activeRows=Object.assign([],e),this.activeRowsCount=this.activeRows.length}resetDisplayRows(){this.displayRows=[],this.displayRows.push(this.activeRows.slice(0)),this.displayRowsCount=this.displayRows[0].length}setDisplayRows(e,t){this.displayRows[t]=e,t==this.displayRows.length-1&&(this.displayRowsCount=this.displayRows[this.displayRows.length-1].length)}getDisplayRows(e){return typeof e>"u"?this.displayRows.length?this.displayRows[this.displayRows.length-1]:[]:this.displayRows[e]||[]}getVisibleRows(e,t){var i=Object.assign([],this.renderer.visibleRows(!t));return e&&(i=this.chain("rows-visible",[t],i,i)),i}displayRowIterator(e){this.activeRowsPipeline.forEach(e),this.displayRows.forEach(e),this.displayRowsCount=this.displayRows[this.displayRows.length-1].length}getRows(e){var t=[];switch(e){case"active":t=this.activeRows;break;case"display":t=this.table.rowManager.getDisplayRows();break;case"visible":t=this.getVisibleRows(!1,!0);break;default:t=this.chain("rows-retrieve",e,null,this.rows)||this.rows}return t}reRenderInPosition(e){this.redrawBlock?e?e():this.redrawBlockRenderInPosition=!0:(this.dispatchExternal("renderStarted"),this.renderer.rerenderRows(e),this.fixedHeight||this.adjustTableSize(),this.scrollBarCheck(),this.dispatchExternal("renderComplete"))}scrollBarCheck(){var e=0;this.element.scrollHeight>this.element.clientHeight&&(e=this.element.offsetWidth-this.element.clientWidth),e!==this.scrollbarWidth&&(this.scrollbarWidth=e,this.dispatch("scrollbar-vertical",e))}initializeRenderer(){var e,t={virtual:Es,basic:Cs};typeof this.table.options.renderVertical=="string"?e=t[this.table.options.renderVertical]:e=this.table.options.renderVertical,e?(this.renderMode=this.table.options.renderVertical,this.renderer=new e(this.table,this.element,this.tableElement),this.renderer.initialize(),(this.table.element.clientHeight||this.table.options.height)&&!(this.table.options.minHeight&&this.table.options.maxHeight)?this.fixedHeight=!0:this.fixedHeight=!1):console.error("Unable to find matching renderer:",this.table.options.renderVertical)}getRenderMode(){return this.renderMode}renderTable(){this.dispatchExternal("renderStarted"),this.element.scrollTop=0,this._clearTable(),this.displayRowsCount?(this.renderer.renderRows(),this.firstRender&&(this.firstRender=!1,this.fixedHeight||this.adjustTableSize(),this.layoutRefresh(!0))):this.renderEmptyScroll(),this.fixedHeight||this.adjustTableSize(),this.dispatch("table-layout"),this.displayRowsCount||this._showPlaceholder(),this.scrollBarCheck(),this.dispatchExternal("renderComplete")}renderEmptyScroll(){this.placeholder?this.tableElement.style.display="none":this.tableElement.style.minWidth=this.table.columnManager.getWidth()+"px"}_clearTable(){this._clearPlaceholder(),this.scrollTop=0,this.scrollLeft=0,this.renderer.clearRows()}tableEmpty(){this.renderEmptyScroll(),this._showPlaceholder()}checkPlaceholder(){this.displayRowsCount?this._clearPlaceholder():this.tableEmpty()}_showPlaceholder(){this.placeholder&&(this.placeholder&&this.placeholder.parentNode&&this.placeholder.parentNode.removeChild(this.placeholder),this.initializePlaceholder(),this.placeholder.setAttribute("tabulator-render-mode",this.renderMode),this.getElement().appendChild(this.placeholder),this._positionPlaceholder(),this.adjustTableSize())}_clearPlaceholder(){this.placeholder&&this.placeholder.parentNode&&this.placeholder.parentNode.removeChild(this.placeholder),this.tableElement.style.minWidth="",this.tableElement.style.display=""}_positionPlaceholder(){this.placeholder&&this.placeholder.parentNode&&(this.placeholder.style.width=this.table.columnManager.getWidth()+"px",this.placeholderContents.style.width=this.table.rowManager.element.clientWidth+"px",this.placeholderContents.style.marginLeft=this.scrollLeft+"px")}styleRow(e,t){var i=e.getElement();t%2?(i.classList.add("tabulator-row-even"),i.classList.remove("tabulator-row-odd")):(i.classList.add("tabulator-row-odd"),i.classList.remove("tabulator-row-even"))}normalizeHeight(){this.activeRows.forEach(function(e){e.normalizeHeight()})}adjustTableSize(){let e=this.element.clientHeight,t,i=!1;if(this.renderer.verticalFillMode==="fill"){let s=Math.floor(this.table.columnManager.getElement().getBoundingClientRect().height+(this.table.footerManager&&this.table.footerManager.active&&!this.table.footerManager.external?this.table.footerManager.getElement().getBoundingClientRect().height:0));if(this.fixedHeight){t=isNaN(this.table.options.minHeight)?this.table.options.minHeight:this.table.options.minHeight+"px";const n="calc(100% - "+s+"px)";this.element.style.minHeight=t||"calc(100% - "+s+"px)",this.element.style.height=n,this.element.style.maxHeight=n}else this.element.style.height="",this.element.style.height=this.table.element.clientHeight-s+"px",this.element.scrollTop=this.scrollTop;this.renderer.resize(),!this.fixedHeight&&e!=this.element.clientHeight&&(i=!0,this.subscribed("table-resize")?this.dispatch("table-resize"):this.redraw()),this.scrollBarCheck()}return this._positionPlaceholder(),i}reinitialize(){this.rows.forEach(function(e){e.reinitialize(!0)})}blockRedraw(){this.redrawBlock=!0,this.redrawBlockRestoreConfig=!1}restoreRedraw(){this.redrawBlock=!1,this.redrawBlockRestoreConfig?(this.refreshActiveData(this.redrawBlockRestoreConfig.handler,this.redrawBlockRestoreConfig.skipStage,this.redrawBlockRestoreConfig.renderInPosition),this.redrawBlockRestoreConfig=!1):this.redrawBlockRenderInPosition&&this.reRenderInPosition(),this.redrawBlockRenderInPosition=!1}redraw(e){this.adjustTableSize(),this.table.tableWidth=this.table.element.clientWidth,e?this.renderTable():(this.reRenderInPosition(),this.scrollHorizontal(this.scrollLeft))}resetScroll(){if(this.element.scrollLeft=0,this.element.scrollTop=0,this.table.browser==="ie"){var e=document.createEvent("Event");e.initEvent("scroll",!1,!0),this.element.dispatchEvent(e)}else this.element.dispatchEvent(new Event("scroll"))}}class Rs extends M{constructor(e){super(e),this.active=!1,this.element=this.createElement(),this.containerElement=this.createContainerElement(),this.external=!1}initialize(){this.initializeElement()}createElement(){var e=document.createElement("div");return e.classList.add("tabulator-footer"),e}createContainerElement(){var e=document.createElement("div");return e.classList.add("tabulator-footer-contents"),this.element.appendChild(e),e}initializeElement(){if(this.table.options.footerElement)switch(typeof this.table.options.footerElement){case"string":this.table.options.footerElement[0]==="<"?this.containerElement.innerHTML=this.table.options.footerElement:(this.external=!0,this.containerElement=document.querySelector(this.table.options.footerElement));break;default:this.element=this.table.options.footerElement;break}}getElement(){return this.element}append(e){this.activate(),this.containerElement.appendChild(e),this.table.rowManager.adjustTableSize()}prepend(e){this.activate(),this.element.insertBefore(e,this.element.firstChild),this.table.rowManager.adjustTableSize()}remove(e){e.parentNode.removeChild(e),this.deactivate()}deactivate(e){(!this.element.firstChild||e)&&(this.external||this.element.parentNode.removeChild(this.element),this.active=!1)}activate(){this.active||(this.active=!0,this.external||(this.table.element.appendChild(this.getElement()),this.table.element.style.display=""))}redraw(){this.dispatch("footer-redraw")}}class xs extends M{constructor(e){super(e),this.el=null,this.abortClasses=["tabulator-headers","tabulator-table"],this.previousTargets={},this.listeners=["click","dblclick","contextmenu","mouseenter","mouseleave","mouseover","mouseout","mousemove","mouseup","mousedown","touchstart","touchend"],this.componentMap={"tabulator-cell":"cell","tabulator-row":"row","tabulator-group":"group","tabulator-col":"column"},this.pseudoTrackers={row:{subscriber:null,target:null},cell:{subscriber:null,target:null},group:{subscriber:null,target:null},column:{subscriber:null,target:null}},this.pseudoTracking=!1}initialize(){this.el=this.table.element,this.buildListenerMap(),this.bindSubscriptionWatchers()}buildListenerMap(){var e={};this.listeners.forEach(t=>{e[t]={handler:null,components:[]}}),this.listeners=e}bindPseudoEvents(){Object.keys(this.pseudoTrackers).forEach(e=>{this.pseudoTrackers[e].subscriber=this.pseudoMouseEnter.bind(this,e),this.subscribe(e+"-mouseover",this.pseudoTrackers[e].subscriber)}),this.pseudoTracking=!0}pseudoMouseEnter(e,t,i){this.pseudoTrackers[e].target!==i&&(this.pseudoTrackers[e].target&&this.dispatch(e+"-mouseleave",t,this.pseudoTrackers[e].target),this.pseudoMouseLeave(e,t),this.pseudoTrackers[e].target=i,this.dispatch(e+"-mouseenter",t,i))}pseudoMouseLeave(e,t){var i=Object.keys(this.pseudoTrackers),s={row:["cell"],cell:["row"]};i=i.filter(n=>{var r=s[e];return n!==e&&(!r||r&&!r.includes(n))}),i.forEach(n=>{var r=this.pseudoTrackers[n].target;this.pseudoTrackers[n].target&&(this.dispatch(n+"-mouseleave",t,r),this.pseudoTrackers[n].target=null)})}bindSubscriptionWatchers(){var e=Object.keys(this.listeners),t=Object.values(this.componentMap);for(let i of t)for(let s of e){let n=i+"-"+s;this.subscriptionChange(n,this.subscriptionChanged.bind(this,i,s))}this.subscribe("table-destroy",this.clearWatchers.bind(this))}subscriptionChanged(e,t,i){var s=this.listeners[t].components,n=s.indexOf(e),r=!1;i?n===-1&&(s.push(e),r=!0):this.subscribed(e+"-"+t)||n>-1&&(s.splice(n,1),r=!0),(t==="mouseenter"||t==="mouseleave")&&!this.pseudoTracking&&this.bindPseudoEvents(),r&&this.updateEventListeners()}updateEventListeners(){for(let e in this.listeners){let t=this.listeners[e];t.components.length?t.handler||(t.handler=this.track.bind(this,e),this.el.addEventListener(e,t.handler)):t.handler&&(this.el.removeEventListener(e,t.handler),t.handler=null)}}track(e,t){var i=t.composedPath&&t.composedPath()||t.path,s=this.findTargets(i);s=this.bindComponents(e,s),this.triggerEvents(e,t,s),this.pseudoTracking&&(e=="mouseover"||e=="mouseleave")&&!Object.keys(s).length&&this.pseudoMouseLeave("none",t)}findTargets(e){var t={};let i=Object.keys(this.componentMap);for(let s of e){let n=s.classList?[...s.classList]:[];if(n.filter(a=>this.abortClasses.includes(a)).length)break;let o=n.filter(a=>i.includes(a));for(let a of o)t[this.componentMap[a]]||(t[this.componentMap[a]]=s)}return t.group&&t.group===t.row&&delete t.row,t}bindComponents(e,t){var i=Object.keys(t).reverse(),s=this.listeners[e],n={},r={};for(let o of i){let a,h=t[o],d=this.previousTargets[o];if(d&&d.target===h)a=d.component;else switch(o){case"row":case"group":(s.components.includes("row")||s.components.includes("cell")||s.components.includes("group"))&&(a=this.table.rowManager.getVisibleRows(!0).find(c=>c.getElement()===h),t.row&&t.row.parentNode&&t.row.parentNode.closest(".tabulator-row")&&(t[o]=!1));break;case"column":s.components.includes("column")&&(a=this.table.columnManager.findColumn(h));break;case"cell":s.components.includes("cell")&&(n.row instanceof S?a=n.row.findCell(h):t.row&&console.warn("Event Target Lookup Error - The row this cell is attached to cannot be found, has the table been reinitialized without being destroyed first?"));break}a&&(n[o]=a,r[o]={target:h,component:a})}return this.previousTargets=r,n}triggerEvents(e,t,i){var s=this.listeners[e];for(let n in i)i[n]&&s.components.includes(n)&&this.dispatch(n+"-"+e,t,i[n])}clearWatchers(){for(let e in this.listeners){let t=this.listeners[e];t.handler&&(this.el.removeEventListener(e,t.handler),t.handler=null)}}}class Ts{constructor(e){this.table=e,this.bindings={}}bind(e,t,i){this.bindings[e]||(this.bindings[e]={}),this.bindings[e][t]?console.warn("Unable to bind component handler, a matching function name is already bound",e,t,i):this.bindings[e][t]=i}handle(e,t,i){if(this.bindings[e]&&this.bindings[e][i]&&typeof this.bindings[e][i].bind=="function")return this.bindings[e][i].bind(null,t);i!=="then"&&typeof i=="string"&&!i.startsWith("_")&&this.table.options.debugInvalidComponentFuncs&&console.error("The "+e+" component does not have a "+i+" function, have you checked that you have the correct Tabulator module installed?")}}class ks extends M{constructor(e){super(e),this.requestOrder=0,this.loading=!1}initialize(){}load(e,t,i,s,n,r){var o=++this.requestOrder;if(this.table.destroyed)return Promise.resolve();if(this.dispatchExternal("dataLoading",e),e&&(e.indexOf("{")==0||e.indexOf("[")==0)&&(e=JSON.parse(e)),this.confirm("data-loading",[e,t,i,n])){this.loading=!0,n||this.alertLoader(),t=this.chain("data-params",[e,i,n],t||{},t||{}),t=this.mapParams(t,this.table.options.dataSendParams);var a=this.chain("data-load",[e,t,i,n],!1,Promise.resolve([]));return a.then(h=>{if(this.table.destroyed)console.warn("Data Load Response Blocked - Table has been destroyed");else{!Array.isArray(h)&&typeof h=="object"&&(h=this.mapParams(h,this.objectInvert(this.table.options.dataReceiveParams)));var d=this.chain("data-loaded",[h],null,h);o==this.requestOrder?(this.clearAlert(),d!==!1&&(this.dispatchExternal("dataLoaded",d),this.table.rowManager.setData(d,s,typeof r>"u"?!s:r))):console.warn("Data Load Response Blocked - An active data load request was blocked by an attempt to change table data while the request was being made")}}).catch(h=>{console.error("Data Load Error: ",h),this.dispatchExternal("dataLoadError",h),n||this.alertError(),setTimeout(()=>{this.clearAlert()},this.table.options.dataLoaderErrorTimeout)}).finally(()=>{this.loading=!1})}else return this.dispatchExternal("dataLoaded",e),e||(e=[]),this.table.rowManager.setData(e,s,typeof r>"u"?!s:r),Promise.resolve()}mapParams(e,t){var i={};for(let s in e)i[t.hasOwnProperty(s)?t[s]:s]=e[s];return i}objectInvert(e){var t={};for(let i in e)t[e[i]]=i;return t}blockActiveLoad(){this.requestOrder++}alertLoader(){var e=typeof this.table.options.dataLoader=="function"?this.table.options.dataLoader():this.table.options.dataLoader;e&&this.table.alertManager.alert(this.table.options.dataLoaderLoading||this.langText("data|loading"))}alertError(){this.table.alertManager.alert(this.table.options.dataLoaderError||this.langText("data|error"),"error")}clearAlert(){this.table.alertManager.clear()}}class Ms{constructor(e,t,i){this.table=e,this.events={},this.optionsList=t||{},this.subscriptionNotifiers={},this.dispatch=i?this._debugDispatch.bind(this):this._dispatch.bind(this),this.debug=i}subscriptionChange(e,t){this.subscriptionNotifiers[e]||(this.subscriptionNotifiers[e]=[]),this.subscriptionNotifiers[e].push(t),this.subscribed(e)&&this._notifySubscriptionChange(e,!0)}subscribe(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t),this._notifySubscriptionChange(e,!0)}unsubscribe(e,t){var i;if(this.events[e])if(t)if(i=this.events[e].findIndex(s=>s===t),i>-1)this.events[e].splice(i,1);else{console.warn("Cannot remove event, no matching event found:",e,t);return}else delete this.events[e];else{console.warn("Cannot remove event, no events set on:",e);return}this._notifySubscriptionChange(e,!1)}subscribed(e){return this.events[e]&&this.events[e].length}_notifySubscriptionChange(e,t){var i=this.subscriptionNotifiers[e];i&&i.forEach(s=>{s(t)})}_dispatch(){var e=Array.from(arguments),t=e.shift(),i;return this.events[t]&&this.events[t].forEach((s,n)=>{let r=s.apply(this.table,e);n||(i=r)}),i}_debugDispatch(){var e=Array.from(arguments),t=e[0];return e[0]="ExternalEvent:"+e[0],(this.debug===!0||this.debug.includes(t))&&console.log(...e),this._dispatch(...arguments)}}class Ls{constructor(e){this.events={},this.subscriptionNotifiers={},this.dispatch=e?this._debugDispatch.bind(this):this._dispatch.bind(this),this.chain=e?this._debugChain.bind(this):this._chain.bind(this),this.confirm=e?this._debugConfirm.bind(this):this._confirm.bind(this),this.debug=e}subscriptionChange(e,t){this.subscriptionNotifiers[e]||(this.subscriptionNotifiers[e]=[]),this.subscriptionNotifiers[e].push(t),this.subscribed(e)&&this._notifySubscriptionChange(e,!0)}subscribe(e,t,i=1e4){this.events[e]||(this.events[e]=[]),this.events[e].push({callback:t,priority:i}),this.events[e].sort((s,n)=>s.priority-n.priority),this._notifySubscriptionChange(e,!0)}unsubscribe(e,t){var i;if(this.events[e]){if(t)if(i=this.events[e].findIndex(s=>s.callback===t),i>-1)this.events[e].splice(i,1);else{console.warn("Cannot remove event, no matching event found:",e,t);return}}else{console.warn("Cannot remove event, no events set on:",e);return}this._notifySubscriptionChange(e,!1)}subscribed(e){return this.events[e]&&this.events[e].length}_chain(e,t,i,s){var n=i;return Array.isArray(t)||(t=[t]),this.subscribed(e)?(this.events[e].forEach((r,o)=>{n=r.callback.apply(this,t.concat([n]))}),n):typeof s=="function"?s():s}_confirm(e,t){var i=!1;return Array.isArray(t)||(t=[t]),this.subscribed(e)&&this.events[e].forEach((s,n)=>{s.callback.apply(this,t)&&(i=!0)}),i}_notifySubscriptionChange(e,t){var i=this.subscriptionNotifiers[e];i&&i.forEach(s=>{s(t)})}_dispatch(){var e=Array.from(arguments),t=e.shift();this.events[t]&&this.events[t].forEach(i=>{i.callback.apply(this,e)})}_debugDispatch(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,(this.debug===!0||this.debug.includes(t))&&console.log(...e),this._dispatch(...arguments)}_debugChain(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,(this.debug===!0||this.debug.includes(t))&&console.log(...e),this._chain(...arguments)}_debugConfirm(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,(this.debug===!0||this.debug.includes(t))&&console.log(...e),this._confirm(...arguments)}}class Ss extends M{constructor(e){super(e)}_warnUser(){this.options("debugDeprecation")&&console.warn(...arguments)}check(e,t,i){var s="";return typeof this.options(e)<"u"?(s="Deprecated Setup Option - Use of the %c"+e+"%c option is now deprecated",t?(s=s+", Please use the %c"+t+"%c option instead",this._warnUser(s,"font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;"),i&&(this.table.options[t]=this.table.options[e])):this._warnUser(s,"font-weight: bold;","font-weight: normal;"),!1):!0}checkMsg(e,t){return typeof this.options(e)<"u"?(this._warnUser("%cDeprecated Setup Option - Use of the %c"+e+" %c option is now deprecated, "+t,"font-weight: normal;","font-weight: bold;","font-weight: normal;"),!1):!0}msg(e){this._warnUser(e)}}function Ds(l,e){e&&this.table.columnManager.renderer.reinitializeColumnWidths(l),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()}function Je(l,e){l.forEach(function(t){t.reinitializeWidth()}),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()}function zs(l,e){var t=0,i=this.table.rowManager.element.clientWidth,s=0,n=!1;l.forEach((r,o)=>{r.widthFixed||r.reinitializeWidth(),(this.table.options.responsiveLayout?r.modules.responsive.visible:r.visible)&&(n=r),r.visible&&(t+=r.getWidth())}),n?(s=i-t+n.getWidth(),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&(n.setWidth(0),this.table.modules.responsiveLayout.update()),s>0?n.setWidth(s):n.reinitializeWidth()):this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()}function Hs(l,e){var t=this.table.rowManager.element.getBoundingClientRect().width,i=0,s=0,n=0,r=0,o=[],a=[],h=0,d=0,u=0;function c(g){var p;return typeof g=="string"?g.indexOf("%")>-1?p=t/100*parseInt(g):p=parseInt(g):p=g,p}function f(g,p,v,m){var C=[],T=0,y=0,k=0,P=n,X=0,L=0,he=[];function Ie(E){return v*(E.column.definition.widthGrow||1)}function Ne(E){return c(E.width)-v*(E.column.definition.widthShrink||0)}return g.forEach(function(E,Vs){var We=m?Ne(E):Ie(E);E.column.minWidth>=We?C.push(E):E.column.maxWidth&&E.column.maxWidththis.table.rowManager.element.clientHeight&&(t-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),l.forEach(function(g){var p,v,m;g.visible&&(p=g.definition.width,v=parseInt(g.minWidth),p?(m=c(p),i+=m>v?m:v,g.definition.widthShrink&&(a.push({column:g,width:m>v?m:v}),h+=g.definition.widthShrink)):(o.push({column:g,width:0}),n+=g.definition.widthGrow||1))}),s=t-i,r=Math.floor(s/n),u=f(o,s,r,!1),o.length&&u>0&&(o[o.length-1].width+=u),o.forEach(function(g){s-=g.width}),d=Math.abs(u)+s,d>0&&h&&(u=f(a,d,Math.floor(d/h),!0)),u&&a.length&&(a[a.length-1].width-=u),o.forEach(function(g){g.column.setWidth(g.width)}),a.forEach(function(g){g.column.setWidth(g.width)})}var Fs={fitData:Ds,fitDataFill:Je,fitDataTable:Je,fitDataStretch:zs,fitColumns:Hs};const $=class $ extends w{constructor(e){super(e,"layout"),this.mode=null,this.registerTableOption("layout","fitData"),this.registerTableOption("layoutColumnsOnNewData",!1),this.registerColumnOption("widthGrow"),this.registerColumnOption("widthShrink")}initialize(){var e=this.table.options.layout;$.modes[e]?this.mode=e:(console.warn("Layout Error - invalid mode set, defaulting to 'fitData' : "+e),this.mode="fitData"),this.table.element.setAttribute("tabulator-layout",this.mode),this.subscribe("column-init",this.initializeColumn.bind(this))}initializeColumn(e){e.definition.widthGrow&&(e.definition.widthGrow=Number(e.definition.widthGrow)),e.definition.widthShrink&&(e.definition.widthShrink=Number(e.definition.widthShrink))}getMode(){return this.mode}layout(e){this.dispatch("layout-refreshing"),$.modes[this.mode].call(this,this.table.columnManager.columnsByIndex,e),this.dispatch("layout-refreshed")}};b($,"moduleName","layout"),b($,"modes",Fs);let Pe=$;var Ps={default:{groups:{item:"item",items:"items"},columns:{},data:{loading:"Loading",error:"Error"},pagination:{page_size:"Page Size",page_title:"Show Page",first:"First",first_title:"First Page",last:"Last",last_title:"Last Page",prev:"Prev",prev_title:"Prev Page",next:"Next",next_title:"Next Page",all:"All",counter:{showing:"Showing",of:"of",rows:"rows",pages:"pages"}},headerFilters:{default:"filter column...",columns:{}}}};const se=class se extends w{constructor(e){super(e),this.locale="default",this.lang=!1,this.bindings={},this.langList={},this.registerTableOption("locale",!1),this.registerTableOption("langs",{})}initialize(){this.langList=x.deepClone(se.langs),this.table.options.columnDefaults.headerFilterPlaceholder!==!1&&this.setHeaderFilterPlaceholder(this.table.options.columnDefaults.headerFilterPlaceholder);for(let e in this.table.options.langs)this.installLang(e,this.table.options.langs[e]);this.setLocale(this.table.options.locale),this.registerTableFunction("setLocale",this.setLocale.bind(this)),this.registerTableFunction("getLocale",this.getLocale.bind(this)),this.registerTableFunction("getLang",this.getLang.bind(this))}setHeaderFilterPlaceholder(e){this.langList.default.headerFilters.default=e}installLang(e,t){this.langList[e]?this._setLangProp(this.langList[e],t):this.langList[e]=t}_setLangProp(e,t){for(let i in t)e[i]&&typeof e[i]=="object"?this._setLangProp(e[i],t[i]):e[i]=t[i]}setLocale(e){e=e||"default";function t(i,s){for(var n in i)typeof i[n]=="object"?(s[n]||(s[n]={}),t(i[n],s[n])):s[n]=i[n]}if(e===!0&&navigator.language&&(e=navigator.language.toLowerCase()),e&&!this.langList[e]){let i=e.split("-")[0];this.langList[i]?(console.warn("Localization Error - Exact matching locale not found, using closest match: ",e,i),e=i):(console.warn("Localization Error - Matching locale not found, using default: ",e),e="default")}this.locale=e,this.lang=x.deepClone(this.langList.default||{}),e!="default"&&t(this.langList[e],this.lang),this.dispatchExternal("localized",this.locale,this.lang),this._executeBindings()}getLocale(e){return this.locale}getLang(e){return e?this.langList[e]:this.lang}getText(e,t){var i=t?e+"|"+t:e,s=i.split("|"),n=this._getLangElement(s,this.locale);return n||""}_getLangElement(e,t){var i=this.lang;return e.forEach(function(s){var n;i&&(n=i[s],typeof n<"u"?i=n:i=!1)}),i}bind(e,t){this.bindings[e]||(this.bindings[e]=[]),this.bindings[e].push(t),t(this.getText(e),this.lang)}_executeBindings(){for(let e in this.bindings)this.bindings[e].forEach(t=>{t(this.getText(e),this.lang)})}};b(se,"moduleName","localize"),b(se,"langs",Ps);let Oe=se;class bt extends w{constructor(e){super(e)}initialize(){this.registerTableFunction("tableComms",this.receive.bind(this))}getConnections(e){var t=[],i;return i=this.table.constructor.registry.lookupTable(e),i.forEach(s=>{this.table!==s&&t.push(s)}),t}send(e,t,i,s){var n=this.getConnections(e);n.forEach(r=>{r.tableComms(this.table.element,t,i,s)}),!n.length&&e&&console.warn("Table Connection Error - No tables matching selector found",e)}receive(e,t,i,s){if(this.table.modExists(t))return this.table.modules[t].commsReceived(e,i,s);console.warn("Inter-table Comms Error - no such module:",t)}}b(bt,"moduleName","comms");var Os=Object.freeze({__proto__:null,CommsModule:bt,LayoutModule:Pe,LocalizeModule:Oe});const z=class z{static findTable(e){var t=z.registry.lookupTable(e,!0);return Array.isArray(t)&&!t.length?!1:t}};b(z,"registry",{tables:[],register(e){z.registry.tables.push(e)},deregister(e){var t=z.registry.tables.indexOf(e);t>-1&&z.registry.tables.splice(t,1)},lookupTable(e,t){var i=[],s,n;if(typeof e=="string"){if(s=document.querySelectorAll(e),s.length)for(var r=0;r{s.prototype.moduleCore=!0}),R._registerModule(i)}static _registerModule(e){Array.isArray(e)||(e=[e]),e.forEach(t=>{R._registerModuleBinding(t),R._registerModuleExtensions(t)})}static _registerModuleBinding(e){e.moduleName?R.moduleBindings[e.moduleName]=e:console.error("Unable to bind module, no moduleName defined",e.moduleName)}static _registerModuleExtensions(e){var t=e.moduleExtensions;if(e.moduleExtensions)for(let i in t){let s=t[i];if(R.moduleBindings[i])for(let n in s)R._extendModule(i,n,s[n]);else{R.moduleExtensions[i]||(R.moduleExtensions[i]={});for(let n in s)R.moduleExtensions[i][n]||(R.moduleExtensions[i][n]={}),Object.assign(R.moduleExtensions[i][n],s[n])}}R._extendModuleFromQueue(e)}static _extendModuleFromQueue(e){var t=R.moduleExtensions[e.moduleName];if(t)for(let i in t)R._extendModule(e.moduleName,i,t[i])}_bindModules(){var e=[],t=[],i=[];this.modules={};for(var s in R.moduleBindings){let n=R.moduleBindings[s],r=new n(this);this.modules[s]=r,n.prototype.moduleCore?this.modulesCore.push(r):n.moduleInitOrder?n.moduleInitOrder<0?e.push(r):t.push(r):i.push(r)}e.sort((n,r)=>n.moduleInitOrder>r.moduleInitOrder?1:-1),t.sort((n,r)=>n.moduleInitOrder>r.moduleInitOrder?1:-1),this.modulesRegular=e.concat(i.concat(t))}};b(R,"moduleBindings",{}),b(R,"moduleExtensions",{}),b(R,"modulesRegistered",!1),b(R,"defaultModules",!1);let _e=R;class As extends M{constructor(e){super(e),this.element=this._createAlertElement(),this.msgElement=this._createMsgElement(),this.type=null,this.element.appendChild(this.msgElement)}_createAlertElement(){var e=document.createElement("div");return e.classList.add("tabulator-alert"),e}_createMsgElement(){var e=document.createElement("div");return e.classList.add("tabulator-alert-msg"),e.setAttribute("role","alert"),e}_typeClass(){return"tabulator-alert-state-"+this.type}alert(e,t="msg"){if(e){for(this.clear(),this.dispatch("alert-show",t),this.type=t;this.msgElement.firstChild;)this.msgElement.removeChild(this.msgElement.firstChild);this.msgElement.classList.add(this._typeClass()),typeof e=="function"&&(e=e()),e instanceof HTMLElement?this.msgElement.appendChild(e):this.msgElement.innerHTML=e,this.table.element.appendChild(this.element)}}clear(){this.dispatch("alert-hide",this.type),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.msgElement.classList.remove(this._typeClass())}}const A=class A extends _e{static extendModule(){A.initializeModuleBinder(),A._extendModule(...arguments)}static registerModule(){A.initializeModuleBinder(),A._registerModule(...arguments)}constructor(e,t,i){super(),A.initializeModuleBinder(i),this.options={},this.columnManager=null,this.rowManager=null,this.footerManager=null,this.alertManager=null,this.vdomHoz=null,this.externalEvents=null,this.eventBus=null,this.interactionMonitor=!1,this.browser="",this.browserSlow=!1,this.browserMobile=!1,this.rtl=!1,this.originalElement=null,this.componentFunctionBinder=new Ts(this),this.dataLoader=!1,this.modules={},this.modulesCore=[],this.modulesRegular=[],this.deprecationAdvisor=new Ss(this),this.optionsList=new gt(this,"table constructor"),this.initialized=!1,this.destroyed=!1,this.initializeElement(e)&&(this.initializeCoreSystems(t),setTimeout(()=>{this._create()})),this.constructor.registry.register(this)}initializeElement(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement?(this.element=e,!0):typeof e=="string"?(this.element=document.querySelector(e),this.element?!0:(console.error("Tabulator Creation Error - no element found matching selector: ",e),!1)):(console.error("Tabulator Creation Error - Invalid element provided:",e),!1)}initializeCoreSystems(e){this.columnManager=new ws(this),this.rowManager=new ys(this),this.footerManager=new Rs(this),this.dataLoader=new ks(this),this.alertManager=new As(this),this._bindModules(),this.options=this.optionsList.generate(A.defaultOptions,e),this._clearObjectPointers(),this._mapDeprecatedFunctionality(),this.externalEvents=new Ms(this,this.options,this.options.debugEventsExternal),this.eventBus=new Ls(this.options.debugEventsInternal),this.interactionMonitor=new xs(this),this.dataLoader.initialize(),this.footerManager.initialize()}_mapDeprecatedFunctionality(){}_clearSelection(){this.element.classList.add("tabulator-block-select"),window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():document.selection&&document.selection.empty(),this.element.classList.remove("tabulator-block-select")}_create(){this.externalEvents.dispatch("tableBuilding"),this.eventBus.dispatch("table-building"),this._rtlCheck(),this._buildElement(),this._initializeTable(),this.initialized=!0,this._loadInitialData().finally(()=>{this.eventBus.dispatch("table-initialized"),this.externalEvents.dispatch("tableBuilt")})}_rtlCheck(){var e=window.getComputedStyle(this.element);switch(this.options.textDirection){case"auto":if(e.direction!=="rtl")break;case"rtl":this.element.classList.add("tabulator-rtl"),this.rtl=!0;break;case"ltr":this.element.classList.add("tabulator-ltr");default:this.rtl=!1}}_clearObjectPointers(){this.options.columns=this.options.columns.slice(0),Array.isArray(this.options.data)&&!this.options.reactiveData&&(this.options.data=this.options.data.slice(0))}_buildElement(){var e=this.element,t=this.options,i;if(e.tagName==="TABLE"){this.originalElement=this.element,i=document.createElement("div");var s=e.attributes;for(var n in s)typeof s[n]=="object"&&i.setAttribute(s[n].name,s[n].value);e.parentNode.replaceChild(i,e),this.element=e=i}for(e.classList.add("tabulator"),e.setAttribute("role","grid");e.firstChild;)e.removeChild(e.firstChild);t.height&&(t.height=isNaN(t.height)?t.height:t.height+"px",e.style.height=t.height),t.minHeight!==!1&&(t.minHeight=isNaN(t.minHeight)?t.minHeight:t.minHeight+"px",e.style.minHeight=t.minHeight),t.maxHeight!==!1&&(t.maxHeight=isNaN(t.maxHeight)?t.maxHeight:t.maxHeight+"px",e.style.maxHeight=t.maxHeight)}_initializeTable(){var e=this.element,t=this.options;this.interactionMonitor.initialize(),this.columnManager.initialize(),this.rowManager.initialize(),this._detectBrowser(),this.modulesCore.forEach(i=>{i.initialize()}),e.appendChild(this.columnManager.getElement()),e.appendChild(this.rowManager.getElement()),t.footerElement&&this.footerManager.activate(),t.autoColumns&&t.data&&this.columnManager.generateColumnsFromRowData(this.options.data),this.modulesRegular.forEach(i=>{i.initialize()}),this.columnManager.setColumns(t.columns),this.eventBus.dispatch("table-built")}_loadInitialData(){return this.dataLoader.load(this.options.data).finally(()=>{this.columnManager.verticalAlignHeaders()})}destroy(){var e=this.element;for(this.destroyed=!0,this.constructor.registry.deregister(this),this.eventBus.dispatch("table-destroy"),this.rowManager.destroy();e.firstChild;)e.removeChild(e.firstChild);e.classList.remove("tabulator"),this.externalEvents.dispatch("tableDestroyed")}_detectBrowser(){var e=navigator.userAgent||navigator.vendor||window.opera;e.indexOf("Trident")>-1?(this.browser="ie",this.browserSlow=!0):e.indexOf("Edge")>-1?(this.browser="edge",this.browserSlow=!0):e.indexOf("Firefox")>-1?(this.browser="firefox",this.browserSlow=!1):e.indexOf("Mac OS")>-1?(this.browser="safari",this.browserSlow=!1):(this.browser="other",this.browserSlow=!1),this.browserMobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(e.slice(0,4))}initGuard(e,t){var i,s;return this.options.debugInitialization&&!this.initialized&&(e||(i=new Error().stack.split(` +`),s=i[0]=="Error"?i[2]:i[1],s[0]==" "?e=s.trim().split(" ")[1].split(".")[1]:e=s.trim().split("@")[0]),console.warn("Table Not Initialized - Calling the "+e+" function before the table is initialized may result in inconsistent behavior, Please wait for the `tableBuilt` event before calling this function."+(t?" "+t:""))),this.initialized}blockRedraw(){this.initGuard(),this.eventBus.dispatch("redraw-blocking"),this.rowManager.blockRedraw(),this.columnManager.blockRedraw(),this.eventBus.dispatch("redraw-blocked")}restoreRedraw(){this.initGuard(),this.eventBus.dispatch("redraw-restoring"),this.rowManager.restoreRedraw(),this.columnManager.restoreRedraw(),this.eventBus.dispatch("redraw-restored")}setData(e,t,i){return this.initGuard(!1,"To set initial data please use the 'data' property in the table constructor."),this.dataLoader.load(e,t,i,!1)}clearData(){this.initGuard(),this.dataLoader.blockActiveLoad(),this.rowManager.clearData()}getData(e){return this.rowManager.getData(e)}getDataCount(e){return this.rowManager.getDataCount(e)}replaceData(e,t,i){return this.initGuard(),this.dataLoader.load(e,t,i,!0,!0)}updateData(e){var t=0;return this.initGuard(),new Promise((i,s)=>{this.dataLoader.blockActiveLoad(),typeof e=="string"&&(e=JSON.parse(e)),e&&e.length>0?e.forEach(n=>{var r=this.rowManager.findRow(n[this.options.index]);r?(t++,r.updateData(n).then(()=>{t--,t||i()}).catch(o=>{s("Update Error - Unable to update row",n,o)})):s("Update Error - Unable to find row",n)}):(console.warn("Update Error - No data provided"),s("Update Error - No data provided"))})}addData(e,t,i){return this.initGuard(),new Promise((s,n)=>{this.dataLoader.blockActiveLoad(),typeof e=="string"&&(e=JSON.parse(e)),e?this.rowManager.addRows(e,t,i).then(r=>{var o=[];r.forEach(function(a){o.push(a.getComponent())}),s(o)}):(console.warn("Update Error - No data provided"),n("Update Error - No data provided"))})}updateOrAddData(e){var t=[],i=0;return this.initGuard(),new Promise((s,n)=>{this.dataLoader.blockActiveLoad(),typeof e=="string"&&(e=JSON.parse(e)),e&&e.length>0?e.forEach(r=>{var o=this.rowManager.findRow(r[this.options.index]);i++,o?o.updateData(r).then(()=>{i--,t.push(o.getComponent()),i||s(t)}):this.rowManager.addRows(r).then(a=>{i--,t.push(a[0].getComponent()),i||s(t)})}):(console.warn("Update Error - No data provided"),n("Update Error - No data provided"))})}getRow(e){var t=this.rowManager.findRow(e);return t?t.getComponent():(console.warn("Find Error - No matching row found:",e),!1)}getRowFromPosition(e){var t=this.rowManager.getRowFromPosition(e);return t?t.getComponent():(console.warn("Find Error - No matching row found:",e),!1)}deleteRow(e){var t=[];this.initGuard(),Array.isArray(e)||(e=[e]);for(let i of e){let s=this.rowManager.findRow(i,!0);if(s)t.push(s);else return console.error("Delete Error - No matching row found:",i),Promise.reject("Delete Error - No matching row found")}return t.sort((i,s)=>this.rowManager.rows.indexOf(i)>this.rowManager.rows.indexOf(s)?1:-1),t.forEach(i=>{i.delete()}),this.rowManager.reRenderInPosition(),Promise.resolve()}addRow(e,t,i){return this.initGuard(),typeof e=="string"&&(e=JSON.parse(e)),this.rowManager.addRows(e,t,i,!0).then(s=>s[0].getComponent())}updateOrAddRow(e,t){var i=this.rowManager.findRow(e);return this.initGuard(),typeof t=="string"&&(t=JSON.parse(t)),i?i.updateData(t).then(()=>i.getComponent()):this.rowManager.addRows(t).then(s=>s[0].getComponent())}updateRow(e,t){var i=this.rowManager.findRow(e);return this.initGuard(),typeof t=="string"&&(t=JSON.parse(t)),i?i.updateData(t).then(()=>Promise.resolve(i.getComponent())):(console.warn("Update Error - No matching row found:",e),Promise.reject("Update Error - No matching row found"))}scrollToRow(e,t,i){var s=this.rowManager.findRow(e);return s?this.rowManager.scrollToRow(s,t,i):(console.warn("Scroll Error - No matching row found:",e),Promise.reject("Scroll Error - No matching row found"))}moveRow(e,t,i){var s=this.rowManager.findRow(e);this.initGuard(),s?s.moveToRow(t,i):console.warn("Move Error - No matching row found:",e)}getRows(e){return this.rowManager.getComponents(e)}getRowPosition(e){var t=this.rowManager.findRow(e);return t?t.getPosition():(console.warn("Position Error - No matching row found:",e),!1)}setColumns(e){this.initGuard(!1,"To set initial columns please use the 'columns' property in the table constructor"),this.columnManager.setColumns(e)}getColumns(e){return this.columnManager.getComponents(e)}getColumn(e){var t=this.columnManager.findColumn(e);return t?t.getComponent():(console.warn("Find Error - No matching column found:",e),!1)}getColumnDefinitions(){return this.columnManager.getDefinitionTree()}showColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),t)t.show();else return console.warn("Column Show Error - No matching column found:",e),!1}hideColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),t)t.hide();else return console.warn("Column Hide Error - No matching column found:",e),!1}toggleColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),t)t.visible?t.hide():t.show();else return console.warn("Column Visibility Toggle Error - No matching column found:",e),!1}addColumn(e,t,i){var s=this.columnManager.findColumn(i);return this.initGuard(),this.columnManager.addColumn(e,t,s).then(n=>n.getComponent())}deleteColumn(e){var t=this.columnManager.findColumn(e);return this.initGuard(),t?t.delete():(console.warn("Column Delete Error - No matching column found:",e),Promise.reject())}updateColumnDefinition(e,t){var i=this.columnManager.findColumn(e);return this.initGuard(),i?i.updateDefinition(t):(console.warn("Column Update Error - No matching column found:",e),Promise.reject())}moveColumn(e,t,i){var s=this.columnManager.findColumn(e),n=this.columnManager.findColumn(t);this.initGuard(),s?n?this.columnManager.moveColumn(s,n,i):console.warn("Move Error - No matching column found:",n):console.warn("Move Error - No matching column found:",e)}scrollToColumn(e,t,i){return new Promise((s,n)=>{var r=this.columnManager.findColumn(e);return r?this.columnManager.scrollToColumn(r,t,i):(console.warn("Scroll Error - No matching column found:",e),Promise.reject("Scroll Error - No matching column found"))})}redraw(e){this.initGuard(),this.columnManager.redraw(e),this.rowManager.redraw(e)}setHeight(e){this.options.height=isNaN(e)?e:e+"px",this.element.style.height=this.options.height,this.rowManager.initializeRenderer(),this.rowManager.redraw(!0)}on(e,t){this.externalEvents.subscribe(e,t)}off(e,t){this.externalEvents.unsubscribe(e,t)}dispatchEvent(){var e=Array.from(arguments);e.shift(),this.externalEvents.dispatch(...arguments)}alert(e,t){this.initGuard(),this.alertManager.alert(e,t)}clearAlert(){this.initGuard(),this.alertManager.clear()}modExists(e,t){return this.modules[e]?!0:(t&&console.error("Tabulator Module Not Installed: "+e),!1)}module(e){var t=this.modules[e];return t||console.error("Tabulator module not installed: "+e),t}};b(A,"defaultOptions",gs);let Be=A;var Q=Be;class _s extends Q{static extendModule(){Q.initializeModuleBinder(ue),Q._extendModule(...arguments)}static registerModule(){Q.initializeModuleBinder(ue),Q._registerModule(...arguments)}constructor(e,t,i){super(e,t,ue)}}var Bs=_s;const Gs=Ct({__name:"Tabulator",props:{columns:{},tableData:{}},setup(l){const e=l,t=Ge(null),i=Ge(null);je(()=>e.columns,()=>{s()}),je(()=>e.tableData,()=>{s()});const s=()=>{i.value=new Bs(t.value,{data:e.tableData,reactiveData:!0,columns:e.columns,pagination:!0,paginationSize:6,paginationSizeSelector:[3,6,8,10],movableColumns:!0,paginationCounter:"rows"})};return(n,r)=>(yt(),Et("div",{ref_key:"table",ref:t},null,512))}});export{Gs as _}; diff --git a/bin/main/static/assets/YamlGenerate-BW3LCD03.css b/bin/main/static/assets/YamlGenerate-BW3LCD03.css new file mode 100644 index 0000000..7cced69 --- /dev/null +++ b/bin/main/static/assets/YamlGenerate-BW3LCD03.css @@ -0,0 +1 @@ +.generate-form[data-v-f8c51839],.pod-form[data-v-7205a965],.generate-form[data-v-899bd840],.generate-form[data-v-7c365435],.generate-form[data-v-602e9a61]{width:100%!important;display:flex;gap:10px;margin-bottom:10px} diff --git a/bin/main/static/assets/YamlGenerate-DfVGZ_xy.js b/bin/main/static/assets/YamlGenerate-DfVGZ_xy.js new file mode 100644 index 0000000..1448556 --- /dev/null +++ b/bin/main/static/assets/YamlGenerate-DfVGZ_xy.js @@ -0,0 +1,23 @@ +import{d as xt,j as De,r as I,o as Ot,h as _,a as m,b as o,e as w,g as y,F as P,f as V,p as ie,k as re,u as As,v as jn,i as Pt,l as Do}from"./index-D8aamcST.js";import{s as Lo}from"./request-B41piC-O.js";const M=n=>(ie("data-v-f8c51839"),n=n(),re(),n),Mo={class:"tab-pane active show",id:"tabs-pod"},Io={class:"mb-3"},Po=M(()=>o("label",{class:"form-label"},"Pod Name",-1)),Vo={class:"mb-3"},Ro=M(()=>o("label",{class:"form-label"},"Namespace",-1)),Ho={class:"mb-3"},Uo=M(()=>o("label",{class:"form-label"},"Labels",-1)),jo=["onUpdate:modelValue"],Bo=["onUpdate:modelValue"],Wo={class:"btn-list"},Fo={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},zo=M(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Ko=M(()=>o("path",{d:"M12 5l0 14"},null,-1)),Yo=M(()=>o("path",{d:"M5 12l14 0"},null,-1)),Go=[zo,Ko,Yo],qo=["onClick"],Xo={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},Qo=M(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Zo=M(()=>o("path",{d:"M5 12l14 0"},null,-1)),Jo=[Qo,Zo],ti={class:"mb-3"},ei=M(()=>o("label",{class:"form-label"},"Image",-1)),ni={class:"mb-3"},si=M(()=>o("label",{class:"form-label"},"containerPort",-1)),oi=["onUpdate:modelValue"],ii=["onUpdate:modelValue"],ri={class:"btn-list"},ai={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},li=M(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),ci=M(()=>o("path",{d:"M12 5l0 14"},null,-1)),ui=M(()=>o("path",{d:"M5 12l14 0"},null,-1)),di=[li,ci,ui],hi=["onClick"],pi={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},_i=M(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),mi=M(()=>o("path",{d:"M5 12l14 0"},null,-1)),fi=[_i,mi],vi={class:"mb-3"},gi=M(()=>o("label",{class:"form-label"},"env",-1)),bi=["onUpdate:modelValue"],Ei=["onUpdate:modelValue"],wi={class:"btn-list"},yi={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},$i=M(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Ai=M(()=>o("path",{d:"M12 5l0 14"},null,-1)),Ti=M(()=>o("path",{d:"M5 12l14 0"},null,-1)),Ci=[$i,Ai,Ti],ki=["onClick"],Ni={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},xi=M(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Oi=M(()=>o("path",{d:"M5 12l14 0"},null,-1)),Si=[xi,Oi],Di={class:"mb-3"},Li=M(()=>o("label",{class:"form-label"},"volumeMounts",-1)),Mi=["onUpdate:modelValue"],Ii=["onUpdate:modelValue"],Pi={class:"btn-list"},Vi={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},Ri=M(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Hi=M(()=>o("path",{d:"M12 5l0 14"},null,-1)),Ui=M(()=>o("path",{d:"M5 12l14 0"},null,-1)),ji=[Ri,Hi,Ui],Bi=["onClick"],Wi={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},Fi=M(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),zi=M(()=>o("path",{d:"M5 12l14 0"},null,-1)),Ki=[Fi,zi],Yi=xt({__name:"podForm",setup(n){const t=De({}),e=I([]),s=I([]),i=I([]),r=I([]);Ot(async()=>{await a()});const a=()=>{e.value.push({key:"",value:""}),s.value.push({portNum:"",name:""}),i.value.push({name:"",value:""}),r.value.push({mountPath:"",name:""}),t.podName="",t.namespace="",t.image=""},l=()=>{console.log("onClickPod"),t.labels=e.value,t.containerPort=s.value,t.env=i.value,t.volumeMounts=r.value;const k={...t};console.log("param : ",k)},d=()=>{e.value.push({key:"",value:""})},v=k=>{e.value.length!==1&&e.value.splice(k,1)},u=()=>{s.value.push({portNum:"",name:""})},b=k=>{s.value.length!==1&&s.value.splice(k,1)},C=()=>{i.value.push({name:"",value:""})},$=k=>{i.value.length!==1&&i.value.splice(k,1)},O=()=>{r.value.push({mountPath:"",name:""})},N=k=>{r.value.length!==1&&r.value.splice(k,1)};return(k,x)=>(_(),m("div",Mo,[o("div",Io,[Po,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":x[0]||(x[0]=A=>t.podName=A),placeholder:"pod-01"},null,512),[[y,t.podName]])]),o("div",Vo,[Ro,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":x[1]||(x[1]=A=>t.namespace=A),placeholder:"namespace"},null,512),[[y,t.namespace]])]),o("div",Ho,[Uo,(_(!0),m(P,null,V(e.value,(A,E)=>(_(),m("div",{class:"generate-form",key:E},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":f=>A.key=f,placeholder:"key"},null,8,jo),[[y,A.key]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":f=>A.value=f,placeholder:"value"},null,8,Bo),[[y,A.value]]),o("div",Wo,[o("button",{class:"btn btn-primary",onClick:d,style:{"text-align":"center !important"}},[(_(),m("svg",Fo,Go))]),o("button",{class:"btn btn-primary",onClick:f=>v(E)},[(_(),m("svg",Xo,Jo))],8,qo)])]))),128))]),o("div",ti,[ei,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":x[2]||(x[2]=A=>t.image=A),placeholder:"image"},null,512),[[y,t.image]])]),o("div",ni,[si,(_(!0),m(P,null,V(s.value,(A,E)=>(_(),m("div",{class:"generate-form",key:E},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":f=>A.portNum=f,placeholder:"portNum"},null,8,oi),[[y,A.portNum]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":f=>A.name=f,placeholder:"name"},null,8,ii),[[y,A.name]]),o("div",ri,[o("button",{class:"btn btn-primary",onClick:u,style:{"text-align":"center !important"}},[(_(),m("svg",ai,di))]),o("button",{class:"btn btn-primary",onClick:f=>b(E)},[(_(),m("svg",pi,fi))],8,hi)])]))),128))]),o("div",vi,[gi,(_(!0),m(P,null,V(i.value,(A,E)=>(_(),m("div",{class:"generate-form",key:E},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":f=>A.name=f,placeholder:"name"},null,8,bi),[[y,A.name]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":f=>A.value=f,placeholder:"value"},null,8,Ei),[[y,A.value]]),o("div",wi,[o("button",{class:"btn btn-primary",onClick:C,style:{"text-align":"center !important"}},[(_(),m("svg",yi,Ci))]),o("button",{class:"btn btn-primary",onClick:f=>$(E)},[(_(),m("svg",Ni,Si))],8,ki)])]))),128))]),o("div",Di,[Li,(_(!0),m(P,null,V(r.value,(A,E)=>(_(),m("div",{class:"generate-form",key:E},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":f=>A.mountPath=f,placeholder:"mountPath"},null,8,Mi),[[y,A.mountPath]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":f=>A.name=f,placeholder:"name"},null,8,Ii),[[y,A.name]]),o("div",Pi,[o("button",{class:"btn btn-primary",onClick:O,style:{"text-align":"center !important"}},[(_(),m("svg",Vi,ji))]),o("button",{class:"btn btn-primary",onClick:f=>N(E)},[(_(),m("svg",Wi,Ki))],8,Bi)])]))),128))]),o("div",{class:"btn-list justify-content-end"},[o("a",{class:"btn btn-primary",onClick:l},"GENERATE")])]))}}),ae=(n,t)=>{const e=n.__vccOpts||n;for(const[s,i]of t)e[s]=i;return e},Gi=ae(Yi,[["__scopeId","data-v-f8c51839"]]),S=n=>(ie("data-v-7205a965"),n=n(),re(),n),qi={class:"tab-pane",id:"tabs-service"},Xi={class:"mb-3"},Qi=S(()=>o("label",{class:"form-label"},"Deployment Name",-1)),Zi={class:"mb-3"},Ji=S(()=>o("label",{class:"form-label"},"Namespace",-1)),tr={class:"mb-3"},er=S(()=>o("label",{class:"form-label"},"Labels",-1)),nr=["onUpdate:modelValue"],sr=["onUpdate:modelValue"],or={class:"btn-list"},ir={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},rr=S(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),ar=S(()=>o("path",{d:"M12 5l0 14"},null,-1)),lr=S(()=>o("path",{d:"M5 12l14 0"},null,-1)),cr=[rr,ar,lr],ur=["onClick"],dr={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},hr=S(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),pr=S(()=>o("path",{d:"M5 12l14 0"},null,-1)),_r=[hr,pr],mr={class:"mb-3"},fr=S(()=>o("label",{class:"form-label"},"Selector",-1)),vr=["onUpdate:modelValue"],gr=["onUpdate:modelValue"],br={class:"btn-list"},Er={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},wr=S(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),yr=S(()=>o("path",{d:"M12 5l0 14"},null,-1)),$r=S(()=>o("path",{d:"M5 12l14 0"},null,-1)),Ar=[wr,yr,$r],Tr=["onClick"],Cr={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},kr=S(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Nr=S(()=>o("path",{d:"M5 12l14 0"},null,-1)),xr=[kr,Nr],Or={class:"mb-3"},Sr=S(()=>o("label",{class:"form-label"},"Replicas",-1)),Dr={class:"mb-3"},Lr=S(()=>o("label",{class:"form-label"},"Image",-1)),Mr={class:"mb-3"},Ir=S(()=>o("label",{class:"form-label"},"containerPort",-1)),Pr=["onUpdate:modelValue"],Vr=["onUpdate:modelValue"],Rr={class:"btn-list"},Hr={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},Ur=S(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),jr=S(()=>o("path",{d:"M12 5l0 14"},null,-1)),Br=S(()=>o("path",{d:"M5 12l14 0"},null,-1)),Wr=[Ur,jr,Br],Fr=["onClick"],zr={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},Kr=S(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Yr=S(()=>o("path",{d:"M5 12l14 0"},null,-1)),Gr=[Kr,Yr],qr={class:"mb-3"},Xr=S(()=>o("label",{class:"form-label"},"env",-1)),Qr=["onUpdate:modelValue"],Zr=["onUpdate:modelValue"],Jr={class:"btn-list"},ta={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},ea=S(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),na=S(()=>o("path",{d:"M12 5l0 14"},null,-1)),sa=S(()=>o("path",{d:"M5 12l14 0"},null,-1)),oa=[ea,na,sa],ia=["onClick"],ra={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},aa=S(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),la=S(()=>o("path",{d:"M5 12l14 0"},null,-1)),ca=[aa,la],ua={class:"mb-3"},da=S(()=>o("label",{class:"form-label"},"volumeMounts",-1)),ha=["onUpdate:modelValue"],pa=["onUpdate:modelValue"],_a={class:"btn-list"},ma={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},fa=S(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),va=S(()=>o("path",{d:"M12 5l0 14"},null,-1)),ga=S(()=>o("path",{d:"M5 12l14 0"},null,-1)),ba=[fa,va,ga],Ea=["onClick"],wa={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},ya=S(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),$a=S(()=>o("path",{d:"M5 12l14 0"},null,-1)),Aa=[ya,$a],Ta=xt({__name:"serviceForm",setup(n){const t=De({}),e=I([]),s=I([]),i=I([]),r=I([]),a=I([]);Ot(async()=>{await l()});const l=()=>{e.value.push({key:"",value:""}),s.value.push({key:"",value:""}),i.value.push({portNum:"",name:""}),r.value.push({name:"",value:""}),a.value.push({mountPath:"",name:""}),t.deployName="",t.namespace="",t.image=""},d=()=>{console.log("onClickDeploy"),t.labels=e.value,t.selector=s.value,t.containerPort=i.value,t.env=r.value,t.volumeMounts=a.value;const E={...t};console.log("param : ",E)},v=()=>{e.value.push({key:"",value:""})},u=E=>{e.value.length!==1&&e.value.splice(E,1)},b=()=>{s.value.push({key:"",value:""})},C=E=>{s.value.length!==1&&s.value.splice(E,1)},$=()=>{i.value.push({portNum:"",name:""})},O=E=>{i.value.length!==1&&i.value.splice(E,1)},N=()=>{r.value.push({name:"",value:""})},k=E=>{r.value.length!==1&&r.value.splice(E,1)},x=()=>{a.value.push({mountPath:"",name:""})},A=E=>{a.value.length!==1&&a.value.splice(E,1)};return(E,f)=>(_(),m("div",qi,[o("div",Xi,[Qi,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":f[0]||(f[0]=c=>t.deployName=c),placeholder:"deploy-01"},null,512),[[y,t.deployName]])]),o("div",Zi,[Ji,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":f[1]||(f[1]=c=>t.namespace=c),placeholder:"namespace"},null,512),[[y,t.namespace]])]),o("div",tr,[er,(_(!0),m(P,null,V(e.value,(c,g)=>(_(),m("div",{class:"pod-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.key=p,placeholder:"key"},null,8,nr),[[y,c.key]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.value=p,placeholder:"value"},null,8,sr),[[y,c.value]]),o("div",or,[o("button",{class:"btn btn-primary",onClick:v,style:{"text-align":"center !important"}},[(_(),m("svg",ir,cr))]),o("button",{class:"btn btn-primary",onClick:p=>u(g)},[(_(),m("svg",dr,_r))],8,ur)])]))),128))]),o("div",mr,[fr,(_(!0),m(P,null,V(s.value,(c,g)=>(_(),m("div",{class:"pod-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.key=p,placeholder:"key"},null,8,vr),[[y,c.key]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.value=p,placeholder:"value"},null,8,gr),[[y,c.value]]),o("div",br,[o("button",{class:"btn btn-primary",onClick:b,style:{"text-align":"center !important"}},[(_(),m("svg",Er,Ar))]),o("button",{class:"btn btn-primary",onClick:p=>C(g)},[(_(),m("svg",Cr,xr))],8,Tr)])]))),128))]),o("div",Or,[Sr,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":f[2]||(f[2]=c=>t.namespace=c),placeholder:"namespace"},null,512),[[y,t.namespace]])]),o("div",Dr,[Lr,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":f[3]||(f[3]=c=>t.image=c),placeholder:"image"},null,512),[[y,t.image]])]),o("div",Mr,[Ir,(_(!0),m(P,null,V(i.value,(c,g)=>(_(),m("div",{class:"pod-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.portNum=p,placeholder:"portNum"},null,8,Pr),[[y,c.portNum]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.name=p,placeholder:"name"},null,8,Vr),[[y,c.name]]),o("div",Rr,[o("button",{class:"btn btn-primary",onClick:$,style:{"text-align":"center !important"}},[(_(),m("svg",Hr,Wr))]),o("button",{class:"btn btn-primary",onClick:p=>O(g)},[(_(),m("svg",zr,Gr))],8,Fr)])]))),128))]),o("div",qr,[Xr,(_(!0),m(P,null,V(r.value,(c,g)=>(_(),m("div",{class:"pod-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.name=p,placeholder:"name"},null,8,Qr),[[y,c.name]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.value=p,placeholder:"value"},null,8,Zr),[[y,c.value]]),o("div",Jr,[o("button",{class:"btn btn-primary",onClick:N,style:{"text-align":"center !important"}},[(_(),m("svg",ta,oa))]),o("button",{class:"btn btn-primary",onClick:p=>k(g)},[(_(),m("svg",ra,ca))],8,ia)])]))),128))]),o("div",ua,[da,(_(!0),m(P,null,V(a.value,(c,g)=>(_(),m("div",{class:"pod-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.mountPath=p,placeholder:"mountPath"},null,8,ha),[[y,c.mountPath]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.name=p,placeholder:"name"},null,8,pa),[[y,c.name]]),o("div",_a,[o("button",{class:"btn btn-primary",onClick:x,style:{"text-align":"center !important"}},[(_(),m("svg",ma,ba))]),o("button",{class:"btn btn-primary",onClick:p=>A(g)},[(_(),m("svg",wa,Aa))],8,Ea)])]))),128))]),o("div",{class:"btn-list justify-content-end"},[o("a",{class:"btn btn-primary",onClick:d},"GENERATE")])]))}}),Ca=ae(Ta,[["__scopeId","data-v-7205a965"]]),D=n=>(ie("data-v-899bd840"),n=n(),re(),n),ka={class:"tab-pane",id:"tabs-deployment"},Na={class:"mb-3"},xa=D(()=>o("label",{class:"form-label"},"Deployment Name",-1)),Oa={class:"mb-3"},Sa=D(()=>o("label",{class:"form-label"},"Namespace",-1)),Da={class:"mb-3"},La=D(()=>o("label",{class:"form-label"},"Labels",-1)),Ma=["onUpdate:modelValue"],Ia=["onUpdate:modelValue"],Pa={class:"btn-list"},Va={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},Ra=D(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Ha=D(()=>o("path",{d:"M12 5l0 14"},null,-1)),Ua=D(()=>o("path",{d:"M5 12l14 0"},null,-1)),ja=[Ra,Ha,Ua],Ba=["onClick"],Wa={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},Fa=D(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),za=D(()=>o("path",{d:"M5 12l14 0"},null,-1)),Ka=[Fa,za],Ya={class:"mb-3"},Ga=D(()=>o("label",{class:"form-label"},"Selector",-1)),qa=["onUpdate:modelValue"],Xa=["onUpdate:modelValue"],Qa={class:"btn-list"},Za={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},Ja=D(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),tl=D(()=>o("path",{d:"M12 5l0 14"},null,-1)),el=D(()=>o("path",{d:"M5 12l14 0"},null,-1)),nl=[Ja,tl,el],sl=["onClick"],ol={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},il=D(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),rl=D(()=>o("path",{d:"M5 12l14 0"},null,-1)),al=[il,rl],ll={class:"mb-3"},cl=D(()=>o("label",{class:"form-label"},"Replicas",-1)),ul={class:"mb-3"},dl=D(()=>o("label",{class:"form-label"},"Image",-1)),hl={class:"mb-3"},pl=D(()=>o("label",{class:"form-label"},"containerPort",-1)),_l=["onUpdate:modelValue"],ml=["onUpdate:modelValue"],fl={class:"btn-list"},vl={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},gl=D(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),bl=D(()=>o("path",{d:"M12 5l0 14"},null,-1)),El=D(()=>o("path",{d:"M5 12l14 0"},null,-1)),wl=[gl,bl,El],yl=["onClick"],$l={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},Al=D(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Tl=D(()=>o("path",{d:"M5 12l14 0"},null,-1)),Cl=[Al,Tl],kl={class:"mb-3"},Nl=D(()=>o("label",{class:"form-label"},"env",-1)),xl=["onUpdate:modelValue"],Ol=["onUpdate:modelValue"],Sl={class:"btn-list"},Dl={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},Ll=D(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Ml=D(()=>o("path",{d:"M12 5l0 14"},null,-1)),Il=D(()=>o("path",{d:"M5 12l14 0"},null,-1)),Pl=[Ll,Ml,Il],Vl=["onClick"],Rl={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},Hl=D(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Ul=D(()=>o("path",{d:"M5 12l14 0"},null,-1)),jl=[Hl,Ul],Bl={class:"mb-3"},Wl=D(()=>o("label",{class:"form-label"},"volumeMounts",-1)),Fl=["onUpdate:modelValue"],zl=["onUpdate:modelValue"],Kl={class:"btn-list"},Yl={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},Gl=D(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),ql=D(()=>o("path",{d:"M12 5l0 14"},null,-1)),Xl=D(()=>o("path",{d:"M5 12l14 0"},null,-1)),Ql=[Gl,ql,Xl],Zl=["onClick"],Jl={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},tc=D(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),ec=D(()=>o("path",{d:"M5 12l14 0"},null,-1)),nc=[tc,ec],sc=xt({__name:"deploymentForm",setup(n){const t=De({}),e=I([]),s=I([]),i=I([]),r=I([]),a=I([]);Ot(async()=>{await l()});const l=()=>{e.value.push({key:"",value:""}),s.value.push({key:"",value:""}),i.value.push({portNum:"",name:""}),r.value.push({name:"",value:""}),a.value.push({mountPath:"",name:""}),t.deployName="",t.namespace="",t.image=""},d=()=>{console.log("onClickDeploy"),t.labels=e.value,t.selector=s.value,t.containerPort=i.value,t.env=r.value,t.volumeMounts=a.value;const E={...t};console.log("param : ",E)},v=()=>{e.value.push({key:"",value:""})},u=E=>{e.value.length!==1&&e.value.splice(E,1)},b=()=>{s.value.push({key:"",value:""})},C=E=>{s.value.length!==1&&s.value.splice(E,1)},$=()=>{i.value.push({portNum:"",name:""})},O=E=>{i.value.length!==1&&i.value.splice(E,1)},N=()=>{r.value.push({name:"",value:""})},k=E=>{r.value.length!==1&&r.value.splice(E,1)},x=()=>{a.value.push({mountPath:"",name:""})},A=E=>{a.value.length!==1&&a.value.splice(E,1)};return(E,f)=>(_(),m("div",ka,[o("div",Na,[xa,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":f[0]||(f[0]=c=>t.deployName=c),placeholder:"deploy-01"},null,512),[[y,t.deployName]])]),o("div",Oa,[Sa,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":f[1]||(f[1]=c=>t.namespace=c),placeholder:"namespace"},null,512),[[y,t.namespace]])]),o("div",Da,[La,(_(!0),m(P,null,V(e.value,(c,g)=>(_(),m("div",{class:"generate-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.key=p,placeholder:"key"},null,8,Ma),[[y,c.key]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.value=p,placeholder:"value"},null,8,Ia),[[y,c.value]]),o("div",Pa,[o("button",{class:"btn btn-primary",onClick:v,style:{"text-align":"center !important"}},[(_(),m("svg",Va,ja))]),o("button",{class:"btn btn-primary",onClick:p=>u(g)},[(_(),m("svg",Wa,Ka))],8,Ba)])]))),128))]),o("div",Ya,[Ga,(_(!0),m(P,null,V(s.value,(c,g)=>(_(),m("div",{class:"generate-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.key=p,placeholder:"key"},null,8,qa),[[y,c.key]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.value=p,placeholder:"value"},null,8,Xa),[[y,c.value]]),o("div",Qa,[o("button",{class:"btn btn-primary",onClick:b,style:{"text-align":"center !important"}},[(_(),m("svg",Za,nl))]),o("button",{class:"btn btn-primary",onClick:p=>C(g)},[(_(),m("svg",ol,al))],8,sl)])]))),128))]),o("div",ll,[cl,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":f[2]||(f[2]=c=>t.namespace=c),placeholder:"namespace"},null,512),[[y,t.namespace]])]),o("div",ul,[dl,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":f[3]||(f[3]=c=>t.image=c),placeholder:"image"},null,512),[[y,t.image]])]),o("div",hl,[pl,(_(!0),m(P,null,V(i.value,(c,g)=>(_(),m("div",{class:"generate-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.portNum=p,placeholder:"portNum"},null,8,_l),[[y,c.portNum]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.name=p,placeholder:"name"},null,8,ml),[[y,c.name]]),o("div",fl,[o("button",{class:"btn btn-primary",onClick:$,style:{"text-align":"center !important"}},[(_(),m("svg",vl,wl))]),o("button",{class:"btn btn-primary",onClick:p=>O(g)},[(_(),m("svg",$l,Cl))],8,yl)])]))),128))]),o("div",kl,[Nl,(_(!0),m(P,null,V(r.value,(c,g)=>(_(),m("div",{class:"generate-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.name=p,placeholder:"name"},null,8,xl),[[y,c.name]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.value=p,placeholder:"value"},null,8,Ol),[[y,c.value]]),o("div",Sl,[o("button",{class:"btn btn-primary",onClick:N,style:{"text-align":"center !important"}},[(_(),m("svg",Dl,Pl))]),o("button",{class:"btn btn-primary",onClick:p=>k(g)},[(_(),m("svg",Rl,jl))],8,Vl)])]))),128))]),o("div",Bl,[Wl,(_(!0),m(P,null,V(a.value,(c,g)=>(_(),m("div",{class:"generate-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.mountPath=p,placeholder:"mountPath"},null,8,Fl),[[y,c.mountPath]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.name=p,placeholder:"name"},null,8,zl),[[y,c.name]]),o("div",Kl,[o("button",{class:"btn btn-primary",onClick:x,style:{"text-align":"center !important"}},[(_(),m("svg",Yl,Ql))]),o("button",{class:"btn btn-primary",onClick:p=>A(g)},[(_(),m("svg",Jl,nc))],8,Zl)])]))),128))]),o("div",{class:"btn-list justify-content-end"},[o("a",{class:"btn btn-primary",onClick:d},"GENERATE")])]))}}),oc=ae(sc,[["__scopeId","data-v-899bd840"]]),ic=n=>Lo.post("/yaml/hpa",n),rc={class:"modal",id:"modal-hpa",tabindex:"-1"},ac=o("div",{class:"modal-dialog modal-lg",role:"document"},[o("div",{class:"modal-content"},[o("div",{class:"modal-header"},[o("h5",{class:"modal-title"},"HPA"),o("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"})]),o("div",{class:"modal-body"},[o("div",{class:"card"},[o("div",{class:"card-body"},[o("h4",null,"YAML"),o("div",null,[o("pre",null,` apiVersion: apps/v1 + kind: Deployment + metadata: + name: nginx-deployment + labels: + app: nginx + spec: replicas: 3 + selector: matchLabels: + app: nginx + template: metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:1.14.2 + ports: + - containerPort: 80 + `)])])])])])],-1),lc=[ac],cc=xt({__name:"hpaModal",setup(n){return Ot(async()=>{}),(t,e)=>(_(),m("div",rc,lc))}});var W="top",G="bottom",q="right",F="left",Le="auto",Gt=[W,G,q,F],kt="start",jt="end",Ts="clippingParents",_n="viewport",Vt="popper",Cs="reference",an=Gt.reduce(function(n,t){return n.concat([t+"-"+kt,t+"-"+jt])},[]),mn=[].concat(Gt,[Le]).reduce(function(n,t){return n.concat([t,t+"-"+kt,t+"-"+jt])},[]),ks="beforeRead",Ns="read",xs="afterRead",Os="beforeMain",Ss="main",Ds="afterMain",Ls="beforeWrite",Ms="write",Is="afterWrite",Ps=[ks,Ns,xs,Os,Ss,Ds,Ls,Ms,Is];function rt(n){return n?(n.nodeName||"").toLowerCase():null}function X(n){if(n==null)return window;if(n.toString()!=="[object Window]"){var t=n.ownerDocument;return t&&t.defaultView||window}return n}function Nt(n){var t=X(n).Element;return n instanceof t||n instanceof Element}function Q(n){var t=X(n).HTMLElement;return n instanceof t||n instanceof HTMLElement}function fn(n){if(typeof ShadowRoot>"u")return!1;var t=X(n).ShadowRoot;return n instanceof t||n instanceof ShadowRoot}function uc(n){var t=n.state;Object.keys(t.elements).forEach(function(e){var s=t.styles[e]||{},i=t.attributes[e]||{},r=t.elements[e];!Q(r)||!rt(r)||(Object.assign(r.style,s),Object.keys(i).forEach(function(a){var l=i[a];l===!1?r.removeAttribute(a):r.setAttribute(a,l===!0?"":l)}))})}function dc(n){var t=n.state,e={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,e.popper),t.styles=e,t.elements.arrow&&Object.assign(t.elements.arrow.style,e.arrow),function(){Object.keys(t.elements).forEach(function(s){var i=t.elements[s],r=t.attributes[s]||{},a=Object.keys(t.styles.hasOwnProperty(s)?t.styles[s]:e[s]),l=a.reduce(function(d,v){return d[v]="",d},{});!Q(i)||!rt(i)||(Object.assign(i.style,l),Object.keys(r).forEach(function(d){i.removeAttribute(d)}))})}}const vn={name:"applyStyles",enabled:!0,phase:"write",fn:uc,effect:dc,requires:["computeStyles"]};function ot(n){return n.split("-")[0]}var Ct=Math.max,Ne=Math.min,Bt=Math.round;function ln(){var n=navigator.userAgentData;return n!=null&&n.brands&&Array.isArray(n.brands)?n.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Vs(){return!/^((?!chrome|android).)*safari/i.test(ln())}function Wt(n,t,e){t===void 0&&(t=!1),e===void 0&&(e=!1);var s=n.getBoundingClientRect(),i=1,r=1;t&&Q(n)&&(i=n.offsetWidth>0&&Bt(s.width)/n.offsetWidth||1,r=n.offsetHeight>0&&Bt(s.height)/n.offsetHeight||1);var a=Nt(n)?X(n):window,l=a.visualViewport,d=!Vs()&&e,v=(s.left+(d&&l?l.offsetLeft:0))/i,u=(s.top+(d&&l?l.offsetTop:0))/r,b=s.width/i,C=s.height/r;return{width:b,height:C,top:u,right:v+b,bottom:u+C,left:v,x:v,y:u}}function gn(n){var t=Wt(n),e=n.offsetWidth,s=n.offsetHeight;return Math.abs(t.width-e)<=1&&(e=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:n.offsetLeft,y:n.offsetTop,width:e,height:s}}function Rs(n,t){var e=t.getRootNode&&t.getRootNode();if(n.contains(t))return!0;if(e&&fn(e)){var s=t;do{if(s&&n.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function ct(n){return X(n).getComputedStyle(n)}function hc(n){return["table","td","th"].indexOf(rt(n))>=0}function ft(n){return((Nt(n)?n.ownerDocument:n.document)||window.document).documentElement}function Me(n){return rt(n)==="html"?n:n.assignedSlot||n.parentNode||(fn(n)?n.host:null)||ft(n)}function Bn(n){return!Q(n)||ct(n).position==="fixed"?null:n.offsetParent}function pc(n){var t=/firefox/i.test(ln()),e=/Trident/i.test(ln());if(e&&Q(n)){var s=ct(n);if(s.position==="fixed")return null}var i=Me(n);for(fn(i)&&(i=i.host);Q(i)&&["html","body"].indexOf(rt(i))<0;){var r=ct(i);if(r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].indexOf(r.willChange)!==-1||t&&r.willChange==="filter"||t&&r.filter&&r.filter!=="none")return i;i=i.parentNode}return null}function le(n){for(var t=X(n),e=Bn(n);e&&hc(e)&&ct(e).position==="static";)e=Bn(e);return e&&(rt(e)==="html"||rt(e)==="body"&&ct(e).position==="static")?t:e||pc(n)||t}function bn(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function ne(n,t,e){return Ct(n,Ne(t,e))}function _c(n,t,e){var s=ne(n,t,e);return s>e?e:s}function Hs(){return{top:0,right:0,bottom:0,left:0}}function Us(n){return Object.assign({},Hs(),n)}function js(n,t){return t.reduce(function(e,s){return e[s]=n,e},{})}var mc=function(t,e){return t=typeof t=="function"?t(Object.assign({},e.rects,{placement:e.placement})):t,Us(typeof t!="number"?t:js(t,Gt))};function fc(n){var t,e=n.state,s=n.name,i=n.options,r=e.elements.arrow,a=e.modifiersData.popperOffsets,l=ot(e.placement),d=bn(l),v=[F,q].indexOf(l)>=0,u=v?"height":"width";if(!(!r||!a)){var b=mc(i.padding,e),C=gn(r),$=d==="y"?W:F,O=d==="y"?G:q,N=e.rects.reference[u]+e.rects.reference[d]-a[d]-e.rects.popper[u],k=a[d]-e.rects.reference[d],x=le(r),A=x?d==="y"?x.clientHeight||0:x.clientWidth||0:0,E=N/2-k/2,f=b[$],c=A-C[u]-b[O],g=A/2-C[u]/2+E,p=ne(f,g,c),U=d;e.modifiersData[s]=(t={},t[U]=p,t.centerOffset=p-g,t)}}function vc(n){var t=n.state,e=n.options,s=e.element,i=s===void 0?"[data-popper-arrow]":s;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||Rs(t.elements.popper,i)&&(t.elements.arrow=i))}const Bs={name:"arrow",enabled:!0,phase:"main",fn:fc,effect:vc,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ft(n){return n.split("-")[1]}var gc={top:"auto",right:"auto",bottom:"auto",left:"auto"};function bc(n,t){var e=n.x,s=n.y,i=t.devicePixelRatio||1;return{x:Bt(e*i)/i||0,y:Bt(s*i)/i||0}}function Wn(n){var t,e=n.popper,s=n.popperRect,i=n.placement,r=n.variation,a=n.offsets,l=n.position,d=n.gpuAcceleration,v=n.adaptive,u=n.roundOffsets,b=n.isFixed,C=a.x,$=C===void 0?0:C,O=a.y,N=O===void 0?0:O,k=typeof u=="function"?u({x:$,y:N}):{x:$,y:N};$=k.x,N=k.y;var x=a.hasOwnProperty("x"),A=a.hasOwnProperty("y"),E=F,f=W,c=window;if(v){var g=le(e),p="clientHeight",U="clientWidth";if(g===X(e)&&(g=ft(e),ct(g).position!=="static"&&l==="absolute"&&(p="scrollHeight",U="scrollWidth")),g=g,i===W||(i===F||i===q)&&r===jt){f=G;var H=b&&g===c&&c.visualViewport?c.visualViewport.height:g[p];N-=H-s.height,N*=d?1:-1}if(i===F||(i===W||i===G)&&r===jt){E=q;var R=b&&g===c&&c.visualViewport?c.visualViewport.width:g[U];$-=R-s.width,$*=d?1:-1}}var j=Object.assign({position:l},v&&gc),et=u===!0?bc({x:$,y:N},X(e)):{x:$,y:N};if($=et.x,N=et.y,d){var B;return Object.assign({},j,(B={},B[f]=A?"0":"",B[E]=x?"0":"",B.transform=(c.devicePixelRatio||1)<=1?"translate("+$+"px, "+N+"px)":"translate3d("+$+"px, "+N+"px, 0)",B))}return Object.assign({},j,(t={},t[f]=A?N+"px":"",t[E]=x?$+"px":"",t.transform="",t))}function Ec(n){var t=n.state,e=n.options,s=e.gpuAcceleration,i=s===void 0?!0:s,r=e.adaptive,a=r===void 0?!0:r,l=e.roundOffsets,d=l===void 0?!0:l,v={placement:ot(t.placement),variation:Ft(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Wn(Object.assign({},v,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:d})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Wn(Object.assign({},v,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const En={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Ec,data:{}};var ge={passive:!0};function wc(n){var t=n.state,e=n.instance,s=n.options,i=s.scroll,r=i===void 0?!0:i,a=s.resize,l=a===void 0?!0:a,d=X(t.elements.popper),v=[].concat(t.scrollParents.reference,t.scrollParents.popper);return r&&v.forEach(function(u){u.addEventListener("scroll",e.update,ge)}),l&&d.addEventListener("resize",e.update,ge),function(){r&&v.forEach(function(u){u.removeEventListener("scroll",e.update,ge)}),l&&d.removeEventListener("resize",e.update,ge)}}const wn={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:wc,data:{}};var yc={left:"right",right:"left",bottom:"top",top:"bottom"};function Te(n){return n.replace(/left|right|bottom|top/g,function(t){return yc[t]})}var $c={start:"end",end:"start"};function Fn(n){return n.replace(/start|end/g,function(t){return $c[t]})}function yn(n){var t=X(n),e=t.pageXOffset,s=t.pageYOffset;return{scrollLeft:e,scrollTop:s}}function $n(n){return Wt(ft(n)).left+yn(n).scrollLeft}function Ac(n,t){var e=X(n),s=ft(n),i=e.visualViewport,r=s.clientWidth,a=s.clientHeight,l=0,d=0;if(i){r=i.width,a=i.height;var v=Vs();(v||!v&&t==="fixed")&&(l=i.offsetLeft,d=i.offsetTop)}return{width:r,height:a,x:l+$n(n),y:d}}function Tc(n){var t,e=ft(n),s=yn(n),i=(t=n.ownerDocument)==null?void 0:t.body,r=Ct(e.scrollWidth,e.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=Ct(e.scrollHeight,e.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),l=-s.scrollLeft+$n(n),d=-s.scrollTop;return ct(i||e).direction==="rtl"&&(l+=Ct(e.clientWidth,i?i.clientWidth:0)-r),{width:r,height:a,x:l,y:d}}function An(n){var t=ct(n),e=t.overflow,s=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(e+i+s)}function Ws(n){return["html","body","#document"].indexOf(rt(n))>=0?n.ownerDocument.body:Q(n)&&An(n)?n:Ws(Me(n))}function se(n,t){var e;t===void 0&&(t=[]);var s=Ws(n),i=s===((e=n.ownerDocument)==null?void 0:e.body),r=X(s),a=i?[r].concat(r.visualViewport||[],An(s)?s:[]):s,l=t.concat(a);return i?l:l.concat(se(Me(a)))}function cn(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function Cc(n,t){var e=Wt(n,!1,t==="fixed");return e.top=e.top+n.clientTop,e.left=e.left+n.clientLeft,e.bottom=e.top+n.clientHeight,e.right=e.left+n.clientWidth,e.width=n.clientWidth,e.height=n.clientHeight,e.x=e.left,e.y=e.top,e}function zn(n,t,e){return t===_n?cn(Ac(n,e)):Nt(t)?Cc(t,e):cn(Tc(ft(n)))}function kc(n){var t=se(Me(n)),e=["absolute","fixed"].indexOf(ct(n).position)>=0,s=e&&Q(n)?le(n):n;return Nt(s)?t.filter(function(i){return Nt(i)&&Rs(i,s)&&rt(i)!=="body"}):[]}function Nc(n,t,e,s){var i=t==="clippingParents"?kc(n):[].concat(t),r=[].concat(i,[e]),a=r[0],l=r.reduce(function(d,v){var u=zn(n,v,s);return d.top=Ct(u.top,d.top),d.right=Ne(u.right,d.right),d.bottom=Ne(u.bottom,d.bottom),d.left=Ct(u.left,d.left),d},zn(n,a,s));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function Fs(n){var t=n.reference,e=n.element,s=n.placement,i=s?ot(s):null,r=s?Ft(s):null,a=t.x+t.width/2-e.width/2,l=t.y+t.height/2-e.height/2,d;switch(i){case W:d={x:a,y:t.y-e.height};break;case G:d={x:a,y:t.y+t.height};break;case q:d={x:t.x+t.width,y:l};break;case F:d={x:t.x-e.width,y:l};break;default:d={x:t.x,y:t.y}}var v=i?bn(i):null;if(v!=null){var u=v==="y"?"height":"width";switch(r){case kt:d[v]=d[v]-(t[u]/2-e[u]/2);break;case jt:d[v]=d[v]+(t[u]/2-e[u]/2);break}}return d}function zt(n,t){t===void 0&&(t={});var e=t,s=e.placement,i=s===void 0?n.placement:s,r=e.strategy,a=r===void 0?n.strategy:r,l=e.boundary,d=l===void 0?Ts:l,v=e.rootBoundary,u=v===void 0?_n:v,b=e.elementContext,C=b===void 0?Vt:b,$=e.altBoundary,O=$===void 0?!1:$,N=e.padding,k=N===void 0?0:N,x=Us(typeof k!="number"?k:js(k,Gt)),A=C===Vt?Cs:Vt,E=n.rects.popper,f=n.elements[O?A:C],c=Nc(Nt(f)?f:f.contextElement||ft(n.elements.popper),d,u,a),g=Wt(n.elements.reference),p=Fs({reference:g,element:E,strategy:"absolute",placement:i}),U=cn(Object.assign({},E,p)),H=C===Vt?U:g,R={top:c.top-H.top+x.top,bottom:H.bottom-c.bottom+x.bottom,left:c.left-H.left+x.left,right:H.right-c.right+x.right},j=n.modifiersData.offset;if(C===Vt&&j){var et=j[i];Object.keys(R).forEach(function(B){var bt=[q,G].indexOf(B)>=0?1:-1,Et=[W,G].indexOf(B)>=0?"y":"x";R[B]+=et[Et]*bt})}return R}function xc(n,t){t===void 0&&(t={});var e=t,s=e.placement,i=e.boundary,r=e.rootBoundary,a=e.padding,l=e.flipVariations,d=e.allowedAutoPlacements,v=d===void 0?mn:d,u=Ft(s),b=u?l?an:an.filter(function(O){return Ft(O)===u}):Gt,C=b.filter(function(O){return v.indexOf(O)>=0});C.length===0&&(C=b);var $=C.reduce(function(O,N){return O[N]=zt(n,{placement:N,boundary:i,rootBoundary:r,padding:a})[ot(N)],O},{});return Object.keys($).sort(function(O,N){return $[O]-$[N]})}function Oc(n){if(ot(n)===Le)return[];var t=Te(n);return[Fn(n),t,Fn(t)]}function Sc(n){var t=n.state,e=n.options,s=n.name;if(!t.modifiersData[s]._skip){for(var i=e.mainAxis,r=i===void 0?!0:i,a=e.altAxis,l=a===void 0?!0:a,d=e.fallbackPlacements,v=e.padding,u=e.boundary,b=e.rootBoundary,C=e.altBoundary,$=e.flipVariations,O=$===void 0?!0:$,N=e.allowedAutoPlacements,k=t.options.placement,x=ot(k),A=x===k,E=d||(A||!O?[Te(k)]:Oc(k)),f=[k].concat(E).reduce(function(Lt,dt){return Lt.concat(ot(dt)===Le?xc(t,{placement:dt,boundary:u,rootBoundary:b,padding:v,flipVariations:O,allowedAutoPlacements:N}):dt)},[]),c=t.rects.reference,g=t.rects.popper,p=new Map,U=!0,H=f[0],R=0;R=0,Et=bt?"width":"height",Y=zt(t,{placement:j,boundary:u,rootBoundary:b,altBoundary:C,padding:v}),nt=bt?B?q:F:B?G:W;c[Et]>g[Et]&&(nt=Te(nt));var pe=Te(nt),wt=[];if(r&&wt.push(Y[et]<=0),l&&wt.push(Y[nt]<=0,Y[pe]<=0),wt.every(function(Lt){return Lt})){H=j,U=!1;break}p.set(j,wt)}if(U)for(var _e=O?3:1,je=function(dt){var Jt=f.find(function(fe){var yt=p.get(fe);if(yt)return yt.slice(0,dt).every(function(Be){return Be})});if(Jt)return H=Jt,"break"},Zt=_e;Zt>0;Zt--){var me=je(Zt);if(me==="break")break}t.placement!==H&&(t.modifiersData[s]._skip=!0,t.placement=H,t.reset=!0)}}const zs={name:"flip",enabled:!0,phase:"main",fn:Sc,requiresIfExists:["offset"],data:{_skip:!1}};function Kn(n,t,e){return e===void 0&&(e={x:0,y:0}),{top:n.top-t.height-e.y,right:n.right-t.width+e.x,bottom:n.bottom-t.height+e.y,left:n.left-t.width-e.x}}function Yn(n){return[W,q,G,F].some(function(t){return n[t]>=0})}function Dc(n){var t=n.state,e=n.name,s=t.rects.reference,i=t.rects.popper,r=t.modifiersData.preventOverflow,a=zt(t,{elementContext:"reference"}),l=zt(t,{altBoundary:!0}),d=Kn(a,s),v=Kn(l,i,r),u=Yn(d),b=Yn(v);t.modifiersData[e]={referenceClippingOffsets:d,popperEscapeOffsets:v,isReferenceHidden:u,hasPopperEscaped:b},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":b})}const Ks={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Dc};function Lc(n,t,e){var s=ot(n),i=[F,W].indexOf(s)>=0?-1:1,r=typeof e=="function"?e(Object.assign({},t,{placement:n})):e,a=r[0],l=r[1];return a=a||0,l=(l||0)*i,[F,q].indexOf(s)>=0?{x:l,y:a}:{x:a,y:l}}function Mc(n){var t=n.state,e=n.options,s=n.name,i=e.offset,r=i===void 0?[0,0]:i,a=mn.reduce(function(u,b){return u[b]=Lc(b,t.rects,r),u},{}),l=a[t.placement],d=l.x,v=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=v),t.modifiersData[s]=a}const Ys={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Mc};function Ic(n){var t=n.state,e=n.name;t.modifiersData[e]=Fs({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Tn={name:"popperOffsets",enabled:!0,phase:"read",fn:Ic,data:{}};function Pc(n){return n==="x"?"y":"x"}function Vc(n){var t=n.state,e=n.options,s=n.name,i=e.mainAxis,r=i===void 0?!0:i,a=e.altAxis,l=a===void 0?!1:a,d=e.boundary,v=e.rootBoundary,u=e.altBoundary,b=e.padding,C=e.tether,$=C===void 0?!0:C,O=e.tetherOffset,N=O===void 0?0:O,k=zt(t,{boundary:d,rootBoundary:v,padding:b,altBoundary:u}),x=ot(t.placement),A=Ft(t.placement),E=!A,f=bn(x),c=Pc(f),g=t.modifiersData.popperOffsets,p=t.rects.reference,U=t.rects.popper,H=typeof N=="function"?N(Object.assign({},t.rects,{placement:t.placement})):N,R=typeof H=="number"?{mainAxis:H,altAxis:H}:Object.assign({mainAxis:0,altAxis:0},H),j=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,et={x:0,y:0};if(g){if(r){var B,bt=f==="y"?W:F,Et=f==="y"?G:q,Y=f==="y"?"height":"width",nt=g[f],pe=nt+k[bt],wt=nt-k[Et],_e=$?-U[Y]/2:0,je=A===kt?p[Y]:U[Y],Zt=A===kt?-U[Y]:-p[Y],me=t.elements.arrow,Lt=$&&me?gn(me):{width:0,height:0},dt=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Hs(),Jt=dt[bt],fe=dt[Et],yt=ne(0,p[Y],Lt[Y]),Be=E?p[Y]/2-_e-yt-Jt-R.mainAxis:je-yt-Jt-R.mainAxis,Co=E?-p[Y]/2+_e+yt+fe+R.mainAxis:Zt+yt+fe+R.mainAxis,We=t.elements.arrow&&le(t.elements.arrow),ko=We?f==="y"?We.clientTop||0:We.clientLeft||0:0,Dn=(B=j==null?void 0:j[f])!=null?B:0,No=nt+Be-Dn-ko,xo=nt+Co-Dn,Ln=ne($?Ne(pe,No):pe,nt,$?Ct(wt,xo):wt);g[f]=Ln,et[f]=Ln-nt}if(l){var Mn,Oo=f==="x"?W:F,So=f==="x"?G:q,$t=g[c],ve=c==="y"?"height":"width",In=$t+k[Oo],Pn=$t-k[So],Fe=[W,F].indexOf(x)!==-1,Vn=(Mn=j==null?void 0:j[c])!=null?Mn:0,Rn=Fe?In:$t-p[ve]-U[ve]-Vn+R.altAxis,Hn=Fe?$t+p[ve]+U[ve]-Vn-R.altAxis:Pn,Un=$&&Fe?_c(Rn,$t,Hn):ne($?Rn:In,$t,$?Hn:Pn);g[c]=Un,et[c]=Un-$t}t.modifiersData[s]=et}}const Gs={name:"preventOverflow",enabled:!0,phase:"main",fn:Vc,requiresIfExists:["offset"]};function Rc(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function Hc(n){return n===X(n)||!Q(n)?yn(n):Rc(n)}function Uc(n){var t=n.getBoundingClientRect(),e=Bt(t.width)/n.offsetWidth||1,s=Bt(t.height)/n.offsetHeight||1;return e!==1||s!==1}function jc(n,t,e){e===void 0&&(e=!1);var s=Q(t),i=Q(t)&&Uc(t),r=ft(t),a=Wt(n,i,e),l={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(s||!s&&!e)&&((rt(t)!=="body"||An(r))&&(l=Hc(t)),Q(t)?(d=Wt(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):r&&(d.x=$n(r))),{x:a.left+l.scrollLeft-d.x,y:a.top+l.scrollTop-d.y,width:a.width,height:a.height}}function Bc(n){var t=new Map,e=new Set,s=[];n.forEach(function(r){t.set(r.name,r)});function i(r){e.add(r.name);var a=[].concat(r.requires||[],r.requiresIfExists||[]);a.forEach(function(l){if(!e.has(l)){var d=t.get(l);d&&i(d)}}),s.push(r)}return n.forEach(function(r){e.has(r.name)||i(r)}),s}function Wc(n){var t=Bc(n);return Ps.reduce(function(e,s){return e.concat(t.filter(function(i){return i.phase===s}))},[])}function Fc(n){var t;return function(){return t||(t=new Promise(function(e){Promise.resolve().then(function(){t=void 0,e(n())})})),t}}function zc(n){var t=n.reduce(function(e,s){var i=e[s.name];return e[s.name]=i?Object.assign({},i,s,{options:Object.assign({},i.options,s.options),data:Object.assign({},i.data,s.data)}):s,e},{});return Object.keys(t).map(function(e){return t[e]})}var Gn={placement:"bottom",modifiers:[],strategy:"absolute"};function qn(){for(var n=arguments.length,t=new Array(n),e=0;e(n&&window.CSS&&window.CSS.escape&&(n=n.replace(/#([^\s"#']+)/g,(t,e)=>`#${CSS.escape(e)}`)),n),Zc=n=>n==null?`${n}`:Object.prototype.toString.call(n).match(/\s([a-z]+)/i)[1].toLowerCase(),Jc=n=>{do n+=Math.floor(Math.random()*Xc);while(document.getElementById(n));return n},tu=n=>{if(!n)return 0;let{transitionDuration:t,transitionDelay:e}=window.getComputedStyle(n);const s=Number.parseFloat(t),i=Number.parseFloat(e);return!s&&!i?0:(t=t.split(",")[0],e=e.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(e))*Qc)},Qs=n=>{n.dispatchEvent(new Event(un))},at=n=>!n||typeof n!="object"?!1:(typeof n.jquery<"u"&&(n=n[0]),typeof n.nodeType<"u"),pt=n=>at(n)?n.jquery?n[0]:n:typeof n=="string"&&n.length>0?document.querySelector(Xs(n)):null,qt=n=>{if(!at(n)||n.getClientRects().length===0)return!1;const t=getComputedStyle(n).getPropertyValue("visibility")==="visible",e=n.closest("details:not([open])");if(!e)return t;if(e!==n){const s=n.closest("summary");if(s&&s.parentNode!==e||s===null)return!1}return t},_t=n=>!n||n.nodeType!==Node.ELEMENT_NODE||n.classList.contains("disabled")?!0:typeof n.disabled<"u"?n.disabled:n.hasAttribute("disabled")&&n.getAttribute("disabled")!=="false",Zs=n=>{if(!document.documentElement.attachShadow)return null;if(typeof n.getRootNode=="function"){const t=n.getRootNode();return t instanceof ShadowRoot?t:null}return n instanceof ShadowRoot?n:n.parentNode?Zs(n.parentNode):null},xe=()=>{},ce=n=>{n.offsetHeight},Js=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Ke=[],eu=n=>{document.readyState==="loading"?(Ke.length||document.addEventListener("DOMContentLoaded",()=>{for(const t of Ke)t()}),Ke.push(n)):n()},Z=()=>document.documentElement.dir==="rtl",tt=n=>{eu(()=>{const t=Js();if(t){const e=n.NAME,s=t.fn[e];t.fn[e]=n.jQueryInterface,t.fn[e].Constructor=n,t.fn[e].noConflict=()=>(t.fn[e]=s,n.jQueryInterface)}})},K=(n,t=[],e=n)=>typeof n=="function"?n(...t):e,to=(n,t,e=!0)=>{if(!e){K(n);return}const i=tu(t)+5;let r=!1;const a=({target:l})=>{l===t&&(r=!0,t.removeEventListener(un,a),K(n))};t.addEventListener(un,a),setTimeout(()=>{r||Qs(t)},i)},kn=(n,t,e,s)=>{const i=n.length;let r=n.indexOf(t);return r===-1?!e&&s?n[i-1]:n[0]:(r+=e?1:-1,s&&(r=(r+i)%i),n[Math.max(0,Math.min(r,i-1))])},nu=/[^.]*(?=\..*)\.|.*/,su=/\..*/,ou=/::\d+$/,Ye={};let Xn=1;const eo={mouseenter:"mouseover",mouseleave:"mouseout"},iu=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function no(n,t){return t&&`${t}::${Xn++}`||n.uidEvent||Xn++}function so(n){const t=no(n);return n.uidEvent=t,Ye[t]=Ye[t]||{},Ye[t]}function ru(n,t){return function e(s){return Nn(s,{delegateTarget:n}),e.oneOff&&h.off(n,s.type,t),t.apply(n,[s])}}function au(n,t,e){return function s(i){const r=n.querySelectorAll(t);for(let{target:a}=i;a&&a!==this;a=a.parentNode)for(const l of r)if(l===a)return Nn(i,{delegateTarget:a}),s.oneOff&&h.off(n,i.type,t,e),e.apply(a,[i])}}function oo(n,t,e=null){return Object.values(n).find(s=>s.callable===t&&s.delegationSelector===e)}function io(n,t,e){const s=typeof t=="string",i=s?e:t||e;let r=ro(n);return iu.has(r)||(r=n),[s,i,r]}function Qn(n,t,e,s,i){if(typeof t!="string"||!n)return;let[r,a,l]=io(t,e,s);t in eo&&(a=(O=>function(N){if(!N.relatedTarget||N.relatedTarget!==N.delegateTarget&&!N.delegateTarget.contains(N.relatedTarget))return O.call(this,N)})(a));const d=so(n),v=d[l]||(d[l]={}),u=oo(v,a,r?e:null);if(u){u.oneOff=u.oneOff&&i;return}const b=no(a,t.replace(nu,"")),C=r?au(n,e,a):ru(n,a);C.delegationSelector=r?e:null,C.callable=a,C.oneOff=i,C.uidEvent=b,v[b]=C,n.addEventListener(l,C,r)}function dn(n,t,e,s,i){const r=oo(t[e],s,i);r&&(n.removeEventListener(e,r,!!i),delete t[e][r.uidEvent])}function lu(n,t,e,s){const i=t[e]||{};for(const[r,a]of Object.entries(i))r.includes(s)&&dn(n,t,e,a.callable,a.delegationSelector)}function ro(n){return n=n.replace(su,""),eo[n]||n}const h={on(n,t,e,s){Qn(n,t,e,s,!1)},one(n,t,e,s){Qn(n,t,e,s,!0)},off(n,t,e,s){if(typeof t!="string"||!n)return;const[i,r,a]=io(t,e,s),l=a!==t,d=so(n),v=d[a]||{},u=t.startsWith(".");if(typeof r<"u"){if(!Object.keys(v).length)return;dn(n,d,a,r,i?e:null);return}if(u)for(const b of Object.keys(d))lu(n,d,b,t.slice(1));for(const[b,C]of Object.entries(v)){const $=b.replace(ou,"");(!l||t.includes($))&&dn(n,d,a,C.callable,C.delegationSelector)}},trigger(n,t,e){if(typeof t!="string"||!n)return null;const s=Js(),i=ro(t),r=t!==i;let a=null,l=!0,d=!0,v=!1;r&&s&&(a=s.Event(t,e),s(n).trigger(a),l=!a.isPropagationStopped(),d=!a.isImmediatePropagationStopped(),v=a.isDefaultPrevented());const u=Nn(new Event(t,{bubbles:l,cancelable:!0}),e);return v&&u.preventDefault(),d&&n.dispatchEvent(u),u.defaultPrevented&&a&&a.preventDefault(),u}};function Nn(n,t={}){for(const[e,s]of Object.entries(t))try{n[e]=s}catch{Object.defineProperty(n,e,{configurable:!0,get(){return s}})}return n}function Zn(n){if(n==="true")return!0;if(n==="false")return!1;if(n===Number(n).toString())return Number(n);if(n===""||n==="null")return null;if(typeof n!="string")return n;try{return JSON.parse(decodeURIComponent(n))}catch{return n}}function Ge(n){return n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const lt={setDataAttribute(n,t,e){n.setAttribute(`data-bs-${Ge(t)}`,e)},removeDataAttribute(n,t){n.removeAttribute(`data-bs-${Ge(t)}`)},getDataAttributes(n){if(!n)return{};const t={},e=Object.keys(n.dataset).filter(s=>s.startsWith("bs")&&!s.startsWith("bsConfig"));for(const s of e){let i=s.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),t[i]=Zn(n.dataset[s])}return t},getDataAttribute(n,t){return Zn(n.getAttribute(`data-bs-${Ge(t)}`))}};class ue{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const s=at(e)?lt.getDataAttribute(e,"config"):{};return{...this.constructor.Default,...typeof s=="object"?s:{},...at(e)?lt.getDataAttributes(e):{},...typeof t=="object"?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[s,i]of Object.entries(e)){const r=t[s],a=at(r)?"element":Zc(r);if(!new RegExp(i).test(a))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${a}" but expected type "${i}".`)}}}const cu="5.3.3";class st extends ue{constructor(t,e){super(),t=pt(t),t&&(this._element=t,this._config=this._getConfig(e),ze.set(this._element,this.constructor.DATA_KEY,this))}dispose(){ze.remove(this._element,this.constructor.DATA_KEY),h.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,s=!0){to(t,e,s)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return ze.get(pt(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}static get VERSION(){return cu}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const qe=n=>{let t=n.getAttribute("data-bs-target");if(!t||t==="#"){let e=n.getAttribute("href");if(!e||!e.includes("#")&&!e.startsWith("."))return null;e.includes("#")&&!e.startsWith("#")&&(e=`#${e.split("#")[1]}`),t=e&&e!=="#"?e.trim():null}return t?t.split(",").map(e=>Xs(e)).join(","):null},T={find(n,t=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(t,n))},findOne(n,t=document.documentElement){return Element.prototype.querySelector.call(t,n)},children(n,t){return[].concat(...n.children).filter(e=>e.matches(t))},parents(n,t){const e=[];let s=n.parentNode.closest(t);for(;s;)e.push(s),s=s.parentNode.closest(t);return e},prev(n,t){let e=n.previousElementSibling;for(;e;){if(e.matches(t))return[e];e=e.previousElementSibling}return[]},next(n,t){let e=n.nextElementSibling;for(;e;){if(e.matches(t))return[e];e=e.nextElementSibling}return[]},focusableChildren(n){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(",");return this.find(t,n).filter(e=>!_t(e)&&qt(e))},getSelectorFromElement(n){const t=qe(n);return t&&T.findOne(t)?t:null},getElementFromSelector(n){const t=qe(n);return t?T.findOne(t):null},getMultipleElementsFromSelector(n){const t=qe(n);return t?T.find(t):[]}},Pe=(n,t="hide")=>{const e=`click.dismiss${n.EVENT_KEY}`,s=n.NAME;h.on(document,e,`[data-bs-dismiss="${s}"]`,function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),_t(this))return;const r=T.getElementFromSelector(this)||this.closest(`.${s}`);n.getOrCreateInstance(r)[t]()})},uu="alert",du="bs.alert",ao=`.${du}`,hu=`close${ao}`,pu=`closed${ao}`,_u="fade",mu="show";class Ve extends st{static get NAME(){return uu}close(){if(h.trigger(this._element,hu).defaultPrevented)return;this._element.classList.remove(mu);const e=this._element.classList.contains(_u);this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),h.trigger(this._element,pu),this.dispose()}static jQueryInterface(t){return this.each(function(){const e=Ve.getOrCreateInstance(this);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}Pe(Ve,"close");tt(Ve);const fu="button",vu="bs.button",gu=`.${vu}`,bu=".data-api",Eu="active",Jn='[data-bs-toggle="button"]',wu=`click${gu}${bu}`;class Re extends st{static get NAME(){return fu}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(Eu))}static jQueryInterface(t){return this.each(function(){const e=Re.getOrCreateInstance(this);t==="toggle"&&e[t]()})}}h.on(document,wu,Jn,n=>{n.preventDefault();const t=n.target.closest(Jn);Re.getOrCreateInstance(t).toggle()});tt(Re);const yu="swipe",Xt=".bs.swipe",$u=`touchstart${Xt}`,Au=`touchmove${Xt}`,Tu=`touchend${Xt}`,Cu=`pointerdown${Xt}`,ku=`pointerup${Xt}`,Nu="touch",xu="pen",Ou="pointer-event",Su=40,Du={endCallback:null,leftCallback:null,rightCallback:null},Lu={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Oe extends ue{constructor(t,e){super(),this._element=t,!(!t||!Oe.isSupported())&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Du}static get DefaultType(){return Lu}static get NAME(){return yu}dispose(){h.off(this._element,Xt)}_start(t){if(!this._supportPointerEvents){this._deltaX=t.touches[0].clientX;return}this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX)}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),K(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=Su)return;const e=t/this._deltaX;this._deltaX=0,e&&K(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(h.on(this._element,Cu,t=>this._start(t)),h.on(this._element,ku,t=>this._end(t)),this._element.classList.add(Ou)):(h.on(this._element,$u,t=>this._start(t)),h.on(this._element,Au,t=>this._move(t)),h.on(this._element,Tu,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&(t.pointerType===xu||t.pointerType===Nu)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Mu="carousel",Iu="bs.carousel",vt=`.${Iu}`,lo=".data-api",Pu="ArrowLeft",Vu="ArrowRight",Ru=500,te="next",Mt="prev",Rt="left",Ce="right",Hu=`slide${vt}`,Xe=`slid${vt}`,Uu=`keydown${vt}`,ju=`mouseenter${vt}`,Bu=`mouseleave${vt}`,Wu=`dragstart${vt}`,Fu=`load${vt}${lo}`,zu=`click${vt}${lo}`,co="carousel",be="active",Ku="slide",Yu="carousel-item-end",Gu="carousel-item-start",qu="carousel-item-next",Xu="carousel-item-prev",uo=".active",ho=".carousel-item",Qu=uo+ho,Zu=".carousel-item img",Ju=".carousel-indicators",td="[data-bs-slide], [data-bs-slide-to]",ed='[data-bs-ride="carousel"]',nd={[Pu]:Ce,[Vu]:Rt},sd={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},od={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class de extends st{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=T.findOne(Ju,this._element),this._addEventListeners(),this._config.ride===co&&this.cycle()}static get Default(){return sd}static get DefaultType(){return od}static get NAME(){return Mu}next(){this._slide(te)}nextWhenVisible(){!document.hidden&&qt(this._element)&&this.next()}prev(){this._slide(Mt)}pause(){this._isSliding&&Qs(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){h.one(this._element,Xe,()=>this.cycle());return}this.cycle()}}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding){h.one(this._element,Xe,()=>this.to(t));return}const s=this._getItemIndex(this._getActive());if(s===t)return;const i=t>s?te:Mt;this._slide(i,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&h.on(this._element,Uu,t=>this._keydown(t)),this._config.pause==="hover"&&(h.on(this._element,ju,()=>this.pause()),h.on(this._element,Bu,()=>this._maybeEnableCycle())),this._config.touch&&Oe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const s of T.find(Zu,this._element))h.on(s,Wu,i=>i.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder(Rt)),rightCallback:()=>this._slide(this._directionToOrder(Ce)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),Ru+this._config.interval))}};this._swipeHelper=new Oe(this._element,e)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=nd[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=T.findOne(uo,this._indicatorsElement);e.classList.remove(be),e.removeAttribute("aria-current");const s=T.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);s&&(s.classList.add(be),s.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const s=this._getActive(),i=t===te,r=e||kn(this._getItems(),s,i,this._config.wrap);if(r===s)return;const a=this._getItemIndex(r),l=$=>h.trigger(this._element,$,{relatedTarget:r,direction:this._orderToDirection(t),from:this._getItemIndex(s),to:a});if(l(Hu).defaultPrevented||!s||!r)return;const v=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(a),this._activeElement=r;const u=i?Gu:Yu,b=i?qu:Xu;r.classList.add(b),ce(r),s.classList.add(u),r.classList.add(u);const C=()=>{r.classList.remove(u,b),r.classList.add(be),s.classList.remove(be,b,u),this._isSliding=!1,l(Xe)};this._queueCallback(C,s,this._isAnimated()),v&&this.cycle()}_isAnimated(){return this._element.classList.contains(Ku)}_getActive(){return T.findOne(Qu,this._element)}_getItems(){return T.find(ho,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return Z()?t===Rt?Mt:te:t===Rt?te:Mt}_orderToDirection(t){return Z()?t===Mt?Rt:Ce:t===Mt?Ce:Rt}static jQueryInterface(t){return this.each(function(){const e=de.getOrCreateInstance(this,t);if(typeof t=="number"){e.to(t);return}if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t]()}})}}h.on(document,zu,td,function(n){const t=T.getElementFromSelector(this);if(!t||!t.classList.contains(co))return;n.preventDefault();const e=de.getOrCreateInstance(t),s=this.getAttribute("data-bs-slide-to");if(s){e.to(s),e._maybeEnableCycle();return}if(lt.getDataAttribute(this,"slide")==="next"){e.next(),e._maybeEnableCycle();return}e.prev(),e._maybeEnableCycle()});h.on(window,Fu,()=>{const n=T.find(ed);for(const t of n)de.getOrCreateInstance(t)});tt(de);const id="collapse",rd="bs.collapse",he=`.${rd}`,ad=".data-api",ld=`show${he}`,cd=`shown${he}`,ud=`hide${he}`,dd=`hidden${he}`,hd=`click${he}${ad}`,Qe="show",Ut="collapse",Ee="collapsing",pd="collapsed",_d=`:scope .${Ut} .${Ut}`,md="collapse-horizontal",fd="width",vd="height",gd=".collapse.show, .collapse.collapsing",hn='[data-bs-toggle="collapse"]',bd={parent:null,toggle:!0},Ed={parent:"(null|element)",toggle:"boolean"};class oe extends st{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const s=T.find(hn);for(const i of s){const r=T.getSelectorFromElement(i),a=T.find(r).filter(l=>l===this._element);r!==null&&a.length&&this._triggerArray.push(i)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return bd}static get DefaultType(){return Ed}static get NAME(){return id}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(gd).filter(l=>l!==this._element).map(l=>oe.getOrCreateInstance(l,{toggle:!1}))),t.length&&t[0]._isTransitioning||h.trigger(this._element,ld).defaultPrevented)return;for(const l of t)l.hide();const s=this._getDimension();this._element.classList.remove(Ut),this._element.classList.add(Ee),this._element.style[s]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=()=>{this._isTransitioning=!1,this._element.classList.remove(Ee),this._element.classList.add(Ut,Qe),this._element.style[s]="",h.trigger(this._element,cd)},a=`scroll${s[0].toUpperCase()+s.slice(1)}`;this._queueCallback(i,this._element,!0),this._element.style[s]=`${this._element[a]}px`}hide(){if(this._isTransitioning||!this._isShown()||h.trigger(this._element,ud).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,ce(this._element),this._element.classList.add(Ee),this._element.classList.remove(Ut,Qe);for(const i of this._triggerArray){const r=T.getElementFromSelector(i);r&&!this._isShown(r)&&this._addAriaAndCollapsedClass([i],!1)}this._isTransitioning=!0;const s=()=>{this._isTransitioning=!1,this._element.classList.remove(Ee),this._element.classList.add(Ut),h.trigger(this._element,dd)};this._element.style[e]="",this._queueCallback(s,this._element,!0)}_isShown(t=this._element){return t.classList.contains(Qe)}_configAfterMerge(t){return t.toggle=!!t.toggle,t.parent=pt(t.parent),t}_getDimension(){return this._element.classList.contains(md)?fd:vd}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(hn);for(const e of t){const s=T.getElementFromSelector(e);s&&this._addAriaAndCollapsedClass([e],this._isShown(s))}}_getFirstLevelChildren(t){const e=T.find(_d,this._config.parent);return T.find(t,this._config.parent).filter(s=>!e.includes(s))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const s of t)s.classList.toggle(pd,!e),s.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return typeof t=="string"&&/show|hide/.test(t)&&(e.toggle=!1),this.each(function(){const s=oe.getOrCreateInstance(this,e);if(typeof t=="string"){if(typeof s[t]>"u")throw new TypeError(`No method named "${t}"`);s[t]()}})}}h.on(document,hd,hn,function(n){(n.target.tagName==="A"||n.delegateTarget&&n.delegateTarget.tagName==="A")&&n.preventDefault();for(const t of T.getMultipleElementsFromSelector(this))oe.getOrCreateInstance(t,{toggle:!1}).toggle()});tt(oe);const ts="dropdown",wd="bs.dropdown",St=`.${wd}`,xn=".data-api",yd="Escape",es="Tab",$d="ArrowUp",ns="ArrowDown",Ad=2,Td=`hide${St}`,Cd=`hidden${St}`,kd=`show${St}`,Nd=`shown${St}`,po=`click${St}${xn}`,_o=`keydown${St}${xn}`,xd=`keyup${St}${xn}`,Ht="show",Od="dropup",Sd="dropend",Dd="dropstart",Ld="dropup-center",Md="dropdown-center",At='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Id=`${At}.${Ht}`,ke=".dropdown-menu",Pd=".navbar",Vd=".navbar-nav",Rd=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Hd=Z()?"top-end":"top-start",Ud=Z()?"top-start":"top-end",jd=Z()?"bottom-end":"bottom-start",Bd=Z()?"bottom-start":"bottom-end",Wd=Z()?"left-start":"right-start",Fd=Z()?"right-start":"left-start",zd="top",Kd="bottom",Yd={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Gd={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class it extends st{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=T.next(this._element,ke)[0]||T.prev(this._element,ke)[0]||T.findOne(ke,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Yd}static get DefaultType(){return Gd}static get NAME(){return ts}toggle(){return this._isShown()?this.hide():this.show()}show(){if(_t(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!h.trigger(this._element,kd,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(Vd))for(const s of[].concat(...document.body.children))h.on(s,"mouseover",xe);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Ht),this._element.classList.add(Ht),h.trigger(this._element,Nd,t)}}hide(){if(_t(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!h.trigger(this._element,Td,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const s of[].concat(...document.body.children))h.off(s,"mouseover",xe);this._popper&&this._popper.destroy(),this._menu.classList.remove(Ht),this._element.classList.remove(Ht),this._element.setAttribute("aria-expanded","false"),lt.removeDataAttribute(this._menu,"popper"),h.trigger(this._element,Cd,t)}}_getConfig(t){if(t=super._getConfig(t),typeof t.reference=="object"&&!at(t.reference)&&typeof t.reference.getBoundingClientRect!="function")throw new TypeError(`${ts.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(typeof qs>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;this._config.reference==="parent"?t=this._parent:at(this._config.reference)?t=pt(this._config.reference):typeof this._config.reference=="object"&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=Cn(t,this._menu,e)}_isShown(){return this._menu.classList.contains(Ht)}_getPlacement(){const t=this._parent;if(t.classList.contains(Sd))return Wd;if(t.classList.contains(Dd))return Fd;if(t.classList.contains(Ld))return zd;if(t.classList.contains(Md))return Kd;const e=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return t.classList.contains(Od)?e?Ud:Hd:e?Bd:jd}_detectNavbar(){return this._element.closest(Pd)!==null}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(e=>Number.parseInt(e,10)):typeof t=="function"?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(lt.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...K(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const s=T.find(Rd,this._menu).filter(i=>qt(i));s.length&&kn(s,e,t===ns,!s.includes(e)).focus()}static jQueryInterface(t){return this.each(function(){const e=it.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}static clearMenus(t){if(t.button===Ad||t.type==="keyup"&&t.key!==es)return;const e=T.find(Id);for(const s of e){const i=it.getInstance(s);if(!i||i._config.autoClose===!1)continue;const r=t.composedPath(),a=r.includes(i._menu);if(r.includes(i._element)||i._config.autoClose==="inside"&&!a||i._config.autoClose==="outside"&&a||i._menu.contains(t.target)&&(t.type==="keyup"&&t.key===es||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const l={relatedTarget:i._element};t.type==="click"&&(l.clickEvent=t),i._completeHide(l)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),s=t.key===yd,i=[$d,ns].includes(t.key);if(!i&&!s||e&&!s)return;t.preventDefault();const r=this.matches(At)?this:T.prev(this,At)[0]||T.next(this,At)[0]||T.findOne(At,t.delegateTarget.parentNode),a=it.getOrCreateInstance(r);if(i){t.stopPropagation(),a.show(),a._selectMenuItem(t);return}a._isShown()&&(t.stopPropagation(),a.hide(),r.focus())}}h.on(document,_o,At,it.dataApiKeydownHandler);h.on(document,_o,ke,it.dataApiKeydownHandler);h.on(document,po,it.clearMenus);h.on(document,xd,it.clearMenus);h.on(document,po,At,function(n){n.preventDefault(),it.getOrCreateInstance(this).toggle()});tt(it);const mo="backdrop",qd="fade",ss="show",os=`mousedown.bs.${mo}`,Xd={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Qd={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class fo extends ue{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xd}static get DefaultType(){return Qd}static get NAME(){return mo}show(t){if(!this._config.isVisible){K(t);return}this._append();const e=this._getElement();this._config.isAnimated&&ce(e),e.classList.add(ss),this._emulateAnimation(()=>{K(t)})}hide(t){if(!this._config.isVisible){K(t);return}this._getElement().classList.remove(ss),this._emulateAnimation(()=>{this.dispose(),K(t)})}dispose(){this._isAppended&&(h.off(this._element,os),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add(qd),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=pt(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),h.on(t,os,()=>{K(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){to(t,this._getElement(),this._config.isAnimated)}}const Zd="focustrap",Jd="bs.focustrap",Se=`.${Jd}`,th=`focusin${Se}`,eh=`keydown.tab${Se}`,nh="Tab",sh="forward",is="backward",oh={autofocus:!0,trapElement:null},ih={autofocus:"boolean",trapElement:"element"};class vo extends ue{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return oh}static get DefaultType(){return ih}static get NAME(){return Zd}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),h.off(document,Se),h.on(document,th,t=>this._handleFocusin(t)),h.on(document,eh,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,h.off(document,Se))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const s=T.focusableChildren(e);s.length===0?e.focus():this._lastTabNavDirection===is?s[s.length-1].focus():s[0].focus()}_handleKeydown(t){t.key===nh&&(this._lastTabNavDirection=t.shiftKey?is:sh)}}const rs=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",as=".sticky-top",we="padding-right",ls="margin-right";class pn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,we,e=>e+t),this._setElementAttributes(rs,we,e=>e+t),this._setElementAttributes(as,ls,e=>e-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,we),this._resetElementAttributes(rs,we),this._resetElementAttributes(as,ls)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,s){const i=this.getWidth(),r=a=>{if(a!==this._element&&window.innerWidth>a.clientWidth+i)return;this._saveInitialAttribute(a,e);const l=window.getComputedStyle(a).getPropertyValue(e);a.style.setProperty(e,`${s(Number.parseFloat(l))}px`)};this._applyManipulationCallback(t,r)}_saveInitialAttribute(t,e){const s=t.style.getPropertyValue(e);s&<.setDataAttribute(t,e,s)}_resetElementAttributes(t,e){const s=i=>{const r=lt.getDataAttribute(i,e);if(r===null){i.style.removeProperty(e);return}lt.removeDataAttribute(i,e),i.style.setProperty(e,r)};this._applyManipulationCallback(t,s)}_applyManipulationCallback(t,e){if(at(t)){e(t);return}for(const s of T.find(t,this._element))e(s)}}const rh="modal",ah="bs.modal",J=`.${ah}`,lh=".data-api",ch="Escape",uh=`hide${J}`,dh=`hidePrevented${J}`,go=`hidden${J}`,bo=`show${J}`,hh=`shown${J}`,ph=`resize${J}`,_h=`click.dismiss${J}`,mh=`mousedown.dismiss${J}`,fh=`keydown.dismiss${J}`,vh=`click${J}${lh}`,cs="modal-open",gh="fade",us="show",Ze="modal-static",bh=".modal.show",Eh=".modal-dialog",wh=".modal-body",yh='[data-bs-toggle="modal"]',$h={backdrop:!0,focus:!0,keyboard:!0},Ah={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Kt extends st{constructor(t,e){super(t,e),this._dialog=T.findOne(Eh,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new pn,this._addEventListeners()}static get Default(){return $h}static get DefaultType(){return Ah}static get NAME(){return rh}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||h.trigger(this._element,bo,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(cs),this._adjustDialog(),this._backdrop.show(()=>this._showElement(t)))}hide(){!this._isShown||this._isTransitioning||h.trigger(this._element,uh).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(us),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){h.off(window,J),h.off(this._dialog,J),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new fo({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new vo({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=T.findOne(wh,this._dialog);e&&(e.scrollTop=0),ce(this._element),this._element.classList.add(us);const s=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,h.trigger(this._element,hh,{relatedTarget:t})};this._queueCallback(s,this._dialog,this._isAnimated())}_addEventListeners(){h.on(this._element,fh,t=>{if(t.key===ch){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),h.on(window,ph,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),h.on(this._element,mh,t=>{h.one(this._element,_h,e=>{if(!(this._element!==t.target||this._element!==e.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(cs),this._resetAdjustments(),this._scrollBar.reset(),h.trigger(this._element,go)})}_isAnimated(){return this._element.classList.contains(gh)}_triggerBackdropTransition(){if(h.trigger(this._element,dh).defaultPrevented)return;const e=this._element.scrollHeight>document.documentElement.clientHeight,s=this._element.style.overflowY;s==="hidden"||this._element.classList.contains(Ze)||(e||(this._element.style.overflowY="hidden"),this._element.classList.add(Ze),this._queueCallback(()=>{this._element.classList.remove(Ze),this._queueCallback(()=>{this._element.style.overflowY=s},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),s=e>0;if(s&&!t){const i=Z()?"paddingLeft":"paddingRight";this._element.style[i]=`${e}px`}if(!s&&t){const i=Z()?"paddingRight":"paddingLeft";this._element.style[i]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each(function(){const s=Kt.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof s[t]>"u")throw new TypeError(`No method named "${t}"`);s[t](e)}})}}h.on(document,vh,yh,function(n){const t=T.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&n.preventDefault(),h.one(t,bo,i=>{i.defaultPrevented||h.one(t,go,()=>{qt(this)&&this.focus()})});const e=T.findOne(bh);e&&Kt.getInstance(e).hide(),Kt.getOrCreateInstance(t).toggle(this)});Pe(Kt);tt(Kt);const Th="offcanvas",Ch="bs.offcanvas",ut=`.${Ch}`,Eo=".data-api",kh=`load${ut}${Eo}`,Nh="Escape",ds="show",hs="showing",ps="hiding",xh="offcanvas-backdrop",wo=".offcanvas.show",Oh=`show${ut}`,Sh=`shown${ut}`,Dh=`hide${ut}`,_s=`hidePrevented${ut}`,yo=`hidden${ut}`,Lh=`resize${ut}`,Mh=`click${ut}${Eo}`,Ih=`keydown.dismiss${ut}`,Ph='[data-bs-toggle="offcanvas"]',Vh={backdrop:!0,keyboard:!0,scroll:!1},Rh={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class mt extends st{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Vh}static get DefaultType(){return Rh}static get NAME(){return Th}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown||h.trigger(this._element,Oh,{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new pn().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(hs);const s=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(ds),this._element.classList.remove(hs),h.trigger(this._element,Sh,{relatedTarget:t})};this._queueCallback(s,this._element,!0)}hide(){if(!this._isShown||h.trigger(this._element,Dh).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ps),this._backdrop.hide();const e=()=>{this._element.classList.remove(ds,ps),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new pn().reset(),h.trigger(this._element,yo)};this._queueCallback(e,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=()=>{if(this._config.backdrop==="static"){h.trigger(this._element,_s);return}this.hide()},e=!!this._config.backdrop;return new fo({className:xh,isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?t:null})}_initializeFocusTrap(){return new vo({trapElement:this._element})}_addEventListeners(){h.on(this._element,Ih,t=>{if(t.key===Nh){if(this._config.keyboard){this.hide();return}h.trigger(this._element,_s)}})}static jQueryInterface(t){return this.each(function(){const e=mt.getOrCreateInstance(this,t);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}h.on(document,Mh,Ph,function(n){const t=T.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),_t(this))return;h.one(t,yo,()=>{qt(this)&&this.focus()});const e=T.findOne(wo);e&&e!==t&&mt.getInstance(e).hide(),mt.getOrCreateInstance(t).toggle(this)});h.on(window,kh,()=>{for(const n of T.find(wo))mt.getOrCreateInstance(n).show()});h.on(window,Lh,()=>{for(const n of T.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(n).position!=="fixed"&&mt.getOrCreateInstance(n).hide()});Pe(mt);tt(mt);const Hh=/^aria-[\w-]*$/i,$o={"*":["class","dir","id","lang","role",Hh],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Uh=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),jh=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Bh=(n,t)=>{const e=n.nodeName.toLowerCase();return t.includes(e)?Uh.has(e)?!!jh.test(n.nodeValue):!0:t.filter(s=>s instanceof RegExp).some(s=>s.test(e))};function Wh(n,t,e){if(!n.length)return n;if(e&&typeof e=="function")return e(n);const i=new window.DOMParser().parseFromString(n,"text/html"),r=[].concat(...i.body.querySelectorAll("*"));for(const a of r){const l=a.nodeName.toLowerCase();if(!Object.keys(t).includes(l)){a.remove();continue}const d=[].concat(...a.attributes),v=[].concat(t["*"]||[],t[l]||[]);for(const u of d)Bh(u,v)||a.removeAttribute(u.nodeName)}return i.body.innerHTML}const Fh="TemplateFactory",zh={allowList:$o,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Kh={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Yh={entry:"(string|element|function|null)",selector:"(string|element)"};class Gh extends ue{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return zh}static get DefaultType(){return Kh}static get NAME(){return Fh}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[i,r]of Object.entries(this._config.content))this._setContent(t,r,i);const e=t.children[0],s=this._resolvePossibleFunction(this._config.extraClass);return s&&e.classList.add(...s.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,s]of Object.entries(t))super._typeCheckConfig({selector:e,entry:s},Yh)}_setContent(t,e,s){const i=T.findOne(s,t);if(i){if(e=this._resolvePossibleFunction(e),!e){i.remove();return}if(at(e)){this._putElementInTemplate(pt(e),i);return}if(this._config.html){i.innerHTML=this._maybeSanitize(e);return}i.textContent=e}}_maybeSanitize(t){return this._config.sanitize?Wh(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return K(t,[this])}_putElementInTemplate(t,e){if(this._config.html){e.innerHTML="",e.append(t);return}e.textContent=t.textContent}}const qh="tooltip",Xh=new Set(["sanitize","allowList","sanitizeFn"]),Je="fade",Qh="modal",ye="show",Zh=".tooltip-inner",ms=`.${Qh}`,fs="hide.bs.modal",ee="hover",tn="focus",Jh="click",tp="manual",ep="hide",np="hidden",sp="show",op="shown",ip="inserted",rp="click",ap="focusin",lp="focusout",cp="mouseenter",up="mouseleave",dp={AUTO:"auto",TOP:"top",RIGHT:Z()?"left":"right",BOTTOM:"bottom",LEFT:Z()?"right":"left"},hp={allowList:$o,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},pp={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Qt extends st{constructor(t,e){if(typeof qs>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return hp}static get DefaultType(){return pp}static get NAME(){return qh}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),h.off(this._element.closest(ms),fs,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const t=h.trigger(this._element,this.constructor.eventName(sp)),s=(Zs(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!s)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:r}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(r.append(i),h.trigger(this._element,this.constructor.eventName(ip))),this._popper=this._createPopper(i),i.classList.add(ye),"ontouchstart"in document.documentElement)for(const l of[].concat(...document.body.children))h.on(l,"mouseover",xe);const a=()=>{h.trigger(this._element,this.constructor.eventName(op)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(a,this.tip,this._isAnimated())}hide(){if(!this._isShown()||h.trigger(this._element,this.constructor.eventName(ep)).defaultPrevented)return;if(this._getTipElement().classList.remove(ye),"ontouchstart"in document.documentElement)for(const i of[].concat(...document.body.children))h.off(i,"mouseover",xe);this._activeTrigger[Jh]=!1,this._activeTrigger[tn]=!1,this._activeTrigger[ee]=!1,this._isHovered=null;const s=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),h.trigger(this._element,this.constructor.eventName(np)))};this._queueCallback(s,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Je,ye),e.classList.add(`bs-${this.constructor.NAME}-auto`);const s=Jc(this.constructor.NAME).toString();return e.setAttribute("id",s),this._isAnimated()&&e.classList.add(Je),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Gh({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[Zh]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Je)}_isShown(){return this.tip&&this.tip.classList.contains(ye)}_createPopper(t){const e=K(this._config.placement,[this,t,this._element]),s=dp[e.toUpperCase()];return Cn(this._element,t,this._getPopperConfig(s))}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(e=>Number.parseInt(e,10)):typeof t=="function"?e=>t(e,this._element):t}_resolvePossibleFunction(t){return K(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:s=>{this._getTipElement().setAttribute("data-popper-placement",s.state.placement)}}]};return{...e,...K(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if(e==="click")h.on(this._element,this.constructor.eventName(rp),this._config.selector,s=>{this._initializeOnDelegatedTarget(s).toggle()});else if(e!==tp){const s=e===ee?this.constructor.eventName(cp):this.constructor.eventName(ap),i=e===ee?this.constructor.eventName(up):this.constructor.eventName(lp);h.on(this._element,s,this._config.selector,r=>{const a=this._initializeOnDelegatedTarget(r);a._activeTrigger[r.type==="focusin"?tn:ee]=!0,a._enter()}),h.on(this._element,i,this._config.selector,r=>{const a=this._initializeOnDelegatedTarget(r);a._activeTrigger[r.type==="focusout"?tn:ee]=a._element.contains(r.relatedTarget),a._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},h.on(this._element.closest(ms),fs,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=lt.getDataAttributes(this._element);for(const s of Object.keys(e))Xh.has(s)&&delete e[s];return t={...e,...typeof t=="object"&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=t.container===!1?document.body:pt(t.container),typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),typeof t.title=="number"&&(t.title=t.title.toString()),typeof t.content=="number"&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,s]of Object.entries(this._config))this.constructor.Default[e]!==s&&(t[e]=s);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each(function(){const e=Qt.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}}tt(Qt);const _p="popover",mp=".popover-header",fp=".popover-body",vp={...Qt.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},gp={...Qt.DefaultType,content:"(null|string|element|function)"};class On extends Qt{static get Default(){return vp}static get DefaultType(){return gp}static get NAME(){return _p}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[mp]:this._getTitle(),[fp]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each(function(){const e=On.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}}tt(On);const bp="scrollspy",Ep="bs.scrollspy",Sn=`.${Ep}`,wp=".data-api",yp=`activate${Sn}`,vs=`click${Sn}`,$p=`load${Sn}${wp}`,Ap="dropdown-item",It="active",Tp='[data-bs-spy="scroll"]',en="[href]",Cp=".nav, .list-group",gs=".nav-link",kp=".nav-item",Np=".list-group-item",xp=`${gs}, ${kp} > ${gs}, ${Np}`,Op=".dropdown",Sp=".dropdown-toggle",Dp={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Lp={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class He extends st{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Dp}static get DefaultType(){return Lp}static get NAME(){return bp}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=pt(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,typeof t.threshold=="string"&&(t.threshold=t.threshold.split(",").map(e=>Number.parseFloat(e))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(h.off(this._config.target,vs),h.on(this._config.target,vs,en,t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const s=this._rootElement||window,i=e.offsetTop-this._element.offsetTop;if(s.scrollTo){s.scrollTo({top:i,behavior:"smooth"});return}s.scrollTop=i}}))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(e=>this._observerCallback(e),t)}_observerCallback(t){const e=a=>this._targetLinks.get(`#${a.target.id}`),s=a=>{this._previousScrollData.visibleEntryTop=a.target.offsetTop,this._process(e(a))},i=(this._rootElement||document.documentElement).scrollTop,r=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const a of t){if(!a.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(a));continue}const l=a.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(r&&l){if(s(a),!i)return;continue}!r&&!l&&s(a)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=T.find(en,this._config.target);for(const e of t){if(!e.hash||_t(e))continue;const s=T.findOne(decodeURI(e.hash),this._element);qt(s)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,s))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(It),this._activateParents(t),h.trigger(this._element,yp,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains(Ap)){T.findOne(Sp,t.closest(Op)).classList.add(It);return}for(const e of T.parents(t,Cp))for(const s of T.prev(e,xp))s.classList.add(It)}_clearActiveClass(t){t.classList.remove(It);const e=T.find(`${en}.${It}`,t);for(const s of e)s.classList.remove(It)}static jQueryInterface(t){return this.each(function(){const e=He.getOrCreateInstance(this,t);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t]()}})}}h.on(window,$p,()=>{for(const n of T.find(Tp))He.getOrCreateInstance(n)});tt(He);const Mp="tab",Ip="bs.tab",Dt=`.${Ip}`,Pp=`hide${Dt}`,Vp=`hidden${Dt}`,Rp=`show${Dt}`,Hp=`shown${Dt}`,Up=`click${Dt}`,jp=`keydown${Dt}`,Bp=`load${Dt}`,Wp="ArrowLeft",bs="ArrowRight",Fp="ArrowUp",Es="ArrowDown",nn="Home",ws="End",Tt="active",ys="fade",sn="show",zp="dropdown",Ao=".dropdown-toggle",Kp=".dropdown-menu",on=`:not(${Ao})`,Yp='.list-group, .nav, [role="tablist"]',Gp=".nav-item, .list-group-item",qp=`.nav-link${on}, .list-group-item${on}, [role="tab"]${on}`,To='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',rn=`${qp}, ${To}`,Xp=`.${Tt}[data-bs-toggle="tab"], .${Tt}[data-bs-toggle="pill"], .${Tt}[data-bs-toggle="list"]`;class Yt extends st{constructor(t){super(t),this._parent=this._element.closest(Yp),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),h.on(this._element,jp,e=>this._keydown(e)))}static get NAME(){return Mp}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),s=e?h.trigger(e,Pp,{relatedTarget:t}):null;h.trigger(t,Rp,{relatedTarget:e}).defaultPrevented||s&&s.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){if(!t)return;t.classList.add(Tt),this._activate(T.getElementFromSelector(t));const s=()=>{if(t.getAttribute("role")!=="tab"){t.classList.add(sn);return}t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),h.trigger(t,Hp,{relatedTarget:e})};this._queueCallback(s,t,t.classList.contains(ys))}_deactivate(t,e){if(!t)return;t.classList.remove(Tt),t.blur(),this._deactivate(T.getElementFromSelector(t));const s=()=>{if(t.getAttribute("role")!=="tab"){t.classList.remove(sn);return}t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),h.trigger(t,Vp,{relatedTarget:e})};this._queueCallback(s,t,t.classList.contains(ys))}_keydown(t){if(![Wp,bs,Fp,Es,nn,ws].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter(i=>!_t(i));let s;if([nn,ws].includes(t.key))s=e[t.key===nn?0:e.length-1];else{const i=[bs,Es].includes(t.key);s=kn(e,t.target,i,!0)}s&&(s.focus({preventScroll:!0}),Yt.getOrCreateInstance(s).show())}_getChildren(){return T.find(rn,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const s of e)this._setInitialAttributesOnChild(s)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),s=this._getOuterElement(t);t.setAttribute("aria-selected",e),s!==t&&this._setAttributeIfNotExists(s,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=T.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const s=this._getOuterElement(t);if(!s.classList.contains(zp))return;const i=(r,a)=>{const l=T.findOne(r,s);l&&l.classList.toggle(a,e)};i(Ao,Tt),i(Kp,sn),s.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,s){t.hasAttribute(e)||t.setAttribute(e,s)}_elemIsActive(t){return t.classList.contains(Tt)}_getInnerElement(t){return t.matches(rn)?t:T.findOne(rn,t)}_getOuterElement(t){return t.closest(Gp)||t}static jQueryInterface(t){return this.each(function(){const e=Yt.getOrCreateInstance(this);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t]()}})}}h.on(document,Up,To,function(n){["A","AREA"].includes(this.tagName)&&n.preventDefault(),!_t(this)&&Yt.getOrCreateInstance(this).show()});h.on(window,Bp,()=>{for(const n of T.find(Xp))Yt.getOrCreateInstance(n)});tt(Yt);const Qp="toast",Zp="bs.toast",gt=`.${Zp}`,Jp=`mouseover${gt}`,t_=`mouseout${gt}`,e_=`focusin${gt}`,n_=`focusout${gt}`,s_=`hide${gt}`,o_=`hidden${gt}`,i_=`show${gt}`,r_=`shown${gt}`,a_="fade",$s="hide",$e="show",Ae="showing",l_={animation:"boolean",autohide:"boolean",delay:"number"},c_={animation:!0,autohide:!0,delay:5e3};class Ue extends st{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return c_}static get DefaultType(){return l_}static get NAME(){return Qp}show(){if(h.trigger(this._element,i_).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(a_);const e=()=>{this._element.classList.remove(Ae),h.trigger(this._element,r_),this._maybeScheduleHide()};this._element.classList.remove($s),ce(this._element),this._element.classList.add($e,Ae),this._queueCallback(e,this._element,this._config.animation)}hide(){if(!this.isShown()||h.trigger(this._element,s_).defaultPrevented)return;const e=()=>{this._element.classList.add($s),this._element.classList.remove(Ae,$e),h.trigger(this._element,o_)};this._element.classList.add(Ae),this._queueCallback(e,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove($e),super.dispose()}isShown(){return this._element.classList.contains($e)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=e;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=e;break}}if(e){this._clearTimeout();return}const s=t.relatedTarget;this._element===s||this._element.contains(s)||this._maybeScheduleHide()}_setListeners(){h.on(this._element,Jp,t=>this._onInteraction(t,!0)),h.on(this._element,t_,t=>this._onInteraction(t,!1)),h.on(this._element,e_,t=>this._onInteraction(t,!0)),h.on(this._element,n_,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each(function(){const e=Ue.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}Pe(Ue);tt(Ue);const z=n=>(ie("data-v-7c365435"),n=n(),re(),n),u_={class:"tab-pane",id:"tabs-hpa"},d_={class:"mb-3"},h_=z(()=>o("label",{class:"form-label"},"HPA Name",-1)),p_={class:"mb-3"},__=z(()=>o("label",{class:"form-label"},"Namespace",-1)),m_={class:"mb-3"},f_=z(()=>o("label",{class:"form-label"},"Labels",-1)),v_=["onUpdate:modelValue"],g_=["onUpdate:modelValue"],b_={class:"btn-list"},E_={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},w_=z(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),y_=z(()=>o("path",{d:"M12 5l0 14"},null,-1)),$_=z(()=>o("path",{d:"M5 12l14 0"},null,-1)),A_=[w_,y_,$_],T_=["onClick"],C_={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},k_=z(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),N_=z(()=>o("path",{d:"M5 12l14 0"},null,-1)),x_=[k_,N_],O_={class:"mb-3"},S_=z(()=>o("label",{class:"form-label"},"Target",-1)),D_={class:"generate-form"},L_=z(()=>o("option",{value:"deployment"},"Deployment",-1)),M_=[L_],I_={class:"mb-3"},P_=z(()=>o("label",{class:"form-label"},"Min Replicas",-1)),V_={class:"mb-3"},R_=z(()=>o("label",{class:"form-label"},"Max Replicas",-1)),H_={class:"mb-3"},U_=z(()=>o("label",{class:"form-label"},"Metric",-1)),j_={class:"generate-form"},B_=z(()=>o("option",{value:"cpu"},"CPU",-1)),W_=z(()=>o("option",{value:"memory"},"MEMORY",-1)),F_=[B_,W_],z_=xt({__name:"hpaForm",setup(n){As();const t=I({}),e=I([{}]),s=I({}),i=I({});Ot(async()=>{await r()});const r=()=>{e.value.push({key:"",value:""}),s.value={kind:"deployment",name:""},i.value={type:"cpu",targetAverageUtilization:0},t.value.hpaName="",t.value.namespace="",t.value.minReplicas=0,t.value.maxReplicas=0},a=async()=>{t.value.target=s.value,t.value.metric=i.value;const v=e.value.reduce((u,b)=>(u[b.key]=b.value,u),{});t.value.labels=v,await ic(t.value)},l=()=>{e.value.push({key:"",value:""})},d=v=>{e.value.length!==1&&e.value.splice(v,1)};return(v,u)=>(_(),m("div",u_,[o("div",d_,[h_,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":u[0]||(u[0]=b=>t.value.hpaName=b),placeholder:"name"},null,512),[[y,t.value.hpaName]])]),o("div",p_,[__,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":u[1]||(u[1]=b=>t.value.namespace=b),placeholder:"namespace"},null,512),[[y,t.value.namespace]])]),o("div",m_,[f_,(_(!0),m(P,null,V(e.value,(b,C)=>(_(),m("div",{class:"generate-form",key:C},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":$=>b.key=$,placeholder:"key"},null,8,v_),[[y,b.key]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":$=>b.value=$,placeholder:"value"},null,8,g_),[[y,b.value]]),o("div",b_,[o("button",{class:"btn btn-primary",onClick:l,style:{"text-align":"center !important"}},[(_(),m("svg",E_,A_))]),o("button",{class:"btn btn-primary",onClick:$=>d(C)},[(_(),m("svg",C_,x_))],8,T_)])]))),128))]),o("div",O_,[S_,o("div",D_,[w(o("select",{class:"form-select","onUpdate:modelValue":u[2]||(u[2]=b=>s.value.kind=b),style:{width:"33% !important"}},M_,512),[[jn,s.value.kind]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":u[3]||(u[3]=b=>s.value.name=b),placeholder:"name"},null,512),[[y,s.value.name]])])]),o("div",I_,[P_,w(o("input",{type:"number",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":u[4]||(u[4]=b=>t.value.minReplicas=b),placeholder:"image"},null,512),[[y,t.value.minReplicas]])]),o("div",V_,[R_,w(o("input",{type:"number",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":u[5]||(u[5]=b=>t.value.maxReplicas=b),placeholder:"image"},null,512),[[y,t.value.maxReplicas]])]),o("div",H_,[U_,o("div",j_,[w(o("select",{class:"form-select","onUpdate:modelValue":u[6]||(u[6]=b=>i.value.type=b),style:{width:"33% !important"}},F_,512),[[jn,i.value.type]]),w(o("input",{type:"number",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":u[7]||(u[7]=b=>i.value.targetAverageUtilization=b),placeholder:"value",max:"100"},null,512),[[y,i.value.targetAverageUtilization]])])]),o("div",{class:"btn-list justify-content-end"},[o("a",{class:"btn btn-primary",onClick:a,"data-bs-toggle":"modal","data-bs-target":"#modal-hpa"},"GENERATE")]),Pt(cc)]))}}),K_=ae(z_,[["__scopeId","data-v-7c365435"]]),L=n=>(ie("data-v-602e9a61"),n=n(),re(),n),Y_={class:"tab-pane",id:"tabs-configMap"},G_={class:"mb-3"},q_=L(()=>o("label",{class:"form-label"},"Deployment Name",-1)),X_={class:"mb-3"},Q_=L(()=>o("label",{class:"form-label"},"Namespace",-1)),Z_={class:"mb-3"},J_=L(()=>o("label",{class:"form-label"},"Labels",-1)),tm=["onUpdate:modelValue"],em=["onUpdate:modelValue"],nm={class:"btn-list"},sm={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},om=L(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),im=L(()=>o("path",{d:"M12 5l0 14"},null,-1)),rm=L(()=>o("path",{d:"M5 12l14 0"},null,-1)),am=[om,im,rm],lm=["onClick"],cm={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},um=L(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),dm=L(()=>o("path",{d:"M5 12l14 0"},null,-1)),hm=[um,dm],pm={class:"mb-3"},_m=L(()=>o("label",{class:"form-label"},"Selector",-1)),mm=["onUpdate:modelValue"],fm=["onUpdate:modelValue"],vm={class:"btn-list"},gm={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},bm=L(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Em=L(()=>o("path",{d:"M12 5l0 14"},null,-1)),wm=L(()=>o("path",{d:"M5 12l14 0"},null,-1)),ym=[bm,Em,wm],$m=["onClick"],Am={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},Tm=L(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Cm=L(()=>o("path",{d:"M5 12l14 0"},null,-1)),km=[Tm,Cm],Nm={class:"mb-3"},xm=L(()=>o("label",{class:"form-label"},"Replicas",-1)),Om={class:"mb-3"},Sm=L(()=>o("label",{class:"form-label"},"Image",-1)),Dm={class:"mb-3"},Lm=L(()=>o("label",{class:"form-label"},"containerPort",-1)),Mm=["onUpdate:modelValue"],Im=["onUpdate:modelValue"],Pm={class:"btn-list"},Vm={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},Rm=L(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),Hm=L(()=>o("path",{d:"M12 5l0 14"},null,-1)),Um=L(()=>o("path",{d:"M5 12l14 0"},null,-1)),jm=[Rm,Hm,Um],Bm=["onClick"],Wm={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},Fm=L(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),zm=L(()=>o("path",{d:"M5 12l14 0"},null,-1)),Km=[Fm,zm],Ym={class:"mb-3"},Gm=L(()=>o("label",{class:"form-label"},"env",-1)),qm=["onUpdate:modelValue"],Xm=["onUpdate:modelValue"],Qm={class:"btn-list"},Zm={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},Jm=L(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),tf=L(()=>o("path",{d:"M12 5l0 14"},null,-1)),ef=L(()=>o("path",{d:"M5 12l14 0"},null,-1)),nf=[Jm,tf,ef],sf=["onClick"],of={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},rf=L(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),af=L(()=>o("path",{d:"M5 12l14 0"},null,-1)),lf=[rf,af],cf={class:"mb-3"},uf=L(()=>o("label",{class:"form-label"},"volumeMounts",-1)),df=["onUpdate:modelValue"],hf=["onUpdate:modelValue"],pf={class:"btn-list"},_f={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-plus",style:{margin:"0 !important"}},mf=L(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),ff=L(()=>o("path",{d:"M12 5l0 14"},null,-1)),vf=L(()=>o("path",{d:"M5 12l14 0"},null,-1)),gf=[mf,ff,vf],bf=["onClick"],Ef={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus",style:{margin:"0 !important"}},wf=L(()=>o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1)),yf=L(()=>o("path",{d:"M5 12l14 0"},null,-1)),$f=[wf,yf],Af=xt({__name:"configmapForm",setup(n){const t=De({}),e=I([]),s=I([]),i=I([]),r=I([]),a=I([]);Ot(async()=>{await l()});const l=()=>{e.value.push({key:"",value:""}),s.value.push({key:"",value:""}),i.value.push({portNum:"",name:""}),r.value.push({name:"",value:""}),a.value.push({mountPath:"",name:""}),t.deployName="",t.namespace="",t.image=""},d=()=>{console.log("onClickDeploy"),t.labels=e.value,t.selector=s.value,t.containerPort=i.value,t.env=r.value,t.volumeMounts=a.value;const E={...t};console.log("param : ",E)},v=()=>{e.value.push({key:"",value:""})},u=E=>{e.value.length!==1&&e.value.splice(E,1)},b=()=>{s.value.push({key:"",value:""})},C=E=>{s.value.length!==1&&s.value.splice(E,1)},$=()=>{i.value.push({portNum:"",name:""})},O=E=>{i.value.length!==1&&i.value.splice(E,1)},N=()=>{r.value.push({name:"",value:""})},k=E=>{r.value.length!==1&&r.value.splice(E,1)},x=()=>{a.value.push({mountPath:"",name:""})},A=E=>{a.value.length!==1&&a.value.splice(E,1)};return(E,f)=>(_(),m("div",Y_,[o("div",G_,[q_,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":f[0]||(f[0]=c=>t.deployName=c),placeholder:"deploy-01"},null,512),[[y,t.deployName]])]),o("div",X_,[Q_,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":f[1]||(f[1]=c=>t.namespace=c),placeholder:"namespace"},null,512),[[y,t.namespace]])]),o("div",Z_,[J_,(_(!0),m(P,null,V(e.value,(c,g)=>(_(),m("div",{class:"generate-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.key=p,placeholder:"key"},null,8,tm),[[y,c.key]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.value=p,placeholder:"value"},null,8,em),[[y,c.value]]),o("div",nm,[o("button",{class:"btn btn-primary",onClick:v,style:{"text-align":"center !important"}},[(_(),m("svg",sm,am))]),o("button",{class:"btn btn-primary",onClick:p=>u(g)},[(_(),m("svg",cm,hm))],8,lm)])]))),128))]),o("div",pm,[_m,(_(!0),m(P,null,V(s.value,(c,g)=>(_(),m("div",{class:"generate-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.key=p,placeholder:"key"},null,8,mm),[[y,c.key]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.value=p,placeholder:"value"},null,8,fm),[[y,c.value]]),o("div",vm,[o("button",{class:"btn btn-primary",onClick:b,style:{"text-align":"center !important"}},[(_(),m("svg",gm,ym))]),o("button",{class:"btn btn-primary",onClick:p=>C(g)},[(_(),m("svg",Am,km))],8,$m)])]))),128))]),o("div",Nm,[xm,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":f[2]||(f[2]=c=>t.namespace=c),placeholder:"namespace"},null,512),[[y,t.namespace]])]),o("div",Om,[Sm,w(o("input",{type:"text",class:"form-control w-33",name:"example-text-input","onUpdate:modelValue":f[3]||(f[3]=c=>t.image=c),placeholder:"image"},null,512),[[y,t.image]])]),o("div",Dm,[Lm,(_(!0),m(P,null,V(i.value,(c,g)=>(_(),m("div",{class:"generate-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.portNum=p,placeholder:"portNum"},null,8,Mm),[[y,c.portNum]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.name=p,placeholder:"name"},null,8,Im),[[y,c.name]]),o("div",Pm,[o("button",{class:"btn btn-primary",onClick:$,style:{"text-align":"center !important"}},[(_(),m("svg",Vm,jm))]),o("button",{class:"btn btn-primary",onClick:p=>O(g)},[(_(),m("svg",Wm,Km))],8,Bm)])]))),128))]),o("div",Ym,[Gm,(_(!0),m(P,null,V(r.value,(c,g)=>(_(),m("div",{class:"generate-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.name=p,placeholder:"name"},null,8,qm),[[y,c.name]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.value=p,placeholder:"value"},null,8,Xm),[[y,c.value]]),o("div",Qm,[o("button",{class:"btn btn-primary",onClick:N,style:{"text-align":"center !important"}},[(_(),m("svg",Zm,nf))]),o("button",{class:"btn btn-primary",onClick:p=>k(g)},[(_(),m("svg",of,lf))],8,sf)])]))),128))]),o("div",cf,[uf,(_(!0),m(P,null,V(a.value,(c,g)=>(_(),m("div",{class:"generate-form",key:g},[w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.mountPath=p,placeholder:"mountPath"},null,8,df),[[y,c.mountPath]]),w(o("input",{type:"text",class:"form-control w-33",name:"example-password-input","onUpdate:modelValue":p=>c.name=p,placeholder:"name"},null,8,hf),[[y,c.name]]),o("div",pf,[o("button",{class:"btn btn-primary",onClick:x,style:{"text-align":"center !important"}},[(_(),m("svg",_f,gf))]),o("button",{class:"btn btn-primary",onClick:p=>A(g)},[(_(),m("svg",Ef,$f))],8,bf)])]))),128))]),o("div",{class:"btn-list justify-content-end"},[o("a",{class:"btn btn-primary",onClick:d},"GENERATE")])]))}}),Tf=ae(Af,[["__scopeId","data-v-602e9a61"]]),Cf={class:"card w-100",ref:"workflowForm"},kf=o("div",{class:"card-header"},[o("div",{class:"card-title"},[o("h1",null,"YAML GENERATE")])],-1),Nf={class:"page-body"},xf=Do('',1),Of={class:"card-body"},Sf={class:"tab-content"},Mf=xt({__name:"YamlGenerate",setup(n){return As(),Ot(async()=>{}),(t,e)=>(_(),m("div",Cf,[kf,o("div",Nf,[xf,o("div",Of,[o("div",Sf,[Pt(Gi),Pt(Ca),Pt(oc),Pt(K_),Pt(Tf)])])])],512))}});export{Mf as default}; diff --git a/bin/main/static/assets/index-CWe7_SZT.css b/bin/main/static/assets/index-CWe7_SZT.css new file mode 100644 index 0000000..dddac20 --- /dev/null +++ b/bin/main/static/assets/index-CWe7_SZT.css @@ -0,0 +1,12 @@ +@charset "UTF-8";/*! +* Tabler v1.0.0-beta20 (https://tabler.io) +* @version 1.0.0-beta20 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/:root,[data-bs-theme=light]{--tblr-black:#000000;--tblr-white:#ffffff;--tblr-gray:#667382;--tblr-gray-dark:#182433;--tblr-gray-100:#f6f8fb;--tblr-gray-200:#eef1f4;--tblr-gray-300:#dadfe5;--tblr-gray-400:#bbc3cd;--tblr-gray-500:#929dab;--tblr-gray-600:#667382;--tblr-gray-700:#3a4859;--tblr-gray-800:#182433;--tblr-gray-900:#040a11;--tblr-primary:#0054a6;--tblr-secondary:#667382;--tblr-success:#2fb344;--tblr-info:#4299e1;--tblr-warning:#f76707;--tblr-danger:#d63939;--tblr-light:#fcfdfe;--tblr-dark:#182433;--tblr-muted:#667382;--tblr-blue:#0054a6;--tblr-azure:#4299e1;--tblr-indigo:#4263eb;--tblr-purple:#ae3ec9;--tblr-pink:#d6336c;--tblr-red:#d63939;--tblr-orange:#f76707;--tblr-yellow:#f59f00;--tblr-lime:#74b816;--tblr-green:#2fb344;--tblr-teal:#0ca678;--tblr-cyan:#17a2b8;--tblr-facebook:#1877f2;--tblr-twitter:#1da1f2;--tblr-linkedin:#0a66c2;--tblr-google:#dc4e41;--tblr-youtube:#ff0000;--tblr-vimeo:#1ab7ea;--tblr-dribbble:#ea4c89;--tblr-github:#181717;--tblr-instagram:#e4405f;--tblr-pinterest:#bd081c;--tblr-vk:#6383a8;--tblr-rss:#ffa500;--tblr-flickr:#0063dc;--tblr-bitbucket:#0052cc;--tblr-tabler:#0054a6;--tblr-primary-rgb:0,84,166;--tblr-secondary-rgb:102,115,130;--tblr-success-rgb:47,179,68;--tblr-info-rgb:66,153,225;--tblr-warning-rgb:247,103,7;--tblr-danger-rgb:214,57,57;--tblr-light-rgb:252,253,254;--tblr-dark-rgb:24,36,51;--tblr-muted-rgb:102,115,130;--tblr-blue-rgb:0,84,166;--tblr-azure-rgb:66,153,225;--tblr-indigo-rgb:66,99,235;--tblr-purple-rgb:174,62,201;--tblr-pink-rgb:214,51,108;--tblr-red-rgb:214,57,57;--tblr-orange-rgb:247,103,7;--tblr-yellow-rgb:245,159,0;--tblr-lime-rgb:116,184,22;--tblr-green-rgb:47,179,68;--tblr-teal-rgb:12,166,120;--tblr-cyan-rgb:23,162,184;--tblr-facebook-rgb:24,119,242;--tblr-twitter-rgb:29,161,242;--tblr-linkedin-rgb:10,102,194;--tblr-google-rgb:220,78,65;--tblr-youtube-rgb:255,0,0;--tblr-vimeo-rgb:26,183,234;--tblr-dribbble-rgb:234,76,137;--tblr-github-rgb:24,23,23;--tblr-instagram-rgb:228,64,95;--tblr-pinterest-rgb:189,8,28;--tblr-vk-rgb:99,131,168;--tblr-rss-rgb:255,165,0;--tblr-flickr-rgb:0,99,220;--tblr-bitbucket-rgb:0,82,204;--tblr-tabler-rgb:0,84,166;--tblr-primary-text-emphasis:#002242;--tblr-secondary-text-emphasis:#292e34;--tblr-success-text-emphasis:#13481b;--tblr-info-text-emphasis:#1a3d5a;--tblr-warning-text-emphasis:#632903;--tblr-danger-text-emphasis:#561717;--tblr-light-text-emphasis:#3a4859;--tblr-dark-text-emphasis:#3a4859;--tblr-primary-bg-subtle:#ccdded;--tblr-secondary-bg-subtle:#e0e3e6;--tblr-success-bg-subtle:#d5f0da;--tblr-info-bg-subtle:#d9ebf9;--tblr-warning-bg-subtle:#fde1cd;--tblr-danger-bg-subtle:#f7d7d7;--tblr-light-bg-subtle:#fbfcfd;--tblr-dark-bg-subtle:#bbc3cd;--tblr-primary-border-subtle:#99bbdb;--tblr-secondary-border-subtle:#c2c7cd;--tblr-success-border-subtle:#ace1b4;--tblr-info-border-subtle:#b3d6f3;--tblr-warning-border-subtle:#fcc29c;--tblr-danger-border-subtle:#efb0b0;--tblr-light-border-subtle:#eef1f4;--tblr-dark-border-subtle:#929dab;--tblr-white-rgb:255,255,255;--tblr-black-rgb:0,0,0;--tblr-font-sans-serif:-apple-system,BlinkMacSystemFont,San Francisco,Segoe UI,Roboto,Helvetica Neue,sans-serif;--tblr-font-monospace:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;--tblr-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--tblr-body-font-family:var(--tblr-font-sans-serif);--tblr-body-font-size:.875rem;--tblr-body-font-weight:400;--tblr-body-line-height:1.4285714286;--tblr-body-color:#182433;--tblr-body-color-rgb:24,36,51;--tblr-body-bg:#f6f8fb;--tblr-body-bg-rgb:246,248,251;--tblr-emphasis-color:#182433;--tblr-emphasis-color-rgb:24,36,51;--tblr-secondary-color:rgba(24, 36, 51, .75);--tblr-secondary-color-rgb:24,36,51;--tblr-secondary-bg:#eef1f4;--tblr-secondary-bg-rgb:238,241,244;--tblr-tertiary-color:rgba(24, 36, 51, .5);--tblr-tertiary-color-rgb:24,36,51;--tblr-tertiary-bg:#f6f8fb;--tblr-tertiary-bg-rgb:246,248,251;--tblr-heading-color:inherit;--tblr-link-color:#0054a6;--tblr-link-color-rgb:0,84,166;--tblr-link-decoration:none;--tblr-link-hover-color:#004385;--tblr-link-hover-color-rgb:0,67,133;--tblr-link-hover-decoration:underline;--tblr-code-color:var(--tblr-gray-600);--tblr-highlight-bg:#fdeccc;--tblr-border-width:1px;--tblr-border-style:solid;--tblr-border-color:#dadfe5;--tblr-border-color-translucent:rgba(4, 32, 69, .14);--tblr-border-radius:4px;--tblr-border-radius-sm:2px;--tblr-border-radius-lg:8px;--tblr-border-radius-xl:1rem;--tblr-border-radius-xxl:2rem;--tblr-border-radius-2xl:var(--tblr-border-radius-xxl);--tblr-border-radius-pill:100rem;--tblr-box-shadow:rgba(var(--tblr-body-color-rgb), .04) 0 2px 4px 0;--tblr-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--tblr-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--tblr-box-shadow-inset:0 0 transparent;--tblr-focus-ring-width:.25rem;--tblr-focus-ring-opacity:.25;--tblr-focus-ring-color:rgba(var(--tblr-primary-rgb), .25);--tblr-form-valid-color:#2fb344;--tblr-form-valid-border-color:#2fb344;--tblr-form-invalid-color:#d63939;--tblr-form-invalid-border-color:#d63939}[data-bs-theme=dark],body[data-bs-theme=dark] [data-bs-theme=light]{color-scheme:dark;--tblr-body-color:#fcfdfe;--tblr-body-color-rgb:252,253,254;--tblr-body-bg:#040a11;--tblr-body-bg-rgb:4,10,17;--tblr-emphasis-color:#ffffff;--tblr-emphasis-color-rgb:255,255,255;--tblr-secondary-color:rgba(252, 253, 254, .75);--tblr-secondary-color-rgb:252,253,254;--tblr-secondary-bg:#182433;--tblr-secondary-bg-rgb:24,36,51;--tblr-tertiary-color:rgba(252, 253, 254, .5);--tblr-tertiary-color-rgb:252,253,254;--tblr-tertiary-bg:#0e1722;--tblr-tertiary-bg-rgb:14,23,34;--tblr-primary-text-emphasis:#6698ca;--tblr-secondary-text-emphasis:#a3abb4;--tblr-success-text-emphasis:#82d18f;--tblr-info-text-emphasis:#8ec2ed;--tblr-warning-text-emphasis:#faa46a;--tblr-danger-text-emphasis:#e68888;--tblr-light-text-emphasis:#f6f8fb;--tblr-dark-text-emphasis:#dadfe5;--tblr-primary-bg-subtle:#001121;--tblr-secondary-bg-subtle:#14171a;--tblr-success-bg-subtle:#09240e;--tblr-info-bg-subtle:#0d1f2d;--tblr-warning-bg-subtle:#311501;--tblr-danger-bg-subtle:#2b0b0b;--tblr-light-bg-subtle:#182433;--tblr-dark-bg-subtle:#0c121a;--tblr-primary-border-subtle:#003264;--tblr-secondary-border-subtle:#3d454e;--tblr-success-border-subtle:#1c6b29;--tblr-info-border-subtle:#285c87;--tblr-warning-border-subtle:#943e04;--tblr-danger-border-subtle:#802222;--tblr-light-border-subtle:#3a4859;--tblr-dark-border-subtle:#182433;--tblr-heading-color:inherit;--tblr-link-color:#6698ca;--tblr-link-hover-color:#85add5;--tblr-link-color-rgb:102,152,202;--tblr-link-hover-color-rgb:133,173,213;--tblr-code-color:var(--tblr-gray-300);--tblr-border-color:#1f2e41;--tblr-border-color-translucent:rgba(72, 110, 149, .14);--tblr-form-valid-color:#82d18f;--tblr-form-valid-border-color:#82d18f;--tblr-form-invalid-color:#e68888;--tblr-form-invalid-border-color:#e68888}body{margin:0;font-family:var(--tblr-body-font-family);font-size:var(--tblr-body-font-size);font-weight:var(--tblr-body-font-weight);line-height:var(--tblr-body-line-height);color:var(--tblr-body-color);text-align:var(--tblr-body-text-align);background-color:var(--tblr-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.hr,hr{margin:2rem 0;color:inherit;border:0;border-top:var(--tblr-border-width) solid;opacity:.16}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--tblr-spacer);font-weight:var(--tblr-font-weight-bold);line-height:1.2;color:var(--tblr-heading-color)}.h1,h1{font-size:1.5rem}.h2,h2{font-size:1.25rem}.h3,h3{font-size:1rem}.h4,h4{font-size:.875rem}.h5,h5{font-size:.75rem}.h6,h6{font-size:.625rem}dt{font-weight:600}.small,small{font-size:85.714285%}.mark,mark{padding:.1875em;background-color:var(--tblr-highlight-bg)}a{color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-opacity,1));text-decoration:none}a:hover{--tblr-link-color-rgb:var(--tblr-link-hover-color-rgb);text-decoration:underline}code,kbd,pre,samp{font-family:var(--tblr-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:85.714285%;color:var(--tblr-light)}code{font-size:85.714285%;color:var(--tblr-code-color);word-wrap:break-word}kbd{padding:.25rem .5rem;font-size:var(--tblr-font-size-h5);color:var(--tblr-text-secondary-dark);background-color:var(--tblr-code-bg);border-radius:2px}caption{padding-top:.75rem;padding-bottom:.75rem;color:var(--tblr-secondary-color);text-align:left}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}.lead{font-size:.875rem;font-weight:var(--tblr-font-weight-normal)}.display-1{font-size:5rem;font-weight:300;line-height:1.2}.display-2{font-size:4.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}.display-5{font-size:3rem;font-weight:300;line-height:1.2}.display-6{font-size:2rem;font-weight:300;line-height:1.2}.initialism{font-size:85.714285%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:.875rem}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:85.714285%;color:#667382}.img-thumbnail{padding:.25rem;background-color:var(--tblr-body-bg);border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-box-shadow-sm);max-width:100%;height:auto}.figure-caption{font-size:85.714285%;color:var(--tblr-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--tblr-gutter-x:calc(var(--tblr-page-padding) * 2);--tblr-gutter-y:0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto}:root{--tblr-breakpoint-xs:0;--tblr-breakpoint-sm:576px;--tblr-breakpoint-md:768px;--tblr-breakpoint-lg:992px;--tblr-breakpoint-xl:1200px;--tblr-breakpoint-xxl:1400px}.row{--tblr-gutter-x:var(--tblr-page-padding);--tblr-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--tblr-gutter-y));margin-right:calc(-.5 * var(--tblr-gutter-x));margin-left:calc(-.5 * var(--tblr-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-top:var(--tblr-gutter-y)}.grid{display:grid;grid-template-rows:repeat(var(--tblr-rows,1),1fr);grid-template-columns:repeat(var(--tblr-columns,12),1fr);gap:var(--tblr-gap,var(--tblr-page-padding))}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media (min-width:576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media (min-width:768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media (min-width:992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media (min-width:1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media (min-width:1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.g-0,.gx-0{--tblr-gutter-x:0}.g-0,.gy-0{--tblr-gutter-y:0}.g-1,.gx-1{--tblr-gutter-x:.25rem}.g-1,.gy-1{--tblr-gutter-y:.25rem}.g-2,.gx-2{--tblr-gutter-x:.5rem}.g-2,.gy-2{--tblr-gutter-y:.5rem}.g-3,.gx-3{--tblr-gutter-x:1rem}.g-3,.gy-3{--tblr-gutter-y:1rem}.g-4,.gx-4{--tblr-gutter-x:1.5rem}.g-4,.gy-4{--tblr-gutter-y:1.5rem}.g-5,.gx-5{--tblr-gutter-x:2rem}.g-5,.gy-5{--tblr-gutter-y:2rem}.g-6,.gx-6{--tblr-gutter-x:3rem}.g-6,.gy-6{--tblr-gutter-y:3rem}.g-7,.gx-7{--tblr-gutter-x:5rem}.g-7,.gy-7{--tblr-gutter-y:5rem}.g-8,.gx-8{--tblr-gutter-x:8rem}.g-8,.gy-8{--tblr-gutter-y:8rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--tblr-gutter-x:0}.g-sm-0,.gy-sm-0{--tblr-gutter-y:0}.g-sm-1,.gx-sm-1{--tblr-gutter-x:.25rem}.g-sm-1,.gy-sm-1{--tblr-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--tblr-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--tblr-gutter-y:.5rem}.g-sm-3,.gx-sm-3{--tblr-gutter-x:1rem}.g-sm-3,.gy-sm-3{--tblr-gutter-y:1rem}.g-sm-4,.gx-sm-4{--tblr-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--tblr-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--tblr-gutter-x:2rem}.g-sm-5,.gy-sm-5{--tblr-gutter-y:2rem}.g-sm-6,.gx-sm-6{--tblr-gutter-x:3rem}.g-sm-6,.gy-sm-6{--tblr-gutter-y:3rem}.g-sm-7,.gx-sm-7{--tblr-gutter-x:5rem}.g-sm-7,.gy-sm-7{--tblr-gutter-y:5rem}.g-sm-8,.gx-sm-8{--tblr-gutter-x:8rem}.g-sm-8,.gy-sm-8{--tblr-gutter-y:8rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--tblr-gutter-x:0}.g-md-0,.gy-md-0{--tblr-gutter-y:0}.g-md-1,.gx-md-1{--tblr-gutter-x:.25rem}.g-md-1,.gy-md-1{--tblr-gutter-y:.25rem}.g-md-2,.gx-md-2{--tblr-gutter-x:.5rem}.g-md-2,.gy-md-2{--tblr-gutter-y:.5rem}.g-md-3,.gx-md-3{--tblr-gutter-x:1rem}.g-md-3,.gy-md-3{--tblr-gutter-y:1rem}.g-md-4,.gx-md-4{--tblr-gutter-x:1.5rem}.g-md-4,.gy-md-4{--tblr-gutter-y:1.5rem}.g-md-5,.gx-md-5{--tblr-gutter-x:2rem}.g-md-5,.gy-md-5{--tblr-gutter-y:2rem}.g-md-6,.gx-md-6{--tblr-gutter-x:3rem}.g-md-6,.gy-md-6{--tblr-gutter-y:3rem}.g-md-7,.gx-md-7{--tblr-gutter-x:5rem}.g-md-7,.gy-md-7{--tblr-gutter-y:5rem}.g-md-8,.gx-md-8{--tblr-gutter-x:8rem}.g-md-8,.gy-md-8{--tblr-gutter-y:8rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--tblr-gutter-x:0}.g-lg-0,.gy-lg-0{--tblr-gutter-y:0}.g-lg-1,.gx-lg-1{--tblr-gutter-x:.25rem}.g-lg-1,.gy-lg-1{--tblr-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--tblr-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--tblr-gutter-y:.5rem}.g-lg-3,.gx-lg-3{--tblr-gutter-x:1rem}.g-lg-3,.gy-lg-3{--tblr-gutter-y:1rem}.g-lg-4,.gx-lg-4{--tblr-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--tblr-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--tblr-gutter-x:2rem}.g-lg-5,.gy-lg-5{--tblr-gutter-y:2rem}.g-lg-6,.gx-lg-6{--tblr-gutter-x:3rem}.g-lg-6,.gy-lg-6{--tblr-gutter-y:3rem}.g-lg-7,.gx-lg-7{--tblr-gutter-x:5rem}.g-lg-7,.gy-lg-7{--tblr-gutter-y:5rem}.g-lg-8,.gx-lg-8{--tblr-gutter-x:8rem}.g-lg-8,.gy-lg-8{--tblr-gutter-y:8rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--tblr-gutter-x:0}.g-xl-0,.gy-xl-0{--tblr-gutter-y:0}.g-xl-1,.gx-xl-1{--tblr-gutter-x:.25rem}.g-xl-1,.gy-xl-1{--tblr-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--tblr-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--tblr-gutter-y:.5rem}.g-xl-3,.gx-xl-3{--tblr-gutter-x:1rem}.g-xl-3,.gy-xl-3{--tblr-gutter-y:1rem}.g-xl-4,.gx-xl-4{--tblr-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--tblr-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--tblr-gutter-x:2rem}.g-xl-5,.gy-xl-5{--tblr-gutter-y:2rem}.g-xl-6,.gx-xl-6{--tblr-gutter-x:3rem}.g-xl-6,.gy-xl-6{--tblr-gutter-y:3rem}.g-xl-7,.gx-xl-7{--tblr-gutter-x:5rem}.g-xl-7,.gy-xl-7{--tblr-gutter-y:5rem}.g-xl-8,.gx-xl-8{--tblr-gutter-x:8rem}.g-xl-8,.gy-xl-8{--tblr-gutter-y:8rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--tblr-gutter-x:0}.g-xxl-0,.gy-xxl-0{--tblr-gutter-y:0}.g-xxl-1,.gx-xxl-1{--tblr-gutter-x:.25rem}.g-xxl-1,.gy-xxl-1{--tblr-gutter-y:.25rem}.g-xxl-2,.gx-xxl-2{--tblr-gutter-x:.5rem}.g-xxl-2,.gy-xxl-2{--tblr-gutter-y:.5rem}.g-xxl-3,.gx-xxl-3{--tblr-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--tblr-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--tblr-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--tblr-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--tblr-gutter-x:2rem}.g-xxl-5,.gy-xxl-5{--tblr-gutter-y:2rem}.g-xxl-6,.gx-xxl-6{--tblr-gutter-x:3rem}.g-xxl-6,.gy-xxl-6{--tblr-gutter-y:3rem}.g-xxl-7,.gx-xxl-7{--tblr-gutter-x:5rem}.g-xxl-7,.gy-xxl-7{--tblr-gutter-y:5rem}.g-xxl-8,.gx-xxl-8{--tblr-gutter-x:8rem}.g-xxl-8,.gy-xxl-8{--tblr-gutter-y:8rem}}.markdown>table,.table{--tblr-table-color-type:initial;--tblr-table-bg-type:initial;--tblr-table-color-state:initial;--tblr-table-bg-state:initial;--tblr-table-color:inherit;--tblr-table-bg:transparent;--tblr-table-border-color:var(--tblr-border-color-translucent);--tblr-table-accent-bg:transparent;--tblr-table-striped-color:inherit;--tblr-table-striped-bg:var(--tblr-bg-surface-tertiary);--tblr-table-active-color:inherit;--tblr-table-active-bg:rgba(0, 0, 0, .1);--tblr-table-hover-color:inherit;--tblr-table-hover-bg:rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--tblr-table-border-color)}.markdown>table>:not(caption)>*>*,.table>:not(caption)>*>*{padding:.75rem;color:var(--tblr-table-color-state,var(--tblr-table-color-type,var(--tblr-table-color)));background-color:var(--tblr-table-bg);border-bottom-width:var(--tblr-border-width);box-shadow:inset 0 0 0 9999px var(--tblr-table-bg-state,var(--tblr-table-bg-type,var(--tblr-table-accent-bg)))}.markdown>table>tbody,.table>tbody{vertical-align:inherit}.markdown>table>thead,.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--tblr-border-width) * 2) solid var(--tblr-border-color-translucent)}.markdown>table>:not(caption)>*,.table-bordered>:not(caption)>*{border-width:var(--tblr-border-width) 0}.markdown>table>:not(caption)>*>*,.table-bordered>:not(caption)>*>*{border-width:0 var(--tblr-border-width)}.table-striped>tbody>tr:nth-of-type(2n)>*{--tblr-table-color-type:var(--tblr-table-striped-color);--tblr-table-bg-type:var(--tblr-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--tblr-table-color-type:var(--tblr-table-striped-color);--tblr-table-bg-type:var(--tblr-table-striped-bg)}.table-active{--tblr-table-color-state:var(--tblr-table-active-color);--tblr-table-bg-state:var(--tblr-table-active-bg)}.table-hover>tbody>tr:hover>*{--tblr-table-color-state:var(--tblr-table-hover-color);--tblr-table-bg-state:var(--tblr-table-hover-bg)}.table-primary{--tblr-table-color:#182433;--tblr-table-bg:#ccdded;--tblr-table-border-color:#bacbda;--tblr-table-striped-bg:#c3d4e4;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#bacbda;--tblr-table-active-color:#fcfdfe;--tblr-table-hover-bg:#bfcfdf;--tblr-table-hover-color:#fcfdfe;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-secondary{--tblr-table-color:#182433;--tblr-table-bg:#e0e3e6;--tblr-table-border-color:#ccd0d4;--tblr-table-striped-bg:#d6d9dd;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#ccd0d4;--tblr-table-active-color:#fcfdfe;--tblr-table-hover-bg:#d1d5d9;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-success{--tblr-table-color:#182433;--tblr-table-bg:#d5f0da;--tblr-table-border-color:#c2dcc9;--tblr-table-striped-bg:#cce6d2;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#c2dcc9;--tblr-table-active-color:#182433;--tblr-table-hover-bg:#c7e1cd;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-info{--tblr-table-color:#182433;--tblr-table-bg:#d9ebf9;--tblr-table-border-color:#c6d7e5;--tblr-table-striped-bg:#cfe1ef;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#c6d7e5;--tblr-table-active-color:#182433;--tblr-table-hover-bg:#cbdcea;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-warning{--tblr-table-color:#182433;--tblr-table-bg:#fde1cd;--tblr-table-border-color:#e6cebe;--tblr-table-striped-bg:#f2d8c5;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#e6cebe;--tblr-table-active-color:#182433;--tblr-table-hover-bg:#ecd3c1;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-danger{--tblr-table-color:#182433;--tblr-table-bg:#f7d7d7;--tblr-table-border-color:#e1c5c7;--tblr-table-striped-bg:#eccecf;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#e1c5c7;--tblr-table-active-color:#fcfdfe;--tblr-table-hover-bg:#e6cacb;--tblr-table-hover-color:#fcfdfe;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-light{--tblr-table-color:#182433;--tblr-table-bg:#fcfdfe;--tblr-table-border-color:#e5e7ea;--tblr-table-striped-bg:#f1f2f4;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#e5e7ea;--tblr-table-active-color:#182433;--tblr-table-hover-bg:#ebedef;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-dark{--tblr-table-color:#fcfdfe;--tblr-table-bg:#182433;--tblr-table-border-color:#2f3a47;--tblr-table-striped-bg:#232f3d;--tblr-table-striped-color:#fcfdfe;--tblr-table-active-bg:#2f3a47;--tblr-table-active-color:#fcfdfe;--tblr-table-hover-bg:#293442;--tblr-table-hover-color:#fcfdfe;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.form-label{margin-bottom:.5rem;font-size:.875rem;font-weight:var(--tblr-font-weight-medium)}.col-form-label{padding-top:calc(.5625rem + var(--tblr-border-width));padding-bottom:calc(.5625rem + var(--tblr-border-width));margin-bottom:0;font-size:inherit;font-weight:var(--tblr-font-weight-medium);line-height:1.4285714286}.col-form-label-lg{padding-top:calc(.5rem + var(--tblr-border-width));padding-bottom:calc(.5rem + var(--tblr-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.125rem + var(--tblr-border-width));padding-bottom:calc(.125rem + var(--tblr-border-width));font-size:.75rem}.form-text{margin-top:.25rem;font-size:85.714285%;color:var(--tblr-secondary-color)}.form-control{display:block;width:100%;padding:.5625rem .75rem;font-family:var(--tblr-font-sans-serif);font-size:.875rem;font-weight:400;line-height:1.4285714286;color:var(--tblr-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--tblr-bg-forms);background-clip:padding-box;border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-box-shadow-input);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{color:var(--tblr-body-color);background-color:var(--tblr-bg-forms);border-color:#80aad3;outline:0;box-shadow:var(--tblr-box-shadow-input),0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.4285714286em;margin:0}.form-control::-webkit-input-placeholder{color:#929dab;opacity:1}.form-control:-ms-input-placeholder{color:#929dab;opacity:1}.form-control::-ms-input-placeholder{color:#929dab;opacity:1}.form-control::placeholder{color:#929dab;opacity:1}.form-control:disabled{background-color:var(--tblr-bg-surface-secondary);opacity:1}.form-control::-webkit-file-upload-button{padding:.5625rem .75rem;margin:-.5625rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--tblr-body-color);background-color:var(--tblr-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--tblr-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.5625rem .75rem;margin:-.5625rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--tblr-body-color);background-color:var(--tblr-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--tblr-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--tblr-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--tblr-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.5625rem 0;margin-bottom:0;line-height:1.4285714286;color:var(--tblr-body-color);background-color:transparent;border:solid transparent;border-width:var(--tblr-border-width) 0}.form-control-sm{min-height:calc(1.4285714286em + .25rem + calc(var(--tblr-border-width) * 2));padding:.125rem .25rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.125rem .25rem;margin:-.125rem -.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.form-control-sm::file-selector-button{padding:.125rem .25rem;margin:-.125rem -.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.form-control-lg{min-height:calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2));padding:.5rem .75rem;font-size:1.25rem;border-radius:var(--tblr-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem .75rem;margin:-.5rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem}.form-control-lg::file-selector-button{padding:.5rem .75rem;margin:-.5rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem}textarea.form-control{min-height:calc(1.4285714286em + 1.125rem + calc(var(--tblr-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.4285714286em + .25rem + calc(var(--tblr-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.4285714286em + 1.125rem + calc(var(--tblr-border-width) * 2));padding:.5625rem}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--tblr-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--tblr-border-radius)}.form-control-color.form-control-sm{height:calc(1.4285714286em + .25rem + calc(var(--tblr-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2))}.form-select{--tblr-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.5625rem 2.25rem .5625rem .75rem;font-family:var(--tblr-font-sans-serif);font-size:.875rem;font-weight:400;line-height:1.4285714286;color:var(--tblr-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--tblr-bg-forms);background-image:var(--tblr-form-select-bg-img),var(--tblr-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-box-shadow-input);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-select:focus{border-color:#80aad3;outline:0;box-shadow:var(--tblr-box-shadow-input),0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-select:disabled{background-color:var(--tblr-bg-surface-secondary)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--tblr-body-color)}.form-select-sm{padding-top:.125rem;padding-bottom:.125rem;padding-left:.25rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:.75rem;font-size:1.25rem;border-radius:var(--tblr-border-radius-lg)}[data-bs-theme=dark] .form-select,body[data-bs-theme=dark] [data-bs-theme=light] .form-select{--tblr-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fcfdfe' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.25rem;padding-left:2rem;margin-bottom:.75rem}.form-check .form-check-input{float:left;margin-left:-2rem}.form-check-reverse{padding-right:2rem;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-2rem;margin-left:0}.form-check-input{--tblr-form-check-bg:var(--tblr-bg-forms);width:1.25rem;height:1.25rem;margin-top:.0892857143rem;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--tblr-form-check-bg);background-image:var(--tblr-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:var(--tblr-border-radius)}.form-check-input:focus{border-color:#80aad3;outline:0;box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-check-input:checked{background-color:var(--tblr-primary);border-color:var(--tblr-border-color-translucent)}.form-check-input:checked[type=checkbox]{--tblr-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--tblr-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:var(--tblr-primary);border-color:var(--tblr-primary);--tblr-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.7}.form-switch{padding-left:2.5rem}.form-switch .form-check-input{--tblr-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23dadfe5'/%3e%3c/svg%3e");width:2rem;margin-left:-2.5rem;background-image:var(--tblr-form-switch-bg);background-position:left center;border-radius:2rem;transition:background-position .15s ease-in-out}.form-switch .form-check-input:focus{--tblr-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380aad3'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--tblr-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5rem;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5rem;margin-left:0}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.4}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--tblr-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.25rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f6f8fb,0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f6f8fb,0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #fff;border-radius:1rem;box-shadow:0 .1rem .25rem #0000001a;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-range::-webkit-slider-thumb:active{background-color:#b3cce4}.form-range::-webkit-slider-runnable-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem;box-shadow:0 0 transparent}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #fff;border-radius:1rem;box-shadow:0 .1rem .25rem #0000001a;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-range::-moz-range-thumb:active{background-color:#b3cce4}.form-range::-moz-range-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem;box-shadow:0 0 transparent}.form-range:disabled::-webkit-slider-thumb{background-color:var(--tblr-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--tblr-secondary-color)}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--tblr-border-width) * 2));min-height:calc(3.5rem + calc(var(--tblr-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--tblr-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}.form-floating>.form-control-plaintext::-webkit-input-placeholder,.form-floating>.form-control::-webkit-input-placeholder{color:transparent}.form-floating>.form-control-plaintext:-ms-input-placeholder,.form-floating>.form-control:-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::-ms-input-placeholder,.form-floating>.form-control::-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-ms-input-placeholder),.form-floating>.form-control:not(:-ms-input-placeholder){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-ms-input-placeholder)~label{color:rgba(var(--tblr-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--tblr-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:not(:-ms-input-placeholder)~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--tblr-bg-forms);border-radius:var(--tblr-border-radius)}.form-floating>.form-control-plaintext~label:after,.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-select~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--tblr-bg-forms);border-radius:var(--tblr-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--tblr-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--tblr-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#667382}.form-floating>.form-control:disabled~label:after,.form-floating>:disabled~label:after{background-color:var(--tblr-bg-surface-secondary)}.input-group-text{display:flex;align-items:center;padding:.5625rem .75rem;font-size:.875rem;font-weight:400;line-height:1.4285714286;color:var(--tblr-secondary);text-align:center;white-space:nowrap;background-color:var(--tblr-bg-surface-secondary);border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem .75rem;font-size:1.25rem;border-radius:var(--tblr-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.125rem .25rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--tblr-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:85.714285%;color:var(--tblr-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:var(--tblr-spacer-2) var(--tblr-spacer-2);margin-top:.1rem;font-size:.765625rem;color:#fff;background-color:var(--tblr-success);border-radius:var(--tblr-border-radius)}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--tblr-form-valid-border-color);padding-right:calc(1.4285714286em + 1.125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.3571428572em + .28125rem) center;background-size:calc(.7142857143em + .5625rem) calc(.7142857143em + .5625rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--tblr-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.4285714286em + 1.125rem);background-position:top calc(.3571428572em + .28125rem) right calc(.3571428572em + .28125rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--tblr-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--tblr-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.7142857143em + .5625rem) calc(.7142857143em + .5625rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--tblr-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.4285714286em + 1.125rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--tblr-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--tblr-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--tblr-form-valid-color)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:85.714285%;color:var(--tblr-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:var(--tblr-spacer-2) var(--tblr-spacer-2);margin-top:.1rem;font-size:.765625rem;color:#fff;background-color:var(--tblr-danger);border-radius:var(--tblr-border-radius)}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--tblr-form-invalid-border-color);padding-right:calc(1.4285714286em + 1.125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.3571428572em + .28125rem) center;background-size:calc(.7142857143em + .5625rem) calc(.7142857143em + .5625rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--tblr-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.4285714286em + 1.125rem);background-position:top calc(.3571428572em + .28125rem) right calc(.3571428572em + .28125rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--tblr-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--tblr-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.7142857143em + .5625rem) calc(.7142857143em + .5625rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--tblr-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.4285714286em + 1.125rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--tblr-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--tblr-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--tblr-form-invalid-color)}.btn{--tblr-btn-padding-x:1rem;--tblr-btn-padding-y:.5625rem;--tblr-btn-font-family:var(--tblr-font-sans-serif);--tblr-btn-font-size:.875rem;--tblr-btn-font-weight:var(--tblr-font-weight-medium);--tblr-btn-line-height:1.4285714286;--tblr-btn-color:var(--tblr-body-color);--tblr-btn-bg:transparent;--tblr-btn-border-width:var(--tblr-border-width);--tblr-btn-border-color:transparent;--tblr-btn-border-radius:var(--tblr-border-radius);--tblr-btn-hover-border-color:transparent;--tblr-btn-box-shadow:var(--tblr-box-shadow-input);--tblr-btn-disabled-opacity:.4;--tblr-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--tblr-btn-padding-y) var(--tblr-btn-padding-x);font-family:var(--tblr-btn-font-family);font-size:var(--tblr-btn-font-size);font-weight:var(--tblr-btn-font-weight);line-height:var(--tblr-btn-line-height);color:var(--tblr-btn-color);text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-btn-border-width) solid var(--tblr-btn-border-color);border-radius:var(--tblr-btn-border-radius);background-color:var(--tblr-btn-bg);box-shadow:var(--tblr-btn-box-shadow);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.btn:hover{color:var(--tblr-btn-hover-color);text-decoration:none;background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--tblr-btn-color);background-color:var(--tblr-btn-bg);border-color:var(--tblr-btn-border-color)}.btn:focus-visible{color:var(--tblr-btn-hover-color);background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-box-shadow),var(--tblr-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-box-shadow),var(--tblr-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--tblr-btn-active-color);background-color:var(--tblr-btn-active-bg);border-color:var(--tblr-btn-active-border-color);box-shadow:var(--tblr-btn-active-shadow)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--tblr-btn-active-shadow),var(--tblr-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--tblr-btn-disabled-color);pointer-events:none;background-color:var(--tblr-btn-disabled-bg);border-color:var(--tblr-btn-disabled-border-color);opacity:var(--tblr-btn-disabled-opacity);box-shadow:none}.btn-link{--tblr-btn-font-weight:400;--tblr-btn-color:var(--tblr-link-color);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-link-hover-color);--tblr-btn-hover-border-color:transparent;--tblr-btn-active-color:var(--tblr-link-hover-color);--tblr-btn-active-border-color:transparent;--tblr-btn-disabled-color:#667382;--tblr-btn-disabled-border-color:transparent;--tblr-btn-box-shadow:0 0 0 #000;--tblr-btn-focus-shadow-rgb:38,109,179;text-decoration:none}.btn-link:focus-visible,.btn-link:hover{text-decoration:underline}.btn-link:focus-visible{color:var(--tblr-btn-color)}.btn-link:hover{color:var(--tblr-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--tblr-btn-padding-y:.5rem;--tblr-btn-padding-x:.75rem;--tblr-btn-font-size:1.25rem;--tblr-btn-border-radius:var(--tblr-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--tblr-btn-padding-y:.125rem;--tblr-btn-padding-x:.25rem;--tblr-btn-font-size:.75rem;--tblr-btn-border-radius:var(--tblr-border-radius-sm)}.dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(-45deg)}.dropdown-menu{--tblr-dropdown-zindex:1000;--tblr-dropdown-min-width:11rem;--tblr-dropdown-padding-x:0;--tblr-dropdown-padding-y:.25rem;--tblr-dropdown-spacer:1px;--tblr-dropdown-font-size:.875rem;--tblr-dropdown-color:var(--tblr-body-color);--tblr-dropdown-bg:var(--tblr-bg-surface);--tblr-dropdown-border-color:var(--tblr-border-color-translucent);--tblr-dropdown-border-radius:var(--tblr-border-radius);--tblr-dropdown-border-width:var(--tblr-border-width);--tblr-dropdown-inner-border-radius:calc(var(--tblr-border-radius) - var(--tblr-border-width));--tblr-dropdown-divider-bg:var(--tblr-border-color-translucent);--tblr-dropdown-divider-margin-y:var(--tblr-spacer);--tblr-dropdown-box-shadow:var(--tblr-box-shadow-dropdown);--tblr-dropdown-link-color:inherit;--tblr-dropdown-link-hover-color:inherit;--tblr-dropdown-link-hover-bg:rgba(var(--tblr-text-secondary-rgb), .04);--tblr-dropdown-link-active-color:var(--tblr-primary);--tblr-dropdown-link-active-bg:var(--tblr-active-bg);--tblr-dropdown-link-disabled-color:var(--tblr-tertiary-color);--tblr-dropdown-item-padding-x:.75rem;--tblr-dropdown-item-padding-y:.5rem;--tblr-dropdown-header-color:#667382;--tblr-dropdown-header-padding-x:.75rem;--tblr-dropdown-header-padding-y:.25rem;position:absolute;z-index:var(--tblr-dropdown-zindex);display:none;min-width:var(--tblr-dropdown-min-width);padding:var(--tblr-dropdown-padding-y) var(--tblr-dropdown-padding-x);margin:0;font-size:var(--tblr-dropdown-font-size);color:var(--tblr-dropdown-color);text-align:left;list-style:none;background-color:var(--tblr-dropdown-bg);background-clip:padding-box;border:var(--tblr-dropdown-border-width) solid var(--tblr-dropdown-border-color);border-radius:var(--tblr-dropdown-border-radius);box-shadow:var(--tblr-dropdown-box-shadow)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--tblr-dropdown-spacer)}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--tblr-dropdown-spacer)}.dropup .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(135deg)}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--tblr-dropdown-spacer)}.dropend .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(-135deg)}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--tblr-dropdown-spacer)}.dropstart .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(45deg)}.dropdown-divider{height:0;margin:var(--tblr-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--tblr-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--tblr-dropdown-link-color);text-align:inherit;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--tblr-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--tblr-dropdown-link-hover-color);text-decoration:none;background-color:var(--tblr-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--tblr-dropdown-link-active-color);text-decoration:none;background-color:var(--tblr-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--tblr-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-header{display:block;padding:var(--tblr-dropdown-header-padding-y) var(--tblr-dropdown-header-padding-x);margin-bottom:0;font-size:.765625rem;color:var(--tblr-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);color:var(--tblr-dropdown-link-color)}.dropdown-menu-dark{--tblr-dropdown-color:#dadfe5;--tblr-dropdown-bg:#182433;--tblr-dropdown-border-color:var(--tblr-border-color-translucent);--tblr-dropdown-link-color:#dadfe5;--tblr-dropdown-link-hover-color:#ffffff;--tblr-dropdown-divider-bg:var(--tblr-border-color-translucent);--tblr-dropdown-link-hover-bg:rgba(255, 255, 255, .15);--tblr-dropdown-link-active-color:var(--tblr-primary);--tblr-dropdown-link-active-bg:var(--tblr-active-bg);--tblr-dropdown-link-disabled-color:#929dab;--tblr-dropdown-header-color:#929dab}.btn-group{border-radius:var(--tblr-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--tblr-border-width) * -1)}.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.1875rem;padding-left:.1875rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.btn-group.show .dropdown-toggle{box-shadow:inset 0 3px 5px #00000020}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--tblr-border-width) * -1)}.nav{--tblr-nav-link-padding-x:.75rem;--tblr-nav-link-padding-y:.5rem;--tblr-nav-link-color:var(--tblr-secondary);--tblr-nav-link-hover-color:var(--tblr-link-hover-color);--tblr-nav-link-disabled-color:var(--tblr-disabled-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--tblr-nav-link-padding-y) var(--tblr-nav-link-padding-x);font-size:var(--tblr-nav-link-font-size);font-weight:var(--tblr-nav-link-font-weight);color:var(--tblr-nav-link-color);background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.nav-link:focus,.nav-link:hover{color:var(--tblr-nav-link-hover-color);text-decoration:none}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.nav-link.disabled,.nav-link:disabled{color:var(--tblr-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--tblr-nav-tabs-border-width:var(--tblr-border-width);--tblr-nav-tabs-border-color:var(--tblr-border-color);--tblr-nav-tabs-border-radius:var(--tblr-border-radius);--tblr-nav-tabs-link-hover-border-color:var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);--tblr-nav-tabs-link-active-color:var(--tblr-body-color);--tblr-nav-tabs-link-active-bg:var(--tblr-body-bg);--tblr-nav-tabs-link-active-border-color:var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);border-bottom:var(--tblr-nav-tabs-border-width) solid var(--tblr-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--tblr-nav-tabs-border-width));border:var(--tblr-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--tblr-nav-tabs-border-radius);border-top-right-radius:var(--tblr-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--tblr-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--tblr-nav-tabs-link-active-color);background-color:var(--tblr-nav-tabs-link-active-bg);border-color:var(--tblr-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--tblr-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--tblr-nav-pills-border-radius:var(--tblr-border-radius);--tblr-nav-pills-link-active-color:var(--tblr-primary);--tblr-nav-pills-link-active-bg:var(--tblr-active-bg)}.nav-pills .nav-link{border-radius:var(--tblr-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--tblr-nav-pills-link-active-color);background-color:var(--tblr-nav-pills-link-active-bg)}.nav-underline{--tblr-nav-underline-gap:1rem;--tblr-nav-underline-border-width:.125rem;--tblr-nav-underline-link-active-color:var(--tblr-emphasis-color);gap:var(--tblr-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--tblr-nav-underline-border-width) solid transparent}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:600;color:var(--tblr-nav-underline-link-active-color);border-bottom-color:currentcolor}.navbar{--tblr-navbar-padding-x:0;--tblr-navbar-padding-y:.25rem;--tblr-navbar-color:var(--tblr-body-color);--tblr-navbar-hover-color:rgba(var(--tblr-emphasis-color-rgb), .8);--tblr-navbar-disabled-color:var(--tblr-disabled-color);--tblr-navbar-active-color:var(--tblr-body-color) color;--tblr-navbar-brand-padding-y:.5rem;--tblr-navbar-brand-margin-end:1rem;--tblr-navbar-brand-font-size:1.25rem;--tblr-navbar-brand-color:var(--tblr-body-color);--tblr-navbar-brand-hover-color:var(--tblr-body-color) color;--tblr-navbar-nav-link-padding-x:.75rem;--tblr-navbar-toggler-padding-y:0;--tblr-navbar-toggler-padding-x:0;--tblr-navbar-toggler-font-size:1rem;--tblr-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2824, 36, 51, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--tblr-navbar-toggler-border-color:rgba(var(--tblr-emphasis-color-rgb), .15);--tblr-navbar-toggler-border-radius:var(--tblr-border-radius);--tblr-navbar-toggler-focus-width:0;--tblr-navbar-toggler-transition:box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--tblr-navbar-padding-y) var(--tblr-navbar-padding-x)}.navbar-brand{padding-top:var(--tblr-navbar-brand-padding-y);padding-bottom:var(--tblr-navbar-brand-padding-y);margin-right:var(--tblr-navbar-brand-margin-end);font-size:var(--tblr-navbar-brand-font-size);color:var(--tblr-navbar-brand-color);white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--tblr-navbar-brand-hover-color);text-decoration:none}.navbar-nav{--tblr-nav-link-padding-x:0;--tblr-nav-link-padding-y:.5rem;--tblr-nav-link-color:var(--tblr-navbar-color);--tblr-nav-link-hover-color:var(--tblr-navbar-hover-color);--tblr-nav-link-disabled-color:var(--tblr-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--tblr-navbar-active-color)}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--tblr-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--tblr-navbar-active-color)}.navbar-toggler{padding:var(--tblr-navbar-toggler-padding-y) var(--tblr-navbar-toggler-padding-x);font-size:var(--tblr-navbar-toggler-font-size);line-height:1;color:var(--tblr-navbar-color);background-color:transparent;border:var(--tblr-border-width) solid var(--tblr-navbar-toggler-border-color);border-radius:var(--tblr-navbar-toggler-border-radius);transition:var(--tblr-navbar-toggler-transition)}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--tblr-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--tblr-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--tblr-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-dark,.navbar[data-bs-theme=dark],body[data-bs-theme=dark] .navbar[data-bs-theme=light]{--tblr-navbar-color:rgba(255, 255, 255, .7);--tblr-navbar-hover-color:rgba(255, 255, 255, .75);--tblr-navbar-disabled-color:var(--tblr-disabled-color);--tblr-navbar-active-color:#ffffff;--tblr-navbar-brand-color:#ffffff;--tblr-navbar-brand-hover-color:#ffffff;--tblr-navbar-toggler-border-color:rgba(255, 255, 255, .1);--tblr-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon,body[data-bs-theme=dark] [data-bs-theme=light] .navbar-toggler-icon{--tblr-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--tblr-card-spacer-y:1.25rem;--tblr-card-spacer-x:1.25rem;--tblr-card-title-spacer-y:1.25rem;--tblr-card-border-width:var(--tblr-border-width);--tblr-card-border-color:var(--tblr-border-color-translucent);--tblr-card-border-radius:var(--tblr-border-radius);--tblr-card-box-shadow:var(--tblr-shadow-card);--tblr-card-inner-border-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));--tblr-card-cap-padding-y:1.25rem;--tblr-card-cap-padding-x:1.25rem;--tblr-card-cap-bg:var(--tblr-bg-surface-tertiary);--tblr-card-cap-color:inherit;--tblr-card-color:inherit;--tblr-card-bg:var(--tblr-bg-surface);--tblr-card-img-overlay-padding:1rem;--tblr-card-group-margin:1.5rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--tblr-card-height);color:var(--tblr-body-color);word-wrap:break-word;background-color:var(--tblr-card-bg);background-clip:border-box;border:var(--tblr-card-border-width) solid var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius);box-shadow:var(--tblr-card-box-shadow)}.card>.hr,.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--tblr-card-inner-border-radius);border-top-right-radius:var(--tblr-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--tblr-card-inner-border-radius);border-bottom-left-radius:var(--tblr-card-inner-border-radius)}.card-body{flex:1 1 auto;padding:var(--tblr-card-spacer-y) var(--tblr-card-spacer-x);color:var(--tblr-card-color)}.card-title{margin-bottom:var(--tblr-card-title-spacer-y);color:var(--tblr-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--tblr-card-title-spacer-y));margin-bottom:0;color:var(--tblr-card-subtitle-color)}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:var(--tblr-card-spacer-x)}.card-header{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);margin-bottom:0;color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-bottom:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-header:first-child{border-radius:var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0}.card-footer{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-top:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--tblr-card-cap-padding-x));margin-bottom:calc(-1 * var(--tblr-card-cap-padding-y));margin-left:calc(-.5 * var(--tblr-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--tblr-card-bg);border-bottom-color:var(--tblr-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--tblr-card-cap-padding-x));margin-left:calc(-.5 * var(--tblr-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--tblr-card-img-overlay-padding);border-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-top{border-top-left-radius:var(--tblr-card-inner-border-radius);border-top-right-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--tblr-card-inner-border-radius);border-bottom-left-radius:var(--tblr-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--tblr-card-group-margin)}.accordion{--tblr-accordion-color:var(--tblr-body-color);--tblr-accordion-bg:transparent;--tblr-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--tblr-accordion-border-color:var(--tblr-border-color-translucent);--tblr-accordion-border-width:var(--tblr-border-width);--tblr-accordion-border-radius:var(--tblr-border-radius);--tblr-accordion-inner-border-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));--tblr-accordion-btn-padding-x:1.25rem;--tblr-accordion-btn-padding-y:1rem;--tblr-accordion-btn-color:var(--tblr-body-color);--tblr-accordion-btn-bg:transparent;--tblr-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23182433'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--tblr-accordion-btn-icon-width:1rem;--tblr-accordion-btn-icon-transform:rotate(-180deg);--tblr-accordion-btn-icon-transition:transform .2s ease-in-out;--tblr-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002242'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--tblr-accordion-btn-focus-border-color:var(--tblr-border-color-translucent);--tblr-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb), .25);--tblr-accordion-body-padding-x:1.25rem;--tblr-accordion-body-padding-y:1rem;--tblr-accordion-active-color:inherit;--tblr-accordion-active-bg:transparent}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--tblr-accordion-btn-padding-y) var(--tblr-accordion-btn-padding-x);font-size:.875rem;color:var(--tblr-accordion-btn-color);text-align:left;background-color:var(--tblr-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--tblr-accordion-transition)}.accordion-button:not(.collapsed){color:var(--tblr-accordion-active-color);background-color:var(--tblr-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--tblr-accordion-border-width)) 0 var(--tblr-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--tblr-accordion-btn-active-icon);transform:var(--tblr-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--tblr-accordion-btn-icon-width);height:var(--tblr-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--tblr-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--tblr-accordion-btn-icon-width);transition:var(--tblr-accordion-btn-icon-transition)}.accordion-button:focus{z-index:3;border-color:var(--tblr-accordion-btn-focus-border-color);outline:0;box-shadow:var(--tblr-accordion-btn-focus-box-shadow)}.accordion-item{color:var(--tblr-accordion-color);background-color:var(--tblr-accordion-bg);border:var(--tblr-accordion-border-width) solid var(--tblr-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--tblr-accordion-border-radius);border-top-right-radius:var(--tblr-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--tblr-accordion-inner-border-radius);border-top-right-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:last-of-type{border-bottom-right-radius:var(--tblr-accordion-border-radius);border-bottom-left-radius:var(--tblr-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--tblr-accordion-inner-border-radius);border-bottom-left-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--tblr-accordion-border-radius);border-bottom-left-radius:var(--tblr-accordion-border-radius)}.accordion-body{padding:var(--tblr-accordion-body-padding-y) var(--tblr-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--tblr-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236698ca'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--tblr-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236698ca'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--tblr-breadcrumb-padding-x:0;--tblr-breadcrumb-padding-y:0;--tblr-breadcrumb-margin-bottom:1rem;--tblr-breadcrumb-divider-color:var(--tblr-secondary);--tblr-breadcrumb-item-padding-x:.5rem;--tblr-breadcrumb-item-active-color:inherit;display:flex;flex-wrap:wrap;padding:var(--tblr-breadcrumb-padding-y) var(--tblr-breadcrumb-padding-x);margin-bottom:var(--tblr-breadcrumb-margin-bottom);font-size:var(--tblr-breadcrumb-font-size);list-style:none;background-color:var(--tblr-breadcrumb-bg);border-radius:var(--tblr-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--tblr-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--tblr-breadcrumb-item-padding-x);color:var(--tblr-breadcrumb-divider-color);content:var(--tblr-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--tblr-breadcrumb-item-active-color)}.pagination{--tblr-pagination-padding-x:.25rem;--tblr-pagination-padding-y:.25rem;--tblr-pagination-font-size:.875rem;--tblr-pagination-color:var(--tblr-secondary);--tblr-pagination-bg:transparent;--tblr-pagination-border-width:0;--tblr-pagination-border-color:var(--tblr-border-color);--tblr-pagination-border-radius:var(--tblr-border-radius);--tblr-pagination-hover-color:var(--tblr-link-hover-color);--tblr-pagination-hover-bg:var(--tblr-tertiary-bg);--tblr-pagination-hover-border-color:var(--tblr-border-color);--tblr-pagination-focus-color:var(--tblr-link-hover-color);--tblr-pagination-focus-bg:var(--tblr-secondary-bg);--tblr-pagination-focus-box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb), .25);--tblr-pagination-active-color:#ffffff;--tblr-pagination-active-bg:var(--tblr-primary);--tblr-pagination-active-border-color:var(--tblr-primary);--tblr-pagination-disabled-color:var(--tblr-disabled-color);--tblr-pagination-disabled-bg:transparent;--tblr-pagination-disabled-border-color:var(--tblr-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--tblr-pagination-padding-y) var(--tblr-pagination-padding-x);font-size:var(--tblr-pagination-font-size);color:var(--tblr-pagination-color);background-color:var(--tblr-pagination-bg);border:var(--tblr-pagination-border-width) solid var(--tblr-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.page-link:hover{z-index:2;color:var(--tblr-pagination-hover-color);text-decoration:none;background-color:var(--tblr-pagination-hover-bg);border-color:var(--tblr-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--tblr-pagination-focus-color);background-color:var(--tblr-pagination-focus-bg);outline:0;box-shadow:var(--tblr-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--tblr-pagination-active-color);background-color:var(--tblr-pagination-active-bg);border-color:var(--tblr-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--tblr-pagination-disabled-color);pointer-events:none;background-color:var(--tblr-pagination-disabled-bg);border-color:var(--tblr-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-0}.page-item:first-child .page-link{border-top-left-radius:var(--tblr-pagination-border-radius);border-bottom-left-radius:var(--tblr-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--tblr-pagination-border-radius);border-bottom-right-radius:var(--tblr-pagination-border-radius)}.pagination-lg{--tblr-pagination-padding-x:1.5rem;--tblr-pagination-padding-y:.75rem;--tblr-pagination-font-size:1.09375rem;--tblr-pagination-border-radius:var(--tblr-border-radius-lg)}.pagination-sm{--tblr-pagination-padding-x:.5rem;--tblr-pagination-padding-y:.25rem;--tblr-pagination-font-size:.765625rem;--tblr-pagination-border-radius:var(--tblr-border-radius-sm)}.badge{--tblr-badge-padding-x:.5em;--tblr-badge-padding-y:.25em;--tblr-badge-font-size:85.714285%;--tblr-badge-font-weight:var(--tblr-font-weight-medium);--tblr-badge-color:var(--tblr-secondary);--tblr-badge-border-radius:var(--tblr-border-radius);display:inline-block;padding:var(--tblr-badge-padding-y) var(--tblr-badge-padding-x);font-size:var(--tblr-badge-font-size);font-weight:var(--tblr-badge-font-weight);line-height:1;color:var(--tblr-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--tblr-badge-border-radius)}.alert{--tblr-alert-bg:transparent;--tblr-alert-padding-x:1rem;--tblr-alert-padding-y:.75rem;--tblr-alert-margin-bottom:1rem;--tblr-alert-color:inherit;--tblr-alert-border-color:transparent;--tblr-alert-border:var(--tblr-border-width) solid var(--tblr-alert-border-color);--tblr-alert-border-radius:var(--tblr-border-radius);--tblr-alert-link-color:inherit;position:relative;padding:var(--tblr-alert-padding-y) var(--tblr-alert-padding-x);margin-bottom:var(--tblr-alert-margin-bottom);color:var(--tblr-alert-color);background-color:var(--tblr-alert-bg);border:var(--tblr-alert-border);border-radius:var(--tblr-alert-border-radius)}.alert-link{font-weight:var(--tblr-font-weight-bold);color:var(--tblr-alert-link-color)}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:.9375rem 1rem}.alert-primary{--tblr-alert-color:var(--tblr-primary-text-emphasis);--tblr-alert-bg:var(--tblr-primary-bg-subtle);--tblr-alert-border-color:var(--tblr-primary-border-subtle);--tblr-alert-link-color:var(--tblr-primary-text-emphasis)}.alert-secondary{--tblr-alert-color:var(--tblr-secondary-text-emphasis);--tblr-alert-bg:var(--tblr-secondary-bg-subtle);--tblr-alert-border-color:var(--tblr-secondary-border-subtle);--tblr-alert-link-color:var(--tblr-secondary-text-emphasis)}.alert-success{--tblr-alert-color:var(--tblr-success-text-emphasis);--tblr-alert-bg:var(--tblr-success-bg-subtle);--tblr-alert-border-color:var(--tblr-success-border-subtle);--tblr-alert-link-color:var(--tblr-success-text-emphasis)}.alert-info{--tblr-alert-color:var(--tblr-info-text-emphasis);--tblr-alert-bg:var(--tblr-info-bg-subtle);--tblr-alert-border-color:var(--tblr-info-border-subtle);--tblr-alert-link-color:var(--tblr-info-text-emphasis)}.alert-warning{--tblr-alert-color:var(--tblr-warning-text-emphasis);--tblr-alert-bg:var(--tblr-warning-bg-subtle);--tblr-alert-border-color:var(--tblr-warning-border-subtle);--tblr-alert-link-color:var(--tblr-warning-text-emphasis)}.alert-danger{--tblr-alert-color:var(--tblr-danger-text-emphasis);--tblr-alert-bg:var(--tblr-danger-bg-subtle);--tblr-alert-border-color:var(--tblr-danger-border-subtle);--tblr-alert-link-color:var(--tblr-danger-text-emphasis)}.alert-light{--tblr-alert-color:var(--tblr-light-text-emphasis);--tblr-alert-bg:var(--tblr-light-bg-subtle);--tblr-alert-border-color:var(--tblr-light-border-subtle);--tblr-alert-link-color:var(--tblr-light-text-emphasis)}.alert-dark{--tblr-alert-color:var(--tblr-dark-text-emphasis);--tblr-alert-bg:var(--tblr-dark-bg-subtle);--tblr-alert-border-color:var(--tblr-dark-border-subtle);--tblr-alert-link-color:var(--tblr-dark-text-emphasis)}.alert-muted{--tblr-alert-color:var(--tblr-muted-text-emphasis);--tblr-alert-bg:var(--tblr-muted-bg-subtle);--tblr-alert-border-color:var(--tblr-muted-border-subtle);--tblr-alert-link-color:var(--tblr-muted-text-emphasis)}.alert-blue{--tblr-alert-color:var(--tblr-blue-text-emphasis);--tblr-alert-bg:var(--tblr-blue-bg-subtle);--tblr-alert-border-color:var(--tblr-blue-border-subtle);--tblr-alert-link-color:var(--tblr-blue-text-emphasis)}.alert-azure{--tblr-alert-color:var(--tblr-azure-text-emphasis);--tblr-alert-bg:var(--tblr-azure-bg-subtle);--tblr-alert-border-color:var(--tblr-azure-border-subtle);--tblr-alert-link-color:var(--tblr-azure-text-emphasis)}.alert-indigo{--tblr-alert-color:var(--tblr-indigo-text-emphasis);--tblr-alert-bg:var(--tblr-indigo-bg-subtle);--tblr-alert-border-color:var(--tblr-indigo-border-subtle);--tblr-alert-link-color:var(--tblr-indigo-text-emphasis)}.alert-purple{--tblr-alert-color:var(--tblr-purple-text-emphasis);--tblr-alert-bg:var(--tblr-purple-bg-subtle);--tblr-alert-border-color:var(--tblr-purple-border-subtle);--tblr-alert-link-color:var(--tblr-purple-text-emphasis)}.alert-pink{--tblr-alert-color:var(--tblr-pink-text-emphasis);--tblr-alert-bg:var(--tblr-pink-bg-subtle);--tblr-alert-border-color:var(--tblr-pink-border-subtle);--tblr-alert-link-color:var(--tblr-pink-text-emphasis)}.alert-red{--tblr-alert-color:var(--tblr-red-text-emphasis);--tblr-alert-bg:var(--tblr-red-bg-subtle);--tblr-alert-border-color:var(--tblr-red-border-subtle);--tblr-alert-link-color:var(--tblr-red-text-emphasis)}.alert-orange{--tblr-alert-color:var(--tblr-orange-text-emphasis);--tblr-alert-bg:var(--tblr-orange-bg-subtle);--tblr-alert-border-color:var(--tblr-orange-border-subtle);--tblr-alert-link-color:var(--tblr-orange-text-emphasis)}.alert-yellow{--tblr-alert-color:var(--tblr-yellow-text-emphasis);--tblr-alert-bg:var(--tblr-yellow-bg-subtle);--tblr-alert-border-color:var(--tblr-yellow-border-subtle);--tblr-alert-link-color:var(--tblr-yellow-text-emphasis)}.alert-lime{--tblr-alert-color:var(--tblr-lime-text-emphasis);--tblr-alert-bg:var(--tblr-lime-bg-subtle);--tblr-alert-border-color:var(--tblr-lime-border-subtle);--tblr-alert-link-color:var(--tblr-lime-text-emphasis)}.alert-green{--tblr-alert-color:var(--tblr-green-text-emphasis);--tblr-alert-bg:var(--tblr-green-bg-subtle);--tblr-alert-border-color:var(--tblr-green-border-subtle);--tblr-alert-link-color:var(--tblr-green-text-emphasis)}.alert-teal{--tblr-alert-color:var(--tblr-teal-text-emphasis);--tblr-alert-bg:var(--tblr-teal-bg-subtle);--tblr-alert-border-color:var(--tblr-teal-border-subtle);--tblr-alert-link-color:var(--tblr-teal-text-emphasis)}.alert-cyan{--tblr-alert-color:var(--tblr-cyan-text-emphasis);--tblr-alert-bg:var(--tblr-cyan-bg-subtle);--tblr-alert-border-color:var(--tblr-cyan-border-subtle);--tblr-alert-link-color:var(--tblr-cyan-text-emphasis)}.alert-facebook{--tblr-alert-color:var(--tblr-facebook-text-emphasis);--tblr-alert-bg:var(--tblr-facebook-bg-subtle);--tblr-alert-border-color:var(--tblr-facebook-border-subtle);--tblr-alert-link-color:var(--tblr-facebook-text-emphasis)}.alert-twitter{--tblr-alert-color:var(--tblr-twitter-text-emphasis);--tblr-alert-bg:var(--tblr-twitter-bg-subtle);--tblr-alert-border-color:var(--tblr-twitter-border-subtle);--tblr-alert-link-color:var(--tblr-twitter-text-emphasis)}.alert-linkedin{--tblr-alert-color:var(--tblr-linkedin-text-emphasis);--tblr-alert-bg:var(--tblr-linkedin-bg-subtle);--tblr-alert-border-color:var(--tblr-linkedin-border-subtle);--tblr-alert-link-color:var(--tblr-linkedin-text-emphasis)}.alert-google{--tblr-alert-color:var(--tblr-google-text-emphasis);--tblr-alert-bg:var(--tblr-google-bg-subtle);--tblr-alert-border-color:var(--tblr-google-border-subtle);--tblr-alert-link-color:var(--tblr-google-text-emphasis)}.alert-youtube{--tblr-alert-color:var(--tblr-youtube-text-emphasis);--tblr-alert-bg:var(--tblr-youtube-bg-subtle);--tblr-alert-border-color:var(--tblr-youtube-border-subtle);--tblr-alert-link-color:var(--tblr-youtube-text-emphasis)}.alert-vimeo{--tblr-alert-color:var(--tblr-vimeo-text-emphasis);--tblr-alert-bg:var(--tblr-vimeo-bg-subtle);--tblr-alert-border-color:var(--tblr-vimeo-border-subtle);--tblr-alert-link-color:var(--tblr-vimeo-text-emphasis)}.alert-dribbble{--tblr-alert-color:var(--tblr-dribbble-text-emphasis);--tblr-alert-bg:var(--tblr-dribbble-bg-subtle);--tblr-alert-border-color:var(--tblr-dribbble-border-subtle);--tblr-alert-link-color:var(--tblr-dribbble-text-emphasis)}.alert-github{--tblr-alert-color:var(--tblr-github-text-emphasis);--tblr-alert-bg:var(--tblr-github-bg-subtle);--tblr-alert-border-color:var(--tblr-github-border-subtle);--tblr-alert-link-color:var(--tblr-github-text-emphasis)}.alert-instagram{--tblr-alert-color:var(--tblr-instagram-text-emphasis);--tblr-alert-bg:var(--tblr-instagram-bg-subtle);--tblr-alert-border-color:var(--tblr-instagram-border-subtle);--tblr-alert-link-color:var(--tblr-instagram-text-emphasis)}.alert-pinterest{--tblr-alert-color:var(--tblr-pinterest-text-emphasis);--tblr-alert-bg:var(--tblr-pinterest-bg-subtle);--tblr-alert-border-color:var(--tblr-pinterest-border-subtle);--tblr-alert-link-color:var(--tblr-pinterest-text-emphasis)}.alert-vk{--tblr-alert-color:var(--tblr-vk-text-emphasis);--tblr-alert-bg:var(--tblr-vk-bg-subtle);--tblr-alert-border-color:var(--tblr-vk-border-subtle);--tblr-alert-link-color:var(--tblr-vk-text-emphasis)}.alert-rss{--tblr-alert-color:var(--tblr-rss-text-emphasis);--tblr-alert-bg:var(--tblr-rss-bg-subtle);--tblr-alert-border-color:var(--tblr-rss-border-subtle);--tblr-alert-link-color:var(--tblr-rss-text-emphasis)}.alert-flickr{--tblr-alert-color:var(--tblr-flickr-text-emphasis);--tblr-alert-bg:var(--tblr-flickr-bg-subtle);--tblr-alert-border-color:var(--tblr-flickr-border-subtle);--tblr-alert-link-color:var(--tblr-flickr-text-emphasis)}.alert-bitbucket{--tblr-alert-color:var(--tblr-bitbucket-text-emphasis);--tblr-alert-bg:var(--tblr-bitbucket-bg-subtle);--tblr-alert-border-color:var(--tblr-bitbucket-border-subtle);--tblr-alert-link-color:var(--tblr-bitbucket-text-emphasis)}.alert-tabler{--tblr-alert-color:var(--tblr-tabler-text-emphasis);--tblr-alert-bg:var(--tblr-tabler-bg-subtle);--tblr-alert-border-color:var(--tblr-tabler-border-subtle);--tblr-alert-link-color:var(--tblr-tabler-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:.5rem}}.progress,.progress-stacked{--tblr-progress-height:.5rem;--tblr-progress-font-size:.65625rem;--tblr-progress-bg:var(--tblr-border-color);--tblr-progress-border-radius:var(--tblr-border-radius);--tblr-progress-box-shadow:var(--tblr-box-shadow-inset);--tblr-progress-bar-color:#ffffff;--tblr-progress-bar-bg:var(--tblr-primary);--tblr-progress-bar-transition:width .6s ease;display:flex;height:var(--tblr-progress-height);overflow:hidden;font-size:var(--tblr-progress-font-size);background-color:var(--tblr-progress-bg);border-radius:var(--tblr-progress-border-radius);box-shadow:var(--tblr-progress-box-shadow)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--tblr-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--tblr-progress-bar-bg);transition:var(--tblr-progress-bar-transition)}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--tblr-progress-height) var(--tblr-progress-height)}.list-group{--tblr-list-group-color:var(--tblr-body-color);--tblr-list-group-bg:inherit;--tblr-list-group-border-color:var(--tblr-border-color);--tblr-list-group-border-width:var(--tblr-border-width);--tblr-list-group-border-radius:var(--tblr-border-radius);--tblr-list-group-item-padding-x:1.25rem;--tblr-list-group-item-padding-y:1.25rem;--tblr-list-group-action-color:inherit;--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:rgba(var(--tblr-text-secondary-rgb), .04);--tblr-list-group-action-active-color:var(--tblr-body-color);--tblr-list-group-action-active-bg:var(--tblr-secondary-bg);--tblr-list-group-disabled-color:var(--tblr-secondary-color);--tblr-list-group-disabled-bg:inherit;--tblr-list-group-active-color:inherit;--tblr-list-group-active-bg:var(--tblr-active-bg);--tblr-list-group-active-border-color:var(--tblr-border-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--tblr-list-group-border-radius)}.list-group-item-action{width:100%;color:var(--tblr-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--tblr-list-group-action-hover-color);text-decoration:none;background-color:var(--tblr-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--tblr-list-group-action-active-color);background-color:var(--tblr-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--tblr-list-group-item-padding-y) var(--tblr-list-group-item-padding-x);color:var(--tblr-list-group-color);background-color:var(--tblr-list-group-bg);border:var(--tblr-list-group-border-width) solid var(--tblr-list-group-border-color)}.list-group-item.disabled,.list-group-item:disabled{color:var(--tblr-list-group-disabled-color);pointer-events:none;background-color:var(--tblr-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--tblr-list-group-active-color);background-color:var(--tblr-list-group-active-bg);border-color:var(--tblr-list-group-active-border-color)}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--tblr-list-group-border-width));border-top-width:var(--tblr-list-group-border-width)}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}.list-group-flush>.list-group-item{border-width:0 0 var(--tblr-list-group-border-width)}.list-group-item-primary{--tblr-list-group-color:var(--tblr-primary-text-emphasis);--tblr-list-group-bg:var(--tblr-primary-bg-subtle);--tblr-list-group-border-color:var(--tblr-primary-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-primary-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-primary-border-subtle);--tblr-list-group-active-color:var(--tblr-primary-bg-subtle);--tblr-list-group-active-bg:var(--tblr-primary-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-primary-text-emphasis)}.list-group-item-secondary{--tblr-list-group-color:var(--tblr-secondary-text-emphasis);--tblr-list-group-bg:var(--tblr-secondary-bg-subtle);--tblr-list-group-border-color:var(--tblr-secondary-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-secondary-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-secondary-border-subtle);--tblr-list-group-active-color:var(--tblr-secondary-bg-subtle);--tblr-list-group-active-bg:var(--tblr-secondary-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-secondary-text-emphasis)}.list-group-item-success{--tblr-list-group-color:var(--tblr-success-text-emphasis);--tblr-list-group-bg:var(--tblr-success-bg-subtle);--tblr-list-group-border-color:var(--tblr-success-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-success-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-success-border-subtle);--tblr-list-group-active-color:var(--tblr-success-bg-subtle);--tblr-list-group-active-bg:var(--tblr-success-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-success-text-emphasis)}.list-group-item-info{--tblr-list-group-color:var(--tblr-info-text-emphasis);--tblr-list-group-bg:var(--tblr-info-bg-subtle);--tblr-list-group-border-color:var(--tblr-info-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-info-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-info-border-subtle);--tblr-list-group-active-color:var(--tblr-info-bg-subtle);--tblr-list-group-active-bg:var(--tblr-info-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-info-text-emphasis)}.list-group-item-warning{--tblr-list-group-color:var(--tblr-warning-text-emphasis);--tblr-list-group-bg:var(--tblr-warning-bg-subtle);--tblr-list-group-border-color:var(--tblr-warning-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-warning-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-warning-border-subtle);--tblr-list-group-active-color:var(--tblr-warning-bg-subtle);--tblr-list-group-active-bg:var(--tblr-warning-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-warning-text-emphasis)}.list-group-item-danger{--tblr-list-group-color:var(--tblr-danger-text-emphasis);--tblr-list-group-bg:var(--tblr-danger-bg-subtle);--tblr-list-group-border-color:var(--tblr-danger-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-danger-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-danger-border-subtle);--tblr-list-group-active-color:var(--tblr-danger-bg-subtle);--tblr-list-group-active-bg:var(--tblr-danger-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-danger-text-emphasis)}.list-group-item-light{--tblr-list-group-color:var(--tblr-light-text-emphasis);--tblr-list-group-bg:var(--tblr-light-bg-subtle);--tblr-list-group-border-color:var(--tblr-light-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-light-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-light-border-subtle);--tblr-list-group-active-color:var(--tblr-light-bg-subtle);--tblr-list-group-active-bg:var(--tblr-light-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-light-text-emphasis)}.list-group-item-dark{--tblr-list-group-color:var(--tblr-dark-text-emphasis);--tblr-list-group-bg:var(--tblr-dark-bg-subtle);--tblr-list-group-border-color:var(--tblr-dark-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-dark-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-dark-border-subtle);--tblr-list-group-active-color:var(--tblr-dark-bg-subtle);--tblr-list-group-active-bg:var(--tblr-dark-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-dark-text-emphasis)}.list-group-item-muted{--tblr-list-group-color:var(--tblr-muted-text-emphasis);--tblr-list-group-bg:var(--tblr-muted-bg-subtle);--tblr-list-group-border-color:var(--tblr-muted-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-muted-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-muted-border-subtle);--tblr-list-group-active-color:var(--tblr-muted-bg-subtle);--tblr-list-group-active-bg:var(--tblr-muted-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-muted-text-emphasis)}.list-group-item-blue{--tblr-list-group-color:var(--tblr-blue-text-emphasis);--tblr-list-group-bg:var(--tblr-blue-bg-subtle);--tblr-list-group-border-color:var(--tblr-blue-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-blue-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-blue-border-subtle);--tblr-list-group-active-color:var(--tblr-blue-bg-subtle);--tblr-list-group-active-bg:var(--tblr-blue-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-blue-text-emphasis)}.list-group-item-azure{--tblr-list-group-color:var(--tblr-azure-text-emphasis);--tblr-list-group-bg:var(--tblr-azure-bg-subtle);--tblr-list-group-border-color:var(--tblr-azure-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-azure-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-azure-border-subtle);--tblr-list-group-active-color:var(--tblr-azure-bg-subtle);--tblr-list-group-active-bg:var(--tblr-azure-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-azure-text-emphasis)}.list-group-item-indigo{--tblr-list-group-color:var(--tblr-indigo-text-emphasis);--tblr-list-group-bg:var(--tblr-indigo-bg-subtle);--tblr-list-group-border-color:var(--tblr-indigo-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-indigo-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-indigo-border-subtle);--tblr-list-group-active-color:var(--tblr-indigo-bg-subtle);--tblr-list-group-active-bg:var(--tblr-indigo-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-indigo-text-emphasis)}.list-group-item-purple{--tblr-list-group-color:var(--tblr-purple-text-emphasis);--tblr-list-group-bg:var(--tblr-purple-bg-subtle);--tblr-list-group-border-color:var(--tblr-purple-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-purple-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-purple-border-subtle);--tblr-list-group-active-color:var(--tblr-purple-bg-subtle);--tblr-list-group-active-bg:var(--tblr-purple-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-purple-text-emphasis)}.list-group-item-pink{--tblr-list-group-color:var(--tblr-pink-text-emphasis);--tblr-list-group-bg:var(--tblr-pink-bg-subtle);--tblr-list-group-border-color:var(--tblr-pink-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-pink-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-pink-border-subtle);--tblr-list-group-active-color:var(--tblr-pink-bg-subtle);--tblr-list-group-active-bg:var(--tblr-pink-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-pink-text-emphasis)}.list-group-item-red{--tblr-list-group-color:var(--tblr-red-text-emphasis);--tblr-list-group-bg:var(--tblr-red-bg-subtle);--tblr-list-group-border-color:var(--tblr-red-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-red-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-red-border-subtle);--tblr-list-group-active-color:var(--tblr-red-bg-subtle);--tblr-list-group-active-bg:var(--tblr-red-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-red-text-emphasis)}.list-group-item-orange{--tblr-list-group-color:var(--tblr-orange-text-emphasis);--tblr-list-group-bg:var(--tblr-orange-bg-subtle);--tblr-list-group-border-color:var(--tblr-orange-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-orange-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-orange-border-subtle);--tblr-list-group-active-color:var(--tblr-orange-bg-subtle);--tblr-list-group-active-bg:var(--tblr-orange-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-orange-text-emphasis)}.list-group-item-yellow{--tblr-list-group-color:var(--tblr-yellow-text-emphasis);--tblr-list-group-bg:var(--tblr-yellow-bg-subtle);--tblr-list-group-border-color:var(--tblr-yellow-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-yellow-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-yellow-border-subtle);--tblr-list-group-active-color:var(--tblr-yellow-bg-subtle);--tblr-list-group-active-bg:var(--tblr-yellow-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-yellow-text-emphasis)}.list-group-item-lime{--tblr-list-group-color:var(--tblr-lime-text-emphasis);--tblr-list-group-bg:var(--tblr-lime-bg-subtle);--tblr-list-group-border-color:var(--tblr-lime-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-lime-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-lime-border-subtle);--tblr-list-group-active-color:var(--tblr-lime-bg-subtle);--tblr-list-group-active-bg:var(--tblr-lime-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-lime-text-emphasis)}.list-group-item-green{--tblr-list-group-color:var(--tblr-green-text-emphasis);--tblr-list-group-bg:var(--tblr-green-bg-subtle);--tblr-list-group-border-color:var(--tblr-green-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-green-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-green-border-subtle);--tblr-list-group-active-color:var(--tblr-green-bg-subtle);--tblr-list-group-active-bg:var(--tblr-green-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-green-text-emphasis)}.list-group-item-teal{--tblr-list-group-color:var(--tblr-teal-text-emphasis);--tblr-list-group-bg:var(--tblr-teal-bg-subtle);--tblr-list-group-border-color:var(--tblr-teal-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-teal-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-teal-border-subtle);--tblr-list-group-active-color:var(--tblr-teal-bg-subtle);--tblr-list-group-active-bg:var(--tblr-teal-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-teal-text-emphasis)}.list-group-item-cyan{--tblr-list-group-color:var(--tblr-cyan-text-emphasis);--tblr-list-group-bg:var(--tblr-cyan-bg-subtle);--tblr-list-group-border-color:var(--tblr-cyan-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-cyan-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-cyan-border-subtle);--tblr-list-group-active-color:var(--tblr-cyan-bg-subtle);--tblr-list-group-active-bg:var(--tblr-cyan-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-cyan-text-emphasis)}.list-group-item-facebook{--tblr-list-group-color:var(--tblr-facebook-text-emphasis);--tblr-list-group-bg:var(--tblr-facebook-bg-subtle);--tblr-list-group-border-color:var(--tblr-facebook-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-facebook-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-facebook-border-subtle);--tblr-list-group-active-color:var(--tblr-facebook-bg-subtle);--tblr-list-group-active-bg:var(--tblr-facebook-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-facebook-text-emphasis)}.list-group-item-twitter{--tblr-list-group-color:var(--tblr-twitter-text-emphasis);--tblr-list-group-bg:var(--tblr-twitter-bg-subtle);--tblr-list-group-border-color:var(--tblr-twitter-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-twitter-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-twitter-border-subtle);--tblr-list-group-active-color:var(--tblr-twitter-bg-subtle);--tblr-list-group-active-bg:var(--tblr-twitter-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-twitter-text-emphasis)}.list-group-item-linkedin{--tblr-list-group-color:var(--tblr-linkedin-text-emphasis);--tblr-list-group-bg:var(--tblr-linkedin-bg-subtle);--tblr-list-group-border-color:var(--tblr-linkedin-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-linkedin-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-linkedin-border-subtle);--tblr-list-group-active-color:var(--tblr-linkedin-bg-subtle);--tblr-list-group-active-bg:var(--tblr-linkedin-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-linkedin-text-emphasis)}.list-group-item-google{--tblr-list-group-color:var(--tblr-google-text-emphasis);--tblr-list-group-bg:var(--tblr-google-bg-subtle);--tblr-list-group-border-color:var(--tblr-google-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-google-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-google-border-subtle);--tblr-list-group-active-color:var(--tblr-google-bg-subtle);--tblr-list-group-active-bg:var(--tblr-google-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-google-text-emphasis)}.list-group-item-youtube{--tblr-list-group-color:var(--tblr-youtube-text-emphasis);--tblr-list-group-bg:var(--tblr-youtube-bg-subtle);--tblr-list-group-border-color:var(--tblr-youtube-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-youtube-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-youtube-border-subtle);--tblr-list-group-active-color:var(--tblr-youtube-bg-subtle);--tblr-list-group-active-bg:var(--tblr-youtube-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-youtube-text-emphasis)}.list-group-item-vimeo{--tblr-list-group-color:var(--tblr-vimeo-text-emphasis);--tblr-list-group-bg:var(--tblr-vimeo-bg-subtle);--tblr-list-group-border-color:var(--tblr-vimeo-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-vimeo-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-vimeo-border-subtle);--tblr-list-group-active-color:var(--tblr-vimeo-bg-subtle);--tblr-list-group-active-bg:var(--tblr-vimeo-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-vimeo-text-emphasis)}.list-group-item-dribbble{--tblr-list-group-color:var(--tblr-dribbble-text-emphasis);--tblr-list-group-bg:var(--tblr-dribbble-bg-subtle);--tblr-list-group-border-color:var(--tblr-dribbble-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-dribbble-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-dribbble-border-subtle);--tblr-list-group-active-color:var(--tblr-dribbble-bg-subtle);--tblr-list-group-active-bg:var(--tblr-dribbble-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-dribbble-text-emphasis)}.list-group-item-github{--tblr-list-group-color:var(--tblr-github-text-emphasis);--tblr-list-group-bg:var(--tblr-github-bg-subtle);--tblr-list-group-border-color:var(--tblr-github-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-github-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-github-border-subtle);--tblr-list-group-active-color:var(--tblr-github-bg-subtle);--tblr-list-group-active-bg:var(--tblr-github-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-github-text-emphasis)}.list-group-item-instagram{--tblr-list-group-color:var(--tblr-instagram-text-emphasis);--tblr-list-group-bg:var(--tblr-instagram-bg-subtle);--tblr-list-group-border-color:var(--tblr-instagram-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-instagram-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-instagram-border-subtle);--tblr-list-group-active-color:var(--tblr-instagram-bg-subtle);--tblr-list-group-active-bg:var(--tblr-instagram-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-instagram-text-emphasis)}.list-group-item-pinterest{--tblr-list-group-color:var(--tblr-pinterest-text-emphasis);--tblr-list-group-bg:var(--tblr-pinterest-bg-subtle);--tblr-list-group-border-color:var(--tblr-pinterest-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-pinterest-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-pinterest-border-subtle);--tblr-list-group-active-color:var(--tblr-pinterest-bg-subtle);--tblr-list-group-active-bg:var(--tblr-pinterest-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-pinterest-text-emphasis)}.list-group-item-vk{--tblr-list-group-color:var(--tblr-vk-text-emphasis);--tblr-list-group-bg:var(--tblr-vk-bg-subtle);--tblr-list-group-border-color:var(--tblr-vk-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-vk-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-vk-border-subtle);--tblr-list-group-active-color:var(--tblr-vk-bg-subtle);--tblr-list-group-active-bg:var(--tblr-vk-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-vk-text-emphasis)}.list-group-item-rss{--tblr-list-group-color:var(--tblr-rss-text-emphasis);--tblr-list-group-bg:var(--tblr-rss-bg-subtle);--tblr-list-group-border-color:var(--tblr-rss-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-rss-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-rss-border-subtle);--tblr-list-group-active-color:var(--tblr-rss-bg-subtle);--tblr-list-group-active-bg:var(--tblr-rss-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-rss-text-emphasis)}.list-group-item-flickr{--tblr-list-group-color:var(--tblr-flickr-text-emphasis);--tblr-list-group-bg:var(--tblr-flickr-bg-subtle);--tblr-list-group-border-color:var(--tblr-flickr-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-flickr-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-flickr-border-subtle);--tblr-list-group-active-color:var(--tblr-flickr-bg-subtle);--tblr-list-group-active-bg:var(--tblr-flickr-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-flickr-text-emphasis)}.list-group-item-bitbucket{--tblr-list-group-color:var(--tblr-bitbucket-text-emphasis);--tblr-list-group-bg:var(--tblr-bitbucket-bg-subtle);--tblr-list-group-border-color:var(--tblr-bitbucket-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-bitbucket-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-bitbucket-border-subtle);--tblr-list-group-active-color:var(--tblr-bitbucket-bg-subtle);--tblr-list-group-active-bg:var(--tblr-bitbucket-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-bitbucket-text-emphasis)}.list-group-item-tabler{--tblr-list-group-color:var(--tblr-tabler-text-emphasis);--tblr-list-group-bg:var(--tblr-tabler-bg-subtle);--tblr-list-group-border-color:var(--tblr-tabler-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-tabler-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-tabler-border-subtle);--tblr-list-group-active-color:var(--tblr-tabler-bg-subtle);--tblr-list-group-active-bg:var(--tblr-tabler-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-tabler-text-emphasis)}.btn-close{--tblr-btn-close-color:#182433;--tblr-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23182433'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--tblr-btn-close-opacity:.4;--tblr-btn-close-hover-opacity:.75;--tblr-btn-close-focus-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb), .25);--tblr-btn-close-focus-opacity:1;--tblr-btn-close-disabled-opacity:.25;--tblr-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--tblr-btn-close-color);background:transparent var(--tblr-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:4px;opacity:var(--tblr-btn-close-opacity)}.btn-close:hover{color:var(--tblr-btn-close-color);text-decoration:none;opacity:var(--tblr-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--tblr-btn-close-focus-shadow);opacity:var(--tblr-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:var(--tblr-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close,body[data-bs-theme=dark] [data-bs-theme=light] .btn-close{filter:var(--tblr-btn-close-white-filter)}.toast{--tblr-toast-zindex:1090;--tblr-toast-padding-x:.75rem;--tblr-toast-padding-y:.5rem;--tblr-toast-spacing:calc(var(--tblr-page-padding) * 2);--tblr-toast-max-width:350px;--tblr-toast-font-size:.875rem;--tblr-toast-bg:rgba(var(--tblr-body-bg-rgb), .85);--tblr-toast-border-width:var(--tblr-border-width);--tblr-toast-border-color:var(--tblr-border-color);--tblr-toast-border-radius:var(--tblr-border-radius);--tblr-toast-box-shadow:var(--tblr-box-shadow);--tblr-toast-header-color:var(--tblr-secondary);--tblr-toast-header-bg:rgba(var(--tblr-body-bg-rgb), .85);--tblr-toast-header-border-color:var(--tblr-border-color);width:var(--tblr-toast-max-width);max-width:100%;font-size:var(--tblr-toast-font-size);color:var(--tblr-toast-color);pointer-events:auto;background-color:var(--tblr-toast-bg);background-clip:padding-box;border:var(--tblr-toast-border-width) solid var(--tblr-toast-border-color);box-shadow:var(--tblr-toast-box-shadow);border-radius:var(--tblr-toast-border-radius)}.toast-container{--tblr-toast-zindex:1090;position:absolute;z-index:var(--tblr-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--tblr-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--tblr-toast-padding-y) var(--tblr-toast-padding-x);color:var(--tblr-toast-header-color);background-color:var(--tblr-toast-header-bg);background-clip:padding-box;border-bottom:var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color);border-top-left-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width));border-top-right-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--tblr-toast-padding-x));margin-left:var(--tblr-toast-padding-x)}.toast-body{padding:var(--tblr-toast-padding-x);word-wrap:break-word}.modal{--tblr-modal-zindex:1055;--tblr-modal-width:540px;--tblr-modal-padding:1.5rem;--tblr-modal-margin:.5rem;--tblr-modal-bg:var(--tblr-bg-surface);--tblr-modal-border-color:transparent;--tblr-modal-border-width:var(--tblr-border-width);--tblr-modal-border-radius:var(--tblr-border-radius-lg);--tblr-modal-box-shadow:0 .125rem .25rem rgba(0, 0, 0, .075);--tblr-modal-inner-border-radius:calc(var(--tblr-modal-border-radius) - 1px);--tblr-modal-header-padding-x:1.5rem;--tblr-modal-header-padding-y:1.5rem;--tblr-modal-header-padding:1.5rem;--tblr-modal-header-border-color:var(--tblr-border-color);--tblr-modal-header-border-width:var(--tblr-border-width);--tblr-modal-title-line-height:1.4285714286;--tblr-modal-footer-gap:.75rem;--tblr-modal-footer-bg:var(--tblr-bg-surface-tertiary);--tblr-modal-footer-border-color:var(--tblr-border-color);--tblr-modal-footer-border-width:var(--tblr-border-width);position:fixed;top:0;left:0;z-index:var(--tblr-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--tblr-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-1rem)}.modal-dialog-scrollable{height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--tblr-modal-color);pointer-events:auto;background-color:var(--tblr-modal-bg);background-clip:padding-box;border:var(--tblr-modal-border-width) solid var(--tblr-modal-border-color);border-radius:var(--tblr-modal-border-radius);box-shadow:var(--tblr-modal-box-shadow);outline:0}.modal-backdrop{--tblr-backdrop-zindex:1050;--tblr-backdrop-bg:#182433;--tblr-backdrop-opacity:.24;position:fixed;top:0;left:0;z-index:var(--tblr-backdrop-zindex);width:100vw;height:100vh;background-color:var(--tblr-backdrop-bg)}.modal-backdrop.show{opacity:var(--tblr-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--tblr-modal-header-padding);border-bottom:var(--tblr-modal-header-border-width) solid var(--tblr-modal-header-border-color);border-top-left-radius:var(--tblr-modal-inner-border-radius);border-top-right-radius:var(--tblr-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--tblr-modal-header-padding-y) * .5) calc(var(--tblr-modal-header-padding-x) * .5);margin:calc(-.5 * var(--tblr-modal-header-padding-y)) calc(-.5 * var(--tblr-modal-header-padding-x)) calc(-.5 * var(--tblr-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--tblr-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--tblr-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--tblr-modal-padding) - var(--tblr-modal-footer-gap) * .5);background-color:var(--tblr-modal-footer-bg);border-top:var(--tblr-modal-footer-border-width) solid var(--tblr-modal-footer-border-color);border-bottom-right-radius:var(--tblr-modal-inner-border-radius);border-bottom-left-radius:var(--tblr-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--tblr-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--tblr-modal-margin:1.75rem;--tblr-modal-box-shadow:rgba(var(--tblr-body-color-rgb), .04) 0 2px 4px 0}.modal-dialog{max-width:var(--tblr-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--tblr-modal-width:380px}}@media (min-width:992px){.modal-lg,.modal-xl{--tblr-modal-width:720px}}@media (min-width:1200px){.modal-xl{--tblr-modal-width:1140px}}.tooltip{--tblr-tooltip-zindex:1080;--tblr-tooltip-max-width:200px;--tblr-tooltip-padding-x:var(--tblr-spacer-2);--tblr-tooltip-padding-y:var(--tblr-spacer-2);--tblr-tooltip-font-size:.765625rem;--tblr-tooltip-color:var(--tblr-light);--tblr-tooltip-bg:var(--tblr-bg-surface-dark);--tblr-tooltip-border-radius:var(--tblr-border-radius);--tblr-tooltip-opacity:.9;--tblr-tooltip-arrow-width:.8rem;--tblr-tooltip-arrow-height:.4rem;z-index:var(--tblr-tooltip-zindex);display:block;margin:var(--tblr-tooltip-margin);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--tblr-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--tblr-tooltip-arrow-width);height:var(--tblr-tooltip-arrow-height)}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--tblr-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-top-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--tblr-tooltip-arrow-height));width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-right-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--tblr-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-bottom-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--tblr-tooltip-arrow-height));width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) 0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-left-color:var(--tblr-tooltip-bg)}.tooltip-inner{max-width:var(--tblr-tooltip-max-width);padding:var(--tblr-tooltip-padding-y) var(--tblr-tooltip-padding-x);color:var(--tblr-tooltip-color);text-align:center;background-color:var(--tblr-tooltip-bg);border-radius:var(--tblr-tooltip-border-radius)}.popover{--tblr-popover-zindex:1070;--tblr-popover-max-width:276px;--tblr-popover-font-size:.765625rem;--tblr-popover-bg:var(--tblr-bg-surface);--tblr-popover-border-width:var(--tblr-border-width);--tblr-popover-border-color:var(--tblr-border-color);--tblr-popover-border-radius:var(--tblr-border-radius-lg);--tblr-popover-inner-border-radius:calc(var(--tblr-border-radius-lg) - var(--tblr-border-width));--tblr-popover-box-shadow:rgba(var(--tblr-body-color-rgb), .04) 0 2px 4px 0;--tblr-popover-header-padding-x:1rem;--tblr-popover-header-padding-y:.5rem;--tblr-popover-header-font-size:.875rem;--tblr-popover-header-color:inherit;--tblr-popover-header-bg:transparent;--tblr-popover-body-padding-x:1rem;--tblr-popover-body-padding-y:1rem;--tblr-popover-body-color:inherit;--tblr-popover-arrow-width:1rem;--tblr-popover-arrow-height:.5rem;--tblr-popover-arrow-border:var(--tblr-popover-border-color);z-index:var(--tblr-popover-zindex);display:block;max-width:var(--tblr-popover-max-width);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-popover-font-size);word-wrap:break-word;background-color:var(--tblr-popover-bg);background-clip:padding-box;border:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-radius:var(--tblr-popover-border-radius);box-shadow:var(--tblr-popover-box-shadow)}.popover .popover-arrow{display:block;width:var(--tblr-popover-arrow-width);height:var(--tblr-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{bottom:0;border-top-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{bottom:var(--tblr-popover-border-width);border-top-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{left:0;border-right-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{left:var(--tblr-popover-border-width);border-right-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{top:0;border-bottom-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{top:var(--tblr-popover-border-width);border-bottom-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--tblr-popover-arrow-width);margin-left:calc(-.5 * var(--tblr-popover-arrow-width));content:"";border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--tblr-popover-arrow-width) * .5) 0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{right:0;border-left-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{right:var(--tblr-popover-border-width);border-left-color:var(--tblr-popover-bg)}.popover-header{padding:var(--tblr-popover-header-padding-y) var(--tblr-popover-header-padding-x);margin-bottom:0;font-size:var(--tblr-popover-header-font-size);color:var(--tblr-popover-header-color);background-color:var(--tblr-popover-header-bg);border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-top-left-radius:var(--tblr-popover-inner-border-radius);border-top-right-radius:var(--tblr-popover-inner-border-radius)}.popover-body{padding:var(--tblr-popover-body-padding-y) var(--tblr-popover-body-padding-x);color:var(--tblr-popover-body-color)}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:1.5rem;height:1.5rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e")}.spinner-border,.spinner-grow{display:inline-block;width:var(--tblr-spinner-width);height:var(--tblr-spinner-height);vertical-align:var(--tblr-spinner-vertical-align);border-radius:50%;animation:var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name)}.spinner-border{--tblr-spinner-width:1.5rem;--tblr-spinner-height:1.5rem;--tblr-spinner-vertical-align:-.125em;--tblr-spinner-border-width:2px;--tblr-spinner-animation-speed:.75s;--tblr-spinner-animation-name:spinner-border;border:var(--tblr-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--tblr-spinner-width:1rem;--tblr-spinner-height:1rem;--tblr-spinner-border-width:1px}.spinner-grow{--tblr-spinner-width:1.5rem;--tblr-spinner-height:1.5rem;--tblr-spinner-vertical-align:-.125em;--tblr-spinner-animation-speed:.75s;--tblr-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--tblr-spinner-width:1rem;--tblr-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--tblr-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--tblr-offcanvas-zindex:1045;--tblr-offcanvas-width:400px;--tblr-offcanvas-height:30vh;--tblr-offcanvas-padding-x:1.5rem;--tblr-offcanvas-padding-y:1.5rem;--tblr-offcanvas-color:var(--tblr-body-color);--tblr-offcanvas-bg:var(--tblr-bg-surface);--tblr-offcanvas-border-width:var(--tblr-border-width);--tblr-offcanvas-border-color:var(--tblr-border-color);--tblr-offcanvas-box-shadow:0 .125rem .25rem rgba(0, 0, 0, .075);--tblr-offcanvas-transition:transform .3s ease-in-out;--tblr-offcanvas-title-line-height:1.4285714286}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}.offcanvas.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#182433}.offcanvas-backdrop.show{opacity:.24}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--tblr-offcanvas-padding-y) * .5) calc(var(--tblr-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--tblr-offcanvas-padding-y));margin-right:calc(-.5 * var(--tblr-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--tblr-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--tblr-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.2}@keyframes placeholder-glow{50%{opacity:.1}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.9) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000000e6,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0;mask-position:-200% 0}}.text-bg-primary{color:#fcfdfe!important;background-color:RGBA(var(--tblr-primary-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-secondary{color:#fcfdfe!important;background-color:RGBA(var(--tblr-secondary-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-success{color:#fcfdfe!important;background-color:RGBA(var(--tblr-success-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-info{color:#fcfdfe!important;background-color:RGBA(var(--tblr-info-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-warning{color:#fcfdfe!important;background-color:RGBA(var(--tblr-warning-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-danger{color:#fcfdfe!important;background-color:RGBA(var(--tblr-danger-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-light{color:#182433!important;background-color:RGBA(var(--tblr-light-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-dark{color:#fcfdfe!important;background-color:RGBA(var(--tblr-dark-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-muted{color:#fcfdfe!important;background-color:RGBA(var(--tblr-muted-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-blue{color:#fcfdfe!important;background-color:RGBA(var(--tblr-blue-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-azure{color:#fcfdfe!important;background-color:RGBA(var(--tblr-azure-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-indigo{color:#fcfdfe!important;background-color:RGBA(var(--tblr-indigo-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-purple{color:#fcfdfe!important;background-color:RGBA(var(--tblr-purple-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-pink{color:#fcfdfe!important;background-color:RGBA(var(--tblr-pink-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-red{color:#fcfdfe!important;background-color:RGBA(var(--tblr-red-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-orange{color:#fcfdfe!important;background-color:RGBA(var(--tblr-orange-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-yellow{color:#fcfdfe!important;background-color:RGBA(var(--tblr-yellow-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-lime{color:#fcfdfe!important;background-color:RGBA(var(--tblr-lime-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-green{color:#fcfdfe!important;background-color:RGBA(var(--tblr-green-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-teal{color:#fcfdfe!important;background-color:RGBA(var(--tblr-teal-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-cyan{color:#fcfdfe!important;background-color:RGBA(var(--tblr-cyan-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-facebook{color:#fcfdfe!important;background-color:RGBA(var(--tblr-facebook-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-twitter{color:#fcfdfe!important;background-color:RGBA(var(--tblr-twitter-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-linkedin{color:#fcfdfe!important;background-color:RGBA(var(--tblr-linkedin-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-google{color:#fcfdfe!important;background-color:RGBA(var(--tblr-google-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-youtube{color:#fcfdfe!important;background-color:RGBA(var(--tblr-youtube-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-vimeo{color:#fcfdfe!important;background-color:RGBA(var(--tblr-vimeo-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-dribbble{color:#fcfdfe!important;background-color:RGBA(var(--tblr-dribbble-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-github{color:#fcfdfe!important;background-color:RGBA(var(--tblr-github-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-instagram{color:#fcfdfe!important;background-color:RGBA(var(--tblr-instagram-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-pinterest{color:#fcfdfe!important;background-color:RGBA(var(--tblr-pinterest-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-vk{color:#fcfdfe!important;background-color:RGBA(var(--tblr-vk-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-rss{color:#fcfdfe!important;background-color:RGBA(var(--tblr-rss-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-flickr{color:#fcfdfe!important;background-color:RGBA(var(--tblr-flickr-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-bitbucket{color:#fcfdfe!important;background-color:RGBA(var(--tblr-bitbucket-rgb),var(--tblr-bg-opacity,1))!important}.text-bg-tabler{color:#fcfdfe!important;background-color:RGBA(var(--tblr-tabler-rgb),var(--tblr-bg-opacity,1))!important}.link-primary{color:RGBA(var(--tblr-primary-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(0,67,133,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(0,67,133,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(0,67,133,var(--tblr-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--tblr-secondary-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(82,92,104,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(82,92,104,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(82,92,104,var(--tblr-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--tblr-success-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-success-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-success-rgb),var(--tblr-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(38,143,54,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--tblr-info-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-info-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-info-rgb),var(--tblr-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(53,122,180,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--tblr-warning-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(198,82,6,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--tblr-danger-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(171,46,46,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--tblr-light-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-light-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-light-rgb),var(--tblr-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(253,253,254,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(253,253,254,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(253,253,254,var(--tblr-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--tblr-dark-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(19,29,41,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(19,29,41,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(19,29,41,var(--tblr-link-underline-opacity,1))!important}.link-muted{color:RGBA(var(--tblr-muted-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity,1))!important}.link-muted:focus,.link-muted:hover{color:RGBA(82,92,104,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(82,92,104,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(82,92,104,var(--tblr-link-underline-opacity,1))!important}.link-blue{color:RGBA(var(--tblr-blue-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity,1))!important}.link-blue:focus,.link-blue:hover{color:RGBA(0,67,133,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(0,67,133,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(0,67,133,var(--tblr-link-underline-opacity,1))!important}.link-azure{color:RGBA(var(--tblr-azure-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity,1))!important}.link-azure:focus,.link-azure:hover{color:RGBA(53,122,180,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity,1))!important}.link-indigo{color:RGBA(var(--tblr-indigo-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity,1))!important}.link-indigo:focus,.link-indigo:hover{color:RGBA(53,79,188,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(53,79,188,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(53,79,188,var(--tblr-link-underline-opacity,1))!important}.link-purple{color:RGBA(var(--tblr-purple-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity,1))!important}.link-purple:focus,.link-purple:hover{color:RGBA(139,50,161,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(139,50,161,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(139,50,161,var(--tblr-link-underline-opacity,1))!important}.link-pink{color:RGBA(var(--tblr-pink-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity,1))!important}.link-pink:focus,.link-pink:hover{color:RGBA(171,41,86,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(171,41,86,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(171,41,86,var(--tblr-link-underline-opacity,1))!important}.link-red{color:RGBA(var(--tblr-red-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-red-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-red-rgb),var(--tblr-link-underline-opacity,1))!important}.link-red:focus,.link-red:hover{color:RGBA(171,46,46,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity,1))!important}.link-orange{color:RGBA(var(--tblr-orange-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity,1))!important}.link-orange:focus,.link-orange:hover{color:RGBA(198,82,6,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity,1))!important}.link-yellow{color:RGBA(var(--tblr-yellow-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity,1))!important}.link-yellow:focus,.link-yellow:hover{color:RGBA(196,127,0,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(196,127,0,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(196,127,0,var(--tblr-link-underline-opacity,1))!important}.link-lime{color:RGBA(var(--tblr-lime-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity,1))!important}.link-lime:focus,.link-lime:hover{color:RGBA(93,147,18,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(93,147,18,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(93,147,18,var(--tblr-link-underline-opacity,1))!important}.link-green{color:RGBA(var(--tblr-green-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-green-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-green-rgb),var(--tblr-link-underline-opacity,1))!important}.link-green:focus,.link-green:hover{color:RGBA(38,143,54,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity,1))!important}.link-teal{color:RGBA(var(--tblr-teal-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity,1))!important}.link-teal:focus,.link-teal:hover{color:RGBA(10,133,96,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,133,96,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,133,96,var(--tblr-link-underline-opacity,1))!important}.link-cyan{color:RGBA(var(--tblr-cyan-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity,1))!important}.link-cyan:focus,.link-cyan:hover{color:RGBA(18,130,147,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(18,130,147,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(18,130,147,var(--tblr-link-underline-opacity,1))!important}.link-facebook{color:RGBA(var(--tblr-facebook-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-facebook-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-facebook-rgb),var(--tblr-link-underline-opacity,1))!important}.link-facebook:focus,.link-facebook:hover{color:RGBA(19,95,194,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(19,95,194,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(19,95,194,var(--tblr-link-underline-opacity,1))!important}.link-twitter{color:RGBA(var(--tblr-twitter-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-twitter-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-twitter-rgb),var(--tblr-link-underline-opacity,1))!important}.link-twitter:focus,.link-twitter:hover{color:RGBA(23,129,194,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(23,129,194,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(23,129,194,var(--tblr-link-underline-opacity,1))!important}.link-linkedin{color:RGBA(var(--tblr-linkedin-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-linkedin-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-linkedin-rgb),var(--tblr-link-underline-opacity,1))!important}.link-linkedin:focus,.link-linkedin:hover{color:RGBA(8,82,155,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(8,82,155,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(8,82,155,var(--tblr-link-underline-opacity,1))!important}.link-google{color:RGBA(var(--tblr-google-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-google-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-google-rgb),var(--tblr-link-underline-opacity,1))!important}.link-google:focus,.link-google:hover{color:RGBA(176,62,52,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,62,52,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,62,52,var(--tblr-link-underline-opacity,1))!important}.link-youtube{color:RGBA(var(--tblr-youtube-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-youtube-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-youtube-rgb),var(--tblr-link-underline-opacity,1))!important}.link-youtube:focus,.link-youtube:hover{color:RGBA(204,0,0,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(204,0,0,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(204,0,0,var(--tblr-link-underline-opacity,1))!important}.link-vimeo{color:RGBA(var(--tblr-vimeo-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-vimeo-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-vimeo-rgb),var(--tblr-link-underline-opacity,1))!important}.link-vimeo:focus,.link-vimeo:hover{color:RGBA(21,146,187,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(21,146,187,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(21,146,187,var(--tblr-link-underline-opacity,1))!important}.link-dribbble{color:RGBA(var(--tblr-dribbble-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-dribbble-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-dribbble-rgb),var(--tblr-link-underline-opacity,1))!important}.link-dribbble:focus,.link-dribbble:hover{color:RGBA(187,61,110,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(187,61,110,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(187,61,110,var(--tblr-link-underline-opacity,1))!important}.link-github{color:RGBA(var(--tblr-github-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-github-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-github-rgb),var(--tblr-link-underline-opacity,1))!important}.link-github:focus,.link-github:hover{color:RGBA(19,18,18,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(19,18,18,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(19,18,18,var(--tblr-link-underline-opacity,1))!important}.link-instagram{color:RGBA(var(--tblr-instagram-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-instagram-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-instagram-rgb),var(--tblr-link-underline-opacity,1))!important}.link-instagram:focus,.link-instagram:hover{color:RGBA(182,51,76,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(182,51,76,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(182,51,76,var(--tblr-link-underline-opacity,1))!important}.link-pinterest{color:RGBA(var(--tblr-pinterest-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-pinterest-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-pinterest-rgb),var(--tblr-link-underline-opacity,1))!important}.link-pinterest:focus,.link-pinterest:hover{color:RGBA(151,6,22,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(151,6,22,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(151,6,22,var(--tblr-link-underline-opacity,1))!important}.link-vk{color:RGBA(var(--tblr-vk-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-vk-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-vk-rgb),var(--tblr-link-underline-opacity,1))!important}.link-vk:focus,.link-vk:hover{color:RGBA(79,105,134,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(79,105,134,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(79,105,134,var(--tblr-link-underline-opacity,1))!important}.link-rss{color:RGBA(var(--tblr-rss-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-rss-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-rss-rgb),var(--tblr-link-underline-opacity,1))!important}.link-rss:focus,.link-rss:hover{color:RGBA(204,132,0,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(204,132,0,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(204,132,0,var(--tblr-link-underline-opacity,1))!important}.link-flickr{color:RGBA(var(--tblr-flickr-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-flickr-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-flickr-rgb),var(--tblr-link-underline-opacity,1))!important}.link-flickr:focus,.link-flickr:hover{color:RGBA(0,79,176,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(0,79,176,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(0,79,176,var(--tblr-link-underline-opacity,1))!important}.link-bitbucket{color:RGBA(var(--tblr-bitbucket-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-bitbucket-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-bitbucket-rgb),var(--tblr-link-underline-opacity,1))!important}.link-bitbucket:focus,.link-bitbucket:hover{color:RGBA(0,66,163,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(0,66,163,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(0,66,163,var(--tblr-link-underline-opacity,1))!important}.link-tabler{color:RGBA(var(--tblr-tabler-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-tabler-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-tabler-rgb),var(--tblr-link-underline-opacity,1))!important}.link-tabler:focus,.link-tabler:hover{color:RGBA(0,67,133,var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(0,67,133,var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(0,67,133,var(--tblr-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-underline-opacity,.75))!important;text-decoration-color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-underline-opacity,.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--tblr-focus-ring-x,0) var(--tblr-focus-ring-y,0) var(--tblr-focus-ring-blur,0) var(--tblr-focus-ring-width) var(--tblr-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-opacity,.5));text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-opacity,.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--tblr-icon-link-transform,translate3d(.25em,0,0))}.ratio:before{display:block;padding-top:var(--tblr-aspect-ratio);content:""}.ratio-1x1{--tblr-aspect-ratio:100%}.ratio-2x1{--tblr-aspect-ratio:50%}.ratio-1x2{--tblr-aspect-ratio:200%}.ratio-3x1{--tblr-aspect-ratio:33.3333333333%}.ratio-1x3{--tblr-aspect-ratio:300%}.ratio-4x3{--tblr-aspect-ratio:75%}.ratio-3x4{--tblr-aspect-ratio:133.3333333333%}.ratio-16x9{--tblr-aspect-ratio:56.25%}.ratio-9x16{--tblr-aspect-ratio:177.7777777778%}.ratio-21x9{--tblr-aspect-ratio:42.8571428571%}.ratio-9x21{--tblr-aspect-ratio:233.3333333333%}.vr{display:inline-block;align-self:stretch;width:var(--tblr-border-width);min-height:1em;background-color:currentcolor;opacity:.16}.shadow{box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px!important}.shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}.shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}.focus-ring-primary{--tblr-focus-ring-color:rgba(var(--tblr-primary-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-secondary{--tblr-focus-ring-color:rgba(var(--tblr-secondary-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-success{--tblr-focus-ring-color:rgba(var(--tblr-success-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-info{--tblr-focus-ring-color:rgba(var(--tblr-info-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-warning{--tblr-focus-ring-color:rgba(var(--tblr-warning-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-danger{--tblr-focus-ring-color:rgba(var(--tblr-danger-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-light{--tblr-focus-ring-color:rgba(var(--tblr-light-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-dark{--tblr-focus-ring-color:rgba(var(--tblr-dark-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-muted{--tblr-focus-ring-color:rgba(var(--tblr-muted-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-blue{--tblr-focus-ring-color:rgba(var(--tblr-blue-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-azure{--tblr-focus-ring-color:rgba(var(--tblr-azure-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-indigo{--tblr-focus-ring-color:rgba(var(--tblr-indigo-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-purple{--tblr-focus-ring-color:rgba(var(--tblr-purple-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-pink{--tblr-focus-ring-color:rgba(var(--tblr-pink-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-red{--tblr-focus-ring-color:rgba(var(--tblr-red-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-orange{--tblr-focus-ring-color:rgba(var(--tblr-orange-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-yellow{--tblr-focus-ring-color:rgba(var(--tblr-yellow-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-lime{--tblr-focus-ring-color:rgba(var(--tblr-lime-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-green{--tblr-focus-ring-color:rgba(var(--tblr-green-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-teal{--tblr-focus-ring-color:rgba(var(--tblr-teal-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-cyan{--tblr-focus-ring-color:rgba(var(--tblr-cyan-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-facebook{--tblr-focus-ring-color:rgba(var(--tblr-facebook-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-twitter{--tblr-focus-ring-color:rgba(var(--tblr-twitter-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-linkedin{--tblr-focus-ring-color:rgba(var(--tblr-linkedin-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-google{--tblr-focus-ring-color:rgba(var(--tblr-google-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-youtube{--tblr-focus-ring-color:rgba(var(--tblr-youtube-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-vimeo{--tblr-focus-ring-color:rgba(var(--tblr-vimeo-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-dribbble{--tblr-focus-ring-color:rgba(var(--tblr-dribbble-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-github{--tblr-focus-ring-color:rgba(var(--tblr-github-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-instagram{--tblr-focus-ring-color:rgba(var(--tblr-instagram-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-pinterest{--tblr-focus-ring-color:rgba(var(--tblr-pinterest-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-vk{--tblr-focus-ring-color:rgba(var(--tblr-vk-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-rss{--tblr-focus-ring-color:rgba(var(--tblr-rss-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-flickr{--tblr-focus-ring-color:rgba(var(--tblr-flickr-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-bitbucket{--tblr-focus-ring-color:rgba(var(--tblr-bitbucket-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-tabler{--tblr-focus-ring-color:rgba(var(--tblr-tabler-rgb), var(--tblr-focus-ring-opacity))}.border{border:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-wide{border:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-top{border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-top-wide{border-top:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-end{border-right:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-end-wide{border-right:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-bottom{border-bottom:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-bottom-wide{border-bottom:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-start{border-left:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-start-wide{border-left:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-primary{--tblr-border-opacity:1;border-color:rgba(var(--tblr-primary-rgb),var(--tblr-border-opacity))!important}.border-secondary{--tblr-border-opacity:1;border-color:rgba(var(--tblr-secondary-rgb),var(--tblr-border-opacity))!important}.border-success{--tblr-border-opacity:1;border-color:rgba(var(--tblr-success-rgb),var(--tblr-border-opacity))!important}.border-info{--tblr-border-opacity:1;border-color:rgba(var(--tblr-info-rgb),var(--tblr-border-opacity))!important}.border-warning{--tblr-border-opacity:1;border-color:rgba(var(--tblr-warning-rgb),var(--tblr-border-opacity))!important}.border-danger{--tblr-border-opacity:1;border-color:rgba(var(--tblr-danger-rgb),var(--tblr-border-opacity))!important}.border-light{--tblr-border-opacity:1;border-color:rgba(var(--tblr-light-rgb),var(--tblr-border-opacity))!important}.border-dark{--tblr-border-opacity:1;border-color:rgba(var(--tblr-dark-rgb),var(--tblr-border-opacity))!important}.border-muted{--tblr-border-opacity:1;border-color:rgba(var(--tblr-muted-rgb),var(--tblr-border-opacity))!important}.border-blue{--tblr-border-opacity:1;border-color:rgba(var(--tblr-blue-rgb),var(--tblr-border-opacity))!important}.border-azure{--tblr-border-opacity:1;border-color:rgba(var(--tblr-azure-rgb),var(--tblr-border-opacity))!important}.border-indigo{--tblr-border-opacity:1;border-color:rgba(var(--tblr-indigo-rgb),var(--tblr-border-opacity))!important}.border-purple{--tblr-border-opacity:1;border-color:rgba(var(--tblr-purple-rgb),var(--tblr-border-opacity))!important}.border-pink{--tblr-border-opacity:1;border-color:rgba(var(--tblr-pink-rgb),var(--tblr-border-opacity))!important}.border-red{--tblr-border-opacity:1;border-color:rgba(var(--tblr-red-rgb),var(--tblr-border-opacity))!important}.border-orange{--tblr-border-opacity:1;border-color:rgba(var(--tblr-orange-rgb),var(--tblr-border-opacity))!important}.border-yellow{--tblr-border-opacity:1;border-color:rgba(var(--tblr-yellow-rgb),var(--tblr-border-opacity))!important}.border-lime{--tblr-border-opacity:1;border-color:rgba(var(--tblr-lime-rgb),var(--tblr-border-opacity))!important}.border-green{--tblr-border-opacity:1;border-color:rgba(var(--tblr-green-rgb),var(--tblr-border-opacity))!important}.border-teal{--tblr-border-opacity:1;border-color:rgba(var(--tblr-teal-rgb),var(--tblr-border-opacity))!important}.border-cyan{--tblr-border-opacity:1;border-color:rgba(var(--tblr-cyan-rgb),var(--tblr-border-opacity))!important}.border-facebook{--tblr-border-opacity:1;border-color:rgba(var(--tblr-facebook-rgb),var(--tblr-border-opacity))!important}.border-twitter{--tblr-border-opacity:1;border-color:rgba(var(--tblr-twitter-rgb),var(--tblr-border-opacity))!important}.border-linkedin{--tblr-border-opacity:1;border-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-border-opacity))!important}.border-google{--tblr-border-opacity:1;border-color:rgba(var(--tblr-google-rgb),var(--tblr-border-opacity))!important}.border-youtube{--tblr-border-opacity:1;border-color:rgba(var(--tblr-youtube-rgb),var(--tblr-border-opacity))!important}.border-vimeo{--tblr-border-opacity:1;border-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-border-opacity))!important}.border-dribbble{--tblr-border-opacity:1;border-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-border-opacity))!important}.border-github{--tblr-border-opacity:1;border-color:rgba(var(--tblr-github-rgb),var(--tblr-border-opacity))!important}.border-instagram{--tblr-border-opacity:1;border-color:rgba(var(--tblr-instagram-rgb),var(--tblr-border-opacity))!important}.border-pinterest{--tblr-border-opacity:1;border-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-border-opacity))!important}.border-vk{--tblr-border-opacity:1;border-color:rgba(var(--tblr-vk-rgb),var(--tblr-border-opacity))!important}.border-rss{--tblr-border-opacity:1;border-color:rgba(var(--tblr-rss-rgb),var(--tblr-border-opacity))!important}.border-flickr{--tblr-border-opacity:1;border-color:rgba(var(--tblr-flickr-rgb),var(--tblr-border-opacity))!important}.border-bitbucket{--tblr-border-opacity:1;border-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-border-opacity))!important}.border-tabler{--tblr-border-opacity:1;border-color:rgba(var(--tblr-tabler-rgb),var(--tblr-border-opacity))!important}.border-black{--tblr-border-opacity:1;border-color:rgba(var(--tblr-black-rgb),var(--tblr-border-opacity))!important}.border-white{--tblr-border-opacity:1;border-color:rgba(var(--tblr-white-rgb),var(--tblr-border-opacity))!important}.border-primary-subtle{border-color:var(--tblr-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--tblr-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--tblr-success-border-subtle)!important}.border-info-subtle{border-color:var(--tblr-info-border-subtle)!important}.border-warning-subtle{border-color:var(--tblr-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--tblr-danger-border-subtle)!important}.border-light-subtle{border-color:var(--tblr-light-border-subtle)!important}.border-dark-subtle{border-color:var(--tblr-dark-border-subtle)!important}.border-opacity-10{--tblr-border-opacity:.1}.border-opacity-25{--tblr-border-opacity:.25}.border-opacity-50{--tblr-border-opacity:.5}.border-opacity-75{--tblr-border-opacity:.75}.border-opacity-100{--tblr-border-opacity:1}.w-33{width:33.33333%!important}.w-66{width:66.66666%!important}.h-33{height:33.33333%!important}.h-66{height:66.66666%!important}.m-5{margin:2rem!important}.m-6{margin:3rem!important}.m-7{margin:5rem!important}.m-8{margin:8rem!important}.mx-5{margin-right:2rem!important;margin-left:2rem!important}.mx-6{margin-right:3rem!important;margin-left:3rem!important}.mx-7{margin-right:5rem!important;margin-left:5rem!important}.mx-8{margin-right:8rem!important;margin-left:8rem!important}.my-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-8{margin-top:8rem!important;margin-bottom:8rem!important}.mt-5{margin-top:2rem!important}.mt-6{margin-top:3rem!important}.mt-7{margin-top:5rem!important}.mt-8{margin-top:8rem!important}.me-5{margin-right:2rem!important}.me-6{margin-right:3rem!important}.me-7{margin-right:5rem!important}.me-8{margin-right:8rem!important}.mb-5{margin-bottom:2rem!important}.mb-6{margin-bottom:3rem!important}.mb-7{margin-bottom:5rem!important}.mb-8{margin-bottom:8rem!important}.ms-5{margin-left:2rem!important}.ms-6{margin-left:3rem!important}.ms-7{margin-left:5rem!important}.ms-8{margin-left:8rem!important}.p-5{padding:2rem!important}.p-6{padding:3rem!important}.p-7{padding:5rem!important}.p-8{padding:8rem!important}.px-5{padding-right:2rem!important;padding-left:2rem!important}.px-6{padding-right:3rem!important;padding-left:3rem!important}.px-7{padding-right:5rem!important;padding-left:5rem!important}.px-8{padding-right:8rem!important;padding-left:8rem!important}.py-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-5{padding-top:2rem!important}.pt-6{padding-top:3rem!important}.pt-7{padding-top:5rem!important}.pt-8{padding-top:8rem!important}.pe-5{padding-right:2rem!important}.pe-6{padding-right:3rem!important}.pe-7{padding-right:5rem!important}.pe-8{padding-right:8rem!important}.pb-5{padding-bottom:2rem!important}.pb-6{padding-bottom:3rem!important}.pb-7{padding-bottom:5rem!important}.pb-8{padding-bottom:8rem!important}.ps-5{padding-left:2rem!important}.ps-6{padding-left:3rem!important}.ps-7{padding-left:5rem!important}.ps-8{padding-left:8rem!important}.gap-5{gap:2rem!important}.gap-6{gap:3rem!important}.gap-7{gap:5rem!important}.gap-8{gap:8rem!important}.row-gap-5{row-gap:2rem!important}.row-gap-6{row-gap:3rem!important}.row-gap-7{row-gap:5rem!important}.row-gap-8{row-gap:8rem!important}.column-gap-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.font-monospace{font-family:var(--tblr-font-monospace)!important}.fs-1{font-size:1.5rem!important}.fs-2{font-size:1.25rem!important}.fs-3{font-size:1rem!important}.fs-4{font-size:.875rem!important}.fs-5{font-size:.75rem!important}.fs-6{font-size:.625rem!important}.fw-semibold,.fw-bold{font-weight:600!important}.lh-sm{line-height:1.1428571429!important}.lh-base{line-height:1.4285714286!important}.lh-lg{line-height:1.7142857143!important}.text-muted{--tblr-text-opacity:1;color:var(--tblr-secondary-color)!important}.text-black{--tblr-text-opacity:1;color:rgba(var(--tblr-black-rgb),var(--tblr-text-opacity))!important}.text-white{--tblr-text-opacity:1;color:rgba(var(--tblr-white-rgb),var(--tblr-text-opacity))!important}.text-body{--tblr-text-opacity:1;color:rgba(var(--tblr-body-color-rgb),var(--tblr-text-opacity))!important}.text-black-50{--tblr-text-opacity:1;color:#00000080!important}.text-white-50{--tblr-text-opacity:1;color:#ffffff80!important}.text-body-secondary{--tblr-text-opacity:1;color:var(--tblr-secondary-color)!important}.text-body-tertiary{--tblr-text-opacity:1;color:var(--tblr-tertiary-color)!important}.text-body-emphasis{--tblr-text-opacity:1;color:var(--tblr-emphasis-color)!important}.text-reset{--tblr-text-opacity:1;color:inherit!important}.text-opacity-25{--tblr-text-opacity:.25}.text-opacity-50{--tblr-text-opacity:.5}.text-opacity-75{--tblr-text-opacity:.75}.text-opacity-100{--tblr-text-opacity:1}.text-primary-emphasis{color:var(--tblr-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--tblr-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--tblr-success-text-emphasis)!important}.text-info-emphasis{color:var(--tblr-info-text-emphasis)!important}.text-warning-emphasis{color:var(--tblr-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--tblr-danger-text-emphasis)!important}.text-light-emphasis{color:var(--tblr-light-text-emphasis)!important}.text-dark-emphasis{color:var(--tblr-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--tblr-link-opacity:.1}.link-opacity-25,.link-opacity-25-hover:hover{--tblr-link-opacity:.25}.link-opacity-50,.link-opacity-50-hover:hover{--tblr-link-opacity:.5}.link-opacity-75,.link-opacity-75-hover:hover{--tblr-link-opacity:.75}.link-opacity-100,.link-opacity-100-hover:hover{--tblr-link-opacity:1}.link-underline-primary{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-secondary{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-success{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-success-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-success-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-info{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-info-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-info-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-warning{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-danger{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-light{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-light-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-light-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-dark{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-muted{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-blue{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-azure{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-indigo{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-purple{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-pink{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-red{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-red-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-red-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-orange{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-yellow{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-lime{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-green{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-green-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-green-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-teal{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-cyan{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-facebook{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-facebook-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-facebook-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-twitter{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-twitter-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-twitter-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-linkedin{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-google{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-google-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-google-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-youtube{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-youtube-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-youtube-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-vimeo{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-dribbble{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-github{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-github-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-github-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-instagram{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-instagram-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-instagram-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-pinterest{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-vk{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-vk-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-vk-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-rss{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-rss-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-rss-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-flickr{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-flickr-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-flickr-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-bitbucket{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-tabler{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-tabler-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-tabler-rgb),var(--tblr-link-underline-opacity))!important}.link-underline{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--tblr-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--tblr-link-underline-opacity:.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--tblr-link-underline-opacity:.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--tblr-link-underline-opacity:.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--tblr-link-underline-opacity:.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--tblr-link-underline-opacity:1}.bg-black{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-black-rgb),var(--tblr-bg-opacity))!important}.bg-body{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-body-bg-rgb),var(--tblr-bg-opacity))!important}.bg-transparent{--tblr-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-secondary-bg-rgb),var(--tblr-bg-opacity))!important}.bg-body-tertiary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-tertiary-bg-rgb),var(--tblr-bg-opacity))!important}.bg-opacity-10{--tblr-bg-opacity:.1}.bg-opacity-25{--tblr-bg-opacity:.25}.bg-opacity-50{--tblr-bg-opacity:.5}.bg-opacity-75{--tblr-bg-opacity:.75}.bg-opacity-100{--tblr-bg-opacity:1}.bg-primary-subtle{background-color:var(--tblr-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--tblr-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--tblr-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--tblr-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--tblr-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--tblr-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--tblr-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--tblr-dark-bg-subtle)!important}.bg-gradient{background-image:var(--tblr-gradient)!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.rounded{border-radius:var(--tblr-border-radius)!important}.rounded-1{border-radius:var(--tblr-border-radius-sm)!important}.rounded-2{border-radius:var(--tblr-border-radius)!important}.rounded-3{border-radius:var(--tblr-border-radius-lg)!important}.rounded-4{border-radius:var(--tblr-border-radius-xl)!important}.rounded-5{border-radius:var(--tblr-border-radius-xxl)!important}.rounded-pill{border-radius:var(--tblr-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--tblr-border-radius)!important;border-top-right-radius:var(--tblr-border-radius)!important}.rounded-top-1{border-top-left-radius:var(--tblr-border-radius-sm)!important;border-top-right-radius:var(--tblr-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--tblr-border-radius)!important;border-top-right-radius:var(--tblr-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--tblr-border-radius-lg)!important;border-top-right-radius:var(--tblr-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--tblr-border-radius-xl)!important;border-top-right-radius:var(--tblr-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--tblr-border-radius-xxl)!important;border-top-right-radius:var(--tblr-border-radius-xxl)!important}.rounded-top-pill{border-top-left-radius:var(--tblr-border-radius-pill)!important;border-top-right-radius:var(--tblr-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--tblr-border-radius)!important;border-bottom-right-radius:var(--tblr-border-radius)!important}.rounded-end-1{border-top-right-radius:var(--tblr-border-radius-sm)!important;border-bottom-right-radius:var(--tblr-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--tblr-border-radius)!important;border-bottom-right-radius:var(--tblr-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--tblr-border-radius-lg)!important;border-bottom-right-radius:var(--tblr-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--tblr-border-radius-xl)!important;border-bottom-right-radius:var(--tblr-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--tblr-border-radius-xxl)!important;border-bottom-right-radius:var(--tblr-border-radius-xxl)!important}.rounded-end-pill{border-top-right-radius:var(--tblr-border-radius-pill)!important;border-bottom-right-radius:var(--tblr-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--tblr-border-radius)!important;border-bottom-left-radius:var(--tblr-border-radius)!important}.rounded-bottom-1{border-bottom-right-radius:var(--tblr-border-radius-sm)!important;border-bottom-left-radius:var(--tblr-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--tblr-border-radius)!important;border-bottom-left-radius:var(--tblr-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--tblr-border-radius-lg)!important;border-bottom-left-radius:var(--tblr-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--tblr-border-radius-xl)!important;border-bottom-left-radius:var(--tblr-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--tblr-border-radius-xxl)!important;border-bottom-left-radius:var(--tblr-border-radius-xxl)!important}.rounded-bottom-pill{border-bottom-right-radius:var(--tblr-border-radius-pill)!important;border-bottom-left-radius:var(--tblr-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--tblr-border-radius)!important;border-top-left-radius:var(--tblr-border-radius)!important}.rounded-start-1{border-bottom-left-radius:var(--tblr-border-radius-sm)!important;border-top-left-radius:var(--tblr-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--tblr-border-radius)!important;border-top-left-radius:var(--tblr-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--tblr-border-radius-lg)!important;border-top-left-radius:var(--tblr-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--tblr-border-radius-xl)!important;border-top-left-radius:var(--tblr-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--tblr-border-radius-xxl)!important;border-top-left-radius:var(--tblr-border-radius-xxl)!important}.rounded-start-pill{border-bottom-left-radius:var(--tblr-border-radius-pill)!important;border-top-left-radius:var(--tblr-border-radius-pill)!important}.object-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-scale-down{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-none{-o-object-fit:none!important;object-fit:none!important}.tracking-tight{letter-spacing:-.05em!important}.tracking-normal{letter-spacing:0!important}.tracking-wide{letter-spacing:.05em!important}.cursor-auto{cursor:auto!important}.cursor-pointer{cursor:pointer!important}.cursor-move{cursor:move!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-zoom-in{cursor:zoom-in!important}.cursor-zoom-out{cursor:zoom-out!important}.cursor-default{cursor:default!important}.cursor-none{cursor:none!important}.cursor-help{cursor:help!important}.cursor-progress{cursor:progress!important}.cursor-wait{cursor:wait!important}.cursor-text{cursor:text!important}.cursor-v-text{cursor:vertical-text!important}.cursor-grab{cursor:-webkit-grab!important;cursor:grab!important}.cursor-grabbing{cursor:-webkit-grabbing!important;cursor:grabbing!important}.border-x{border-left:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important;border-right:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-x-wide{border-left:2px var(--tblr-border-style) rgba(4,32,69,.14)!important;border-right:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-x-0{border-left:0!important;border-right:0!important}.border-y{border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important;border-bottom:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-y-wide{border-top:2px var(--tblr-border-style) rgba(4,32,69,.14)!important;border-bottom:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-y-0{border-top:0!important;border-bottom:0!important}.columns-2{-moz-columns:2!important;columns:2!important}.columns-3{-moz-columns:3!important;columns:3!important}.columns-4{-moz-columns:4!important;columns:4!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:2rem!important}.m-sm-6{margin:3rem!important}.m-sm-7{margin:5rem!important}.m-sm-8{margin:8rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:2rem!important;margin-left:2rem!important}.mx-sm-6{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-7{margin-right:5rem!important;margin-left:5rem!important}.mx-sm-8{margin-right:8rem!important;margin-left:8rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-sm-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-sm-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:2rem!important}.mt-sm-6{margin-top:3rem!important}.mt-sm-7{margin-top:5rem!important}.mt-sm-8{margin-top:8rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:2rem!important}.me-sm-6{margin-right:3rem!important}.me-sm-7{margin-right:5rem!important}.me-sm-8{margin-right:8rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:2rem!important}.mb-sm-6{margin-bottom:3rem!important}.mb-sm-7{margin-bottom:5rem!important}.mb-sm-8{margin-bottom:8rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:2rem!important}.ms-sm-6{margin-left:3rem!important}.ms-sm-7{margin-left:5rem!important}.ms-sm-8{margin-left:8rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:2rem!important}.p-sm-6{padding:3rem!important}.p-sm-7{padding:5rem!important}.p-sm-8{padding:8rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:2rem!important;padding-left:2rem!important}.px-sm-6{padding-right:3rem!important;padding-left:3rem!important}.px-sm-7{padding-right:5rem!important;padding-left:5rem!important}.px-sm-8{padding-right:8rem!important;padding-left:8rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-sm-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-sm-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-sm-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:2rem!important}.pt-sm-6{padding-top:3rem!important}.pt-sm-7{padding-top:5rem!important}.pt-sm-8{padding-top:8rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:2rem!important}.pe-sm-6{padding-right:3rem!important}.pe-sm-7{padding-right:5rem!important}.pe-sm-8{padding-right:8rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:2rem!important}.pb-sm-6{padding-bottom:3rem!important}.pb-sm-7{padding-bottom:5rem!important}.pb-sm-8{padding-bottom:8rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:2rem!important}.ps-sm-6{padding-left:3rem!important}.ps-sm-7{padding-left:5rem!important}.ps-sm-8{padding-left:8rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:2rem!important}.gap-sm-6{gap:3rem!important}.gap-sm-7{gap:5rem!important}.gap-sm-8{gap:8rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:2rem!important}.row-gap-sm-6{row-gap:3rem!important}.row-gap-sm-7{row-gap:5rem!important}.row-gap-sm-8{row-gap:8rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-sm-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-sm-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-sm-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}.columns-sm-2{-moz-columns:2!important;columns:2!important}.columns-sm-3{-moz-columns:3!important;columns:3!important}.columns-sm-4{-moz-columns:4!important;columns:4!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:2rem!important}.m-md-6{margin:3rem!important}.m-md-7{margin:5rem!important}.m-md-8{margin:8rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:2rem!important;margin-left:2rem!important}.mx-md-6{margin-right:3rem!important;margin-left:3rem!important}.mx-md-7{margin-right:5rem!important;margin-left:5rem!important}.mx-md-8{margin-right:8rem!important;margin-left:8rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-md-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-md-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:2rem!important}.mt-md-6{margin-top:3rem!important}.mt-md-7{margin-top:5rem!important}.mt-md-8{margin-top:8rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:2rem!important}.me-md-6{margin-right:3rem!important}.me-md-7{margin-right:5rem!important}.me-md-8{margin-right:8rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:2rem!important}.mb-md-6{margin-bottom:3rem!important}.mb-md-7{margin-bottom:5rem!important}.mb-md-8{margin-bottom:8rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:2rem!important}.ms-md-6{margin-left:3rem!important}.ms-md-7{margin-left:5rem!important}.ms-md-8{margin-left:8rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:2rem!important}.p-md-6{padding:3rem!important}.p-md-7{padding:5rem!important}.p-md-8{padding:8rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:2rem!important;padding-left:2rem!important}.px-md-6{padding-right:3rem!important;padding-left:3rem!important}.px-md-7{padding-right:5rem!important;padding-left:5rem!important}.px-md-8{padding-right:8rem!important;padding-left:8rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-md-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-md-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-md-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:2rem!important}.pt-md-6{padding-top:3rem!important}.pt-md-7{padding-top:5rem!important}.pt-md-8{padding-top:8rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:2rem!important}.pe-md-6{padding-right:3rem!important}.pe-md-7{padding-right:5rem!important}.pe-md-8{padding-right:8rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:2rem!important}.pb-md-6{padding-bottom:3rem!important}.pb-md-7{padding-bottom:5rem!important}.pb-md-8{padding-bottom:8rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:2rem!important}.ps-md-6{padding-left:3rem!important}.ps-md-7{padding-left:5rem!important}.ps-md-8{padding-left:8rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:2rem!important}.gap-md-6{gap:3rem!important}.gap-md-7{gap:5rem!important}.gap-md-8{gap:8rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:2rem!important}.row-gap-md-6{row-gap:3rem!important}.row-gap-md-7{row-gap:5rem!important}.row-gap-md-8{row-gap:8rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-md-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-md-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-md-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}.columns-md-2{-moz-columns:2!important;columns:2!important}.columns-md-3{-moz-columns:3!important;columns:3!important}.columns-md-4{-moz-columns:4!important;columns:4!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:2rem!important}.m-lg-6{margin:3rem!important}.m-lg-7{margin:5rem!important}.m-lg-8{margin:8rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:2rem!important;margin-left:2rem!important}.mx-lg-6{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-7{margin-right:5rem!important;margin-left:5rem!important}.mx-lg-8{margin-right:8rem!important;margin-left:8rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-lg-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-lg-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:2rem!important}.mt-lg-6{margin-top:3rem!important}.mt-lg-7{margin-top:5rem!important}.mt-lg-8{margin-top:8rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:2rem!important}.me-lg-6{margin-right:3rem!important}.me-lg-7{margin-right:5rem!important}.me-lg-8{margin-right:8rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:2rem!important}.mb-lg-6{margin-bottom:3rem!important}.mb-lg-7{margin-bottom:5rem!important}.mb-lg-8{margin-bottom:8rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:2rem!important}.ms-lg-6{margin-left:3rem!important}.ms-lg-7{margin-left:5rem!important}.ms-lg-8{margin-left:8rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:2rem!important}.p-lg-6{padding:3rem!important}.p-lg-7{padding:5rem!important}.p-lg-8{padding:8rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:2rem!important;padding-left:2rem!important}.px-lg-6{padding-right:3rem!important;padding-left:3rem!important}.px-lg-7{padding-right:5rem!important;padding-left:5rem!important}.px-lg-8{padding-right:8rem!important;padding-left:8rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-lg-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-lg-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-lg-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:2rem!important}.pt-lg-6{padding-top:3rem!important}.pt-lg-7{padding-top:5rem!important}.pt-lg-8{padding-top:8rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:2rem!important}.pe-lg-6{padding-right:3rem!important}.pe-lg-7{padding-right:5rem!important}.pe-lg-8{padding-right:8rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:2rem!important}.pb-lg-6{padding-bottom:3rem!important}.pb-lg-7{padding-bottom:5rem!important}.pb-lg-8{padding-bottom:8rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:2rem!important}.ps-lg-6{padding-left:3rem!important}.ps-lg-7{padding-left:5rem!important}.ps-lg-8{padding-left:8rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:2rem!important}.gap-lg-6{gap:3rem!important}.gap-lg-7{gap:5rem!important}.gap-lg-8{gap:8rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:2rem!important}.row-gap-lg-6{row-gap:3rem!important}.row-gap-lg-7{row-gap:5rem!important}.row-gap-lg-8{row-gap:8rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-lg-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-lg-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-lg-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}.columns-lg-2{-moz-columns:2!important;columns:2!important}.columns-lg-3{-moz-columns:3!important;columns:3!important}.columns-lg-4{-moz-columns:4!important;columns:4!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:2rem!important}.m-xl-6{margin:3rem!important}.m-xl-7{margin:5rem!important}.m-xl-8{margin:8rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:2rem!important;margin-left:2rem!important}.mx-xl-6{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-7{margin-right:5rem!important;margin-left:5rem!important}.mx-xl-8{margin-right:8rem!important;margin-left:8rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-xl-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-xl-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:2rem!important}.mt-xl-6{margin-top:3rem!important}.mt-xl-7{margin-top:5rem!important}.mt-xl-8{margin-top:8rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:2rem!important}.me-xl-6{margin-right:3rem!important}.me-xl-7{margin-right:5rem!important}.me-xl-8{margin-right:8rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:2rem!important}.mb-xl-6{margin-bottom:3rem!important}.mb-xl-7{margin-bottom:5rem!important}.mb-xl-8{margin-bottom:8rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:2rem!important}.ms-xl-6{margin-left:3rem!important}.ms-xl-7{margin-left:5rem!important}.ms-xl-8{margin-left:8rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:2rem!important}.p-xl-6{padding:3rem!important}.p-xl-7{padding:5rem!important}.p-xl-8{padding:8rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:2rem!important;padding-left:2rem!important}.px-xl-6{padding-right:3rem!important;padding-left:3rem!important}.px-xl-7{padding-right:5rem!important;padding-left:5rem!important}.px-xl-8{padding-right:8rem!important;padding-left:8rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-xl-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-xl-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-xl-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:2rem!important}.pt-xl-6{padding-top:3rem!important}.pt-xl-7{padding-top:5rem!important}.pt-xl-8{padding-top:8rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:2rem!important}.pe-xl-6{padding-right:3rem!important}.pe-xl-7{padding-right:5rem!important}.pe-xl-8{padding-right:8rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:2rem!important}.pb-xl-6{padding-bottom:3rem!important}.pb-xl-7{padding-bottom:5rem!important}.pb-xl-8{padding-bottom:8rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:2rem!important}.ps-xl-6{padding-left:3rem!important}.ps-xl-7{padding-left:5rem!important}.ps-xl-8{padding-left:8rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:2rem!important}.gap-xl-6{gap:3rem!important}.gap-xl-7{gap:5rem!important}.gap-xl-8{gap:8rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:2rem!important}.row-gap-xl-6{row-gap:3rem!important}.row-gap-xl-7{row-gap:5rem!important}.row-gap-xl-8{row-gap:8rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-xl-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-xl-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-xl-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}.columns-xl-2{-moz-columns:2!important;columns:2!important}.columns-xl-3{-moz-columns:3!important;columns:3!important}.columns-xl-4{-moz-columns:4!important;columns:4!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:2rem!important}.m-xxl-6{margin:3rem!important}.m-xxl-7{margin:5rem!important}.m-xxl-8{margin:8rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:2rem!important;margin-left:2rem!important}.mx-xxl-6{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-7{margin-right:5rem!important;margin-left:5rem!important}.mx-xxl-8{margin-right:8rem!important;margin-left:8rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-xxl-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-xxl-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:2rem!important}.mt-xxl-6{margin-top:3rem!important}.mt-xxl-7{margin-top:5rem!important}.mt-xxl-8{margin-top:8rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:2rem!important}.me-xxl-6{margin-right:3rem!important}.me-xxl-7{margin-right:5rem!important}.me-xxl-8{margin-right:8rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:2rem!important}.mb-xxl-6{margin-bottom:3rem!important}.mb-xxl-7{margin-bottom:5rem!important}.mb-xxl-8{margin-bottom:8rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:2rem!important}.ms-xxl-6{margin-left:3rem!important}.ms-xxl-7{margin-left:5rem!important}.ms-xxl-8{margin-left:8rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:2rem!important}.p-xxl-6{padding:3rem!important}.p-xxl-7{padding:5rem!important}.p-xxl-8{padding:8rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:2rem!important;padding-left:2rem!important}.px-xxl-6{padding-right:3rem!important;padding-left:3rem!important}.px-xxl-7{padding-right:5rem!important;padding-left:5rem!important}.px-xxl-8{padding-right:8rem!important;padding-left:8rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-xxl-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-xxl-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-xxl-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:2rem!important}.pt-xxl-6{padding-top:3rem!important}.pt-xxl-7{padding-top:5rem!important}.pt-xxl-8{padding-top:8rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:2rem!important}.pe-xxl-6{padding-right:3rem!important}.pe-xxl-7{padding-right:5rem!important}.pe-xxl-8{padding-right:8rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:2rem!important}.pb-xxl-6{padding-bottom:3rem!important}.pb-xxl-7{padding-bottom:5rem!important}.pb-xxl-8{padding-bottom:8rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:2rem!important}.ps-xxl-6{padding-left:3rem!important}.ps-xxl-7{padding-left:5rem!important}.ps-xxl-8{padding-left:8rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:2rem!important}.gap-xxl-6{gap:3rem!important}.gap-xxl-7{gap:5rem!important}.gap-xxl-8{gap:8rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:2rem!important}.row-gap-xxl-6{row-gap:3rem!important}.row-gap-xxl-7{row-gap:5rem!important}.row-gap-xxl-8{row-gap:8rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-xxl-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-xxl-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-xxl-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}.columns-xxl-2{-moz-columns:2!important;columns:2!important}.columns-xxl-3{-moz-columns:3!important;columns:3!important}.columns-xxl-4{-moz-columns:4!important;columns:4!important}}:host,:root{font-size:16px;height:100%}:host,:root,[data-bs-theme=light]{--tblr-primary:#0054a6;--tblr-primary-rgb:0,84,166;--tblr-primary-fg:var(--tblr-light);--tblr-primary-darken:#004c95;--tblr-primary-lt:#e6eef6;--tblr-primary-lt-rgb:230,238,246;--tblr-secondary:#667382;--tblr-secondary-rgb:102,115,130;--tblr-secondary-fg:var(--tblr-light);--tblr-secondary-darken:#5c6875;--tblr-secondary-lt:#f0f1f3;--tblr-secondary-lt-rgb:240,241,243;--tblr-success:#2fb344;--tblr-success-rgb:47,179,68;--tblr-success-fg:var(--tblr-light);--tblr-success-darken:#2aa13d;--tblr-success-lt:#eaf7ec;--tblr-success-lt-rgb:234,247,236;--tblr-info:#4299e1;--tblr-info-rgb:66,153,225;--tblr-info-fg:var(--tblr-light);--tblr-info-darken:#3b8acb;--tblr-info-lt:#ecf5fc;--tblr-info-lt-rgb:236,245,252;--tblr-warning:#f76707;--tblr-warning-rgb:247,103,7;--tblr-warning-fg:var(--tblr-light);--tblr-warning-darken:#de5d06;--tblr-warning-lt:#fef0e6;--tblr-warning-lt-rgb:254,240,230;--tblr-danger:#d63939;--tblr-danger-rgb:214,57,57;--tblr-danger-fg:var(--tblr-light);--tblr-danger-darken:#c13333;--tblr-danger-lt:#fbebeb;--tblr-danger-lt-rgb:251,235,235;--tblr-light:#fcfdfe;--tblr-light-rgb:252,253,254;--tblr-light-fg:var(--tblr-dark);--tblr-light-darken:#e3e4e5;--tblr-light-lt:white;--tblr-light-lt-rgb:255,255,255;--tblr-dark:#182433;--tblr-dark-rgb:24,36,51;--tblr-dark-fg:var(--tblr-light);--tblr-dark-darken:#16202e;--tblr-dark-lt:#e8e9eb;--tblr-dark-lt-rgb:232,233,235;--tblr-muted:#667382;--tblr-muted-rgb:102,115,130;--tblr-muted-fg:var(--tblr-light);--tblr-muted-darken:#5c6875;--tblr-muted-lt:#f0f1f3;--tblr-muted-lt-rgb:240,241,243;--tblr-blue:#0054a6;--tblr-blue-rgb:0,84,166;--tblr-blue-fg:var(--tblr-light);--tblr-blue-darken:#004c95;--tblr-blue-lt:#e6eef6;--tblr-blue-lt-rgb:230,238,246;--tblr-azure:#4299e1;--tblr-azure-rgb:66,153,225;--tblr-azure-fg:var(--tblr-light);--tblr-azure-darken:#3b8acb;--tblr-azure-lt:#ecf5fc;--tblr-azure-lt-rgb:236,245,252;--tblr-indigo:#4263eb;--tblr-indigo-rgb:66,99,235;--tblr-indigo-fg:var(--tblr-light);--tblr-indigo-darken:#3b59d4;--tblr-indigo-lt:#eceffd;--tblr-indigo-lt-rgb:236,239,253;--tblr-purple:#ae3ec9;--tblr-purple-rgb:174,62,201;--tblr-purple-fg:var(--tblr-light);--tblr-purple-darken:#9d38b5;--tblr-purple-lt:#f7ecfa;--tblr-purple-lt-rgb:247,236,250;--tblr-pink:#d6336c;--tblr-pink-rgb:214,51,108;--tblr-pink-fg:var(--tblr-light);--tblr-pink-darken:#c12e61;--tblr-pink-lt:#fbebf0;--tblr-pink-lt-rgb:251,235,240;--tblr-red:#d63939;--tblr-red-rgb:214,57,57;--tblr-red-fg:var(--tblr-light);--tblr-red-darken:#c13333;--tblr-red-lt:#fbebeb;--tblr-red-lt-rgb:251,235,235;--tblr-orange:#f76707;--tblr-orange-rgb:247,103,7;--tblr-orange-fg:var(--tblr-light);--tblr-orange-darken:#de5d06;--tblr-orange-lt:#fef0e6;--tblr-orange-lt-rgb:254,240,230;--tblr-yellow:#f59f00;--tblr-yellow-rgb:245,159,0;--tblr-yellow-fg:var(--tblr-light);--tblr-yellow-darken:#dd8f00;--tblr-yellow-lt:#fef5e6;--tblr-yellow-lt-rgb:254,245,230;--tblr-lime:#74b816;--tblr-lime-rgb:116,184,22;--tblr-lime-fg:var(--tblr-light);--tblr-lime-darken:#68a614;--tblr-lime-lt:#f1f8e8;--tblr-lime-lt-rgb:241,248,232;--tblr-green:#2fb344;--tblr-green-rgb:47,179,68;--tblr-green-fg:var(--tblr-light);--tblr-green-darken:#2aa13d;--tblr-green-lt:#eaf7ec;--tblr-green-lt-rgb:234,247,236;--tblr-teal:#0ca678;--tblr-teal-rgb:12,166,120;--tblr-teal-fg:var(--tblr-light);--tblr-teal-darken:#0b956c;--tblr-teal-lt:#e7f6f2;--tblr-teal-lt-rgb:231,246,242;--tblr-cyan:#17a2b8;--tblr-cyan-rgb:23,162,184;--tblr-cyan-fg:var(--tblr-light);--tblr-cyan-darken:#1592a6;--tblr-cyan-lt:#e8f6f8;--tblr-cyan-lt-rgb:232,246,248;--tblr-facebook:#1877f2;--tblr-facebook-rgb:24,119,242;--tblr-facebook-fg:var(--tblr-light);--tblr-facebook-darken:#166bda;--tblr-facebook-lt:#e8f1fe;--tblr-facebook-lt-rgb:232,241,254;--tblr-twitter:#1da1f2;--tblr-twitter-rgb:29,161,242;--tblr-twitter-fg:var(--tblr-light);--tblr-twitter-darken:#1a91da;--tblr-twitter-lt:#e8f6fe;--tblr-twitter-lt-rgb:232,246,254;--tblr-linkedin:#0a66c2;--tblr-linkedin-rgb:10,102,194;--tblr-linkedin-fg:var(--tblr-light);--tblr-linkedin-darken:#095caf;--tblr-linkedin-lt:#e7f0f9;--tblr-linkedin-lt-rgb:231,240,249;--tblr-google:#dc4e41;--tblr-google-rgb:220,78,65;--tblr-google-fg:var(--tblr-light);--tblr-google-darken:#c6463b;--tblr-google-lt:#fcedec;--tblr-google-lt-rgb:252,237,236;--tblr-youtube:#ff0000;--tblr-youtube-rgb:255,0,0;--tblr-youtube-fg:var(--tblr-light);--tblr-youtube-darken:#e60000;--tblr-youtube-lt:#ffe6e6;--tblr-youtube-lt-rgb:255,230,230;--tblr-vimeo:#1ab7ea;--tblr-vimeo-rgb:26,183,234;--tblr-vimeo-fg:var(--tblr-light);--tblr-vimeo-darken:#17a5d3;--tblr-vimeo-lt:#e8f8fd;--tblr-vimeo-lt-rgb:232,248,253;--tblr-dribbble:#ea4c89;--tblr-dribbble-rgb:234,76,137;--tblr-dribbble-fg:var(--tblr-light);--tblr-dribbble-darken:#d3447b;--tblr-dribbble-lt:#fdedf3;--tblr-dribbble-lt-rgb:253,237,243;--tblr-github:#181717;--tblr-github-rgb:24,23,23;--tblr-github-fg:var(--tblr-light);--tblr-github-darken:#161515;--tblr-github-lt:#e8e8e8;--tblr-github-lt-rgb:232,232,232;--tblr-instagram:#e4405f;--tblr-instagram-rgb:228,64,95;--tblr-instagram-fg:var(--tblr-light);--tblr-instagram-darken:#cd3a56;--tblr-instagram-lt:#fcecef;--tblr-instagram-lt-rgb:252,236,239;--tblr-pinterest:#bd081c;--tblr-pinterest-rgb:189,8,28;--tblr-pinterest-fg:var(--tblr-light);--tblr-pinterest-darken:#aa0719;--tblr-pinterest-lt:#f8e6e8;--tblr-pinterest-lt-rgb:248,230,232;--tblr-vk:#6383a8;--tblr-vk-rgb:99,131,168;--tblr-vk-fg:var(--tblr-light);--tblr-vk-darken:#597697;--tblr-vk-lt:#eff3f6;--tblr-vk-lt-rgb:239,243,246;--tblr-rss:#ffa500;--tblr-rss-rgb:255,165,0;--tblr-rss-fg:var(--tblr-light);--tblr-rss-darken:#e69500;--tblr-rss-lt:#fff6e6;--tblr-rss-lt-rgb:255,246,230;--tblr-flickr:#0063dc;--tblr-flickr-rgb:0,99,220;--tblr-flickr-fg:var(--tblr-light);--tblr-flickr-darken:#0059c6;--tblr-flickr-lt:#e6effc;--tblr-flickr-lt-rgb:230,239,252;--tblr-bitbucket:#0052cc;--tblr-bitbucket-rgb:0,82,204;--tblr-bitbucket-fg:var(--tblr-light);--tblr-bitbucket-darken:#004ab8;--tblr-bitbucket-lt:#e6eefa;--tblr-bitbucket-lt-rgb:230,238,250;--tblr-tabler:#0054a6;--tblr-tabler-rgb:0,84,166;--tblr-tabler-fg:var(--tblr-light);--tblr-tabler-darken:#004c95;--tblr-tabler-lt:#e6eef6;--tblr-tabler-lt-rgb:230,238,246;--tblr-gray-50:#fcfdfe;--tblr-gray-50-rgb:252,253,254;--tblr-gray-50-fg:var(--tblr-dark);--tblr-gray-50-darken:#e3e4e5;--tblr-gray-50-lt:white;--tblr-gray-50-lt-rgb:255,255,255;--tblr-gray-100:#f6f8fb;--tblr-gray-100-rgb:246,248,251;--tblr-gray-100-fg:var(--tblr-dark);--tblr-gray-100-darken:#dddfe2;--tblr-gray-100-lt:#fefeff;--tblr-gray-100-lt-rgb:254,254,255;--tblr-gray-200:#eef1f4;--tblr-gray-200-rgb:238,241,244;--tblr-gray-200-fg:var(--tblr-dark);--tblr-gray-200-darken:#d6d9dc;--tblr-gray-200-lt:#fdfefe;--tblr-gray-200-lt-rgb:253,254,254;--tblr-gray-300:#dadfe5;--tblr-gray-300-rgb:218,223,229;--tblr-gray-300-fg:var(--tblr-dark);--tblr-gray-300-darken:#c4c9ce;--tblr-gray-300-lt:#fbfcfc;--tblr-gray-300-lt-rgb:251,252,252;--tblr-gray-400:#bbc3cd;--tblr-gray-400-rgb:187,195,205;--tblr-gray-400-fg:var(--tblr-light);--tblr-gray-400-darken:#a8b0b9;--tblr-gray-400-lt:#f8f9fa;--tblr-gray-400-lt-rgb:248,249,250;--tblr-gray-500:#929dab;--tblr-gray-500-rgb:146,157,171;--tblr-gray-500-fg:var(--tblr-light);--tblr-gray-500-darken:#838d9a;--tblr-gray-500-lt:#f4f5f7;--tblr-gray-500-lt-rgb:244,245,247;--tblr-gray-600:#667382;--tblr-gray-600-rgb:102,115,130;--tblr-gray-600-fg:var(--tblr-light);--tblr-gray-600-darken:#5c6875;--tblr-gray-600-lt:#f0f1f3;--tblr-gray-600-lt-rgb:240,241,243;--tblr-gray-700:#3a4859;--tblr-gray-700-rgb:58,72,89;--tblr-gray-700-fg:var(--tblr-light);--tblr-gray-700-darken:#344150;--tblr-gray-700-lt:#ebedee;--tblr-gray-700-lt-rgb:235,237,238;--tblr-gray-800:#182433;--tblr-gray-800-rgb:24,36,51;--tblr-gray-800-fg:var(--tblr-light);--tblr-gray-800-darken:#16202e;--tblr-gray-800-lt:#e8e9eb;--tblr-gray-800-lt-rgb:232,233,235;--tblr-gray-900:#040a11;--tblr-gray-900-rgb:4,10,17;--tblr-gray-900-fg:var(--tblr-light);--tblr-gray-900-darken:#04090f;--tblr-gray-900-lt:#e6e7e7;--tblr-gray-900-lt-rgb:230,231,231;--tblr-spacer-0:0;--tblr-spacer-1:.25rem;--tblr-spacer-2:.5rem;--tblr-spacer-3:1rem;--tblr-spacer-4:1.5rem;--tblr-spacer-5:2rem;--tblr-spacer-6:3rem;--tblr-spacer-7:5rem;--tblr-spacer-8:8rem;--tblr-spacer:1rem;--tblr-bg-surface:var(--tblr-white);--tblr-bg-surface-secondary:var(--tblr-gray-100);--tblr-bg-surface-tertiary:var(--tblr-gray-50);--tblr-bg-surface-dark:var(--tblr-dark);--tblr-bg-forms:var(--tblr-bg-surface);--tblr-border-color:#dadfe5;--tblr-border-color-translucent:rgba(4, 32, 69, .14);--tblr-border-dark-color:#bbc3cd;--tblr-border-dark-color-translucent:rgba(4, 32, 69, .27);--tblr-border-active-color:#b6bcc3;--tblr-icon-color:var(--tblr-gray-500);--tblr-active-bg:rgba(var(--tblr-primary-rgb), .04);--tblr-disabled-bg:var(--tblr-bg-surface-secondary);--tblr-disabled-color:var(--tblr-gray-300);--tblr-code-color:var(--tblr-gray-600);--tblr-code-bg:var(--tblr-bg-surface-secondary);--tblr-dark-mode-border-color:#1f2e41;--tblr-dark-mode-border-color-translucent:rgba(72, 110, 149, .14);--tblr-dark-mode-border-color-active:#2c415d;--tblr-dark-mode-border-dark-color:#1f2e41;--tblr-page-padding:var(--tblr-spacer-3);--tblr-page-padding-y:var(--tblr-spacer-4);--tblr-font-weight-light:300;--tblr-font-weight-normal:400;--tblr-font-weight-medium:500;--tblr-font-weight-bold:600;--tblr-font-weight-headings:var(--tblr-font-weight-bold);--tblr-font-size-h1:1.5rem;--tblr-font-size-h2:1.25rem;--tblr-font-size-h3:1rem;--tblr-font-size-h4:.875rem;--tblr-font-size-h5:.75rem;--tblr-font-size-h6:.625rem;--tblr-line-height-h1:2rem;--tblr-line-height-h2:1.75rem;--tblr-line-height-h3:1.5rem;--tblr-line-height-h4:1.25rem;--tblr-line-height-h5:1rem;--tblr-line-height-h6:1rem;--tblr-box-shadow:rgba(var(--tblr-body-color-rgb), .04) 0 2px 4px 0;--tblr-box-shadow-border:inset 0 0 0 1px var(--tblr-border-color-translucent);--tblr-box-shadow-transparent:0 0 0 0 transparent;--tblr-box-shadow-input:0 1px 1px rgba(var(--tblr-body-color-rgb), .06);--tblr-box-shadow-card:0 0 4px rgba(var(--tblr-body-color-rgb), .04);--tblr-box-shadow-card-hover:rgba(var(--tblr-body-color-rgb), .16) 0 2px 16px 0;--tblr-box-shadow-dropdown:0 16px 24px 2px rgba(0, 0, 0, .07),0 6px 30px 5px rgba(0, 0, 0, .06),0 8px 10px -5px rgba(0, 0, 0, .1)}@media (max-width:991.98px){:host,:root,[data-bs-theme=light]{--tblr-page-padding:var(--tblr-spacer-2)}}@keyframes pulse{0%{opacity:1;transform:scale3d(.8,.8,.8)}50%{transform:scaleZ(1);opacity:1}to{opacity:1;transform:scale3d(.8,.8,.8)}}@keyframes tada{0%{transform:scaleZ(1)}10%,5%{transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-5deg)}15%,25%,35%,45%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,5deg)}20%,30%,40%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-5deg)}50%{transform:scaleZ(1)}}@keyframes rotate-360{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blink{0%{opacity:0}50%{opacity:1}to{opacity:0}}body{letter-spacing:0;touch-action:manipulation;text-rendering:optimizeLegibility;font-feature-settings:"liga" 0;position:relative;min-height:100%;height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media print{body{background:0 0}}*{scrollbar-color:rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16) transparent}::-webkit-scrollbar{width:1rem;height:1rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){::-webkit-scrollbar{-webkit-transition:none;transition:none}}::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16)}::-webkit-scrollbar-track{background:0 0}:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.32)}::-webkit-scrollbar-corner{background:0 0}.layout-fluid .container,.layout-fluid [class*=" container-"],.layout-fluid [class^=container-]{max-width:100%}.layout-boxed{--tblr-theme-boxed-border-radius:0;--tblr-theme-boxed-width:1320px}@media (min-width:768px){.layout-boxed{background:#182433 linear-gradient(to right,rgba(255,255,255,.1),transparent) fixed;padding:1rem;--tblr-theme-boxed-border-radius:4px}}.layout-boxed .page{margin:0 auto;max-width:var(--tblr-theme-boxed-width);border-radius:var(--tblr-theme-boxed-border-radius);color:var(--tblr-body-color)}@media (min-width:768px){.layout-boxed .page{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background:var(--tblr-body-bg)}}.layout-boxed .page>.navbar:first-child{border-top-left-radius:var(--tblr-theme-boxed-border-radius);border-top-right-radius:var(--tblr-theme-boxed-border-radius)}.navbar{--tblr-navbar-bg:var(--tblr-bg-surface);--tblr-navbar-border-width:var(--tblr-border-width);--tblr-navbar-active-border-color:var(--tblr-primary);--tblr-navbar-active-bg:rgba(0, 0, 0, .06);--tblr-navbar-color:var(--tblr-body-color);--tblr-navbar-border-color:var(--tblr-border-color);align-items:stretch;min-height:3.5rem;box-shadow:inset 0 calc(-1 * var(--tblr-navbar-border-width)) 0 0 var(--tblr-navbar-border-color);background:var(--tblr-navbar-bg);color:var(--tblr-navbar-color)}.navbar-collapse .navbar{flex-grow:1}.navbar.collapsing{min-height:0}.navbar .dropdown-menu{position:absolute;z-index:1030}.navbar .navbar-nav{min-height:3rem}.navbar .navbar-nav .nav-link{position:relative;min-width:2rem;min-height:2rem;justify-content:center;border-radius:var(--tblr-border-radius)}.navbar .navbar-nav .nav-link .badge{position:absolute;top:.375rem;right:.375rem;transform:translate(50%,-50%)}.navbar-nav{margin:0;padding:0}@media (max-width:575.98px){.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-sm .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:576px){.navbar-expand-sm .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-sm .nav-item.active{position:relative}.navbar-expand-sm .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-sm.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical~.navbar,.navbar-expand-sm.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-sm.navbar-vertical.navbar-right~.navbar,.navbar-expand-sm.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}@media (max-width:767.98px){.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-md .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:768px){.navbar-expand-md .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-md .nav-item.active{position:relative}.navbar-expand-md .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-md.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical~.navbar,.navbar-expand-md.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-md.navbar-vertical.navbar-right~.navbar,.navbar-expand-md.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}@media (max-width:991.98px){.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-lg .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:992px){.navbar-expand-lg .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-lg .nav-item.active{position:relative}.navbar-expand-lg .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-lg.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical~.navbar,.navbar-expand-lg.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-lg.navbar-vertical.navbar-right~.navbar,.navbar-expand-lg.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}@media (max-width:1199.98px){.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:1200px){.navbar-expand-xl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xl .nav-item.active{position:relative}.navbar-expand-xl .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xl.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical~.navbar,.navbar-expand-xl.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-xl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xl.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}@media (max-width:1399.98px){.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:1400px){.navbar-expand-xxl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xxl .nav-item.active{position:relative}.navbar-expand-xxl .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xxl.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical~.navbar,.navbar-expand-xxl.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-xxl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xxl.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}.navbar-expand .navbar-collapse{flex-direction:column}.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}.navbar-expand .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand .nav-item.active{position:relative}.navbar-expand .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical~.navbar,.navbar-expand.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand.navbar-vertical.navbar-right~.navbar,.navbar-expand.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}.navbar-brand{display:inline-flex;align-items:center;font-weight:var(--tblr-font-weight-bold);margin:0;line-height:1;gap:.5rem}.navbar-brand-image{height:2rem;width:auto}.navbar-toggler{border:0;width:2rem;height:2rem;position:relative;display:flex;align-items:center;justify-content:center}.navbar-toggler-icon{height:2px;width:1.25em;background:currentColor;border-radius:10px;transition:top .2s .2s,bottom .2s .2s,transform .2s,opacity 0s .2s;position:relative}@media (prefers-reduced-motion:reduce){.navbar-toggler-icon{transition:none}}.navbar-toggler-icon:after,.navbar-toggler-icon:before{content:"";display:block;height:inherit;width:inherit;border-radius:inherit;background:inherit;position:absolute;left:0;transition:inherit}@media (prefers-reduced-motion:reduce){.navbar-toggler-icon:after,.navbar-toggler-icon:before{transition:none}}.navbar-toggler-icon:before{top:-.45em}.navbar-toggler-icon:after{bottom:-.45em}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transform:rotate(45deg);transition:top .3s,bottom .3s,transform .3s .3s,opacity 0s .3s}@media (prefers-reduced-motion:reduce){.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transition:none}}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before{top:0;transform:rotate(-90deg)}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after{bottom:0;opacity:0}.navbar-transparent{--tblr-navbar-border-color:transparent!important;background:0 0!important}.navbar-nav{align-items:stretch}.navbar-nav .nav-item{display:flex;flex-direction:column;justify-content:center}.navbar-side{margin:0;display:flex;flex-direction:row;align-items:center;justify-content:space-around}@media (min-width:576px){.navbar-vertical.navbar-expand-sm{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:576px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-sm{transition:none}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm.navbar-right{left:auto;right:0}.navbar-vertical.navbar-expand-sm .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-sm .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-sm .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-sm .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-sm>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-sm~.page{padding-left:15rem}.navbar-vertical.navbar-expand-sm~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-sm.navbar-right~.page{padding-left:0;padding-right:15rem}.navbar-vertical.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:768px){.navbar-vertical.navbar-expand-md{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:768px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-md{transition:none}}@media (min-width:768px){.navbar-vertical.navbar-expand-md.navbar-right{left:auto;right:0}.navbar-vertical.navbar-expand-md .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-md .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-md .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-md .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-md>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-md~.page{padding-left:15rem}.navbar-vertical.navbar-expand-md~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-md.navbar-right~.page{padding-left:0;padding-right:15rem}.navbar-vertical.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:992px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-lg{transition:none}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg.navbar-right{left:auto;right:0}.navbar-vertical.navbar-expand-lg .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-lg .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-lg .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-lg .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-lg>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-lg~.page{padding-left:15rem}.navbar-vertical.navbar-expand-lg~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-lg.navbar-right~.page{padding-left:0;padding-right:15rem}.navbar-vertical.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:1200px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xl{transition:none}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl.navbar-right{left:auto;right:0}.navbar-vertical.navbar-expand-xl .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-xl .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-xl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-xl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-xl~.page{padding-left:15rem}.navbar-vertical.navbar-expand-xl~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-xl.navbar-right~.page{padding-left:0;padding-right:15rem}.navbar-vertical.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:1400px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xxl{transition:none}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl.navbar-right{left:auto;right:0}.navbar-vertical.navbar-expand-xxl .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-xxl .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-xxl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xxl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-xxl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-xxl~.page{padding-left:15rem}.navbar-vertical.navbar-expand-xxl~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-xxl.navbar-right~.page{padding-left:0;padding-right:15rem}.navbar-vertical.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}.navbar-vertical.navbar-expand{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}@media (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand{transition:none}}.navbar-vertical.navbar-expand.navbar-right{left:auto;right:0}.navbar-vertical.navbar-expand .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand~.page{padding-left:15rem}.navbar-vertical.navbar-expand~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand.navbar-right~.page{padding-left:0;padding-right:15rem}.navbar-vertical.navbar-expand .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}.navbar-overlap:after{content:"";height:9rem;position:absolute;top:100%;left:0;right:0;background:inherit;z-index:-1;box-shadow:inherit}.page{display:flex;flex-direction:column;position:relative;min-height:100%}.page-center .container{margin-top:auto;margin-bottom:auto}.page-wrapper{flex:1;display:flex;flex-direction:column}@media print{.page-wrapper{margin:0!important}}.page-wrapper-full .page-body:first-child{margin:0;border-top:0}.page-body{margin-top:var(--tblr-page-padding-y);margin-bottom:var(--tblr-page-padding-y)}.page-body-card{background:var(--tblr-bg-surface);border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);padding:var(--tblr-page-padding) 0;margin-bottom:0;flex:1}.page-body~.page-body-card{margin-top:0}.page-cover{background:no-repeat center/cover;min-height:9rem}@media (min-width:768px){.page-cover{min-height:12rem}}@media (min-width:992px){.page-cover{min-height:15rem}}.page-cover-overlay{position:relative}.page-cover-overlay:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(180deg,#0000 0,#0009)}.page-header{display:flex;flex-wrap:wrap;min-height:2.25rem;flex-direction:column;justify-content:center}.page-wrapper .page-header{margin:var(--tblr-page-padding-y) 0 0}.page-header-border{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding:var(--tblr-page-padding-y) 0;margin:0!important;background-color:var(--tblr-bg-surface)}.page-pretitle{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary)}.page-title{margin:0;font-size:var(--tblr-font-size-h2);line-height:var(--tblr-line-height-h4);font-weight:var(--tblr-font-weight-headings);color:inherit;display:flex;align-items:center}.page-title svg{width:1.5rem;height:1.5rem;margin-right:.25rem}.page-title-lg{font-size:1.5rem;line-height:2rem}.page-subtitle{margin-top:.25rem;color:var(--tblr-secondary)}.page-cover{--tblr-page-cover-blur:20px;--tblr-page-cover-padding:1rem;min-height:6rem;padding:var(--tblr-page-cover-padding) 0;position:relative;overflow:hidden}.page-cover-img{position:absolute;top:calc(-2 * var(--tblr-page-cover-blur,0));left:calc(-2 * var(--tblr-page-cover-blur,0));right:calc(-2 * var(--tblr-page-cover-blur,0));bottom:calc(-2 * var(--tblr-page-cover-blur,0));pointer-events:none;filter:blur(var(--tblr-page-cover-blur));-o-object-fit:cover;object-fit:cover;background-size:cover;background-position:center;z-index:-1}.page-tabs{margin-top:.5rem;position:relative}.page-header-tabs .nav-bordered{border:0}.page-header-tabs+.page-body-card{margin-top:0}.footer{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background-color:#fff;padding:2rem 0;color:var(--tblr-secondary);margin-top:auto}.footer-transparent{background-color:transparent;border-top:0}body:not(.theme-dark):not([data-bs-theme=dark]) .hide-theme-light{display:none!important}body.theme-dark .hide-theme-dark,body[data-bs-theme=dark] .hide-theme-dark{display:none!important}[data-bs-theme=dark],body[data-bs-theme=dark] [data-bs-theme=light]{--tblr-body-color:#fcfdfe;--tblr-body-color-rgb:252,253,254;--tblr-muted:#3a4859;--tblr-body-bg:#151f2c;--tblr-body-bg-rgb:21,31,44;--tblr-emphasis-color:#ffffff;--tblr-emphasis-color-rgb:255,255,255;--tblr-bg-forms:#151f2c;--tblr-bg-surface:#182433;--tblr-bg-surface-dark:#151f2c;--tblr-bg-surface-secondary:#1b293a;--tblr-bg-surface-tertiary:#151f2c;--tblr-link-color:#0069cf;--tblr-link-hover-color:#0054a6;--tblr-active-bg:#1b293a;--tblr-disabled-color:var(--tblr-gray-700);--tblr-border-color:var(--tblr-dark-mode-border-color);--tblr-border-color-translucent:var( --tblr-dark-mode-border-color-translucent );--tblr-border-dark-color:var(--tblr-dark-mode-border-dark-color);--tblr-border-color-active:var( --tblr-dark-mode-border-color-active );--tblr-btn-color:#151f2c;--tblr-code-color:var(--tblr-body-color);--tblr-code-bg:#1f2e41;--tblr-primary-lt:#16293f;--tblr-primary-lt-rgb:22,41,63;--tblr-secondary-lt:#202c3b;--tblr-secondary-lt-rgb:32,44,59;--tblr-success-lt:#1a3235;--tblr-success-lt-rgb:26,50,53;--tblr-info-lt:#1c3044;--tblr-info-lt-rgb:28,48,68;--tblr-warning-lt:#2e2b2f;--tblr-warning-lt-rgb:46,43,47;--tblr-danger-lt:#2b2634;--tblr-danger-lt-rgb:43,38,52;--tblr-light-lt:#2f3a47;--tblr-light-lt-rgb:47,58,71;--tblr-dark-lt:#182433;--tblr-dark-lt-rgb:24,36,51;--tblr-muted-lt:#202c3b;--tblr-muted-lt-rgb:32,44,59;--tblr-blue-lt:#16293f;--tblr-blue-lt-rgb:22,41,63;--tblr-azure-lt:#1c3044;--tblr-azure-lt-rgb:28,48,68;--tblr-indigo-lt:#1c2a45;--tblr-indigo-lt-rgb:28,42,69;--tblr-purple-lt:#272742;--tblr-purple-lt-rgb:39,39,66;--tblr-pink-lt:#2b2639;--tblr-pink-lt-rgb:43,38,57;--tblr-red-lt:#2b2634;--tblr-red-lt-rgb:43,38,52;--tblr-orange-lt:#2e2b2f;--tblr-orange-lt-rgb:46,43,47;--tblr-yellow-lt:#2e302e;--tblr-yellow-lt-rgb:46,48,46;--tblr-lime-lt:#213330;--tblr-lime-lt-rgb:33,51,48;--tblr-green-lt:#1a3235;--tblr-green-lt-rgb:26,50,53;--tblr-teal-lt:#17313a;--tblr-teal-lt-rgb:23,49,58;--tblr-cyan-lt:#183140;--tblr-cyan-lt-rgb:24,49,64;--tblr-facebook-lt:#182c46;--tblr-facebook-lt-rgb:24,44,70;--tblr-twitter-lt:#193146;--tblr-twitter-lt-rgb:25,49,70;--tblr-linkedin-lt:#172b41;--tblr-linkedin-lt-rgb:23,43,65;--tblr-google-lt:#2c2834;--tblr-google-lt-rgb:44,40,52;--tblr-youtube-lt:#2f202e;--tblr-youtube-lt-rgb:47,32,46;--tblr-vimeo-lt:#183345;--tblr-vimeo-lt-rgb:24,51,69;--tblr-dribbble-lt:#2d283c;--tblr-dribbble-lt-rgb:45,40,60;--tblr-github-lt:#182330;--tblr-github-lt-rgb:24,35,48;--tblr-instagram-lt:#2c2737;--tblr-instagram-lt-rgb:44,39,55;--tblr-pinterest-lt:#292131;--tblr-pinterest-lt-rgb:41,33,49;--tblr-vk-lt:#202e3f;--tblr-vk-lt-rgb:32,46,63;--tblr-rss-lt:#2f312e;--tblr-rss-lt-rgb:47,49,46;--tblr-flickr-lt:#162a44;--tblr-flickr-lt-rgb:22,42,68;--tblr-bitbucket-lt:#162942;--tblr-bitbucket-lt-rgb:22,41,66;--tblr-tabler-lt:#16293f;--tblr-tabler-lt-rgb:22,41,63}[data-bs-theme=dark] .navbar-brand-autodark .navbar-brand-image{filter:brightness(0) invert(1)}.accordion{--tblr-accordion-color:var(--tblr-body-color)}.accordion-button:focus:not(:focus-visible){outline:0;box-shadow:none}.accordion-button:after{opacity:.7}.accordion-button:not(.collapsed){font-weight:var(--tblr-font-weight-bold);border-bottom-color:transparent;box-shadow:none}.accordion-button:not(.collapsed):after{opacity:1}.alert{--tblr-alert-color:var(--tblr-secondary);--tblr-alert-bg:var(--tblr-surface);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-left:.25rem var(--tblr-border-style) var(--tblr-alert-color);box-shadow:#1824330a 0 2px 4px}.alert>:last-child{margin-bottom:0}.alert-important{border-color:transparent;background:var(--tblr-alert-color);color:#fff}.alert-important .alert-icon,.alert-important .alert-link,.alert-important .alert-title,.alert-important .alert-link:hover{color:inherit}.alert-important .btn-close{filter:var(--tblr-btn-close-white-filter)}.alert-link,.alert-link:hover{color:var(--tblr-alert-color)}.alert-primary{--tblr-alert-color:var(--tblr-primary)}.alert-secondary{--tblr-alert-color:var(--tblr-secondary)}.alert-success{--tblr-alert-color:var(--tblr-success)}.alert-info{--tblr-alert-color:var(--tblr-info)}.alert-warning{--tblr-alert-color:var(--tblr-warning)}.alert-danger{--tblr-alert-color:var(--tblr-danger)}.alert-light{--tblr-alert-color:var(--tblr-light)}.alert-dark{--tblr-alert-color:var(--tblr-dark)}.alert-muted{--tblr-alert-color:var(--tblr-muted)}.alert-blue{--tblr-alert-color:var(--tblr-blue)}.alert-azure{--tblr-alert-color:var(--tblr-azure)}.alert-indigo{--tblr-alert-color:var(--tblr-indigo)}.alert-purple{--tblr-alert-color:var(--tblr-purple)}.alert-pink{--tblr-alert-color:var(--tblr-pink)}.alert-red{--tblr-alert-color:var(--tblr-red)}.alert-orange{--tblr-alert-color:var(--tblr-orange)}.alert-yellow{--tblr-alert-color:var(--tblr-yellow)}.alert-lime{--tblr-alert-color:var(--tblr-lime)}.alert-green{--tblr-alert-color:var(--tblr-green)}.alert-teal{--tblr-alert-color:var(--tblr-teal)}.alert-cyan{--tblr-alert-color:var(--tblr-cyan)}.alert-facebook{--tblr-alert-color:var(--tblr-facebook)}.alert-twitter{--tblr-alert-color:var(--tblr-twitter)}.alert-linkedin{--tblr-alert-color:var(--tblr-linkedin)}.alert-google{--tblr-alert-color:var(--tblr-google)}.alert-youtube{--tblr-alert-color:var(--tblr-youtube)}.alert-vimeo{--tblr-alert-color:var(--tblr-vimeo)}.alert-dribbble{--tblr-alert-color:var(--tblr-dribbble)}.alert-github{--tblr-alert-color:var(--tblr-github)}.alert-instagram{--tblr-alert-color:var(--tblr-instagram)}.alert-pinterest{--tblr-alert-color:var(--tblr-pinterest)}.alert-vk{--tblr-alert-color:var(--tblr-vk)}.alert-rss{--tblr-alert-color:var(--tblr-rss)}.alert-flickr{--tblr-alert-color:var(--tblr-flickr)}.alert-bitbucket{--tblr-alert-color:var(--tblr-bitbucket)}.alert-tabler{--tblr-alert-color:var(--tblr-tabler)}.alert-icon{color:var(--tblr-alert-color);width:1.5rem!important;height:1.5rem!important;margin:-.125rem 1rem -.125rem 0}.alert-title{font-size:.875rem;line-height:1.25rem;font-weight:var(--tblr-font-weight-bold);margin-bottom:.25rem;color:var(--tblr-alert-color)}.avatar{--tblr-avatar-size:2.5rem;--tblr-avatar-status-size:.75rem;--tblr-avatar-bg:var(--tblr-bg-surface-secondary);--tblr-avatar-box-shadow:var(--tblr-box-shadow-border);--tblr-avatar-font-size:1rem;--tblr-avatar-icon-size:1.5rem;position:relative;width:var(--tblr-avatar-size);height:var(--tblr-avatar-size);font-size:var(--tblr-avatar-font-size);font-weight:var(--tblr-font-weight-medium);line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--tblr-secondary);text-align:center;text-transform:uppercase;vertical-align:bottom;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-avatar-bg) no-repeat center/cover;border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-avatar-box-shadow)}.avatar .icon{width:var(--tblr-avatar-icon-size);height:var(--tblr-avatar-icon-size)}.avatar .badge{position:absolute;right:0;bottom:0;border-radius:100rem;box-shadow:0 0 0 calc(var(--tblr-avatar-status-size)/ 4) var(--tblr-bg-surface)}a.avatar{cursor:pointer}.avatar-rounded{border-radius:100rem}.avatar-xxs{--tblr-avatar-size:1rem;--tblr-avatar-status-size:.25rem;--tblr-avatar-font-size:.5rem;--tblr-avatar-icon-size:.75rem}.avatar-xxs .badge:empty{width:.25rem;height:.25rem}.avatar-xs{--tblr-avatar-size:1.25rem;--tblr-avatar-status-size:.375rem;--tblr-avatar-font-size:.625rem;--tblr-avatar-icon-size:1rem}.avatar-xs .badge:empty{width:.375rem;height:.375rem}.avatar-sm{--tblr-avatar-size:2rem;--tblr-avatar-status-size:.5rem;--tblr-avatar-font-size:.75rem;--tblr-avatar-icon-size:1.25rem}.avatar-sm .badge:empty{width:.5rem;height:.5rem}.avatar-md{--tblr-avatar-size:2.5rem;--tblr-avatar-status-size:.75rem;--tblr-avatar-font-size:.875rem;--tblr-avatar-icon-size:1.5rem}.avatar-md .badge:empty{width:.75rem;height:.75rem}.avatar-lg{--tblr-avatar-size:3rem;--tblr-avatar-status-size:.75rem;--tblr-avatar-font-size:1.25rem;--tblr-avatar-icon-size:2rem}.avatar-lg .badge:empty{width:.75rem;height:.75rem}.avatar-xl{--tblr-avatar-size:5rem;--tblr-avatar-status-size:1rem;--tblr-avatar-font-size:2rem;--tblr-avatar-icon-size:3rem}.avatar-xl .badge:empty{width:1rem;height:1rem}.avatar-2xl{--tblr-avatar-size:7rem;--tblr-avatar-status-size:1rem;--tblr-avatar-font-size:3rem;--tblr-avatar-icon-size:5rem}.avatar-2xl .badge:empty{width:1rem;height:1rem}.avatar-list{--tblr-list-gap:.5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.avatar-list a.avatar:hover{z-index:1}.avatar-list-stacked{display:block;--tblr-list-gap:0}.avatar-list-stacked .avatar{margin-right:calc(-.5 * var(--tblr-avatar-size))!important;box-shadow:var(--tblr-avatar-box-shadow),0 0 0 2px var(--tblr-card-cap-bg,var(--tblr-card-bg,var(--tblr-bg-surface)))}.avatar-upload{width:4rem;height:4rem;border:var(--tblr-border-width) dashed var(--tblr-border-color);background:var(--tblr-bg-forms);flex-direction:column;transition:color .3s,background-color .3s}@media (prefers-reduced-motion:reduce){.avatar-upload{transition:none}}.avatar-upload svg{width:1.5rem;height:1.5rem;stroke-width:1}.avatar-upload:hover{border-color:var(--tblr-primary);color:var(--tblr-primary);text-decoration:none}.avatar-upload-text{font-size:.625rem;line-height:1;margin-top:.25rem}.avatar-cover{margin-top:calc(-.5 * var(--tblr-avatar-size));box-shadow:0 0 0 .25rem var(--tblr-card-bg,var(--tblr-body-bg))}.badge{justify-content:center;align-items:center;background:var(--tblr-bg-surface-secondary);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) transparent;min-width:1.35714285em;font-weight:var(--tblr-font-weight-bold);letter-spacing:.04em;vertical-align:bottom}a.badge{color:var(--tblr-bg-surface)}.badge .avatar{box-sizing:content-box;width:1.25rem;height:1.25rem;margin:0 .5rem 0 -.5rem}.badge .icon{width:1em;height:1em;font-size:1rem;stroke-width:2}.badge-empty,.badge:empty{display:inline-block;width:.5rem;height:.5rem;min-width:0;min-height:auto;padding:0;border-radius:100rem;vertical-align:baseline}.badge-outline{background-color:transparent;border:var(--tblr-border-width) var(--tblr-border-style) currentColor}.badge-pill{border-radius:100rem}.badges-list{--tblr-list-gap:.5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.badge-notification{position:absolute!important;top:0!important;right:0!important;transform:translate(50%,-50%);z-index:1}.badge-blink{animation:blink 2s infinite}.breadcrumb{--tblr-breadcrumb-item-active-font-weight:var(--tblr-font-weight-bold);--tblr-breadcrumb-item-disabled-color:var(--tblr-disabled-color);--tblr-breadcrumb-link-color:var(--tblr-link-color);padding:0;margin:0;background:0 0}.breadcrumb a{color:var(--tblr-breadcrumb-link-color)}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-muted{--tblr-breadcrumb-link-color:var(--tblr-secondary)}.breadcrumb-item.active{font-weight:var(--tblr-breadcrumb-item-active-font-weight)}.breadcrumb-item.active a{color:inherit;pointer-events:none}.breadcrumb-item.disabled{color:var(--tblr-breadcrumb-item-disabled-color)}.breadcrumb-item.disabled:before{color:inherit}.breadcrumb-item.disabled a{color:inherit;pointer-events:none}.breadcrumb-dots{--tblr-breadcrumb-divider:"·"}.breadcrumb-arrows{--tblr-breadcrumb-divider:"›"}.breadcrumb-bullets{--tblr-breadcrumb-divider:"•"}.btn{--tblr-btn-icon-size:1.25rem;--tblr-btn-bg:var(--tblr-bg-surface);--tblr-btn-color:var(--tblr-body-color);--tblr-btn-border-color:var(--tblr-border-color);--tblr-btn-hover-bg:var(--tblr-btn-bg);--tblr-btn-hover-border-color:var(--tblr-border-color-active);--tblr-btn-box-shadow:var(--tblr-box-shadow-input);--tblr-btn-active-color:var(--tblr-primary);--tblr-btn-active-bg:rgba(var(--tblr-primary-rgb), .04);--tblr-btn-active-border-color:var(--tblr-primary);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:var(--tblr-btn-box-shadow)}.btn .icon{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);min-width:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x)/ 2) 0 calc(var(--tblr-btn-padding-x)/ -4);vertical-align:bottom;color:inherit}.btn .avatar{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x)/ 2) 0 calc(var(--tblr-btn-padding-x)/ -4)}.btn .icon-right{margin:0 calc(var(--tblr-btn-padding-x)/ -4) 0 calc(var(--tblr-btn-padding-x)/ 2)}.btn .badge{top:auto}.btn-check+.btn:hover{color:var(--tblr-btn-hover-color);background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color)}.btn-link{color:#0054a6;background-color:transparent;border-color:transparent;box-shadow:none}.btn-link .icon{color:inherit}.btn-link:hover{color:#004385;border-color:transparent}.btn-primary{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-primary-fg);--tblr-btn-bg:var(--tblr-primary);--tblr-btn-hover-color:var(--tblr-primary-fg);--tblr-btn-hover-bg:rgba(var(--tblr-primary-rgb), .8);--tblr-btn-active-color:var(--tblr-primary-fg);--tblr-btn-active-bg:rgba(var(--tblr-primary-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-primary);--tblr-btn-disabled-color:var(--tblr-primary-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-primary{--tblr-btn-color:var(--tblr-primary);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-primary);--tblr-btn-hover-color:var(--tblr-primary-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-primary);--tblr-btn-active-color:var(--tblr-primary-fg);--tblr-btn-active-bg:var(--tblr-primary);--tblr-btn-disabled-color:var(--tblr-primary);--tblr-btn-disabled-border-color:var(--tblr-primary)}.btn-secondary{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-secondary-fg);--tblr-btn-bg:var(--tblr-secondary);--tblr-btn-hover-color:var(--tblr-secondary-fg);--tblr-btn-hover-bg:rgba(var(--tblr-secondary-rgb), .8);--tblr-btn-active-color:var(--tblr-secondary-fg);--tblr-btn-active-bg:rgba(var(--tblr-secondary-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-secondary);--tblr-btn-disabled-color:var(--tblr-secondary-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-secondary{--tblr-btn-color:var(--tblr-secondary);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-secondary);--tblr-btn-hover-color:var(--tblr-secondary-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-secondary);--tblr-btn-active-color:var(--tblr-secondary-fg);--tblr-btn-active-bg:var(--tblr-secondary);--tblr-btn-disabled-color:var(--tblr-secondary);--tblr-btn-disabled-border-color:var(--tblr-secondary)}.btn-success{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-success-fg);--tblr-btn-bg:var(--tblr-success);--tblr-btn-hover-color:var(--tblr-success-fg);--tblr-btn-hover-bg:rgba(var(--tblr-success-rgb), .8);--tblr-btn-active-color:var(--tblr-success-fg);--tblr-btn-active-bg:rgba(var(--tblr-success-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-success);--tblr-btn-disabled-color:var(--tblr-success-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-success{--tblr-btn-color:var(--tblr-success);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-success);--tblr-btn-hover-color:var(--tblr-success-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-success);--tblr-btn-active-color:var(--tblr-success-fg);--tblr-btn-active-bg:var(--tblr-success);--tblr-btn-disabled-color:var(--tblr-success);--tblr-btn-disabled-border-color:var(--tblr-success)}.btn-info{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-info-fg);--tblr-btn-bg:var(--tblr-info);--tblr-btn-hover-color:var(--tblr-info-fg);--tblr-btn-hover-bg:rgba(var(--tblr-info-rgb), .8);--tblr-btn-active-color:var(--tblr-info-fg);--tblr-btn-active-bg:rgba(var(--tblr-info-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-info);--tblr-btn-disabled-color:var(--tblr-info-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-info{--tblr-btn-color:var(--tblr-info);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-info);--tblr-btn-hover-color:var(--tblr-info-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-info);--tblr-btn-active-color:var(--tblr-info-fg);--tblr-btn-active-bg:var(--tblr-info);--tblr-btn-disabled-color:var(--tblr-info);--tblr-btn-disabled-border-color:var(--tblr-info)}.btn-warning{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-warning-fg);--tblr-btn-bg:var(--tblr-warning);--tblr-btn-hover-color:var(--tblr-warning-fg);--tblr-btn-hover-bg:rgba(var(--tblr-warning-rgb), .8);--tblr-btn-active-color:var(--tblr-warning-fg);--tblr-btn-active-bg:rgba(var(--tblr-warning-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-warning);--tblr-btn-disabled-color:var(--tblr-warning-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-warning{--tblr-btn-color:var(--tblr-warning);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-warning);--tblr-btn-hover-color:var(--tblr-warning-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-warning);--tblr-btn-active-color:var(--tblr-warning-fg);--tblr-btn-active-bg:var(--tblr-warning);--tblr-btn-disabled-color:var(--tblr-warning);--tblr-btn-disabled-border-color:var(--tblr-warning)}.btn-danger{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-danger-fg);--tblr-btn-bg:var(--tblr-danger);--tblr-btn-hover-color:var(--tblr-danger-fg);--tblr-btn-hover-bg:rgba(var(--tblr-danger-rgb), .8);--tblr-btn-active-color:var(--tblr-danger-fg);--tblr-btn-active-bg:rgba(var(--tblr-danger-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-danger);--tblr-btn-disabled-color:var(--tblr-danger-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-danger{--tblr-btn-color:var(--tblr-danger);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-danger);--tblr-btn-hover-color:var(--tblr-danger-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-danger);--tblr-btn-active-color:var(--tblr-danger-fg);--tblr-btn-active-bg:var(--tblr-danger);--tblr-btn-disabled-color:var(--tblr-danger);--tblr-btn-disabled-border-color:var(--tblr-danger)}.btn-light{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-light-fg);--tblr-btn-bg:var(--tblr-light);--tblr-btn-hover-color:var(--tblr-light-fg);--tblr-btn-hover-bg:rgba(var(--tblr-light-rgb), .8);--tblr-btn-active-color:var(--tblr-light-fg);--tblr-btn-active-bg:rgba(var(--tblr-light-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-light);--tblr-btn-disabled-color:var(--tblr-light-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-light{--tblr-btn-color:var(--tblr-light);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-light);--tblr-btn-hover-color:var(--tblr-light-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-light);--tblr-btn-active-color:var(--tblr-light-fg);--tblr-btn-active-bg:var(--tblr-light);--tblr-btn-disabled-color:var(--tblr-light);--tblr-btn-disabled-border-color:var(--tblr-light)}.btn-dark{--tblr-btn-border-color:var(--tblr-dark-mode-border-color);--tblr-btn-hover-border-color:var(--tblr-dark-mode-border-color-active);--tblr-btn-active-border-color:var(--tblr-dark-mode-border-color-active);--tblr-btn-color:var(--tblr-dark-fg);--tblr-btn-bg:var(--tblr-dark);--tblr-btn-hover-color:var(--tblr-dark-fg);--tblr-btn-hover-bg:rgba(var(--tblr-dark-rgb), .8);--tblr-btn-active-color:var(--tblr-dark-fg);--tblr-btn-active-bg:rgba(var(--tblr-dark-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-dark);--tblr-btn-disabled-color:var(--tblr-dark-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-dark{--tblr-btn-color:var(--tblr-dark);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-dark);--tblr-btn-hover-color:var(--tblr-dark-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-dark);--tblr-btn-active-color:var(--tblr-dark-fg);--tblr-btn-active-bg:var(--tblr-dark);--tblr-btn-disabled-color:var(--tblr-dark);--tblr-btn-disabled-border-color:var(--tblr-dark)}.btn-muted{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-muted-fg);--tblr-btn-bg:var(--tblr-muted);--tblr-btn-hover-color:var(--tblr-muted-fg);--tblr-btn-hover-bg:rgba(var(--tblr-muted-rgb), .8);--tblr-btn-active-color:var(--tblr-muted-fg);--tblr-btn-active-bg:rgba(var(--tblr-muted-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-muted);--tblr-btn-disabled-color:var(--tblr-muted-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-muted{--tblr-btn-color:var(--tblr-muted);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-muted);--tblr-btn-hover-color:var(--tblr-muted-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-muted);--tblr-btn-active-color:var(--tblr-muted-fg);--tblr-btn-active-bg:var(--tblr-muted);--tblr-btn-disabled-color:var(--tblr-muted);--tblr-btn-disabled-border-color:var(--tblr-muted)}.btn-blue{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-blue-fg);--tblr-btn-bg:var(--tblr-blue);--tblr-btn-hover-color:var(--tblr-blue-fg);--tblr-btn-hover-bg:rgba(var(--tblr-blue-rgb), .8);--tblr-btn-active-color:var(--tblr-blue-fg);--tblr-btn-active-bg:rgba(var(--tblr-blue-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-blue);--tblr-btn-disabled-color:var(--tblr-blue-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-blue{--tblr-btn-color:var(--tblr-blue);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-blue);--tblr-btn-hover-color:var(--tblr-blue-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-blue);--tblr-btn-active-color:var(--tblr-blue-fg);--tblr-btn-active-bg:var(--tblr-blue);--tblr-btn-disabled-color:var(--tblr-blue);--tblr-btn-disabled-border-color:var(--tblr-blue)}.btn-azure{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-azure-fg);--tblr-btn-bg:var(--tblr-azure);--tblr-btn-hover-color:var(--tblr-azure-fg);--tblr-btn-hover-bg:rgba(var(--tblr-azure-rgb), .8);--tblr-btn-active-color:var(--tblr-azure-fg);--tblr-btn-active-bg:rgba(var(--tblr-azure-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-azure);--tblr-btn-disabled-color:var(--tblr-azure-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-azure{--tblr-btn-color:var(--tblr-azure);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-azure);--tblr-btn-hover-color:var(--tblr-azure-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-azure);--tblr-btn-active-color:var(--tblr-azure-fg);--tblr-btn-active-bg:var(--tblr-azure);--tblr-btn-disabled-color:var(--tblr-azure);--tblr-btn-disabled-border-color:var(--tblr-azure)}.btn-indigo{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-indigo-fg);--tblr-btn-bg:var(--tblr-indigo);--tblr-btn-hover-color:var(--tblr-indigo-fg);--tblr-btn-hover-bg:rgba(var(--tblr-indigo-rgb), .8);--tblr-btn-active-color:var(--tblr-indigo-fg);--tblr-btn-active-bg:rgba(var(--tblr-indigo-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-indigo);--tblr-btn-disabled-color:var(--tblr-indigo-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-indigo{--tblr-btn-color:var(--tblr-indigo);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-indigo);--tblr-btn-hover-color:var(--tblr-indigo-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-indigo);--tblr-btn-active-color:var(--tblr-indigo-fg);--tblr-btn-active-bg:var(--tblr-indigo);--tblr-btn-disabled-color:var(--tblr-indigo);--tblr-btn-disabled-border-color:var(--tblr-indigo)}.btn-purple{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-purple-fg);--tblr-btn-bg:var(--tblr-purple);--tblr-btn-hover-color:var(--tblr-purple-fg);--tblr-btn-hover-bg:rgba(var(--tblr-purple-rgb), .8);--tblr-btn-active-color:var(--tblr-purple-fg);--tblr-btn-active-bg:rgba(var(--tblr-purple-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-purple);--tblr-btn-disabled-color:var(--tblr-purple-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-purple{--tblr-btn-color:var(--tblr-purple);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-purple);--tblr-btn-hover-color:var(--tblr-purple-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-purple);--tblr-btn-active-color:var(--tblr-purple-fg);--tblr-btn-active-bg:var(--tblr-purple);--tblr-btn-disabled-color:var(--tblr-purple);--tblr-btn-disabled-border-color:var(--tblr-purple)}.btn-pink{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-pink-fg);--tblr-btn-bg:var(--tblr-pink);--tblr-btn-hover-color:var(--tblr-pink-fg);--tblr-btn-hover-bg:rgba(var(--tblr-pink-rgb), .8);--tblr-btn-active-color:var(--tblr-pink-fg);--tblr-btn-active-bg:rgba(var(--tblr-pink-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-pink);--tblr-btn-disabled-color:var(--tblr-pink-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-pink{--tblr-btn-color:var(--tblr-pink);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-pink);--tblr-btn-hover-color:var(--tblr-pink-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-pink);--tblr-btn-active-color:var(--tblr-pink-fg);--tblr-btn-active-bg:var(--tblr-pink);--tblr-btn-disabled-color:var(--tblr-pink);--tblr-btn-disabled-border-color:var(--tblr-pink)}.btn-red{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-red-fg);--tblr-btn-bg:var(--tblr-red);--tblr-btn-hover-color:var(--tblr-red-fg);--tblr-btn-hover-bg:rgba(var(--tblr-red-rgb), .8);--tblr-btn-active-color:var(--tblr-red-fg);--tblr-btn-active-bg:rgba(var(--tblr-red-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-red);--tblr-btn-disabled-color:var(--tblr-red-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-red{--tblr-btn-color:var(--tblr-red);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-red);--tblr-btn-hover-color:var(--tblr-red-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-red);--tblr-btn-active-color:var(--tblr-red-fg);--tblr-btn-active-bg:var(--tblr-red);--tblr-btn-disabled-color:var(--tblr-red);--tblr-btn-disabled-border-color:var(--tblr-red)}.btn-orange{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-orange-fg);--tblr-btn-bg:var(--tblr-orange);--tblr-btn-hover-color:var(--tblr-orange-fg);--tblr-btn-hover-bg:rgba(var(--tblr-orange-rgb), .8);--tblr-btn-active-color:var(--tblr-orange-fg);--tblr-btn-active-bg:rgba(var(--tblr-orange-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-orange);--tblr-btn-disabled-color:var(--tblr-orange-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-orange{--tblr-btn-color:var(--tblr-orange);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-orange);--tblr-btn-hover-color:var(--tblr-orange-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-orange);--tblr-btn-active-color:var(--tblr-orange-fg);--tblr-btn-active-bg:var(--tblr-orange);--tblr-btn-disabled-color:var(--tblr-orange);--tblr-btn-disabled-border-color:var(--tblr-orange)}.btn-yellow{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-yellow-fg);--tblr-btn-bg:var(--tblr-yellow);--tblr-btn-hover-color:var(--tblr-yellow-fg);--tblr-btn-hover-bg:rgba(var(--tblr-yellow-rgb), .8);--tblr-btn-active-color:var(--tblr-yellow-fg);--tblr-btn-active-bg:rgba(var(--tblr-yellow-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-yellow);--tblr-btn-disabled-color:var(--tblr-yellow-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-yellow{--tblr-btn-color:var(--tblr-yellow);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-yellow);--tblr-btn-hover-color:var(--tblr-yellow-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-yellow);--tblr-btn-active-color:var(--tblr-yellow-fg);--tblr-btn-active-bg:var(--tblr-yellow);--tblr-btn-disabled-color:var(--tblr-yellow);--tblr-btn-disabled-border-color:var(--tblr-yellow)}.btn-lime{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-lime-fg);--tblr-btn-bg:var(--tblr-lime);--tblr-btn-hover-color:var(--tblr-lime-fg);--tblr-btn-hover-bg:rgba(var(--tblr-lime-rgb), .8);--tblr-btn-active-color:var(--tblr-lime-fg);--tblr-btn-active-bg:rgba(var(--tblr-lime-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-lime);--tblr-btn-disabled-color:var(--tblr-lime-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-lime{--tblr-btn-color:var(--tblr-lime);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-lime);--tblr-btn-hover-color:var(--tblr-lime-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-lime);--tblr-btn-active-color:var(--tblr-lime-fg);--tblr-btn-active-bg:var(--tblr-lime);--tblr-btn-disabled-color:var(--tblr-lime);--tblr-btn-disabled-border-color:var(--tblr-lime)}.btn-green{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-green-fg);--tblr-btn-bg:var(--tblr-green);--tblr-btn-hover-color:var(--tblr-green-fg);--tblr-btn-hover-bg:rgba(var(--tblr-green-rgb), .8);--tblr-btn-active-color:var(--tblr-green-fg);--tblr-btn-active-bg:rgba(var(--tblr-green-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-green);--tblr-btn-disabled-color:var(--tblr-green-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-green{--tblr-btn-color:var(--tblr-green);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-green);--tblr-btn-hover-color:var(--tblr-green-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-green);--tblr-btn-active-color:var(--tblr-green-fg);--tblr-btn-active-bg:var(--tblr-green);--tblr-btn-disabled-color:var(--tblr-green);--tblr-btn-disabled-border-color:var(--tblr-green)}.btn-teal{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-teal-fg);--tblr-btn-bg:var(--tblr-teal);--tblr-btn-hover-color:var(--tblr-teal-fg);--tblr-btn-hover-bg:rgba(var(--tblr-teal-rgb), .8);--tblr-btn-active-color:var(--tblr-teal-fg);--tblr-btn-active-bg:rgba(var(--tblr-teal-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-teal);--tblr-btn-disabled-color:var(--tblr-teal-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-teal{--tblr-btn-color:var(--tblr-teal);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-teal);--tblr-btn-hover-color:var(--tblr-teal-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-teal);--tblr-btn-active-color:var(--tblr-teal-fg);--tblr-btn-active-bg:var(--tblr-teal);--tblr-btn-disabled-color:var(--tblr-teal);--tblr-btn-disabled-border-color:var(--tblr-teal)}.btn-cyan{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-cyan-fg);--tblr-btn-bg:var(--tblr-cyan);--tblr-btn-hover-color:var(--tblr-cyan-fg);--tblr-btn-hover-bg:rgba(var(--tblr-cyan-rgb), .8);--tblr-btn-active-color:var(--tblr-cyan-fg);--tblr-btn-active-bg:rgba(var(--tblr-cyan-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-cyan);--tblr-btn-disabled-color:var(--tblr-cyan-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-cyan{--tblr-btn-color:var(--tblr-cyan);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-cyan);--tblr-btn-hover-color:var(--tblr-cyan-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-cyan);--tblr-btn-active-color:var(--tblr-cyan-fg);--tblr-btn-active-bg:var(--tblr-cyan);--tblr-btn-disabled-color:var(--tblr-cyan);--tblr-btn-disabled-border-color:var(--tblr-cyan)}.btn-facebook{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-facebook-fg);--tblr-btn-bg:var(--tblr-facebook);--tblr-btn-hover-color:var(--tblr-facebook-fg);--tblr-btn-hover-bg:rgba(var(--tblr-facebook-rgb), .8);--tblr-btn-active-color:var(--tblr-facebook-fg);--tblr-btn-active-bg:rgba(var(--tblr-facebook-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-facebook);--tblr-btn-disabled-color:var(--tblr-facebook-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-facebook{--tblr-btn-color:var(--tblr-facebook);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-facebook);--tblr-btn-hover-color:var(--tblr-facebook-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-facebook);--tblr-btn-active-color:var(--tblr-facebook-fg);--tblr-btn-active-bg:var(--tblr-facebook);--tblr-btn-disabled-color:var(--tblr-facebook);--tblr-btn-disabled-border-color:var(--tblr-facebook)}.btn-twitter{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-twitter-fg);--tblr-btn-bg:var(--tblr-twitter);--tblr-btn-hover-color:var(--tblr-twitter-fg);--tblr-btn-hover-bg:rgba(var(--tblr-twitter-rgb), .8);--tblr-btn-active-color:var(--tblr-twitter-fg);--tblr-btn-active-bg:rgba(var(--tblr-twitter-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-twitter);--tblr-btn-disabled-color:var(--tblr-twitter-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-twitter{--tblr-btn-color:var(--tblr-twitter);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-twitter);--tblr-btn-hover-color:var(--tblr-twitter-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-twitter);--tblr-btn-active-color:var(--tblr-twitter-fg);--tblr-btn-active-bg:var(--tblr-twitter);--tblr-btn-disabled-color:var(--tblr-twitter);--tblr-btn-disabled-border-color:var(--tblr-twitter)}.btn-linkedin{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-linkedin-fg);--tblr-btn-bg:var(--tblr-linkedin);--tblr-btn-hover-color:var(--tblr-linkedin-fg);--tblr-btn-hover-bg:rgba(var(--tblr-linkedin-rgb), .8);--tblr-btn-active-color:var(--tblr-linkedin-fg);--tblr-btn-active-bg:rgba(var(--tblr-linkedin-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-linkedin);--tblr-btn-disabled-color:var(--tblr-linkedin-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-linkedin{--tblr-btn-color:var(--tblr-linkedin);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-linkedin);--tblr-btn-hover-color:var(--tblr-linkedin-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-linkedin);--tblr-btn-active-color:var(--tblr-linkedin-fg);--tblr-btn-active-bg:var(--tblr-linkedin);--tblr-btn-disabled-color:var(--tblr-linkedin);--tblr-btn-disabled-border-color:var(--tblr-linkedin)}.btn-google{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-google-fg);--tblr-btn-bg:var(--tblr-google);--tblr-btn-hover-color:var(--tblr-google-fg);--tblr-btn-hover-bg:rgba(var(--tblr-google-rgb), .8);--tblr-btn-active-color:var(--tblr-google-fg);--tblr-btn-active-bg:rgba(var(--tblr-google-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-google);--tblr-btn-disabled-color:var(--tblr-google-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-google{--tblr-btn-color:var(--tblr-google);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-google);--tblr-btn-hover-color:var(--tblr-google-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-google);--tblr-btn-active-color:var(--tblr-google-fg);--tblr-btn-active-bg:var(--tblr-google);--tblr-btn-disabled-color:var(--tblr-google);--tblr-btn-disabled-border-color:var(--tblr-google)}.btn-youtube{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-youtube-fg);--tblr-btn-bg:var(--tblr-youtube);--tblr-btn-hover-color:var(--tblr-youtube-fg);--tblr-btn-hover-bg:rgba(var(--tblr-youtube-rgb), .8);--tblr-btn-active-color:var(--tblr-youtube-fg);--tblr-btn-active-bg:rgba(var(--tblr-youtube-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-youtube);--tblr-btn-disabled-color:var(--tblr-youtube-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-youtube{--tblr-btn-color:var(--tblr-youtube);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-youtube);--tblr-btn-hover-color:var(--tblr-youtube-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-youtube);--tblr-btn-active-color:var(--tblr-youtube-fg);--tblr-btn-active-bg:var(--tblr-youtube);--tblr-btn-disabled-color:var(--tblr-youtube);--tblr-btn-disabled-border-color:var(--tblr-youtube)}.btn-vimeo{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-vimeo-fg);--tblr-btn-bg:var(--tblr-vimeo);--tblr-btn-hover-color:var(--tblr-vimeo-fg);--tblr-btn-hover-bg:rgba(var(--tblr-vimeo-rgb), .8);--tblr-btn-active-color:var(--tblr-vimeo-fg);--tblr-btn-active-bg:rgba(var(--tblr-vimeo-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-vimeo);--tblr-btn-disabled-color:var(--tblr-vimeo-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-vimeo{--tblr-btn-color:var(--tblr-vimeo);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-vimeo);--tblr-btn-hover-color:var(--tblr-vimeo-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-vimeo);--tblr-btn-active-color:var(--tblr-vimeo-fg);--tblr-btn-active-bg:var(--tblr-vimeo);--tblr-btn-disabled-color:var(--tblr-vimeo);--tblr-btn-disabled-border-color:var(--tblr-vimeo)}.btn-dribbble{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-dribbble-fg);--tblr-btn-bg:var(--tblr-dribbble);--tblr-btn-hover-color:var(--tblr-dribbble-fg);--tblr-btn-hover-bg:rgba(var(--tblr-dribbble-rgb), .8);--tblr-btn-active-color:var(--tblr-dribbble-fg);--tblr-btn-active-bg:rgba(var(--tblr-dribbble-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-dribbble);--tblr-btn-disabled-color:var(--tblr-dribbble-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-dribbble{--tblr-btn-color:var(--tblr-dribbble);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-dribbble);--tblr-btn-hover-color:var(--tblr-dribbble-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-dribbble);--tblr-btn-active-color:var(--tblr-dribbble-fg);--tblr-btn-active-bg:var(--tblr-dribbble);--tblr-btn-disabled-color:var(--tblr-dribbble);--tblr-btn-disabled-border-color:var(--tblr-dribbble)}.btn-github{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-github-fg);--tblr-btn-bg:var(--tblr-github);--tblr-btn-hover-color:var(--tblr-github-fg);--tblr-btn-hover-bg:rgba(var(--tblr-github-rgb), .8);--tblr-btn-active-color:var(--tblr-github-fg);--tblr-btn-active-bg:rgba(var(--tblr-github-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-github);--tblr-btn-disabled-color:var(--tblr-github-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-github{--tblr-btn-color:var(--tblr-github);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-github);--tblr-btn-hover-color:var(--tblr-github-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-github);--tblr-btn-active-color:var(--tblr-github-fg);--tblr-btn-active-bg:var(--tblr-github);--tblr-btn-disabled-color:var(--tblr-github);--tblr-btn-disabled-border-color:var(--tblr-github)}.btn-instagram{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-instagram-fg);--tblr-btn-bg:var(--tblr-instagram);--tblr-btn-hover-color:var(--tblr-instagram-fg);--tblr-btn-hover-bg:rgba(var(--tblr-instagram-rgb), .8);--tblr-btn-active-color:var(--tblr-instagram-fg);--tblr-btn-active-bg:rgba(var(--tblr-instagram-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-instagram);--tblr-btn-disabled-color:var(--tblr-instagram-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-instagram{--tblr-btn-color:var(--tblr-instagram);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-instagram);--tblr-btn-hover-color:var(--tblr-instagram-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-instagram);--tblr-btn-active-color:var(--tblr-instagram-fg);--tblr-btn-active-bg:var(--tblr-instagram);--tblr-btn-disabled-color:var(--tblr-instagram);--tblr-btn-disabled-border-color:var(--tblr-instagram)}.btn-pinterest{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-pinterest-fg);--tblr-btn-bg:var(--tblr-pinterest);--tblr-btn-hover-color:var(--tblr-pinterest-fg);--tblr-btn-hover-bg:rgba(var(--tblr-pinterest-rgb), .8);--tblr-btn-active-color:var(--tblr-pinterest-fg);--tblr-btn-active-bg:rgba(var(--tblr-pinterest-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-pinterest);--tblr-btn-disabled-color:var(--tblr-pinterest-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-pinterest{--tblr-btn-color:var(--tblr-pinterest);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-pinterest);--tblr-btn-hover-color:var(--tblr-pinterest-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-pinterest);--tblr-btn-active-color:var(--tblr-pinterest-fg);--tblr-btn-active-bg:var(--tblr-pinterest);--tblr-btn-disabled-color:var(--tblr-pinterest);--tblr-btn-disabled-border-color:var(--tblr-pinterest)}.btn-vk{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-vk-fg);--tblr-btn-bg:var(--tblr-vk);--tblr-btn-hover-color:var(--tblr-vk-fg);--tblr-btn-hover-bg:rgba(var(--tblr-vk-rgb), .8);--tblr-btn-active-color:var(--tblr-vk-fg);--tblr-btn-active-bg:rgba(var(--tblr-vk-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-vk);--tblr-btn-disabled-color:var(--tblr-vk-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-vk{--tblr-btn-color:var(--tblr-vk);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-vk);--tblr-btn-hover-color:var(--tblr-vk-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-vk);--tblr-btn-active-color:var(--tblr-vk-fg);--tblr-btn-active-bg:var(--tblr-vk);--tblr-btn-disabled-color:var(--tblr-vk);--tblr-btn-disabled-border-color:var(--tblr-vk)}.btn-rss{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-rss-fg);--tblr-btn-bg:var(--tblr-rss);--tblr-btn-hover-color:var(--tblr-rss-fg);--tblr-btn-hover-bg:rgba(var(--tblr-rss-rgb), .8);--tblr-btn-active-color:var(--tblr-rss-fg);--tblr-btn-active-bg:rgba(var(--tblr-rss-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-rss);--tblr-btn-disabled-color:var(--tblr-rss-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-rss{--tblr-btn-color:var(--tblr-rss);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-rss);--tblr-btn-hover-color:var(--tblr-rss-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-rss);--tblr-btn-active-color:var(--tblr-rss-fg);--tblr-btn-active-bg:var(--tblr-rss);--tblr-btn-disabled-color:var(--tblr-rss);--tblr-btn-disabled-border-color:var(--tblr-rss)}.btn-flickr{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-flickr-fg);--tblr-btn-bg:var(--tblr-flickr);--tblr-btn-hover-color:var(--tblr-flickr-fg);--tblr-btn-hover-bg:rgba(var(--tblr-flickr-rgb), .8);--tblr-btn-active-color:var(--tblr-flickr-fg);--tblr-btn-active-bg:rgba(var(--tblr-flickr-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-flickr);--tblr-btn-disabled-color:var(--tblr-flickr-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-flickr{--tblr-btn-color:var(--tblr-flickr);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-flickr);--tblr-btn-hover-color:var(--tblr-flickr-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-flickr);--tblr-btn-active-color:var(--tblr-flickr-fg);--tblr-btn-active-bg:var(--tblr-flickr);--tblr-btn-disabled-color:var(--tblr-flickr);--tblr-btn-disabled-border-color:var(--tblr-flickr)}.btn-bitbucket{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-bitbucket-fg);--tblr-btn-bg:var(--tblr-bitbucket);--tblr-btn-hover-color:var(--tblr-bitbucket-fg);--tblr-btn-hover-bg:rgba(var(--tblr-bitbucket-rgb), .8);--tblr-btn-active-color:var(--tblr-bitbucket-fg);--tblr-btn-active-bg:rgba(var(--tblr-bitbucket-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-bitbucket);--tblr-btn-disabled-color:var(--tblr-bitbucket-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-bitbucket{--tblr-btn-color:var(--tblr-bitbucket);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-bitbucket);--tblr-btn-hover-color:var(--tblr-bitbucket-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-bitbucket);--tblr-btn-active-color:var(--tblr-bitbucket-fg);--tblr-btn-active-bg:var(--tblr-bitbucket);--tblr-btn-disabled-color:var(--tblr-bitbucket);--tblr-btn-disabled-border-color:var(--tblr-bitbucket)}.btn-tabler{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-tabler-fg);--tblr-btn-bg:var(--tblr-tabler);--tblr-btn-hover-color:var(--tblr-tabler-fg);--tblr-btn-hover-bg:rgba(var(--tblr-tabler-rgb), .8);--tblr-btn-active-color:var(--tblr-tabler-fg);--tblr-btn-active-bg:rgba(var(--tblr-tabler-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-tabler);--tblr-btn-disabled-color:var(--tblr-tabler-fg);--tblr-btn-box-shadow:var(--tblr-box-shadow-input)}.btn-outline-tabler{--tblr-btn-color:var(--tblr-tabler);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-tabler);--tblr-btn-hover-color:var(--tblr-tabler-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-tabler);--tblr-btn-active-color:var(--tblr-tabler-fg);--tblr-btn-active-bg:var(--tblr-tabler);--tblr-btn-disabled-color:var(--tblr-tabler);--tblr-btn-disabled-border-color:var(--tblr-tabler)}.btn-ghost-primary{--tblr-btn-color:var(--tblr-primary);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-primary-fg);--tblr-btn-hover-bg:var(--tblr-primary);--tblr-btn-hover-border-color:var(--tblr-primary);--tblr-btn-active-color:var(--tblr-primary-fg);--tblr-btn-active-bg:var(--tblr-primary);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-primary);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-secondary{--tblr-btn-color:var(--tblr-secondary);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-secondary-fg);--tblr-btn-hover-bg:var(--tblr-secondary);--tblr-btn-hover-border-color:var(--tblr-secondary);--tblr-btn-active-color:var(--tblr-secondary-fg);--tblr-btn-active-bg:var(--tblr-secondary);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-secondary);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-success{--tblr-btn-color:var(--tblr-success);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-success-fg);--tblr-btn-hover-bg:var(--tblr-success);--tblr-btn-hover-border-color:var(--tblr-success);--tblr-btn-active-color:var(--tblr-success-fg);--tblr-btn-active-bg:var(--tblr-success);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-success);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-info{--tblr-btn-color:var(--tblr-info);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-info-fg);--tblr-btn-hover-bg:var(--tblr-info);--tblr-btn-hover-border-color:var(--tblr-info);--tblr-btn-active-color:var(--tblr-info-fg);--tblr-btn-active-bg:var(--tblr-info);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-info);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-warning{--tblr-btn-color:var(--tblr-warning);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-warning-fg);--tblr-btn-hover-bg:var(--tblr-warning);--tblr-btn-hover-border-color:var(--tblr-warning);--tblr-btn-active-color:var(--tblr-warning-fg);--tblr-btn-active-bg:var(--tblr-warning);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-warning);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-danger{--tblr-btn-color:var(--tblr-danger);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-danger-fg);--tblr-btn-hover-bg:var(--tblr-danger);--tblr-btn-hover-border-color:var(--tblr-danger);--tblr-btn-active-color:var(--tblr-danger-fg);--tblr-btn-active-bg:var(--tblr-danger);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-danger);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-light{--tblr-btn-color:var(--tblr-light);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-light-fg);--tblr-btn-hover-bg:var(--tblr-light);--tblr-btn-hover-border-color:var(--tblr-light);--tblr-btn-active-color:var(--tblr-light-fg);--tblr-btn-active-bg:var(--tblr-light);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-light);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-dark{--tblr-btn-color:var(--tblr-dark);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-dark-fg);--tblr-btn-hover-bg:var(--tblr-dark);--tblr-btn-hover-border-color:var(--tblr-dark);--tblr-btn-active-color:var(--tblr-dark-fg);--tblr-btn-active-bg:var(--tblr-dark);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-dark);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-muted{--tblr-btn-color:var(--tblr-muted);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-muted-fg);--tblr-btn-hover-bg:var(--tblr-muted);--tblr-btn-hover-border-color:var(--tblr-muted);--tblr-btn-active-color:var(--tblr-muted-fg);--tblr-btn-active-bg:var(--tblr-muted);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-muted);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-blue{--tblr-btn-color:var(--tblr-blue);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-blue-fg);--tblr-btn-hover-bg:var(--tblr-blue);--tblr-btn-hover-border-color:var(--tblr-blue);--tblr-btn-active-color:var(--tblr-blue-fg);--tblr-btn-active-bg:var(--tblr-blue);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-blue);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-azure{--tblr-btn-color:var(--tblr-azure);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-azure-fg);--tblr-btn-hover-bg:var(--tblr-azure);--tblr-btn-hover-border-color:var(--tblr-azure);--tblr-btn-active-color:var(--tblr-azure-fg);--tblr-btn-active-bg:var(--tblr-azure);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-azure);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-indigo{--tblr-btn-color:var(--tblr-indigo);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-indigo-fg);--tblr-btn-hover-bg:var(--tblr-indigo);--tblr-btn-hover-border-color:var(--tblr-indigo);--tblr-btn-active-color:var(--tblr-indigo-fg);--tblr-btn-active-bg:var(--tblr-indigo);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-indigo);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-purple{--tblr-btn-color:var(--tblr-purple);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-purple-fg);--tblr-btn-hover-bg:var(--tblr-purple);--tblr-btn-hover-border-color:var(--tblr-purple);--tblr-btn-active-color:var(--tblr-purple-fg);--tblr-btn-active-bg:var(--tblr-purple);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-purple);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-pink{--tblr-btn-color:var(--tblr-pink);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-pink-fg);--tblr-btn-hover-bg:var(--tblr-pink);--tblr-btn-hover-border-color:var(--tblr-pink);--tblr-btn-active-color:var(--tblr-pink-fg);--tblr-btn-active-bg:var(--tblr-pink);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-pink);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-red{--tblr-btn-color:var(--tblr-red);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-red-fg);--tblr-btn-hover-bg:var(--tblr-red);--tblr-btn-hover-border-color:var(--tblr-red);--tblr-btn-active-color:var(--tblr-red-fg);--tblr-btn-active-bg:var(--tblr-red);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-red);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-orange{--tblr-btn-color:var(--tblr-orange);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-orange-fg);--tblr-btn-hover-bg:var(--tblr-orange);--tblr-btn-hover-border-color:var(--tblr-orange);--tblr-btn-active-color:var(--tblr-orange-fg);--tblr-btn-active-bg:var(--tblr-orange);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-orange);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-yellow{--tblr-btn-color:var(--tblr-yellow);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-yellow-fg);--tblr-btn-hover-bg:var(--tblr-yellow);--tblr-btn-hover-border-color:var(--tblr-yellow);--tblr-btn-active-color:var(--tblr-yellow-fg);--tblr-btn-active-bg:var(--tblr-yellow);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-yellow);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-lime{--tblr-btn-color:var(--tblr-lime);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-lime-fg);--tblr-btn-hover-bg:var(--tblr-lime);--tblr-btn-hover-border-color:var(--tblr-lime);--tblr-btn-active-color:var(--tblr-lime-fg);--tblr-btn-active-bg:var(--tblr-lime);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-lime);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-green{--tblr-btn-color:var(--tblr-green);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-green-fg);--tblr-btn-hover-bg:var(--tblr-green);--tblr-btn-hover-border-color:var(--tblr-green);--tblr-btn-active-color:var(--tblr-green-fg);--tblr-btn-active-bg:var(--tblr-green);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-green);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-teal{--tblr-btn-color:var(--tblr-teal);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-teal-fg);--tblr-btn-hover-bg:var(--tblr-teal);--tblr-btn-hover-border-color:var(--tblr-teal);--tblr-btn-active-color:var(--tblr-teal-fg);--tblr-btn-active-bg:var(--tblr-teal);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-teal);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-cyan{--tblr-btn-color:var(--tblr-cyan);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-cyan-fg);--tblr-btn-hover-bg:var(--tblr-cyan);--tblr-btn-hover-border-color:var(--tblr-cyan);--tblr-btn-active-color:var(--tblr-cyan-fg);--tblr-btn-active-bg:var(--tblr-cyan);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-cyan);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-facebook{--tblr-btn-color:var(--tblr-facebook);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-facebook-fg);--tblr-btn-hover-bg:var(--tblr-facebook);--tblr-btn-hover-border-color:var(--tblr-facebook);--tblr-btn-active-color:var(--tblr-facebook-fg);--tblr-btn-active-bg:var(--tblr-facebook);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-facebook);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-twitter{--tblr-btn-color:var(--tblr-twitter);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-twitter-fg);--tblr-btn-hover-bg:var(--tblr-twitter);--tblr-btn-hover-border-color:var(--tblr-twitter);--tblr-btn-active-color:var(--tblr-twitter-fg);--tblr-btn-active-bg:var(--tblr-twitter);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-twitter);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-linkedin{--tblr-btn-color:var(--tblr-linkedin);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-linkedin-fg);--tblr-btn-hover-bg:var(--tblr-linkedin);--tblr-btn-hover-border-color:var(--tblr-linkedin);--tblr-btn-active-color:var(--tblr-linkedin-fg);--tblr-btn-active-bg:var(--tblr-linkedin);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-linkedin);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-google{--tblr-btn-color:var(--tblr-google);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-google-fg);--tblr-btn-hover-bg:var(--tblr-google);--tblr-btn-hover-border-color:var(--tblr-google);--tblr-btn-active-color:var(--tblr-google-fg);--tblr-btn-active-bg:var(--tblr-google);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-google);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-youtube{--tblr-btn-color:var(--tblr-youtube);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-youtube-fg);--tblr-btn-hover-bg:var(--tblr-youtube);--tblr-btn-hover-border-color:var(--tblr-youtube);--tblr-btn-active-color:var(--tblr-youtube-fg);--tblr-btn-active-bg:var(--tblr-youtube);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-youtube);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-vimeo{--tblr-btn-color:var(--tblr-vimeo);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-vimeo-fg);--tblr-btn-hover-bg:var(--tblr-vimeo);--tblr-btn-hover-border-color:var(--tblr-vimeo);--tblr-btn-active-color:var(--tblr-vimeo-fg);--tblr-btn-active-bg:var(--tblr-vimeo);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-vimeo);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-dribbble{--tblr-btn-color:var(--tblr-dribbble);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-dribbble-fg);--tblr-btn-hover-bg:var(--tblr-dribbble);--tblr-btn-hover-border-color:var(--tblr-dribbble);--tblr-btn-active-color:var(--tblr-dribbble-fg);--tblr-btn-active-bg:var(--tblr-dribbble);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-dribbble);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-github{--tblr-btn-color:var(--tblr-github);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-github-fg);--tblr-btn-hover-bg:var(--tblr-github);--tblr-btn-hover-border-color:var(--tblr-github);--tblr-btn-active-color:var(--tblr-github-fg);--tblr-btn-active-bg:var(--tblr-github);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-github);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-instagram{--tblr-btn-color:var(--tblr-instagram);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-instagram-fg);--tblr-btn-hover-bg:var(--tblr-instagram);--tblr-btn-hover-border-color:var(--tblr-instagram);--tblr-btn-active-color:var(--tblr-instagram-fg);--tblr-btn-active-bg:var(--tblr-instagram);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-instagram);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-pinterest{--tblr-btn-color:var(--tblr-pinterest);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-pinterest-fg);--tblr-btn-hover-bg:var(--tblr-pinterest);--tblr-btn-hover-border-color:var(--tblr-pinterest);--tblr-btn-active-color:var(--tblr-pinterest-fg);--tblr-btn-active-bg:var(--tblr-pinterest);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-pinterest);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-vk{--tblr-btn-color:var(--tblr-vk);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-vk-fg);--tblr-btn-hover-bg:var(--tblr-vk);--tblr-btn-hover-border-color:var(--tblr-vk);--tblr-btn-active-color:var(--tblr-vk-fg);--tblr-btn-active-bg:var(--tblr-vk);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-vk);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-rss{--tblr-btn-color:var(--tblr-rss);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-rss-fg);--tblr-btn-hover-bg:var(--tblr-rss);--tblr-btn-hover-border-color:var(--tblr-rss);--tblr-btn-active-color:var(--tblr-rss-fg);--tblr-btn-active-bg:var(--tblr-rss);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-rss);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-flickr{--tblr-btn-color:var(--tblr-flickr);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-flickr-fg);--tblr-btn-hover-bg:var(--tblr-flickr);--tblr-btn-hover-border-color:var(--tblr-flickr);--tblr-btn-active-color:var(--tblr-flickr-fg);--tblr-btn-active-bg:var(--tblr-flickr);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-flickr);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-bitbucket{--tblr-btn-color:var(--tblr-bitbucket);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-bitbucket-fg);--tblr-btn-hover-bg:var(--tblr-bitbucket);--tblr-btn-hover-border-color:var(--tblr-bitbucket);--tblr-btn-active-color:var(--tblr-bitbucket-fg);--tblr-btn-active-bg:var(--tblr-bitbucket);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-bitbucket);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-tabler{--tblr-btn-color:var(--tblr-tabler);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-tabler-fg);--tblr-btn-hover-bg:var(--tblr-tabler);--tblr-btn-hover-border-color:var(--tblr-tabler);--tblr-btn-active-color:var(--tblr-tabler-fg);--tblr-btn-active-bg:var(--tblr-tabler);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color:var(--tblr-tabler);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-group-sm>.btn,.btn-sm{--tblr-btn-line-height:1.5;--tblr-btn-icon-size:.75rem}.btn-group-lg>.btn,.btn-lg{--tblr-btn-line-height:1.5;--tblr-btn-icon-size:2rem}.btn-pill{padding-right:1.5em;padding-left:1.5em;border-radius:10rem}.btn-pill[class*=btn-icon]{padding:.375rem 15px}.btn-square{border-radius:0}.btn-icon{min-width:calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);min-height:calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);padding-left:0;padding-right:0}.btn-icon .icon{margin:calc(-1 * var(--tblr-btn-padding-x))}.btn-list{--tblr-list-gap:.5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.btn-floating{position:fixed;z-index:1030;bottom:1.5rem;right:1.5rem;border-radius:100rem}.btn-loading{position:relative;color:transparent!important;text-shadow:none!important;pointer-events:none}.btn-loading>*{opacity:0}.btn-loading:after{content:"";display:inline-block;vertical-align:text-bottom;border:2px var(--tblr-border-style) currentColor;border-right-color:transparent;border-radius:100rem;color:var(--tblr-btn-color);position:absolute;width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);left:calc(50% - var(--tblr-btn-icon-size)/ 2);top:calc(50% - var(--tblr-btn-icon-size)/ 2);animation:spinner-border .75s linear infinite}.btn-action{padding:0;border:0;color:var(--tblr-secondary);display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:var(--tblr-border-radius);background:0 0}.btn-action:after{content:none}.btn-action:focus{outline:0;box-shadow:none}.btn-action.show,.btn-action:hover{color:var(--tblr-body-color);background:var(--tblr-active-bg)}.btn-action.show{color:var(--tblr-primary)}.btn-action .icon{margin:0;width:1.25rem;height:1.25rem;font-size:1.25rem;stroke-width:1}.btn-actions{display:flex}.btn-group,.btn-group-vertical{box-shadow:var(--tblr-box-shadow-input)}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group>.btn-check:checked+.btn,.btn-group>.btn.active,.btn-group>.btn:active{z-index:5}.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.calendar{display:block;font-size:.765625rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.calendar-nav{display:flex;align-items:center}.calendar-title{flex:1;text-align:center}.calendar-body,.calendar-header{display:flex;flex-wrap:wrap;justify-content:flex-start;padding:.5rem 0}.calendar-header{color:var(--tblr-secondary)}.calendar-date{flex:0 0 14.2857142857%;max-width:14.2857142857%;padding:.2rem;text-align:center;border:0}.calendar-date.next-month,.calendar-date.prev-month{opacity:.25}.calendar-date .date-item{position:relative;display:inline-block;width:1.4rem;height:1.4rem;line-height:1.4rem;color:#66758c;text-align:center;text-decoration:none;white-space:nowrap;vertical-align:middle;cursor:pointer;background:0 0;border:var(--tblr-border-width) var(--tblr-border-style) transparent;border-radius:100rem;outline:0;transition:background .3s,border .3s,box-shadow .32s,color .3s}@media (prefers-reduced-motion:reduce){.calendar-date .date-item{transition:none}}.calendar-date .date-item:hover{color:var(--tblr-primary);text-decoration:none;background:#fefeff;border-color:var(--tblr-border-color)}.calendar-date .date-today{color:var(--tblr-primary);border-color:var(--tblr-border-color)}.calendar-range{position:relative}.calendar-range:before{position:absolute;top:50%;right:0;left:0;height:1.4rem;content:"";background:rgba(var(--tblr-primary-rgb),.1);transform:translateY(-50%)}.calendar-range.range-end .date-item,.calendar-range.range-start .date-item{color:#fff;background:var(--tblr-primary);border-color:var(--tblr-primary)}.calendar-range.range-start:before{left:50%}.calendar-range.range-end:before{right:50%}.carousel-indicators-vertical{left:auto;top:0;margin:0 1rem 0 0;flex-direction:column}.carousel-indicators-vertical [data-bs-target]{margin:3px 0;width:3px;height:30px;border:0;border-left:10px var(--tblr-border-style) transparent;border-right:10px var(--tblr-border-style) transparent}.carousel-indicators-dot [data-bs-target]{width:.5rem;height:.5rem;border-radius:100rem;border:10px var(--tblr-border-style) transparent;margin:0}.carousel-indicators-thumb [data-bs-target]{width:2rem;height:auto;background:no-repeat center/cover;border:0;border-radius:var(--tblr-border-radius);box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px;margin:0 3px;opacity:.75}@media (min-width:992px){.carousel-indicators-thumb [data-bs-target]{width:4rem}}.carousel-indicators-thumb [data-bs-target]:before{content:"";padding-top:var(--tblr-aspect-ratio,100%);display:block}.carousel-indicators-thumb.carousel-indicators-vertical [data-bs-target]{margin:3px 0}.carousel-caption-background{background:red;position:absolute;left:0;right:0;bottom:0;height:90%;background:linear-gradient(0deg,#182433e6,#18243300)}.card{transition:transform .3s ease-out,opacity .3s ease-out,box-shadow .3s ease-out}@media (prefers-reduced-motion:reduce){.card{transition:none}}@media print{.card{border:none;box-shadow:none}}a.card{color:inherit}a.card:hover{text-decoration:none;box-shadow:rgba(var(--tblr-body-color-rgb),.16) 0 2px 16px}.card .card{box-shadow:none}.card-borderless,.card-borderless .card-footer,.card-borderless .card-header{border-color:transparent}.card-stamp{--tblr-stamp-size:7rem;position:absolute;top:0;right:0;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);max-height:100%;border-top-right-radius:4px;opacity:.2;overflow:hidden;pointer-events:none}.card-stamp-lg{--tblr-stamp-size:13rem}.card-stamp-icon{background:var(--tblr-secondary);color:var(--tblr-card-bg,var(--tblr-bg-surface));display:flex;align-items:center;justify-content:center;border-radius:100rem;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);position:relative;top:calc(var(--tblr-stamp-size) * -.25);right:calc(var(--tblr-stamp-size) * -.25);font-size:calc(var(--tblr-stamp-size) * .75);transform:rotate(10deg)}.card-stamp-icon .icon{stroke-width:2;width:calc(var(--tblr-stamp-size) * .75);height:calc(var(--tblr-stamp-size) * .75)}.card-img,.card-img-start{border-top-left-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));border-bottom-left-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)))}.card-img,.card-img-end{border-top-right-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));border-bottom-right-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)))}.card-img-overlay{display:flex;flex-direction:column;justify-content:flex-end}.card-img-overlay-dark{background-image:linear-gradient(180deg,#0000 0,#0009)}.card-inactive{pointer-events:none;box-shadow:none}.card-inactive .card-body{opacity:.64}.card-active{--tblr-card-border-color:var(--tblr-primary);--tblr-card-bg:var(--tblr-active-bg)}.card-btn{display:flex;align-items:center;justify-content:center;padding:1.25rem;text-align:center;transition:background .3s;border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);flex:1;color:inherit;font-weight:var(--tblr-font-weight-medium)}@media (prefers-reduced-motion:reduce){.card-btn{transition:none}}.card-btn:hover{text-decoration:none;background:rgba(var(--tblr-primary-rgb),.04)}.card-btn+.card-btn{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-stacked{--tblr-card-stacked-offset:.25rem;position:relative}.card-stacked:after{position:absolute;top:calc(-1 * var(--tblr-card-stacked-offset));right:var(--tblr-card-stacked-offset);left:var(--tblr-card-stacked-offset);height:var(--tblr-card-stacked-offset);content:"";background:var(--tblr-card-bg,var(--tblr-bg-surface));border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-cover{position:relative;padding:1.25rem;background:#666 no-repeat center/cover}.card-cover:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:#1824337a}.card-cover:first-child,.card-cover:first-child:before{border-radius:4px 4px 0 0}.card-cover-blurred:before{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card-actions{margin:-.5rem -.5rem -.5rem auto;padding-left:.5rem}.card-actions a{text-decoration:none}.card-header{color:inherit;display:flex;align-items:center;background:0 0}.card-header:first-child{border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-header-light{border-bottom-color:transparent;background:var(--tblr-bg-surface-tertiary)}.card-header-tabs{background:var(--tblr-bg-surface-tertiary);flex:1;margin:calc(var(--tblr-card-cap-padding-y) * -1) calc(var(--tblr-card-cap-padding-x) * -1) calc(var(--tblr-card-cap-padding-y) * -1);padding:calc(var(--tblr-card-cap-padding-y) * .5) calc(var(--tblr-card-cap-padding-x) * .5) 0}.card-header-pills{flex:1;margin-top:-.5rem;margin-bottom:-.5rem}.card-rotate-left{transform:rotate(-1.5deg)}.card-rotate-right{transform:rotate(1.5deg)}.card-link{color:inherit}.card-link:hover{color:inherit;text-decoration:none;box-shadow:0 1px 6px #00000014}.card-link-rotate:hover{transform:rotate(1.5deg);opacity:1}.card-link-pop:hover{transform:translateY(-2px);opacity:1}.card-footer{margin-top:auto}.card-footer:last-child{border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-footer-transparent{background:0 0;border-color:transparent;padding-top:0}.card-footer-borderless{border-top:none}.card-progress{height:.25rem}.card-progress:last-child{border-radius:0 0 2px 2px}.card-progress:first-child{border-radius:2px 2px 0 0}.card-meta{color:var(--tblr-secondary)}.card-title{display:block;margin:0 0 1rem;font-size:1rem;font-weight:var(--tblr-font-weight-medium);color:inherit;line-height:1.5rem}a.card-title:hover{color:inherit}.card-header .card-title{margin:0}.card-subtitle{margin-bottom:1.25rem;color:var(--tblr-secondary);font-weight:400}.card-header .card-subtitle{margin:0}.card-title .card-subtitle{margin:0 0 0 .25rem;font-size:.875rem}.card-body{position:relative}.card-body>:last-child{margin-bottom:0}.card-sm>.card-body{padding:1rem}@media (min-width:768px){.card-md>.card-body{padding:2.5rem}}@media (min-width:768px){.card-lg>.card-body{padding:2rem}}@media (min-width:992px){.card-lg>.card-body{padding:4rem}}@media print{.card-body{padding:0}}.card-body+.card-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-body-scrollable{overflow:auto}.card-options{top:1.5rem;right:.75rem;display:flex;margin-left:auto}.card-options-link{display:inline-block;min-width:1rem;margin-left:.25rem;color:var(--tblr-secondary)}.card-status-top{position:absolute;top:0;right:0;left:0;height:2px;border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-status-start{position:absolute;right:auto;bottom:0;width:2px;height:100%;border-radius:var(--tblr-card-border-radius) 0 0 var(--tblr-card-border-radius)}.card-status-bottom{position:absolute;top:initial;bottom:0;width:100%;height:2px;border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-table{margin-bottom:0!important}.card-table tr td:first-child,.card-table tr th:first-child{padding-left:1.25rem;border-left:0}.card-table tr td:last-child,.card-table tr th:last-child{padding-right:1.25rem;border-right:0}.card-table tbody tr:first-child,.card-table tfoot tr:first-child,.card-table thead tr:first-child,.card-table tbody tr:first-child td,.card-table tbody tr:first-child th,.card-table tfoot tr:first-child td,.card-table tfoot tr:first-child th,.card-table thead tr:first-child td,.card-table thead tr:first-child th{border-top:0}.card-body+.card-table{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-table-border-color)}.card-code{padding:0}.card-code .highlight{margin:0;border:0}.card-code pre{margin:0!important;border:0!important}.card-chart{position:relative;z-index:1;height:3.5rem}.card-avatar{margin-left:auto;margin-right:auto;box-shadow:0 0 0 .25rem var(--tblr-card-bg,var(--tblr-bg-surface));margin-top:calc(-1 * var(--tblr-avatar-size) * .5)}.card-body+.card-list-group{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-list-group .list-group-item{padding-right:1.25rem;padding-left:1.25rem;border-right:0;border-left:0;border-radius:0}.card-list-group .list-group-item:last-child{border-bottom:0}.card-list-group .list-group-item:first-child{border-top:0}.card-tabs .nav-tabs{position:relative;z-index:1000;border-bottom:0}.card-tabs .nav-tabs .nav-link{background:var(--tblr-bg-surface-tertiary);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.card-tabs .nav-tabs .nav-link.active,.card-tabs .nav-tabs .nav-link:active,.card-tabs .nav-tabs .nav-link:hover{border-color:var(--tblr-border-color-translucent);color:var(--tblr-body-color)}.card-tabs .nav-tabs .nav-link.active{color:inherit;background:var(--tblr-card-bg,var(--tblr-bg-surface));border-bottom-color:transparent}.card-tabs .nav-tabs .nav-item:not(:first-child) .nav-link{border-top-left-radius:0}.card-tabs .nav-tabs .nav-item:not(:last-child) .nav-link{border-top-right-radius:0}.card-tabs .nav-tabs .nav-item+.nav-item{margin-left:calc(-1 * var(--tblr-border-width))}.card-tabs .nav-tabs-bottom,.card-tabs .nav-tabs-bottom .nav-link{margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-link.active{border-top-color:transparent}.card-tabs .nav-tabs-bottom .nav-item{margin-top:calc(-1 * var(--tblr-border-width));margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-item .nav-link{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-radius:0 0 var(--tblr-border-radius) var(--tblr-border-radius)}.card-tabs .nav-tabs-bottom .nav-item:not(:first-child) .nav-link{border-bottom-left-radius:0}.card-tabs .nav-tabs-bottom .nav-item:not(:last-child) .nav-link{border-bottom-right-radius:0}.card-tabs .card{border-bottom-left-radius:0}.card-tabs .nav-tabs+.tab-content .card{border-bottom-left-radius:var(--tblr-card-border-radius);border-top-left-radius:0}.card-note{--tblr-card-bg:#fff7dd;--tblr-card-border-color:#fff1c9}.btn-close{cursor:pointer}.btn-close:focus{outline:0}.dropdown-menu{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dropdown-menu.card{padding:0;min-width:25rem;display:none}.dropdown-menu.card.show{display:flex}.dropdown-item{min-width:11rem;display:flex;align-items:center;margin:0;line-height:1.4285714286}.dropdown-item-icon{width:1.25rem!important;height:1.25rem!important;margin-right:.5rem;color:var(--tblr-secondary);opacity:.7;text-align:center}.dropdown-item-indicator{margin-right:.5rem;margin-left:-.25rem;height:1.25rem;display:inline-flex;line-height:1;vertical-align:bottom;align-items:center}.dropdown-header{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);padding-bottom:.25rem;pointer-events:none}.dropdown-menu-scrollable{height:auto;max-height:13rem;overflow-x:hidden}.dropdown-menu-column{min-width:11rem}.dropdown-menu-column .dropdown-item{min-width:0}.dropdown-menu-columns{display:flex;flex:0 .25rem}.dropdown-menu-arrow:before{content:"";position:absolute;top:-.25rem;left:.75rem;display:block;background:inherit;width:14px;height:14px;transform:rotate(45deg);transform-origin:center;border:1px solid;border-color:inherit;z-index:-1;clip:rect(0,9px,9px,0)}.dropdown-menu-arrow.dropdown-menu-end:before{right:.75rem;left:auto}.dropend>.dropdown-menu{margin-top:calc(-.25rem - 1px);margin-left:-.25rem}.dropend .dropdown-toggle:after{margin-left:auto}.dropdown-menu-card{padding:0}.dropdown-menu-card>.card{margin:0;border:0;box-shadow:none}.datagrid{--tblr-datagrid-padding:1.5rem;--tblr-datagrid-item-width:15rem;display:grid;grid-gap:var(--tblr-datagrid-padding);grid-template-columns:repeat(auto-fit,minmax(var(--tblr-datagrid-item-width),1fr))}.datagrid-title{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);margin-bottom:.25rem}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:1rem;text-align:center}@media (min-width:768px){.empty{padding:3rem}}.empty-icon{margin:0 0 1rem;width:3rem;height:3rem;line-height:1;color:var(--tblr-secondary)}.empty-icon svg{width:100%;height:100%}.empty-img{margin:0 0 2rem;line-height:1}.empty-img img{height:8rem;width:auto}.empty-header{margin:0 0 1rem;font-size:4rem;font-weight:var(--tblr-font-weight-light);line-height:1;color:var(--tblr-secondary)}.empty-title{font-size:1.25rem;line-height:1.75rem;font-weight:var(--tblr-font-weight-bold)}.empty-subtitle,.empty-title{margin:0 0 .5rem}.empty-action{margin-top:1.5rem}.empty-bordered{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.row>*{min-width:0}.col-separator{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.container-slim{--tblr-gutter-x:calc(var(--tblr-page-padding) * 2);--tblr-gutter-y:0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:16rem}.container-tight{--tblr-gutter-x:calc(var(--tblr-page-padding) * 2);--tblr-gutter-y:0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:30rem}.container-narrow{--tblr-gutter-x:calc(var(--tblr-page-padding) * 2);--tblr-gutter-y:0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:45rem}.row-0{margin-right:0;margin-left:0}.row-0>.col,.row-0>[class*=col-]{padding-right:0;padding-left:0}.row-0 .card{margin-bottom:0}.row-sm{margin-right:-.375rem;margin-left:-.375rem}.row-sm>.col,.row-sm>[class*=col-]{padding-right:.375rem;padding-left:.375rem}.row-sm .card{margin-bottom:.75rem}.row-md{margin-right:-1.5rem;margin-left:-1.5rem}.row-md>.col,.row-md>[class*=col-]{padding-right:1.5rem;padding-left:1.5rem}.row-md .card{margin-bottom:3rem}.row-lg{margin-right:-3rem;margin-left:-3rem}.row-lg>.col,.row-lg>[class*=col-]{padding-right:3rem;padding-left:3rem}.row-lg .card{margin-bottom:6rem}.row-deck>.col,.row-deck>[class*=col-]{display:flex;align-items:stretch}.row-deck>.col .card,.row-deck>[class*=col-] .card{flex:1 1 auto}.row-cards{--tblr-gutter-x:var(--tblr-page-padding);--tblr-gutter-y:var(--tblr-page-padding);min-width:0}.row-cards .row-cards{flex:1}.space-y{display:flex;flex-direction:column;gap:1rem}.space-x{display:flex;gap:1rem}.space-y-0{display:flex;flex-direction:column;gap:0}.space-x-0{display:flex;gap:0}.space-y-1{display:flex;flex-direction:column;gap:.25rem}.space-x-1{display:flex;gap:.25rem}.space-y-2{display:flex;flex-direction:column;gap:.5rem}.space-x-2{display:flex;gap:.5rem}.space-y-3{display:flex;flex-direction:column;gap:1rem}.space-x-3{display:flex;gap:1rem}.space-y-4{display:flex;flex-direction:column;gap:1.5rem}.space-x-4{display:flex;gap:1.5rem}.space-y-5{display:flex;flex-direction:column;gap:2rem}.space-x-5{display:flex;gap:2rem}.space-y-6{display:flex;flex-direction:column;gap:3rem}.space-x-6{display:flex;gap:3rem}.space-y-7{display:flex;flex-direction:column;gap:5rem}.space-x-7{display:flex;gap:5rem}.space-y-8{display:flex;flex-direction:column;gap:8rem}.space-x-8{display:flex;gap:8rem}.divide-y>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y>:not(template):not(:first-child){padding-top:1rem!important}.divide-y>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x>:not(template):not(:first-child){padding-left:1rem!important}.divide-x>:not(template):not(:last-child){padding-right:1rem!important}.divide-y-0>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-0>:not(template):not(:first-child){padding-top:0!important}.divide-y-0>:not(template):not(:last-child){padding-bottom:0!important}.divide-x-0>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-0>:not(template):not(:first-child){padding-left:0!important}.divide-x-0>:not(template):not(:last-child){padding-right:0!important}.divide-y-1>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-1>:not(template):not(:first-child){padding-top:.25rem!important}.divide-y-1>:not(template):not(:last-child){padding-bottom:.25rem!important}.divide-x-1>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-1>:not(template):not(:first-child){padding-left:.25rem!important}.divide-x-1>:not(template):not(:last-child){padding-right:.25rem!important}.divide-y-2>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-2>:not(template):not(:first-child){padding-top:.5rem!important}.divide-y-2>:not(template):not(:last-child){padding-bottom:.5rem!important}.divide-x-2>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-2>:not(template):not(:first-child){padding-left:.5rem!important}.divide-x-2>:not(template):not(:last-child){padding-right:.5rem!important}.divide-y-3>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-3>:not(template):not(:first-child){padding-top:1rem!important}.divide-y-3>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x-3>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-3>:not(template):not(:first-child){padding-left:1rem!important}.divide-x-3>:not(template):not(:last-child){padding-right:1rem!important}.divide-y-4>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-4>:not(template):not(:first-child){padding-top:1.5rem!important}.divide-y-4>:not(template):not(:last-child){padding-bottom:1.5rem!important}.divide-x-4>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-4>:not(template):not(:first-child){padding-left:1.5rem!important}.divide-x-4>:not(template):not(:last-child){padding-right:1.5rem!important}.divide-y-5>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-5>:not(template):not(:first-child){padding-top:2rem!important}.divide-y-5>:not(template):not(:last-child){padding-bottom:2rem!important}.divide-x-5>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-5>:not(template):not(:first-child){padding-left:2rem!important}.divide-x-5>:not(template):not(:last-child){padding-right:2rem!important}.divide-y-6>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-6>:not(template):not(:first-child){padding-top:3rem!important}.divide-y-6>:not(template):not(:last-child){padding-bottom:3rem!important}.divide-x-6>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-6>:not(template):not(:first-child){padding-left:3rem!important}.divide-x-6>:not(template):not(:last-child){padding-right:3rem!important}.divide-y-7>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-7>:not(template):not(:first-child){padding-top:5rem!important}.divide-y-7>:not(template):not(:last-child){padding-bottom:5rem!important}.divide-x-7>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-7>:not(template):not(:first-child){padding-left:5rem!important}.divide-x-7>:not(template):not(:last-child){padding-right:5rem!important}.divide-y-8>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-8>:not(template):not(:first-child){padding-top:8rem!important}.divide-y-8>:not(template):not(:last-child){padding-bottom:8rem!important}.divide-x-8>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-8>:not(template):not(:first-child){padding-left:8rem!important}.divide-x-8>:not(template):not(:last-child){padding-right:8rem!important}.divide-y-fill{display:flex;flex-direction:column;height:100%}.divide-y-fill>:not(template){flex:1;display:flex;justify-content:center;flex-direction:column}.icon{--tblr-icon-size:1.25rem;width:var(--tblr-icon-size);height:var(--tblr-icon-size);font-size:var(--tblr-icon-size);vertical-align:bottom;stroke-width:1.5}.icon:hover{text-decoration:none}.icon-inline{--tblr-icon-size:1rem;vertical-align:-.2rem}.icon-filled{fill:currentColor}.icon-sm{--tblr-icon-size:1rem;stroke-width:1}.icon-md{--tblr-icon-size:2.5rem;stroke-width:1}.icon-lg{--tblr-icon-size:3.5rem;stroke-width:1}.icon-pulse{transition:all .15s ease 0s;animation:pulse 2s ease infinite;animation-fill-mode:both}.icon-tada{transition:all .15s ease 0s;animation:tada 3s ease infinite;animation-fill-mode:both}.icon-rotate{transition:all .15s ease 0s;animation:rotate-360 3s linear infinite;animation-fill-mode:both}.img-responsive{--tblr-img-responsive-ratio:75%;background:no-repeat center/cover;padding-top:var(--tblr-img-responsive-ratio)}.img-responsive-grid{padding-top:calc(var(--tblr-img-responsive-ratio) - var(--tblr-gutter-y)/ 2)}.img-responsive-1x1{--tblr-img-responsive-ratio:100%}.img-responsive-2x1{--tblr-img-responsive-ratio:50%}.img-responsive-1x2{--tblr-img-responsive-ratio:200%}.img-responsive-3x1{--tblr-img-responsive-ratio:33.3333333333%}.img-responsive-1x3{--tblr-img-responsive-ratio:300%}.img-responsive-4x3{--tblr-img-responsive-ratio:75%}.img-responsive-3x4{--tblr-img-responsive-ratio:133.3333333333%}.img-responsive-16x9{--tblr-img-responsive-ratio:56.25%}.img-responsive-9x16{--tblr-img-responsive-ratio:177.7777777778%}.img-responsive-21x9{--tblr-img-responsive-ratio:42.8571428571%}.img-responsive-9x21{--tblr-img-responsive-ratio:233.3333333333%}textarea[cols]{height:auto}.col-form-label,.form-label{display:block;font-weight:var(--tblr-font-weight-medium)}.col-form-label.required:after,.form-label.required:after{content:"*";margin-left:.25rem;color:#d63939}.form-label-description{float:right;font-weight:var(--tblr-font-weight-normal);color:var(--tblr-secondary)}.form-hint{display:block;color:var(--tblr-secondary)}.form-hint:last-child{margin-bottom:0}.form-hint+.form-control{margin-top:.25rem}.form-label+.form-hint{margin-top:-.25rem}.form-control+.form-hint,.form-select+.form-hint,.input-group+.form-hint{margin-top:.5rem}.form-select:-moz-focusring{color:var(--tblr-body-color)}.form-control:-webkit-autofill{box-shadow:0 0 0 1000px var(--tblr-body-bg) inset;color:var(--tblr-body-color);-webkit-text-fill-color:var(--tblr-body-color)}.form-control.disabled,.form-control:disabled{color:var(--tblr-secondary);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-control[size]{width:auto}.form-control-light{background-color:var(--tblr-gray-100);border-color:transparent}.form-control-dark{background-color:#0000001a;color:#fff;border-color:transparent}.form-control-dark:focus{background-color:#0000001a;box-shadow:none;border-color:#ffffff3d}.form-control-dark::-webkit-input-placeholder{color:#fff9}.form-control-dark:-ms-input-placeholder{color:#fff9}.form-control-dark::-ms-input-placeholder{color:#fff9}.form-control-dark::placeholder{color:#fff9}.form-control-rounded{border-radius:10rem}.form-control-flush{padding:0;background:0 0!important;border-color:transparent!important;resize:none;box-shadow:none!important;line-height:inherit}.form-footer{margin-top:2rem}.form-fieldset{padding:1rem;margin-bottom:1rem;background:var(--tblr-body-bg);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.form-help{display:inline-flex;font-weight:var(--tblr-font-weight-bold);align-items:center;justify-content:center;width:1.125rem;height:1.125rem;font-size:.75rem;color:var(--tblr-secondary);text-align:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-gray-100);border-radius:100rem;transition:background-color .3s,color .3s}@media (prefers-reduced-motion:reduce){.form-help{transition:none}}.form-help:hover,.form-help[aria-describedby]{color:#fff;background:var(--tblr-primary)}.input-group{box-shadow:var(--tblr-box-shadow-input);border-radius:var(--tblr-border-radius)}.input-group .btn,.input-group .form-control{box-shadow:none}.input-group-link{font-size:.75rem}.input-group-flat:focus-within{box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25);border-radius:var(--tblr-border-radius)}.input-group-flat:focus-within .form-control,.input-group-flat:focus-within .input-group-text{border-color:#80aad3!important}.input-group-flat .form-control:focus{border-color:var(--tblr-border-color);box-shadow:none}.input-group-flat .form-control:not(:last-child){border-right:0}.input-group-flat .form-control:not(:first-child){border-left:0}.input-group-flat .input-group-text{background:var(--tblr-bg-forms);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group-flat .input-group-text{transition:none}}.input-group-flat .input-group-text:first-child{padding-right:0}.input-group-flat .input-group-text:last-child{padding-left:0}.form-file-button{margin-left:0;border-left:0}.input-icon{position:relative}.input-icon .form-control:not(:last-child),.input-icon .form-select:not(:last-child){padding-right:2.5rem}.input-icon .form-control:not(:first-child),.input-icon .form-select:not(:last-child){padding-left:2.5rem}.input-icon-addon{position:absolute;top:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;min-width:2.5rem;color:var(--tblr-icon-color);pointer-events:none;font-size:1.2em}.input-icon-addon:last-child{right:0;left:auto}.form-colorinput{position:relative;display:inline-block;margin:0;line-height:1;cursor:pointer}.form-colorinput-input{position:absolute;z-index:-1;opacity:0}.form-colorinput-color{display:block;width:1.5rem;height:1.5rem;color:#fff;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-radius:3px;box-shadow:0 1px 2px #0000000d}.form-colorinput-color:before{position:absolute;top:0;left:0;width:100%;height:100%;content:"";background:no-repeat center center/1.25rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");opacity:0;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-colorinput-color:before{transition:none}}.form-colorinput-input:checked~.form-colorinput-color:before{opacity:1}.form-colorinput-input:focus~.form-colorinput-color{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-colorinput-light .form-colorinput-color:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23182433' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-imagecheck{position:relative;margin:0;cursor:pointer}.form-imagecheck-input{position:absolute;z-index:-1;opacity:0}.form-imagecheck-figure{position:relative;display:block;margin:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px}.form-imagecheck-input:focus~.form-imagecheck-figure{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-imagecheck-input:checked~.form-imagecheck-figure{border-color:var(--tblr-primary)}.form-imagecheck-figure:before{position:absolute;top:.25rem;left:.25rem;z-index:1;display:block;width:1.25rem;height:1.25rem;color:#fff;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-bg-forms);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius);transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-figure:before{transition:none}}.form-imagecheck-input:checked~.form-imagecheck-figure:before{background-color:var(--tblr-primary);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");background-repeat:repeat;background-position:center;background-size:1.25rem;border-color:var(--tblr-border-color-translucent)}.form-imagecheck-input[type=radio]~.form-imagecheck-figure:before{border-radius:50%}.form-imagecheck-input[type=radio]:checked~.form-imagecheck-figure:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-imagecheck-image{max-width:100%;display:block;opacity:.64;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-image{transition:none}}.form-imagecheck-image:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.form-imagecheck-image:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-image,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-image,.form-imagecheck:hover .form-imagecheck-image{opacity:1}.form-imagecheck-caption{padding:.25rem;font-size:.765625rem;color:var(--tblr-secondary);text-align:center;transition:color .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-caption{transition:none}}.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-caption,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-caption,.form-imagecheck:hover .form-imagecheck-caption{color:var(--tblr-body-color)}.form-selectgroup{display:inline-flex;margin:0 -.5rem -.5rem 0;flex-wrap:wrap}.form-selectgroup .form-selectgroup-item{margin:0 .5rem .5rem 0}.form-selectgroup-vertical{flex-direction:column}.form-selectgroup-item{display:block;position:relative}.form-selectgroup-input{position:absolute;top:0;left:0;z-index:-1;opacity:0}.form-selectgroup-label{position:relative;display:block;min-width:calc(1.4285714286em + 1.125rem + calc(var(--tblr-border-width) * 2));margin:0;padding:.5625rem .75rem;font-size:.875rem;line-height:1.4285714286;color:var(--tblr-secondary);background:var(--tblr-bg-forms);text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px;box-shadow:var(--tblr-box-shadow-input);transition:border-color .3s,background .3s,color .3s}@media (prefers-reduced-motion:reduce){.form-selectgroup-label{transition:none}}.form-selectgroup-label .icon:only-child{margin:0 -.25rem}.form-selectgroup-label:hover{color:var(--tblr-body-color)}.form-selectgroup-check{display:inline-block;width:1.25rem;height:1.25rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);vertical-align:middle;box-shadow:var(--tblr-box-shadow-input)}.form-selectgroup-input[type=checkbox]+.form-selectgroup-label .form-selectgroup-check{border-radius:var(--tblr-border-radius)}.form-selectgroup-input[type=radio]+.form-selectgroup-label .form-selectgroup-check{border-radius:50%}.form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-check{background-color:var(--tblr-primary);background-repeat:repeat;background-position:center;background-size:1.25rem;border-color:var(--tblr-border-color-translucent)}.form-selectgroup-input[type=checkbox]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-selectgroup-input[type=radio]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-selectgroup-check-floated{position:absolute;top:.5625rem;right:.5625rem}.form-selectgroup-input:checked+.form-selectgroup-label{z-index:1;color:var(--tblr-primary);background:rgba(var(--tblr-primary-rgb),.04);border-color:var(--tblr-primary)}.form-selectgroup-input:focus+.form-selectgroup-label{z-index:2;color:var(--tblr-primary);border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-selectgroup-boxes .form-selectgroup-label{text-align:left;padding:1.25rem;color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label{color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-title{color:var(--tblr-primary)}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-label-content{opacity:1}.form-selectgroup-pills{flex-wrap:wrap;align-items:flex-start}.form-selectgroup-pills .form-selectgroup-item{flex-grow:0}.form-selectgroup-pills .form-selectgroup-label{border-radius:50px}.form-control-color::-webkit-color-swatch{border:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.form-control::-webkit-file-upload-button{background-color:var(--tblr-btn-color,var(--tblr-tertiary-bg))}.form-control::file-selector-button{background-color:var(--tblr-btn-color,var(--tblr-tertiary-bg))}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--tblr-btn-color,var(--tblr-secondary-bg))}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--tblr-btn-color,var(--tblr-secondary-bg))}.form-check{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-check.form-check-highlight .form-check-input:not(:checked)~.form-check-label{color:var(--tblr-secondary)}.form-check .form-check-label-off{color:var(--tblr-secondary)}.form-check .form-check-input:checked~.form-check-label-off{display:none}.form-check .form-check-input:not(:checked)~.form-check-label-on{display:none}.form-check-input{background-size:1.25rem;margin-top:0;box-shadow:var(--tblr-box-shadow-input)}.form-switch .form-check-input{transition:background-color .3s,background-position .3s}.form-check-label{display:block}.form-check-label.required:after{content:"*";margin-left:.25rem;color:#d63939}.form-check-description{display:block;color:var(--tblr-secondary);font-size:.75rem;margin-top:.25rem}.form-check-single,.form-check-single .form-check-input{margin:0}.form-switch .form-check-input{height:1.25rem;margin-top:0}.form-switch-lg{padding-left:3.5rem;min-height:1.5rem}.form-switch-lg .form-check-input{height:1.5rem;width:2.75rem;background-size:1.5rem;margin-left:-3.5rem}.form-switch-lg .form-check-label{padding-top:.125rem}.form-check-input:checked{border:none}.form-control.is-invalid-lite,.form-control.is-valid-lite,.form-select.is-invalid-lite,.form-select.is-valid-lite{border-color:var(--tblr-border-color)!important}.legend{--tblr-legend-size:.75em;display:inline-block;background:var(--tblr-border-color);width:var(--tblr-legend-size);height:var(--tblr-legend-size);border-radius:var(--tblr-border-radius-sm);border:1px solid var(--tblr-border-color-translucent)}.list-group{margin-left:0;margin-right:0}.list-group-header{background:var(--tblr-bg-surface-tertiary);padding:.5rem 1.25rem;font-size:.75rem;font-weight:var(--tblr-font-weight-medium);line-height:1;text-transform:uppercase;color:var(--tblr-secondary);border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.list-group-flush>.list-group-header:last-child{border-bottom-width:0}.list-group-item{background-color:inherit}.list-group-item.active{background-color:rgba(var(--tblr-text-secondary-rgb),.04);border-left-color:#0054a6;border-left-width:2px}.list-group-item:active,.list-group-item:focus,.list-group-item:hover{background-color:rgba(var(--tblr-text-secondary-rgb),.04)}.list-group-item.disabled,.list-group-item:disabled{color:#929dab;background-color:rgba(var(--tblr-text-secondary-rgb),.04)}.list-bordered .list-item{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);margin-top:-1px}.list-bordered .list-item:first-child{border-top:none}.list-group-hoverable .list-group-item-actions{opacity:0;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.list-group-hoverable .list-group-item-actions{transition:none}}.list-group-hoverable .list-group-item-actions.show,.list-group-hoverable .list-group-item:hover .list-group-item-actions{opacity:1}.list-group-transparent{--tblr-list-group-border-radius:0;margin:0 -1.25rem}.list-group-transparent .list-group-item{background:0 0;border:0}.list-group-transparent .list-group-item .icon{color:var(--tblr-secondary)}.list-group-transparent .list-group-item.active{font-weight:var(--tblr-font-weight-bold);color:inherit;background:var(--tblr-active-bg)}.list-group-transparent .list-group-item.active .icon{color:inherit}.list-separated-item{padding:1rem 0}.list-separated-item:first-child{padding-top:0}.list-separated-item:last-child{padding-bottom:0}.list-separated-item+.list-separated-item{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.list-inline-item:not(:last-child){margin-right:auto;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.list-inline-dots .list-inline-item+.list-inline-item:before{content:" · ";-webkit-margin-end:.5rem;margin-inline-end:.5rem}.loader{position:relative;display:block;width:2.5rem;height:2.5rem;color:#0054a6;vertical-align:middle}.loader:after{position:absolute;top:0;left:0;width:100%;height:100%;content:"";border:1px var(--tblr-border-style);border-color:transparent;border-top-color:currentColor;border-left-color:currentColor;border-radius:100rem;animation:rotate-360 .6s linear;animation-iteration-count:infinite}.dimmer{position:relative}.dimmer .loader{position:absolute;top:50%;right:0;left:0;display:none;margin:0 auto;transform:translateY(-50%)}.dimmer.active .loader{display:block}.dimmer.active .dimmer-content{pointer-events:none;opacity:.1}@keyframes animated-dots{0%{transform:translate(-100%)}}.animated-dots{display:inline-block;overflow:hidden;vertical-align:bottom}.animated-dots:after{display:inline-block;content:"...";animation:animated-dots 1.2s steps(4,jump-none) infinite}.modal-content .btn-close{position:absolute;top:0;right:0;width:3.5rem;height:3.5rem;margin:0;padding:0;z-index:10}.modal-body{scrollbar-color:rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16) transparent}.modal-body::-webkit-scrollbar{width:1rem;height:1rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){.modal-body::-webkit-scrollbar{-webkit-transition:none;transition:none}}.modal-body::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16)}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.32)}.modal-body::-webkit-scrollbar-corner{background:0 0}.modal-body .modal-title{margin-bottom:1rem}.modal-body+.modal-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.modal-status{position:absolute;top:0;left:0;right:0;height:2px;background:var(--tblr-secondary);border-radius:var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0}.modal-header{align-items:center;min-height:3.5rem;background:0 0;padding:0 3.5rem 0 1.5rem}.modal-title{font-size:1rem;font-weight:var(--tblr-font-weight-bold);color:inherit;line-height:1.4285714286}.modal-footer{padding-top:.75rem;padding-bottom:.75rem}.modal-blur{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-full-width{max-width:none;margin:0 .5rem}.nav-vertical,.nav-vertical .nav{flex-direction:column;flex-wrap:nowrap}.nav-vertical .nav{margin-left:1.25rem;border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding-left:.5rem}.nav-vertical .nav-item.show .nav-link,.nav-vertical .nav-link.active{font-weight:var(--tblr-font-weight-bold)}.nav-vertical.nav-pills{margin:0 -.75rem}.nav-bordered{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.nav-bordered .nav-item+.nav-item{margin-left:1.25rem}.nav-bordered .nav-link{padding-left:0;padding-right:0;margin:0 0 -var(--tblr-border-width);border:0;border-bottom:2px var(--tblr-border-style) transparent;color:var(--tblr-secondary)}.nav-bordered .nav-item.show .nav-link,.nav-bordered .nav-link.active{color:var(--tblr-primary);border-color:var(--tblr-primary)}.nav-link{display:flex;transition:color .3s;align-items:center}.nav-link-toggle{margin-left:auto;padding:0 .25rem;transition:transform .3s}@media (prefers-reduced-motion:reduce){.nav-link-toggle{transition:none}}.nav-link-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(-45deg)}.nav-link-toggle:after{margin:0}.nav-link[aria-expanded=true] .nav-link-toggle{transform:rotate(180deg)}.nav-link-icon{width:1.25rem;height:1.25rem;margin-right:.5rem;color:var(--tblr-icon-color)}.nav-link-icon svg{display:block;height:100%}.nav-fill .nav-item .nav-link{justify-content:center}.stars{display:inline-flex;color:#bbc3cd;font-size:.75rem}.stars .star:not(:first-child){margin-left:.25rem}.pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.page-link{min-width:1.75rem;border-radius:var(--tblr-border-radius)}.page-item{text-align:center}.page-item:not(.active) .page-link:hover{background:0 0}.page-item.page-next,.page-item.page-prev{flex:0 0 50%;text-align:left}.page-item.page-next{margin-left:auto;text-align:right}.page-item-subtitle{margin-bottom:2px;font-size:12px;color:var(--tblr-secondary);text-transform:uppercase}.page-item.disabled .page-item-subtitle{color:var(--tblr-disabled-color)}.page-item-title{font-size:1rem;font-weight:var(--tblr-font-weight-normal);color:var(--tblr-body-color)}.page-link:hover .page-item-title{color:#0054a6}.page-item.disabled .page-item-title{color:var(--tblr-disabled-color)}@keyframes progress-indeterminate{0%{right:100%;left:-35%}to,60%{right:-90%;left:100%}}.progress{position:relative;width:100%;line-height:.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.progress::-webkit-progress-bar{background:var(--tblr-progress-bg)}.progress::-webkit-progress-value{background-color:var(--tblr-primary)}.progress::-moz-progress-bar{background-color:var(--tblr-primary)}.progress::-ms-fill{background-color:var(--tblr-primary);border:none}.progress-sm{height:.25rem}.progress-bar{height:100%}.progress-bar-indeterminate:after,.progress-bar-indeterminate:before{position:absolute;top:0;bottom:0;left:0;content:"";background-color:inherit;will-change:left,right}.progress-bar-indeterminate:before{animation:progress-indeterminate 1.5s cubic-bezier(.65,.815,.735,.395) infinite}.progress-separated .progress-bar{box-shadow:0 0 0 2px var(--tblr-card-bg,var(--tblr-bg-surface))}.progressbg{position:relative;padding:.25rem .5rem;display:flex}.progressbg-text{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progressbg-progress{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;height:100%;background:0 0;pointer-events:none}.progressbg-value{font-weight:var(--tblr-font-weight-medium);margin-left:auto;padding-left:2rem}.ribbon{--tblr-ribbon-margin:.25rem;--tblr-ribbon-border-radius:var(--tblr-border-radius);position:absolute;top:.75rem;right:calc(-1 * var(--tblr-ribbon-margin));z-index:1;padding:.25rem .75rem;font-size:.625rem;font-weight:var(--tblr-font-weight-bold);line-height:1;color:#fff;text-align:center;text-transform:uppercase;background:var(--tblr-primary);border-color:var(--tblr-primary);border-radius:var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius);display:inline-flex;align-items:center;justify-content:center;min-height:2rem;min-width:2rem}.ribbon:before{position:absolute;right:0;bottom:100%;width:0;height:0;content:"";filter:brightness(70%);border:calc(var(--tblr-ribbon-margin) * .5) var(--tblr-border-style);border-color:inherit;border-top-color:transparent;border-right-color:transparent}.ribbon.bg-blue{border-color:var(--tblr-blue)}.ribbon.bg-blue-lt{border-color:rgba(var(--tblr-blue-rgb),.1)!important}.ribbon.bg-azure{border-color:var(--tblr-azure)}.ribbon.bg-azure-lt{border-color:rgba(var(--tblr-azure-rgb),.1)!important}.ribbon.bg-indigo{border-color:var(--tblr-indigo)}.ribbon.bg-indigo-lt{border-color:rgba(var(--tblr-indigo-rgb),.1)!important}.ribbon.bg-purple{border-color:var(--tblr-purple)}.ribbon.bg-purple-lt{border-color:rgba(var(--tblr-purple-rgb),.1)!important}.ribbon.bg-pink{border-color:var(--tblr-pink)}.ribbon.bg-pink-lt{border-color:rgba(var(--tblr-pink-rgb),.1)!important}.ribbon.bg-red{border-color:var(--tblr-red)}.ribbon.bg-red-lt{border-color:rgba(var(--tblr-red-rgb),.1)!important}.ribbon.bg-orange{border-color:var(--tblr-orange)}.ribbon.bg-orange-lt{border-color:rgba(var(--tblr-orange-rgb),.1)!important}.ribbon.bg-yellow{border-color:var(--tblr-yellow)}.ribbon.bg-yellow-lt{border-color:rgba(var(--tblr-yellow-rgb),.1)!important}.ribbon.bg-lime{border-color:var(--tblr-lime)}.ribbon.bg-lime-lt{border-color:rgba(var(--tblr-lime-rgb),.1)!important}.ribbon.bg-green{border-color:var(--tblr-green)}.ribbon.bg-green-lt{border-color:rgba(var(--tblr-green-rgb),.1)!important}.ribbon.bg-teal{border-color:var(--tblr-teal)}.ribbon.bg-teal-lt{border-color:rgba(var(--tblr-teal-rgb),.1)!important}.ribbon.bg-cyan{border-color:var(--tblr-cyan)}.ribbon.bg-cyan-lt{border-color:rgba(var(--tblr-cyan-rgb),.1)!important}.ribbon .icon{width:1.25rem;height:1.25rem;font-size:1.25rem}.ribbon-top{top:calc(-1 * var(--tblr-ribbon-margin));right:.75rem;width:2rem;padding:.5rem 0;border-radius:0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius)}.ribbon-top:before{top:0;right:100%;bottom:auto;border-color:inherit;border-top-color:transparent;border-left-color:transparent}.ribbon-top.ribbon-start{right:auto;left:.75rem}.ribbon-top.ribbon-start:before{top:0;right:100%;left:auto}.ribbon-start{right:auto;left:calc(-1 * var(--tblr-ribbon-margin))}.ribbon-start:before{top:auto;bottom:100%;left:0;border-color:inherit;border-top-color:transparent;border-left-color:transparent}.ribbon-bottom{top:auto;bottom:.75rem}.ribbon-bookmark{padding-left:.25rem;border-radius:0 0 var(--tblr-ribbon-border-radius) 0}.ribbon-bookmark:after{position:absolute;top:0;right:100%;display:block;width:0;height:0;content:"";border:1rem var(--tblr-border-style);border-color:inherit;border-right-width:0;border-left-color:transparent;border-left-width:.5rem}.ribbon-bookmark.ribbon-left{padding-right:.5rem}.ribbon-bookmark.ribbon-left:after{right:auto;left:100%;border-right-color:transparent;border-right-width:.5rem;border-left-width:0}.ribbon-bookmark.ribbon-top{padding-right:0;padding-bottom:.25rem;padding-left:0;border-radius:0 var(--tblr-ribbon-border-radius) 0 0}.ribbon-bookmark.ribbon-top:after{top:100%;right:0;left:0;border-color:inherit;border-width:1rem;border-top-width:0;border-bottom-color:transparent;border-bottom-width:.5rem}.markdown{line-height:1.7142857143}.markdown>:first-child{margin-top:0}.markdown>:last-child,.markdown>:last-child .highlight{margin-bottom:0}@media (min-width:768px){.markdown>.hr,.markdown>hr{margin-top:3em;margin-bottom:3em}}.markdown>.h1,.markdown>.h2,.markdown>.h3,.markdown>.h4,.markdown>.h5,.markdown>.h6,.markdown>h1,.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{font-weight:var(--tblr-font-weight-bold)}.markdown>blockquote{font-size:1rem;margin:1.5rem 0;padding:.5rem 1.5rem}.markdown>img{border-radius:var(--tblr-border-radius)}.placeholder:not(.btn):not([class*=bg-]){background-color:currentColor!important}.placeholder:not(.avatar):not([class*=card-img-]){border-radius:var(--tblr-border-radius)}.steps{--tblr-steps-color:var(--tblr-primary);--tblr-steps-inactive-color:var(--tblr-border-color);--tblr-steps-dot-size:.5rem;--tblr-steps-border-width:2px;display:flex;flex-wrap:nowrap;width:100%;padding:0;margin:0;list-style:none}.steps-blue{--tblr-steps-color:var(--tblr-blue)}.steps-azure{--tblr-steps-color:var(--tblr-azure)}.steps-indigo{--tblr-steps-color:var(--tblr-indigo)}.steps-purple{--tblr-steps-color:var(--tblr-purple)}.steps-pink{--tblr-steps-color:var(--tblr-pink)}.steps-red{--tblr-steps-color:var(--tblr-red)}.steps-orange{--tblr-steps-color:var(--tblr-orange)}.steps-yellow{--tblr-steps-color:var(--tblr-yellow)}.steps-lime{--tblr-steps-color:var(--tblr-lime)}.steps-green{--tblr-steps-color:var(--tblr-green)}.steps-teal{--tblr-steps-color:var(--tblr-teal)}.steps-cyan{--tblr-steps-color:var(--tblr-cyan)}.step-item{position:relative;flex:1 1 0;min-height:1rem;margin-top:0;color:inherit;text-align:center;cursor:default;padding-top:calc(var(--tblr-steps-dot-size))}a.step-item{cursor:pointer}a.step-item:hover{color:inherit}.step-item:after,.step-item:before{background:var(--tblr-steps-color)}.step-item:not(:last-child):after{position:absolute;left:50%;width:100%;content:"";transform:translateY(-50%)}.step-item:after{top:calc(var(--tblr-steps-dot-size) * .5);height:var(--tblr-steps-border-width)}.step-item:before{content:"";position:absolute;top:0;left:50%;z-index:1;box-sizing:content-box;display:flex;align-items:center;justify-content:center;border-radius:100rem;transform:translate(-50%);color:var(--tblr-white);width:var(--tblr-steps-dot-size);height:var(--tblr-steps-dot-size)}.step-item.active{font-weight:var(--tblr-font-weight-bold)}.step-item.active:after{background:var(--tblr-steps-inactive-color)}.step-item.active~.step-item{color:var(--tblr-disabled-color)}.step-item.active~.step-item:after,.step-item.active~.step-item:before{background:var(--tblr-steps-inactive-color)}.steps-counter{--tblr-steps-dot-size:1.5rem;counter-reset:steps}.steps-counter .step-item{counter-increment:steps}.steps-counter .step-item:before{content:counter(steps)}.steps-vertical{--tblr-steps-dot-offset:6px;flex-direction:column}.steps-vertical.steps-counter{--tblr-steps-dot-offset:-2px}.steps-vertical .step-item{text-align:left;padding-top:0;padding-left:calc(var(--tblr-steps-dot-size) + 1rem);min-height:auto}.steps-vertical .step-item:not(:first-child){margin-top:1rem}.steps-vertical .step-item:before{top:var(--tblr-steps-dot-offset);left:0;transform:translate(0)}.steps-vertical .step-item:not(:last-child):after{position:absolute;content:"";transform:translate(-50%);top:var(--tblr-steps-dot-offset);left:calc(var(--tblr-steps-dot-size) * .5);width:var(--tblr-steps-border-width);height:calc(100% + 1rem)}@keyframes status-pulsate-main{40%{transform:scale(1.25)}60%{transform:scale(1.25)}}@keyframes status-pulsate-secondary{10%{transform:scale(1)}30%{transform:scale(3)}80%{transform:scale(3)}to{transform:scale(1)}}@keyframes status-pulsate-tertiary{25%{transform:scale(1)}80%{transform:scale(3);opacity:0}to{transform:scale(3);opacity:0}}.status{--tblr-status-height:1.5rem;--tblr-status-color:#667382;--tblr-status-color-rgb:102,115,130;display:inline-flex;align-items:center;height:var(--tblr-status-height);padding:.25rem .75rem;gap:.5rem;color:var(--tblr-status-color);background:rgba(var(--tblr-status-color-rgb),.1);font-size:.875rem;text-transform:none;letter-spacing:normal;border-radius:100rem;font-weight:var(--tblr-font-weight-medium);line-height:1;margin:0}.status .status-dot{background:var(--tblr-status-color)}.status .icon{font-size:1.25rem}.status-lite{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;background:0 0!important;color:var(--tblr-body-color)!important}.status-primary{--tblr-status-color:#0054a6;--tblr-status-color-rgb:0,84,166}.status-secondary{--tblr-status-color:#667382;--tblr-status-color-rgb:102,115,130}.status-success{--tblr-status-color:#2fb344;--tblr-status-color-rgb:47,179,68}.status-info{--tblr-status-color:#4299e1;--tblr-status-color-rgb:66,153,225}.status-warning{--tblr-status-color:#f76707;--tblr-status-color-rgb:247,103,7}.status-danger{--tblr-status-color:#d63939;--tblr-status-color-rgb:214,57,57}.status-light{--tblr-status-color:#fcfdfe;--tblr-status-color-rgb:252,253,254}.status-dark{--tblr-status-color:#182433;--tblr-status-color-rgb:24,36,51}.status-muted{--tblr-status-color:#667382;--tblr-status-color-rgb:102,115,130}.status-blue{--tblr-status-color:#0054a6;--tblr-status-color-rgb:0,84,166}.status-azure{--tblr-status-color:#4299e1;--tblr-status-color-rgb:66,153,225}.status-indigo{--tblr-status-color:#4263eb;--tblr-status-color-rgb:66,99,235}.status-purple{--tblr-status-color:#ae3ec9;--tblr-status-color-rgb:174,62,201}.status-pink{--tblr-status-color:#d6336c;--tblr-status-color-rgb:214,51,108}.status-red{--tblr-status-color:#d63939;--tblr-status-color-rgb:214,57,57}.status-orange{--tblr-status-color:#f76707;--tblr-status-color-rgb:247,103,7}.status-yellow{--tblr-status-color:#f59f00;--tblr-status-color-rgb:245,159,0}.status-lime{--tblr-status-color:#74b816;--tblr-status-color-rgb:116,184,22}.status-green{--tblr-status-color:#2fb344;--tblr-status-color-rgb:47,179,68}.status-teal{--tblr-status-color:#0ca678;--tblr-status-color-rgb:12,166,120}.status-cyan{--tblr-status-color:#17a2b8;--tblr-status-color-rgb:23,162,184}.status-facebook{--tblr-status-color:#1877f2;--tblr-status-color-rgb:24,119,242}.status-twitter{--tblr-status-color:#1da1f2;--tblr-status-color-rgb:29,161,242}.status-linkedin{--tblr-status-color:#0a66c2;--tblr-status-color-rgb:10,102,194}.status-google{--tblr-status-color:#dc4e41;--tblr-status-color-rgb:220,78,65}.status-youtube{--tblr-status-color:#ff0000;--tblr-status-color-rgb:255,0,0}.status-vimeo{--tblr-status-color:#1ab7ea;--tblr-status-color-rgb:26,183,234}.status-dribbble{--tblr-status-color:#ea4c89;--tblr-status-color-rgb:234,76,137}.status-github{--tblr-status-color:#181717;--tblr-status-color-rgb:24,23,23}.status-instagram{--tblr-status-color:#e4405f;--tblr-status-color-rgb:228,64,95}.status-pinterest{--tblr-status-color:#bd081c;--tblr-status-color-rgb:189,8,28}.status-vk{--tblr-status-color:#6383a8;--tblr-status-color-rgb:99,131,168}.status-rss{--tblr-status-color:#ffa500;--tblr-status-color-rgb:255,165,0}.status-flickr{--tblr-status-color:#0063dc;--tblr-status-color-rgb:0,99,220}.status-bitbucket{--tblr-status-color:#0052cc;--tblr-status-color-rgb:0,82,204}.status-tabler{--tblr-status-color:#0054a6;--tblr-status-color-rgb:0,84,166}.status-dot{--tblr-status-dot-color:var(--tblr-status-color, #667382);--tblr-status-size:.5rem;position:relative;display:inline-block;width:var(--tblr-status-size);height:var(--tblr-status-size);background:var(--tblr-status-dot-color);border-radius:100rem}.status-dot-animated:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:inherit;border-radius:inherit;opacity:.6;animation:1s linear 2s backwards infinite status-pulsate-tertiary}.status-indicator{--tblr-status-indicator-size:2.5rem;--tblr-status-indicator-color:var(--tblr-status-color, #667382);display:block;position:relative;width:var(--tblr-status-indicator-size);height:var(--tblr-status-indicator-size)}.status-indicator-circle{--tblr-status-circle-size:.75rem;position:absolute;left:50%;top:50%;margin:calc(var(--tblr-status-circle-size)/ -2) 0 0 calc(var(--tblr-status-circle-size)/ -2);width:var(--tblr-status-circle-size);height:var(--tblr-status-circle-size);border-radius:100rem;background:var(--tblr-status-color)}.status-indicator-circle:nth-child(1){z-index:3}.status-indicator-circle:nth-child(2){z-index:2;opacity:.1}.status-indicator-circle:nth-child(3){z-index:1;opacity:.3}.status-indicator-animated .status-indicator-circle:nth-child(1){animation:2s linear 1s infinite backwards status-pulsate-main}.status-indicator-animated .status-indicator-circle:nth-child(2){animation:2s linear 1s infinite backwards status-pulsate-secondary}.status-indicator-animated .status-indicator-circle:nth-child(3){animation:2s linear 1s infinite backwards status-pulsate-tertiary}.switch-icon{display:inline-block;line-height:1;border:0;padding:0;background:0 0;width:1.25rem;height:1.25rem;vertical-align:bottom;position:relative;cursor:pointer}.switch-icon.disabled{pointer-events:none;opacity:.4}.switch-icon:focus{outline:0}.switch-icon svg{display:block;width:100%;height:100%}.switch-icon .switch-icon-a,.switch-icon .switch-icon-b{display:block;width:100%;height:100%}.switch-icon .switch-icon-a{opacity:1}.switch-icon .switch-icon-b{position:absolute;top:0;left:0;opacity:0}.switch-icon.active .switch-icon-a{opacity:0}.switch-icon.active .switch-icon-b{opacity:1}.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:opacity .5s}@media (prefers-reduced-motion:reduce){.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:opacity .5s,transform 0s .5s}@media (prefers-reduced-motion:reduce){.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-b{transform:scale(1.5)}.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:opacity 0s,transform .5s}@media (prefers-reduced-motion:reduce){.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:none}}.switch-icon-scale.active .switch-icon-b{transform:scale(1)}.switch-icon-flip{perspective:10em}.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d;transition:opacity 0s .2s,transform .4s ease-in-out}@media (prefers-reduced-motion:reduce){.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{transition:none}}.switch-icon-flip .switch-icon-a{opacity:1;transform:rotateY(0)}.switch-icon-flip .switch-icon-b{opacity:1;transform:rotateY(-180deg)}.switch-icon-flip.active .switch-icon-a{opacity:1;transform:rotateY(180deg)}.switch-icon-flip.active .switch-icon-b{opacity:1;transform:rotateY(0)}.switch-icon-slide-down,.switch-icon-slide-left,.switch-icon-slide-right,.switch-icon-slide-up{overflow:hidden}.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b{transition:opacity .3s,transform .3s}@media (prefers-reduced-motion:reduce){.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b{transition:none}}.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-up .switch-icon-a{transform:translateY(0)}.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-b{transform:translateY(100%)}.switch-icon-slide-down.active .switch-icon-a,.switch-icon-slide-left.active .switch-icon-a,.switch-icon-slide-right.active .switch-icon-a,.switch-icon-slide-up.active .switch-icon-a{transform:translateY(-100%)}.switch-icon-slide-down.active .switch-icon-b,.switch-icon-slide-left.active .switch-icon-b,.switch-icon-slide-right.active .switch-icon-b,.switch-icon-slide-up.active .switch-icon-b{transform:translateY(0)}.switch-icon-slide-left .switch-icon-a{transform:translate(0)}.switch-icon-slide-left .switch-icon-b{transform:translate(100%)}.switch-icon-slide-left.active .switch-icon-a{transform:translate(-100%)}.switch-icon-slide-left.active .switch-icon-b,.switch-icon-slide-right .switch-icon-a{transform:translate(0)}.switch-icon-slide-right .switch-icon-b{transform:translate(-100%)}.switch-icon-slide-right.active .switch-icon-a{transform:translate(100%)}.switch-icon-slide-right.active .switch-icon-b{transform:translate(0)}.switch-icon-slide-down .switch-icon-a{transform:translateY(0)}.switch-icon-slide-down .switch-icon-b{transform:translateY(-100%)}.switch-icon-slide-down.active .switch-icon-a{transform:translateY(100%)}.switch-icon-slide-down.active .switch-icon-b{transform:translateY(0)}.markdown>table thead th,.table thead th{background:var(--tblr-bg-surface-tertiary);font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);padding-top:.5rem;padding-bottom:.5rem;white-space:nowrap}@media print{.markdown>table thead th,.table thead th{background:0 0}}.table-responsive .markdown>table,.table-responsive .table{margin-bottom:0}.table-responsive+.card-footer{border-top:0}.table-transparent thead th{background:0 0}.table-nowrap>:not(caption)>*>*{white-space:nowrap}.table-vcenter>:not(caption)>*>*{vertical-align:middle}.table-center>:not(caption)>*>*{text-align:center}.td-truncate{max-width:1px;width:100%}.table-mobile{display:block}.table-mobile thead{display:none}.table-mobile tbody,.table-mobile tr{display:flex;flex-direction:column}.table-mobile td{display:block;padding:.75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile .btn{display:block}@media (max-width:575.98px){.table-mobile-sm{display:block}.table-mobile-sm thead{display:none}.table-mobile-sm tbody,.table-mobile-sm tr{display:flex;flex-direction:column}.table-mobile-sm td{display:block;padding:.75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-sm td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-sm tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-sm .btn{display:block}}@media (max-width:767.98px){.table-mobile-md{display:block}.table-mobile-md thead{display:none}.table-mobile-md tbody,.table-mobile-md tr{display:flex;flex-direction:column}.table-mobile-md td{display:block;padding:.75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-md td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-md tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-md .btn{display:block}}@media (max-width:991.98px){.table-mobile-lg{display:block}.table-mobile-lg thead{display:none}.table-mobile-lg tbody,.table-mobile-lg tr{display:flex;flex-direction:column}.table-mobile-lg td{display:block;padding:.75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-lg td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-lg tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-lg .btn{display:block}}@media (max-width:1199.98px){.table-mobile-xl{display:block}.table-mobile-xl thead{display:none}.table-mobile-xl tbody,.table-mobile-xl tr{display:flex;flex-direction:column}.table-mobile-xl td{display:block;padding:.75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-xl td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-xl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xl .btn{display:block}}@media (max-width:1399.98px){.table-mobile-xxl{display:block}.table-mobile-xxl thead{display:none}.table-mobile-xxl tbody,.table-mobile-xxl tr{display:flex;flex-direction:column}.table-mobile-xxl td{display:block;padding:.75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-xxl td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-xxl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xxl .btn{display:block}}.table-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;border:0;background:inherit;display:block;width:100%;text-align:inherit;transition:color .3s;margin:-.5rem -.75rem;padding:.5rem .75rem}@media (prefers-reduced-motion:reduce){.table-sort{transition:none}}.table-sort.asc,.table-sort.desc,.table-sort:hover{color:var(--tblr-body-color)}.table-sort:after{content:"";display:inline-flex;width:1rem;height:1rem;vertical-align:bottom;-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,");background:currentColor;margin-left:.25rem}.table-sort.asc:after{-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,")}.table-sort.desc:after{-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,")}.table-borderless thead th{background:0 0}.tag{--tblr-tag-height:1.5rem;border:1px solid var(--tblr-border-color);display:inline-flex;align-items:center;height:var(--tblr-tag-height);border-radius:var(--tblr-border-radius);padding:0 .5rem;background:var(--tblr-bg-surface);box-shadow:var(--tblr-box-shadow-input);gap:.5rem}.tag .btn-close{margin-right:-.25rem;margin-left:-.125rem;padding:0;width:1rem;height:1rem;font-size:.5rem}.tag-badge{--tblr-badge-font-size:.625rem;--tblr-badge-padding-x:.25rem;--tblr-badge-padding-y:.125rem;margin-right:-.25rem}.tag-avatar,.tag-check,.tag-flag,.tag-icon,.tag-payment{margin-left:-.25rem}.tag-icon{color:var(--tblr-secondary);margin-right:-.125rem;width:1rem;height:1rem}.tag-check{width:1rem;height:1rem;background-size:1rem}.tags-list{--tblr-list-gap:.5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.toast{background:#fff;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);box-shadow:#1824330a 0 2px 4px}.toast .toast-header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.toast button[data-bs-dismiss=toast]{outline:0}.toast-primary{--tblr-toast-color:#0054a6}.toast-secondary{--tblr-toast-color:#667382}.toast-success{--tblr-toast-color:#2fb344}.toast-info{--tblr-toast-color:#4299e1}.toast-warning{--tblr-toast-color:#f76707}.toast-danger{--tblr-toast-color:#d63939}.toast-light{--tblr-toast-color:#fcfdfe}.toast-dark{--tblr-toast-color:#182433}.toast-muted{--tblr-toast-color:#667382}.toast-blue{--tblr-toast-color:#0054a6}.toast-azure{--tblr-toast-color:#4299e1}.toast-indigo{--tblr-toast-color:#4263eb}.toast-purple{--tblr-toast-color:#ae3ec9}.toast-pink{--tblr-toast-color:#d6336c}.toast-red{--tblr-toast-color:#d63939}.toast-orange{--tblr-toast-color:#f76707}.toast-yellow{--tblr-toast-color:#f59f00}.toast-lime{--tblr-toast-color:#74b816}.toast-green{--tblr-toast-color:#2fb344}.toast-teal{--tblr-toast-color:#0ca678}.toast-cyan{--tblr-toast-color:#17a2b8}.toast-facebook{--tblr-toast-color:#1877f2}.toast-twitter{--tblr-toast-color:#1da1f2}.toast-linkedin{--tblr-toast-color:#0a66c2}.toast-google{--tblr-toast-color:#dc4e41}.toast-youtube{--tblr-toast-color:#ff0000}.toast-vimeo{--tblr-toast-color:#1ab7ea}.toast-dribbble{--tblr-toast-color:#ea4c89}.toast-github{--tblr-toast-color:#181717}.toast-instagram{--tblr-toast-color:#e4405f}.toast-pinterest{--tblr-toast-color:#bd081c}.toast-vk{--tblr-toast-color:#6383a8}.toast-rss{--tblr-toast-color:#ffa500}.toast-flickr{--tblr-toast-color:#0063dc}.toast-bitbucket{--tblr-toast-color:#0052cc}.toast-tabler{--tblr-toast-color:#0054a6}.toolbar{display:flex;flex-wrap:nowrap;flex-shrink:0;margin:0 -.5rem}.toolbar>*{margin:0 .5rem}.tracking{--tblr-tracking-height:1.5rem;--tblr-tracking-gap-width:.125rem;--tblr-tracking-block-border-radius:var(--tblr-border-radius);display:flex;gap:var(--tblr-tracking-gap-width)}.tracking-squares{--tblr-tracking-block-border-radius:var(--tblr-border-radius-sm)}.tracking-squares .tracking-block{height:auto}.tracking-squares .tracking-block:before{content:"";display:block;padding-top:100%}.tracking-block{flex:1;border-radius:var(--tblr-tracking-block-border-radius);height:var(--tblr-tracking-height);min-width:.25rem;background:var(--tblr-border-color)}.timeline{--tblr-timeline-icon-size:2.5rem;position:relative;list-style:none;padding:0}.timeline-event{position:relative}.timeline-event:not(:last-child){margin-bottom:var(--tblr-page-padding)}.timeline-event:not(:last-child):before{content:"";position:absolute;top:var(--tblr-timeline-icon-size);left:calc(var(--tblr-timeline-icon-size)/ 2);bottom:calc(-1 * var(--tblr-page-padding));width:var(--tblr-border-width);background-color:var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.timeline-event-icon{position:absolute;display:flex;align-items:center;justify-content:center;width:var(--tblr-timeline-icon-size,2.5rem);height:var(--tblr-timeline-icon-size,2.5rem);background:var(--tblr-gray-200);color:var(--tblr-secondary);border-radius:var(--tblr-border-radius);z-index:5}.timeline-event-card{margin-left:calc(var(--tblr-timeline-icon-size,2.5rem) + var(--tblr-page-padding))}.timeline-simple .timeline-event-icon{display:none}.timeline-simple .timeline-event-card{margin-left:0}.hr-text{display:flex;align-items:center;margin:2rem 0;font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);height:1px}.hr-text:after,.hr-text:before{flex:1 1 auto;height:1px;background-color:var(--tblr-border-color)}.hr-text:before{content:"";margin-right:.5rem}.hr-text:after{content:"";margin-left:.5rem}.hr-text>:first-child{padding-right:.5rem;padding-left:0;color:var(--tblr-secondary)}.hr-text.hr-text-left:before{content:none}.hr-text.hr-text-left>:first-child{padding-right:.5rem;padding-left:.5rem}.hr-text.hr-text-right:before{content:""}.hr-text.hr-text-right:after{content:none}.hr-text.hr-text-right>:first-child{padding-right:0;padding-left:.5rem}.card>.hr-text{margin:0}.hr-text-spaceless{margin:-.5rem 0}.lead{line-height:1.4}a{-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}.h1 a,.h2 a,.h3 a,.h4 a,.h5 a,.h6 a,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a,.h1 a:hover,.h2 a:hover,.h3 a:hover,.h4 a:hover,.h5 a:hover,.h6 a:hover,h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:inherit}.h1,h1{font-size:var(--tblr-font-size-h1);line-height:var(--tblr-line-height-h1)}.h2,h2{font-size:var(--tblr-font-size-h2);line-height:var(--tblr-line-height-h2)}.h3,h3{font-size:var(--tblr-font-size-h3);line-height:var(--tblr-line-height-h3)}.h4,h4{font-size:var(--tblr-font-size-h4);line-height:var(--tblr-line-height-h4)}.h5,h5{font-size:var(--tblr-font-size-h5);line-height:var(--tblr-line-height-h5)}.h6,h6{font-size:var(--tblr-font-size-h6);line-height:var(--tblr-line-height-h6)}.strong,b,strong{font-weight:var(--tblr-font-weight-bold)}blockquote{padding-left:1rem;border-left:2px var(--tblr-border-style) var(--tblr-border-color)}blockquote p{margin-bottom:1rem}blockquote cite{display:block;text-align:right}blockquote cite:before{content:"— "}ol,ul{padding-left:1.5rem}.hr,hr{margin:2rem 0}dl dd:last-child{margin-bottom:0}pre{padding:1rem;background:var(--tblr-bg-surface-dark);color:var(--tblr-light);border-radius:var(--tblr-border-radius)}pre code{background:0 0}code{background:var(--tblr-code-bg);padding:2px 4px;border-radius:var(--tblr-border-radius)}.kbd,kbd{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);display:inline-block;box-sizing:border-box;max-width:100%;font-size:var(--tblr-font-size-h5);font-weight:var(--tblr-font-weight-medium);line-height:1;vertical-align:baseline;border-radius:var(--tblr-border-radius)}img{max-width:100%}.list-unstyled{margin-left:0}::-moz-selection{background-color:rgba(var(--tblr-primary-rgb),.16)}::selection{background-color:rgba(var(--tblr-primary-rgb),.16)}[class*=" link-"].disabled,[class^=link-].disabled{color:var(--tblr-disabled-color);pointer-events:none}.subheader{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary)}.chart{display:block;min-height:10rem}.chart text{font-family:inherit}.chart-sm{height:2.5rem}.chart-lg{height:15rem}.chart-square{height:5.75rem}.chart-sparkline{position:relative;width:4rem;height:2.5rem;line-height:1;min-height:0!important}.chart-sparkline-sm{height:1.5rem}.chart-sparkline-square{width:2.5rem}.chart-sparkline-wide{width:6rem}.chart-sparkline-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.625rem}.chart-sparkline-label .icon{width:1rem;height:1rem;font-size:1rem}.offcanvas-header{border-bottom:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)}.offcanvas-footer{padding:1.5rem}.offcanvas-title{font-size:1rem;font-weight:var(--tblr-font-weight-medium);line-height:1.5rem}.offcanvas-narrow{width:20rem}.chat-bubbles{display:flex;flex-direction:column;gap:1rem}.chat-bubble{background:var(--tblr-bg-surface-secondary);border-radius:var(--tblr-border-radius-lg);padding:1rem;position:relative}.chat-bubble-me{background-color:var(--tblr-primary-lt);box-shadow:none}.chat-bubble-title{margin-bottom:.25rem}.chat-bubble-author{font-weight:600}.chat-bubble-date{color:var(--tblr-secondary)}.chat-bubble-body>:last-child{margin-bottom:0}.bg-white-overlay{color:#fff;background-color:#fcfdfe3d}.bg-dark-overlay{color:#fff;background-color:#1824333d}.bg-cover{background-repeat:no-repeat;background-size:cover;background-position:center}.bg-primary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-primary-rgb),var(--tblr-bg-opacity))!important}.bg-primary-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-primary-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-primary-lt-rgb),var(--tblr-bg-opacity))!important}.border-primary{border-color:#0054a6!important}.bg-secondary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-secondary-rgb),var(--tblr-bg-opacity))!important}.bg-secondary-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-secondary-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-secondary-lt-rgb),var(--tblr-bg-opacity))!important}.border-secondary{border-color:#667382!important}.bg-success{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-success-rgb),var(--tblr-bg-opacity))!important}.bg-success-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-success-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-success-lt-rgb),var(--tblr-bg-opacity))!important}.border-success{border-color:#2fb344!important}.bg-info{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-info-rgb),var(--tblr-bg-opacity))!important}.bg-info-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-info-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-info-lt-rgb),var(--tblr-bg-opacity))!important}.border-info{border-color:#4299e1!important}.bg-warning{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-warning-rgb),var(--tblr-bg-opacity))!important}.bg-warning-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-warning-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-warning-lt-rgb),var(--tblr-bg-opacity))!important}.border-warning{border-color:#f76707!important}.bg-danger{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-danger-rgb),var(--tblr-bg-opacity))!important}.bg-danger-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-danger-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-danger-lt-rgb),var(--tblr-bg-opacity))!important}.border-danger{border-color:#d63939!important}.bg-light{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-light-rgb),var(--tblr-bg-opacity))!important}.bg-light-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-light-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-light-lt-rgb),var(--tblr-bg-opacity))!important}.border-light{border-color:#fcfdfe!important}.bg-dark{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dark-rgb),var(--tblr-bg-opacity))!important}.bg-dark-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-dark-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-dark-lt-rgb),var(--tblr-bg-opacity))!important}.border-dark{border-color:#182433!important}.bg-muted{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-muted-rgb),var(--tblr-bg-opacity))!important}.bg-muted-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-muted-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-muted-lt-rgb),var(--tblr-bg-opacity))!important}.border-muted{border-color:#667382!important}.bg-blue{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-blue-rgb),var(--tblr-bg-opacity))!important}.bg-blue-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-blue-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-blue-lt-rgb),var(--tblr-bg-opacity))!important}.border-blue{border-color:#0054a6!important}.bg-azure{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-azure-rgb),var(--tblr-bg-opacity))!important}.bg-azure-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-azure-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-azure-lt-rgb),var(--tblr-bg-opacity))!important}.border-azure{border-color:#4299e1!important}.bg-indigo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-indigo-rgb),var(--tblr-bg-opacity))!important}.bg-indigo-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-indigo-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-indigo-lt-rgb),var(--tblr-bg-opacity))!important}.border-indigo{border-color:#4263eb!important}.bg-purple{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-purple-rgb),var(--tblr-bg-opacity))!important}.bg-purple-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-purple-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-purple-lt-rgb),var(--tblr-bg-opacity))!important}.border-purple{border-color:#ae3ec9!important}.bg-pink{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pink-rgb),var(--tblr-bg-opacity))!important}.bg-pink-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-pink-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-pink-lt-rgb),var(--tblr-bg-opacity))!important}.border-pink{border-color:#d6336c!important}.bg-red{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-red-rgb),var(--tblr-bg-opacity))!important}.bg-red-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-red-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-red-lt-rgb),var(--tblr-bg-opacity))!important}.border-red{border-color:#d63939!important}.bg-orange{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-orange-rgb),var(--tblr-bg-opacity))!important}.bg-orange-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-orange-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-orange-lt-rgb),var(--tblr-bg-opacity))!important}.border-orange{border-color:#f76707!important}.bg-yellow{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-yellow-rgb),var(--tblr-bg-opacity))!important}.bg-yellow-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-yellow-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-yellow-lt-rgb),var(--tblr-bg-opacity))!important}.border-yellow{border-color:#f59f00!important}.bg-lime{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-lime-rgb),var(--tblr-bg-opacity))!important}.bg-lime-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-lime-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-lime-lt-rgb),var(--tblr-bg-opacity))!important}.border-lime{border-color:#74b816!important}.bg-green{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-green-rgb),var(--tblr-bg-opacity))!important}.bg-green-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-green-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-green-lt-rgb),var(--tblr-bg-opacity))!important}.border-green{border-color:#2fb344!important}.bg-teal{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-teal-rgb),var(--tblr-bg-opacity))!important}.bg-teal-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-teal-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-teal-lt-rgb),var(--tblr-bg-opacity))!important}.border-teal{border-color:#0ca678!important}.bg-cyan{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-cyan-rgb),var(--tblr-bg-opacity))!important}.bg-cyan-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-cyan-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-cyan-lt-rgb),var(--tblr-bg-opacity))!important}.border-cyan{border-color:#17a2b8!important}.bg-facebook{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-facebook-rgb),var(--tblr-bg-opacity))!important}.bg-facebook-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-facebook-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-facebook-lt-rgb),var(--tblr-bg-opacity))!important}.border-facebook{border-color:#1877f2!important}.bg-twitter{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-twitter-rgb),var(--tblr-bg-opacity))!important}.bg-twitter-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-twitter-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-twitter-lt-rgb),var(--tblr-bg-opacity))!important}.border-twitter{border-color:#1da1f2!important}.bg-linkedin{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-bg-opacity))!important}.bg-linkedin-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-linkedin-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-linkedin-lt-rgb),var(--tblr-bg-opacity))!important}.border-linkedin{border-color:#0a66c2!important}.bg-google{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-google-rgb),var(--tblr-bg-opacity))!important}.bg-google-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-google-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-google-lt-rgb),var(--tblr-bg-opacity))!important}.border-google{border-color:#dc4e41!important}.bg-youtube{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-youtube-rgb),var(--tblr-bg-opacity))!important}.bg-youtube-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-youtube-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-youtube-lt-rgb),var(--tblr-bg-opacity))!important}.border-youtube{border-color:red!important}.bg-vimeo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-bg-opacity))!important}.bg-vimeo-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-vimeo-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-vimeo-lt-rgb),var(--tblr-bg-opacity))!important}.border-vimeo{border-color:#1ab7ea!important}.bg-dribbble{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-bg-opacity))!important}.bg-dribbble-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-dribbble-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-dribbble-lt-rgb),var(--tblr-bg-opacity))!important}.border-dribbble{border-color:#ea4c89!important}.bg-github{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-github-rgb),var(--tblr-bg-opacity))!important}.bg-github-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-github-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-github-lt-rgb),var(--tblr-bg-opacity))!important}.border-github{border-color:#181717!important}.bg-instagram{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-instagram-rgb),var(--tblr-bg-opacity))!important}.bg-instagram-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-instagram-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-instagram-lt-rgb),var(--tblr-bg-opacity))!important}.border-instagram{border-color:#e4405f!important}.bg-pinterest{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-bg-opacity))!important}.bg-pinterest-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-pinterest-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-pinterest-lt-rgb),var(--tblr-bg-opacity))!important}.border-pinterest{border-color:#bd081c!important}.bg-vk{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vk-rgb),var(--tblr-bg-opacity))!important}.bg-vk-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-vk-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-vk-lt-rgb),var(--tblr-bg-opacity))!important}.border-vk{border-color:#6383a8!important}.bg-rss{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-rss-rgb),var(--tblr-bg-opacity))!important}.bg-rss-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-rss-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-rss-lt-rgb),var(--tblr-bg-opacity))!important}.border-rss{border-color:orange!important}.bg-flickr{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-flickr-rgb),var(--tblr-bg-opacity))!important}.bg-flickr-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-flickr-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-flickr-lt-rgb),var(--tblr-bg-opacity))!important}.border-flickr{border-color:#0063dc!important}.bg-bitbucket{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-bg-opacity))!important}.bg-bitbucket-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-bitbucket-lt-rgb),var(--tblr-bg-opacity))!important}.border-bitbucket{border-color:#0052cc!important}.bg-tabler{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-tabler-rgb),var(--tblr-bg-opacity))!important}.bg-tabler-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-tabler-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-tabler-lt-rgb),var(--tblr-bg-opacity))!important}.border-tabler{border-color:#0054a6!important}.bg-white{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-white-rgb),var(--tblr-bg-opacity))!important}.bg-white-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-white-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-white-lt-rgb),var(--tblr-bg-opacity))!important}.border-white{border-color:#fff!important}.text-primary{--tblr-text-opacity:1;color:rgba(var(--tblr-primary-rgb),var(--tblr-text-opacity))!important}.text-primary-fg{color:var(--tblr-primary-fg)!important}.text-secondary{--tblr-text-opacity:1;color:rgba(var(--tblr-secondary-rgb),var(--tblr-text-opacity))!important}.text-secondary-fg{color:var(--tblr-secondary-fg)!important}.text-success{--tblr-text-opacity:1;color:rgba(var(--tblr-success-rgb),var(--tblr-text-opacity))!important}.text-success-fg{color:var(--tblr-success-fg)!important}.text-info{--tblr-text-opacity:1;color:rgba(var(--tblr-info-rgb),var(--tblr-text-opacity))!important}.text-info-fg{color:var(--tblr-info-fg)!important}.text-warning{--tblr-text-opacity:1;color:rgba(var(--tblr-warning-rgb),var(--tblr-text-opacity))!important}.text-warning-fg{color:var(--tblr-warning-fg)!important}.text-danger{--tblr-text-opacity:1;color:rgba(var(--tblr-danger-rgb),var(--tblr-text-opacity))!important}.text-danger-fg{color:var(--tblr-danger-fg)!important}.text-light{--tblr-text-opacity:1;color:rgba(var(--tblr-light-rgb),var(--tblr-text-opacity))!important}.text-light-fg{color:var(--tblr-light-fg)!important}.text-dark{--tblr-text-opacity:1;color:rgba(var(--tblr-dark-rgb),var(--tblr-text-opacity))!important}.text-dark-fg{color:var(--tblr-dark-fg)!important}.text-muted{--tblr-text-opacity:1;color:rgba(var(--tblr-muted-rgb),var(--tblr-text-opacity))!important}.text-muted-fg{color:var(--tblr-muted-fg)!important}.text-blue{--tblr-text-opacity:1;color:rgba(var(--tblr-blue-rgb),var(--tblr-text-opacity))!important}.text-blue-fg{color:var(--tblr-blue-fg)!important}.text-azure{--tblr-text-opacity:1;color:rgba(var(--tblr-azure-rgb),var(--tblr-text-opacity))!important}.text-azure-fg{color:var(--tblr-azure-fg)!important}.text-indigo{--tblr-text-opacity:1;color:rgba(var(--tblr-indigo-rgb),var(--tblr-text-opacity))!important}.text-indigo-fg{color:var(--tblr-indigo-fg)!important}.text-purple{--tblr-text-opacity:1;color:rgba(var(--tblr-purple-rgb),var(--tblr-text-opacity))!important}.text-purple-fg{color:var(--tblr-purple-fg)!important}.text-pink{--tblr-text-opacity:1;color:rgba(var(--tblr-pink-rgb),var(--tblr-text-opacity))!important}.text-pink-fg{color:var(--tblr-pink-fg)!important}.text-red{--tblr-text-opacity:1;color:rgba(var(--tblr-red-rgb),var(--tblr-text-opacity))!important}.text-red-fg{color:var(--tblr-red-fg)!important}.text-orange{--tblr-text-opacity:1;color:rgba(var(--tblr-orange-rgb),var(--tblr-text-opacity))!important}.text-orange-fg{color:var(--tblr-orange-fg)!important}.text-yellow{--tblr-text-opacity:1;color:rgba(var(--tblr-yellow-rgb),var(--tblr-text-opacity))!important}.text-yellow-fg{color:var(--tblr-yellow-fg)!important}.text-lime{--tblr-text-opacity:1;color:rgba(var(--tblr-lime-rgb),var(--tblr-text-opacity))!important}.text-lime-fg{color:var(--tblr-lime-fg)!important}.text-green{--tblr-text-opacity:1;color:rgba(var(--tblr-green-rgb),var(--tblr-text-opacity))!important}.text-green-fg{color:var(--tblr-green-fg)!important}.text-teal{--tblr-text-opacity:1;color:rgba(var(--tblr-teal-rgb),var(--tblr-text-opacity))!important}.text-teal-fg{color:var(--tblr-teal-fg)!important}.text-cyan{--tblr-text-opacity:1;color:rgba(var(--tblr-cyan-rgb),var(--tblr-text-opacity))!important}.text-cyan-fg{color:var(--tblr-cyan-fg)!important}.text-facebook{--tblr-text-opacity:1;color:rgba(var(--tblr-facebook-rgb),var(--tblr-text-opacity))!important}.text-facebook-fg{color:var(--tblr-facebook-fg)!important}.text-twitter{--tblr-text-opacity:1;color:rgba(var(--tblr-twitter-rgb),var(--tblr-text-opacity))!important}.text-twitter-fg{color:var(--tblr-twitter-fg)!important}.text-linkedin{--tblr-text-opacity:1;color:rgba(var(--tblr-linkedin-rgb),var(--tblr-text-opacity))!important}.text-linkedin-fg{color:var(--tblr-linkedin-fg)!important}.text-google{--tblr-text-opacity:1;color:rgba(var(--tblr-google-rgb),var(--tblr-text-opacity))!important}.text-google-fg{color:var(--tblr-google-fg)!important}.text-youtube{--tblr-text-opacity:1;color:rgba(var(--tblr-youtube-rgb),var(--tblr-text-opacity))!important}.text-youtube-fg{color:var(--tblr-youtube-fg)!important}.text-vimeo{--tblr-text-opacity:1;color:rgba(var(--tblr-vimeo-rgb),var(--tblr-text-opacity))!important}.text-vimeo-fg{color:var(--tblr-vimeo-fg)!important}.text-dribbble{--tblr-text-opacity:1;color:rgba(var(--tblr-dribbble-rgb),var(--tblr-text-opacity))!important}.text-dribbble-fg{color:var(--tblr-dribbble-fg)!important}.text-github{--tblr-text-opacity:1;color:rgba(var(--tblr-github-rgb),var(--tblr-text-opacity))!important}.text-github-fg{color:var(--tblr-github-fg)!important}.text-instagram{--tblr-text-opacity:1;color:rgba(var(--tblr-instagram-rgb),var(--tblr-text-opacity))!important}.text-instagram-fg{color:var(--tblr-instagram-fg)!important}.text-pinterest{--tblr-text-opacity:1;color:rgba(var(--tblr-pinterest-rgb),var(--tblr-text-opacity))!important}.text-pinterest-fg{color:var(--tblr-pinterest-fg)!important}.text-vk{--tblr-text-opacity:1;color:rgba(var(--tblr-vk-rgb),var(--tblr-text-opacity))!important}.text-vk-fg{color:var(--tblr-vk-fg)!important}.text-rss{--tblr-text-opacity:1;color:rgba(var(--tblr-rss-rgb),var(--tblr-text-opacity))!important}.text-rss-fg{color:var(--tblr-rss-fg)!important}.text-flickr{--tblr-text-opacity:1;color:rgba(var(--tblr-flickr-rgb),var(--tblr-text-opacity))!important}.text-flickr-fg{color:var(--tblr-flickr-fg)!important}.text-bitbucket{--tblr-text-opacity:1;color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-text-opacity))!important}.text-bitbucket-fg{color:var(--tblr-bitbucket-fg)!important}.text-tabler{--tblr-text-opacity:1;color:rgba(var(--tblr-tabler-rgb),var(--tblr-text-opacity))!important}.text-tabler-fg{color:var(--tblr-tabler-fg)!important}.bg-gray-50{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-50-rgb),var(--tblr-bg-opacity))!important}.text-gray-50-fg{color:#182433!important}.bg-gray-100{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-100-rgb),var(--tblr-bg-opacity))!important}.text-gray-100-fg{color:#182433!important}.bg-gray-200{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-200-rgb),var(--tblr-bg-opacity))!important}.text-gray-200-fg{color:#182433!important}.bg-gray-300{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-300-rgb),var(--tblr-bg-opacity))!important}.text-gray-300-fg{color:#182433!important}.bg-gray-400{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-400-rgb),var(--tblr-bg-opacity))!important}.text-gray-400-fg{color:#fcfdfe!important}.bg-gray-500{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-500-rgb),var(--tblr-bg-opacity))!important}.text-gray-500-fg{color:#fcfdfe!important}.bg-gray-600{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-600-rgb),var(--tblr-bg-opacity))!important}.text-gray-600-fg{color:#fcfdfe!important}.bg-gray-700{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-700-rgb),var(--tblr-bg-opacity))!important}.text-gray-700-fg{color:#fcfdfe!important}.bg-gray-800{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-800-rgb),var(--tblr-bg-opacity))!important}.text-gray-800-fg{color:#fcfdfe!important}.bg-gray-900{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-900-rgb),var(--tblr-bg-opacity))!important}.text-gray-900-fg{color:#fcfdfe!important}.scrollable{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scrollable.hover{overflow-y:hidden}.scrollable.hover>*{margin-top:-1px}.scrollable.hover:active,.scrollable.hover:focus,.scrollable.hover:hover{overflow:visible;overflow-y:auto}.touch .scrollable{overflow-y:auto!important}.scroll-x,.scroll-y{overflow:hidden;-webkit-overflow-scrolling:touch}.scroll-y{overflow-y:auto}.scroll-x{overflow-x:auto}.no-scroll{overflow:hidden}.w-0{width:0!important}.h-0{height:0!important}.w-1{width:.25rem!important}.h-1{height:.25rem!important}.w-2{width:.5rem!important}.h-2{height:.5rem!important}.w-3{width:1rem!important}.h-3{height:1rem!important}.w-4{width:1.5rem!important}.h-4{height:1.5rem!important}.w-5{width:2rem!important}.h-5{height:2rem!important}.w-6{width:3rem!important}.h-6{height:3rem!important}.w-7{width:5rem!important}.h-7{height:5rem!important}.w-8{width:8rem!important}.h-8{height:8rem!important}.w-px{width:1px!important}.h-px{height:1px!important}.w-full{width:100%!important}.h-full{height:100%!important}.opacity-5{opacity:.05!important}.opacity-10{opacity:.1!important}.opacity-15{opacity:.15!important}.opacity-20{opacity:.2!important}.opacity-30{opacity:.3!important}.opacity-35{opacity:.35!important}.opacity-40{opacity:.4!important}.opacity-45{opacity:.45!important}.opacity-55{opacity:.55!important}.opacity-60{opacity:.6!important}.opacity-65{opacity:.65!important}.opacity-70{opacity:.7!important}.opacity-80{opacity:.8!important}.opacity-85{opacity:.85!important}.opacity-90{opacity:.9!important}.opacity-95{opacity:.95!important}.hover-shadow-sm:hover{box-shadow:0 .125rem .25rem #00000013!important}.hover-shadow:hover{box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px!important}.hover-shadow-lg:hover{box-shadow:0 1rem 3rem #0000002d!important}.hover-shadow-none:hover{box-shadow:none!important}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.tabulator{border:1px solid #dee2e6;font-size:16px;overflow:hidden;position:relative;text-align:left;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.tabulator[tabulator-layout=fitDataFill] .tabulator-tableholder .tabulator-table{min-width:100%}.tabulator[tabulator-layout=fitDataTable]{display:inline-block}.tabulator.tabulator-block-select,.tabulator.tabulator-ranges .tabulator-cell:not(.tabulator-editing){-webkit-user-select:none;user-select:none}.tabulator .tabulator-header{background-color:#fff;border-bottom:1px solid #dee2e6;box-sizing:border-box;color:#555;font-weight:700;outline:none;overflow:hidden;position:relative;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap;width:100%}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{background:#fff;border-right:1px solid #aaa;box-sizing:border-box;display:inline-flex;flex-direction:column;justify-content:flex-start;overflow:hidden;position:relative;text-align:left;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col.tabulator-moving{background:#e6e6e6;border:1px solid #dee2e6;pointer-events:none;position:absolute}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{background-color:#d6d6d6;color:#000}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{background-color:#3876ca;color:#fff}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;padding:4px;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button{padding:0 8px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button:hover{cursor:pointer;opacity:.6}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder{position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{text-overflow:clip;white-space:normal}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{background:#fff;border:1px solid #999;box-sizing:border-box;padding:1px;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-header-popup-button+.tabulator-title-editor{width:calc(100% - 22px)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{align-items:center;bottom:0;display:flex;position:absolute;right:4px;top:0}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #bbb;border-left:6px solid transparent;border-right:6px solid transparent;height:0;width:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{border-top:1px solid #aaa;display:flex;margin-right:-1px;overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{box-sizing:border-box;margin-top:2px;position:relative;text-align:center;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea{height:auto!important}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter svg{margin-top:3px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::-ms-clear{height:0;width:0}.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:25px}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{background-color:#e6e6e6;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter{color:#bbb}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{border-bottom:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #bbb;border-top:none}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{border-bottom:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #666;border-top:none}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{border-top:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:none;border-top:6px solid #666;color:#666}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{align-items:center;display:flex;justify-content:center;text-orientation:mixed;writing-mode:vertical-rl}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-col-vertical-flip .tabulator-col-title{transform:rotate(180deg)}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-title{padding-right:0;padding-top:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable.tabulator-col-vertical-flip .tabulator-col-title{padding-bottom:20px;padding-right:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{bottom:auto;justify-content:center;left:0;right:0;top:4px}.tabulator .tabulator-header .tabulator-frozen{left:0;position:sticky;z-index:11}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left{border-right:2px solid #dee2e6}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right{border-left:2px solid #dee2e6}.tabulator .tabulator-header .tabulator-calcs-holder{background:#fff!important;border-bottom:1px solid #aaa;border-top:1px solid #dee2e6;box-sizing:border-box;display:inline-block}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#fff!important}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-header .tabulator-frozen-rows-holder{display:inline-block}.tabulator .tabulator-header .tabulator-frozen-rows-holder:empty{display:none}.tabulator .tabulator-tableholder{-webkit-overflow-scrolling:touch;overflow:auto;position:relative;white-space:nowrap;width:100%}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-width:100%;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder[tabulator-render-mode=virtual]{min-height:100%}.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{color:#ccc;display:inline-block;font-size:20px;font-weight:700;padding:10px;text-align:center;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{background-color:#fff;color:#333;display:inline-block;overflow:visible;position:relative;white-space:nowrap}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{background:#ececec!important;font-weight:700}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-top{border-bottom:2px solid #dee2e6}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-bottom{border-top:2px solid #dee2e6}.tabulator .tabulator-tableholder .tabulator-range-overlay{top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute;z-index:10}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{border:1px solid #2975dd;box-sizing:border-box;position:absolute}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{background-color:#2975dd;border-radius:999px;bottom:-3px;content:"";height:6px;position:absolute;right:-3px;width:6px}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{border:2px solid #2975dd;box-sizing:border-box;position:absolute}.tabulator .tabulator-footer{background-color:#e6e6e6;border-top:1px solid #dee2e6;color:#555;font-weight:700;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap}.tabulator .tabulator-footer .tabulator-footer-contents{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:5px 10px}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs{margin-top:-5px;overflow-x:auto}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab{border:1px solid #dee2e6;border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-top:none;display:inline-block;font-size:.9em;padding:5px}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab:hover{cursor:pointer;opacity:.7}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab.tabulator-spreadsheet-tab-active{background:#fff}.tabulator .tabulator-footer .tabulator-calcs-holder{background:#f3f3f3!important;border-bottom:1px solid #dee2e6;border-top:1px solid #dee2e6;box-sizing:border-box;overflow:hidden;text-align:left;width:100%}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:#f3f3f3!important;display:inline-block}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{border-bottom:none;margin-bottom:-5px}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:400}.tabulator .tabulator-footer .tabulator-paginator{color:#555;flex:1;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:right}.tabulator .tabulator-footer .tabulator-page-size{border:1px solid #dee2e6;border-radius:3px;display:inline-block;margin:0 5px;padding:2px 5px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{background:#fff3;border:1px solid #dee2e6;border-radius:3px;display:inline-block;margin:0 2px;padding:2px 5px}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-footer .tabulator-page:not(disabled):hover{background:#0003;color:#fff;cursor:pointer}}.tabulator .tabulator-col-resize-handle{display:inline-block;margin-left:-3px;margin-right:-3px;position:relative;vertical-align:middle;width:6px;z-index:11}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{margin-right:0;width:3px}.tabulator .tabulator-col-resize-guide{background-color:#999;height:100%;margin-left:-.5px;opacity:.5;position:absolute;top:0;width:4px}.tabulator .tabulator-row-resize-guide{background-color:#999;height:4px;left:0;margin-top:-.5px;opacity:.5;position:absolute;width:100%}.tabulator .tabulator-alert{align-items:center;background:#0006;display:flex;height:100%;left:0;position:absolute;text-align:center;top:0;width:100%;z-index:100}.tabulator .tabulator-alert .tabulator-alert-msg{background:#fff;border-radius:10px;display:inline-block;font-size:16px;font-weight:700;margin:0 auto;padding:10px 20px}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-msg{border:4px solid #333;color:#000}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-error{border:4px solid #d00;color:#590000}.tabulator-row{background-color:#fff;box-sizing:border-box;min-height:24px;position:relative}.tabulator-row.tabulator-row-even{background-color:#f9f9f9}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selectable:hover{background-color:#f5f5f5;cursor:pointer}}.tabulator-row.tabulator-selected{background-color:#9abcea}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selected:hover{background-color:#769bcc;cursor:pointer}}.tabulator-row.tabulator-row-moving{background:#fff;border:1px solid #000}.tabulator-row.tabulator-moving{border-bottom:1px solid #dee2e6;border-top:1px solid #dee2e6;pointer-events:none;position:absolute;z-index:15}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{background-color:#d6d6d6;color:#000}.tabulator-row.tabulator-range-highlight.tabulator-range-selected .tabulator-cell.tabulator-range-row-header,.tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#fff}.tabulator-row .tabulator-row-resize-handle{bottom:0;height:5px;left:0;position:absolute;right:0}.tabulator-row .tabulator-row-resize-handle.prev{bottom:auto;top:0}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{border-bottom:1px solid #dee2e6;border-top:1px solid #dee2e6;box-sizing:border-box;padding:5px}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:16px}.tabulator-row .tabulator-responsive-collapse table tr td{position:relative}.tabulator-row .tabulator-responsive-collapse table tr td:first-of-type{padding-right:10px}.tabulator-row .tabulator-cell{border-right:1px solid #dee2e6;box-sizing:border-box;display:inline-block;outline:none;overflow:hidden;padding:4px;position:relative;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.tabulator-row .tabulator-cell.tabulator-row-header{border-bottom:1px solid #dee2e6}.tabulator-row .tabulator-cell.tabulator-frozen{background-color:inherit;display:inline-block;left:0;position:sticky;z-index:11}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-right:2px solid #dee2e6}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-left:2px solid #dee2e6}.tabulator-row .tabulator-cell.tabulator-editing{border:1px solid #1d68cd;outline:none;padding:0}.tabulator-row .tabulator-cell.tabulator-editing input,.tabulator-row .tabulator-cell.tabulator-editing select{background:transparent;border:1px;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #d00}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{background:transparent;border:1px;color:#d00}.tabulator-row .tabulator-cell.tabulator-row-handle{align-items:center;display:inline-flex;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box{width:80%}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box .tabulator-row-handle-bar{background:#666;height:3px;margin-top:2px;width:100%}.tabulator-row .tabulator-cell.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(.tabulator-range-row-header){background-color:#9abcea}.tabulator-row .tabulator-cell .tabulator-data-tree-branch-empty{display:inline-block;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-bottom:2px solid #dee2e6;border-bottom-left-radius:1px;border-left:2px solid #dee2e6;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control{align-items:center;background:#0000001a;border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{background:#0003;cursor:pointer}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{align-items:center;background:#666;border-radius:20px;color:#fff;display:inline-flex;font-size:1.1em;font-weight:700;height:15px;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;width:15px}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{cursor:pointer;opacity:.7}}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-close{display:initial}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-open{display:none}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle svg{stroke:#fff}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle .tabulator-responsive-collapse-toggle-close{display:none}.tabulator-row .tabulator-cell .tabulator-traffic-light{border-radius:14px;display:inline-block;height:14px;width:14px}.tabulator-row.tabulator-group{background:#ccc;border-bottom:1px solid #999;border-right:1px solid #dee2e6;border-top:1px solid #999;box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-group:hover{background-color:#0000001a;cursor:pointer}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;margin-right:10px}.tabulator-row.tabulator-group.tabulator-group-level-1{padding-left:30px}.tabulator-row.tabulator-group.tabulator-group-level-2{padding-left:50px}.tabulator-row.tabulator-group.tabulator-group-level-3{padding-left:70px}.tabulator-row.tabulator-group.tabulator-group-level-4{padding-left:90px}.tabulator-row.tabulator-group.tabulator-group-level-5{padding-left:110px}.tabulator-row.tabulator-group .tabulator-group-toggle{display:inline-block}.tabulator-row.tabulator-group .tabulator-arrow{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-row.tabulator-group span{color:#d00;margin-left:10px}.tabulator-toggle{background:#dcdcdc;border:1px solid #ccc;box-sizing:border-box;display:flex;flex-direction:row}.tabulator-toggle.tabulator-toggle-on{background:#1c6cc2}.tabulator-toggle .tabulator-toggle-switch{background:#fff;border:1px solid #ccc;box-sizing:border-box}.tabulator-popup-container{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #dee2e6;box-shadow:0 0 5px #0003;box-sizing:border-box;display:inline-block;font-size:16px;overflow-y:auto;position:absolute;z-index:10000}.tabulator-popup{border-radius:3px;padding:5px}.tabulator-tooltip{border-radius:2px;box-shadow:none;font-size:12px;max-width:Min(500px,100%);padding:3px 5px;pointer-events:none}.tabulator-menu .tabulator-menu-item{box-sizing:border-box;padding:5px 10px;position:relative;-webkit-user-select:none;user-select:none}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{background:#f9f9f9;cursor:pointer}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu:after{border-color:#dee2e6;border-style:solid;border-width:1px 1px 0 0;content:"";display:inline-block;height:7px;position:absolute;right:10px;top:calc(5px + .4em);transform:rotate(45deg);vertical-align:top;width:7px}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #dee2e6}.tabulator-edit-list{-webkit-overflow-scrolling:touch;font-size:16px;max-height:200px;overflow-y:auto}.tabulator-edit-list .tabulator-edit-list-item{color:#333;outline:none;padding:4px}.tabulator-edit-list .tabulator-edit-list-item.active{background:#1d68cd;color:#fff}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid hsla(0,0%,100%,.5)}.tabulator-edit-list .tabulator-edit-list-item.focused{outline:1px solid #1d68cd}@media (hover:hover) and (pointer:fine){.tabulator-edit-list .tabulator-edit-list-item:hover{background:#1d68cd;color:#fff;cursor:pointer}}.tabulator-edit-list .tabulator-edit-list-placeholder{color:#333;padding:4px;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #dee2e6;color:#333;font-weight:700;padding:6px 4px 4px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{direction:rtl;text-align:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{border-left:1px solid #aaa;border-right:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-left:-1px;margin-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-left:25px;padding-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:auto}.tabulator.tabulator-rtl .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{background-color:#2975dd;border-radius:999px;bottom:-3px;content:"";height:6px;left:-3px;position:absolute;right:auto;width:6px}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-left:1px solid #dee2e6;border-right:initial}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-bottom-left-radius:0;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #dee2e6;margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-left:2px solid #dee2e6}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-right:2px solid #dee2e6}.tabulator.tabulator-rtl .tabulator-row .tabulator-col-resize-handle:last-of-type{margin-left:0;margin-right:-3px;width:3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{bottom:0;left:0;position:absolute;right:0;top:0;z-index:10000}body.tabulator-print-fullscreen-hide>:not(.tabulator-print-fullscreen){display:none!important}.tabulator-print-table{border-collapse:collapse}.tabulator-print-table .tabulator-data-tree-branch{border-bottom:2px solid #dee2e6;border-bottom-left-radius:1px;border-left:2px solid #dee2e6;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-print-table .tabulator-print-table-group{background:#ccc;border-bottom:1px solid #999;border-right:1px solid #dee2e6;border-top:1px solid #999;box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-print-table-group:hover{background-color:#0000001a;cursor:pointer}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;margin-right:10px}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-1 td{padding-left:30px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-2 td{padding-left:50px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-3 td{padding-left:70px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-4 td{padding-left:90px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-5 td{padding-left:110px!important}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-print-table .tabulator-print-table-group span{color:#d00;margin-left:10px}.tabulator-print-table .tabulator-data-tree-control{align-items:center;background:#0000001a;border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-data-tree-control:hover{background:#0003;cursor:pointer}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator{background-color:#fff;border:none}.tabulator .tabulator-header{border-bottom:2px solid #dee2e6;border-top:1px solid #dee2e6;color:inherit}.tabulator .tabulator-header .tabulator-col{background-color:#fff;border-right:none}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{padding:12px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{right:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{border-top:1px solid #dee2e6}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input{background-clip:padding-box;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;color:#495057;font-size:1rem;line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input:focus{background-color:#fff;border:1px solid #1d68cd;color:#495057;outline:0}.tabulator .tabulator-header .tabulator-calcs-holder{border-bottom:1px solid #dee2e6;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder span{color:#000}.tabulator .tabulator-footer,.tabulator .tabulator-tableholder .tabulator-table{color:inherit}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab{background-color:#fff;font-weight:400}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab.tabulator-spreadsheet-tab-active{background-color:#007bff;color:#fff}.tabulator .tabulator-footer .tabulator-paginator{color:inherit}.tabulator .tabulator-footer .tabulator-pages{margin:0}.tabulator .tabulator-footer .tabulator-page{margin:5px 0 0;padding:8px 12px}.tabulator .tabulator-footer .tabulator-page[data-page=first]{border-bottom-left-radius:4px;border-top-left-radius:4px}.tabulator .tabulator-footer .tabulator-page[data-page=last]{border:1px solid #dee2e6;border-bottom-right-radius:4px;border-top-right-radius:4px}.tabulator .tabulator-footer .tabulator-page.active{background-color:#007bff;border-color:#007bff;color:#fff}.tabulator .tabulator-footer .tabulator-page:disabled{background:#fff;border-color:#dee2e6;color:#6c757d}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-footer .tabulator-page:not(.disabled):hover{background:#e9ecef;border-color:#dee2e6;color:#0056b3}}.tabulator.thead-dark .tabulator-header,.tabulator.thead-dark .tabulator-header .tabulator-col{background-color:#212529;border-color:#32383e;color:#fff}.tabulator.table-dark{background-color:#212529}.tabulator.table-dark:not(.thead-light) .tabulator-header,.tabulator.table-dark:not(.thead-light) .tabulator-header .tabulator-col{background-color:#212529;border-color:#32383e;color:#fff}.tabulator.table-dark .tabulator-tableholder{color:#fff}.tabulator.table-dark .tabulator-row{background-color:#212529;border-color:#32383e;color:#fff}@media (hover:hover) and (pointer:fine){.tabulator.table-dark .tabulator-row:hover{background-color:#32383e}.tabulator.table-dark .tabulator-row:hover .tabulator-cell{background-color:#ffffff13}}.tabulator.table-dark .tabulator-row.tabulator-selected{background-color:#9abcea}.tabulator.table-dark .tabulator-footer{border-color:#32383e!important}.tabulator.table-dark .tabulator-footer .tabulator-calcs-holder{background:#212529!important;border-color:#32383e!important}.tabulator.table-dark .tabulator-footer .tabulator-calcs-holder .tabulator-row{background-color:#212529!important;border-color:#32383e!important;color:#fff!important}.tabulator.table-striped:not(.table-dark) .tabulator-row.tabulator-row-even{background-color:#f9f9f9}.tabulator.table-striped:not(.table-dark) .tabulator-row.tabulator-row-even.tabulator-selected{background-color:#9abcea}@media (hover:hover) and (pointer:fine){.tabulator.table-striped:not(.table-dark) .tabulator-row.tabulator-row-even.tabulator-selectable:hover{background-color:#f5f5f5;cursor:pointer}.tabulator.table-striped:not(.table-dark) .tabulator-row.tabulator-row-even.tabulator-selected:hover{background-color:#769bcc;cursor:pointer}}.tabulator.table-striped.table-dark .tabulator-row:nth-child(2n) .tabulator-cell{background-color:#ffffff0d}.tabulator.table-bordered{border:1px solid #dee2e6}.tabulator.table-bordered .tabulator-header .tabulator-col,.tabulator.table-bordered .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell{border-right:1px solid #dee2e6}.tabulator.table-borderless .tabulator-header,.tabulator.table-borderless .tabulator-row{border:none}.tabulator.table-sm .tabulator-header .tabulator-col .tabulator-col-content{padding:5px!important}.tabulator.table-sm .tabulator-tableholder .tabulator-table .tabulator-row{min-height:26px}.tabulator.table-sm .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell{padding:5px!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-primary{background:#b8daff!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-secondary{background:#d6d8db!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-success{background:#c3e6cb!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-info{background:#bee5eb!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-warning{background:#ffeeba!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-danger{background:#f5c6cb!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-light{background:#fdfdfe!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-dark{background:#c6c8ca!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-active{background:#f5f5f5!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-primary{background:#007bff!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-secondary{background:#6c757d!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-success{background:#28a745!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-info{background:#17a2b8!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-warning{background:#ffc107!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-danger{background:#dc3545!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-light{background:#f8f9fa!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-dark{background:#343a40!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-active{background:#f5f5f5!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-primary{background:#b8daff!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-secondary{background:#d6d8db!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-success{background:#c3e6cb!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-info{background:#bee5eb!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-warning{background:#ffeeba!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-danger{background:#f5c6cb!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-light{background:#fdfdfe!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-dark{background:#c6c8ca!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-active{background:#f5f5f5!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-primary{background:#007bff!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-secondary{background:#6c757d!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-success{background:#28a745!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-info{background:#17a2b8!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-warning{background:#ffc107!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-danger{background:#dc3545!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-light{background:#f8f9fa!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-dark{background:#343a40!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-active{background:#f5f5f5!important}.tabulator-row{border-bottom:1px solid #dee2e6;min-height:40px}.tabulator-row .tabulator-cell{border-right:none;padding:12px}.tabulator-row .tabulator-cell:last-of-type{border-right:none}.tabulator-row .tabulator-cell.tabulator-row-header{background:#fff;border-bottom:none;border-right:1px solid #dee2e6}.tabulator-row .tabulator-cell .tabulator-data-tree-control{border:1px solid #ccc}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after,.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand,.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#ccc}.tabulator-row.tabulator-group{background:#fafafa}.tabulator-row.tabulator-group span{color:#666}.tabulator-edit-select-list{background:#fff}.tabulator-edit-select-list .tabulator-edit-select-list-item.active{color:#fff}.tabulator-edit-select-list .tabulator-edit-select-list-item.active.focused{outline:1px solid hsla(0,0%,100%,.5)}@media (hover:hover) and (pointer:fine){.tabulator-edit-select-list .tabulator-edit-select-list-item:hover{color:#fff}}.tabulator-edit-select-list .tabulator-edit-select-list-group,.tabulator-edit-select-list .tabulator-edit-select-list-notice{color:inherit}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{border-left:initial;text-align:initial}.tabulator-print-table .tabulator-print-table-group{background:#fafafa}.tabulator-print-table .tabulator-print-table-group span{color:#666}.tabulator-print-table .tabulator-data-tree-control{color:inherit}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after,.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand,.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#ccc}.Vue-Toastification__container{z-index:9999;position:fixed;padding:4px;width:600px;box-sizing:border-box;display:flex;min-height:100%;color:#fff;flex-direction:column;pointer-events:none}@media only screen and (min-width : 600px){.Vue-Toastification__container.top-left,.Vue-Toastification__container.top-right,.Vue-Toastification__container.top-center{top:1em}.Vue-Toastification__container.bottom-left,.Vue-Toastification__container.bottom-right,.Vue-Toastification__container.bottom-center{bottom:1em;flex-direction:column-reverse}.Vue-Toastification__container.top-left,.Vue-Toastification__container.bottom-left{left:1em}.Vue-Toastification__container.top-left .Vue-Toastification__toast,.Vue-Toastification__container.bottom-left .Vue-Toastification__toast{margin-right:auto}@supports not (-moz-appearance: none){.Vue-Toastification__container.top-left .Vue-Toastification__toast--rtl,.Vue-Toastification__container.bottom-left .Vue-Toastification__toast--rtl{margin-right:unset;margin-left:auto}}.Vue-Toastification__container.top-right,.Vue-Toastification__container.bottom-right{right:1em}.Vue-Toastification__container.top-right .Vue-Toastification__toast,.Vue-Toastification__container.bottom-right .Vue-Toastification__toast{margin-left:auto}@supports not (-moz-appearance: none){.Vue-Toastification__container.top-right .Vue-Toastification__toast--rtl,.Vue-Toastification__container.bottom-right .Vue-Toastification__toast--rtl{margin-left:unset;margin-right:auto}}.Vue-Toastification__container.top-center,.Vue-Toastification__container.bottom-center{left:50%;margin-left:-300px}.Vue-Toastification__container.top-center .Vue-Toastification__toast,.Vue-Toastification__container.bottom-center .Vue-Toastification__toast{margin-left:auto;margin-right:auto}}@media only screen and (max-width : 600px){.Vue-Toastification__container{width:100vw;padding:0;left:0;margin:0}.Vue-Toastification__container .Vue-Toastification__toast{width:100%}.Vue-Toastification__container.top-left,.Vue-Toastification__container.top-right,.Vue-Toastification__container.top-center{top:0}.Vue-Toastification__container.bottom-left,.Vue-Toastification__container.bottom-right,.Vue-Toastification__container.bottom-center{bottom:0;flex-direction:column-reverse}}.Vue-Toastification__toast{display:inline-flex;position:relative;max-height:800px;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:22px 24px;border-radius:8px;box-shadow:0 1px 10px #0000001a,0 2px 15px #0000000d;justify-content:space-between;font-family:Lato,Helvetica,Roboto,Arial,sans-serif;max-width:600px;min-width:326px;pointer-events:auto;overflow:hidden;transform:translateZ(0);direction:ltr}.Vue-Toastification__toast--rtl{direction:rtl}.Vue-Toastification__toast--default{background-color:#1976d2;color:#fff}.Vue-Toastification__toast--info{background-color:#2196f3;color:#fff}.Vue-Toastification__toast--success{background-color:#4caf50;color:#fff}.Vue-Toastification__toast--error{background-color:#ff5252;color:#fff}.Vue-Toastification__toast--warning{background-color:#ffc107;color:#fff}@media only screen and (max-width : 600px){.Vue-Toastification__toast{border-radius:0;margin-bottom:.5rem}}.Vue-Toastification__toast-body{flex:1;line-height:24px;font-size:16px;word-break:break-word;white-space:pre-wrap}.Vue-Toastification__toast-component-body{flex:1}.Vue-Toastification__toast.disable-transition{animation:none!important}.Vue-Toastification__close-button{font-weight:700;font-size:24px;line-height:24px;background:transparent;outline:none;border:none;padding:0 0 0 10px;cursor:pointer;transition:.3s ease;align-items:center;color:#fff;opacity:.3;transition:visibility 0s,opacity .2s linear}.Vue-Toastification__close-button:hover,.Vue-Toastification__close-button:focus{opacity:1}.Vue-Toastification__toast:not(:hover) .Vue-Toastification__close-button.show-on-hover{opacity:0}.Vue-Toastification__toast--rtl .Vue-Toastification__close-button{padding-left:unset;padding-right:10px}@keyframes scale-x-frames{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Vue-Toastification__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:10000;background-color:#ffffffb3;transform-origin:left;animation:scale-x-frames linear 1 forwards}.Vue-Toastification__toast--rtl .Vue-Toastification__progress-bar{right:0;left:unset;transform-origin:right}.Vue-Toastification__icon{margin:auto 18px auto 0;background:transparent;outline:none;border:none;padding:0;transition:.3s ease;align-items:center;width:20px;height:100%}.Vue-Toastification__toast--rtl .Vue-Toastification__icon{margin:auto 0 auto 18px}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes bounceOutRight{40%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(1000px,0,0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Vue-Toastification__bounce-enter-active.top-left,.Vue-Toastification__bounce-enter-active.bottom-left{animation-name:bounceInLeft}.Vue-Toastification__bounce-enter-active.top-right,.Vue-Toastification__bounce-enter-active.bottom-right{animation-name:bounceInRight}.Vue-Toastification__bounce-enter-active.top-center{animation-name:bounceInDown}.Vue-Toastification__bounce-enter-active.bottom-center{animation-name:bounceInUp}.Vue-Toastification__bounce-leave-active:not(.disable-transition).top-left,.Vue-Toastification__bounce-leave-active:not(.disable-transition).bottom-left{animation-name:bounceOutLeft}.Vue-Toastification__bounce-leave-active:not(.disable-transition).top-right,.Vue-Toastification__bounce-leave-active:not(.disable-transition).bottom-right{animation-name:bounceOutRight}.Vue-Toastification__bounce-leave-active:not(.disable-transition).top-center{animation-name:bounceOutUp}.Vue-Toastification__bounce-leave-active:not(.disable-transition).bottom-center{animation-name:bounceOutDown}.Vue-Toastification__bounce-leave-active,.Vue-Toastification__bounce-enter-active{animation-duration:.75s;animation-fill-mode:both}.Vue-Toastification__bounce-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}@keyframes fadeOutTop{0%{transform:translateY(0);opacity:1}to{transform:translateY(-50px);opacity:0}}@keyframes fadeOutLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-50px);opacity:0}}@keyframes fadeOutBottom{0%{transform:translateY(0);opacity:1}to{transform:translateY(50px);opacity:0}}@keyframes fadeOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(50px);opacity:0}}@keyframes fadeInLeft{0%{transform:translate(-50px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeInRight{0%{transform:translate(50px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeInTop{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeInBottom{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.Vue-Toastification__fade-enter-active.top-left,.Vue-Toastification__fade-enter-active.bottom-left{animation-name:fadeInLeft}.Vue-Toastification__fade-enter-active.top-right,.Vue-Toastification__fade-enter-active.bottom-right{animation-name:fadeInRight}.Vue-Toastification__fade-enter-active.top-center{animation-name:fadeInTop}.Vue-Toastification__fade-enter-active.bottom-center{animation-name:fadeInBottom}.Vue-Toastification__fade-leave-active:not(.disable-transition).top-left,.Vue-Toastification__fade-leave-active:not(.disable-transition).bottom-left{animation-name:fadeOutLeft}.Vue-Toastification__fade-leave-active:not(.disable-transition).top-right,.Vue-Toastification__fade-leave-active:not(.disable-transition).bottom-right{animation-name:fadeOutRight}.Vue-Toastification__fade-leave-active:not(.disable-transition).top-center{animation-name:fadeOutTop}.Vue-Toastification__fade-leave-active:not(.disable-transition).bottom-center{animation-name:fadeOutBottom}.Vue-Toastification__fade-leave-active,.Vue-Toastification__fade-enter-active{animation-duration:.75s;animation-fill-mode:both}.Vue-Toastification__fade-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}@keyframes slideInBlurredLeft{0%{transform:translate(-1000px) scaleX(2.5) scaleY(.2);transform-origin:100% 50%;filter:blur(40px);opacity:0}to{transform:translate(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredTop{0%{transform:translateY(-1000px) scaleY(2.5) scaleX(.2);transform-origin:50% 0%;filter:blur(240px);opacity:0}to{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredRight{0%{transform:translate(1000px) scaleX(2.5) scaleY(.2);transform-origin:0% 50%;filter:blur(40px);opacity:0}to{transform:translate(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredBottom{0%{transform:translateY(1000px) scaleY(2.5) scaleX(.2);transform-origin:50% 100%;filter:blur(240px);opacity:0}to{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideOutBlurredTop{0%{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 0%;filter:blur(0);opacity:1}to{transform:translateY(-1000px) scaleY(2) scaleX(.2);transform-origin:50% 0%;filter:blur(240px);opacity:0}}@keyframes slideOutBlurredBottom{0%{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translateY(1000px) scaleY(2) scaleX(.2);transform-origin:50% 100%;filter:blur(240px);opacity:0}}@keyframes slideOutBlurredLeft{0%{transform:translate(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translate(-1000px) scaleX(2) scaleY(.2);transform-origin:100% 50%;filter:blur(40px);opacity:0}}@keyframes slideOutBlurredRight{0%{transform:translate(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translate(1000px) scaleX(2) scaleY(.2);transform-origin:0% 50%;filter:blur(40px);opacity:0}}.Vue-Toastification__slideBlurred-enter-active.top-left,.Vue-Toastification__slideBlurred-enter-active.bottom-left{animation-name:slideInBlurredLeft}.Vue-Toastification__slideBlurred-enter-active.top-right,.Vue-Toastification__slideBlurred-enter-active.bottom-right{animation-name:slideInBlurredRight}.Vue-Toastification__slideBlurred-enter-active.top-center{animation-name:slideInBlurredTop}.Vue-Toastification__slideBlurred-enter-active.bottom-center{animation-name:slideInBlurredBottom}.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).top-left,.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).bottom-left{animation-name:slideOutBlurredLeft}.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).top-right,.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).bottom-right{animation-name:slideOutBlurredRight}.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).top-center{animation-name:slideOutBlurredTop}.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).bottom-center{animation-name:slideOutBlurredBottom}.Vue-Toastification__slideBlurred-leave-active,.Vue-Toastification__slideBlurred-enter-active{animation-duration:.75s;animation-fill-mode:both}.Vue-Toastification__slideBlurred-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, .75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, .5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, .15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label:after,.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-select~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label:after,.form-floating>:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3.75rem + 1.5em)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3.75rem + 1.5em)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, .15),0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:.5rem;--bs-dropdown-spacer:.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, .15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, .55);--bs-navbar-hover-color:rgba(255, 255, 255, .75);--bs-navbar-disabled-color:rgba(255, 255, 255, .25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:.75rem;--bs-pagination-padding-y:.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:.5rem;--bs-pagination-padding-y:.25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:.65em;--bs-badge-padding-y:.35em;--bs-badge-font-size:.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.5rem;--bs-tooltip-padding-y:.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.9;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:after,.popover .popover-arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translate(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform .3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:.1}.border-opacity-25{--bs-border-opacity:.25}.border-opacity-50{--bs-border-opacity:.5}.border-opacity-75{--bs-border-opacity:.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:#00000080!important}.text-white-50{--bs-text-opacity:1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:.25}.text-opacity-50{--bs-text-opacity:.5}.text-opacity-75{--bs-text-opacity:.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:.1}.bg-opacity-25{--bs-bg-opacity:.25}.bg-opacity-50{--bs-bg-opacity:.5}.bg-opacity-75{--bs-bg-opacity:.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} diff --git a/bin/main/static/assets/index-D8aamcST.js b/bin/main/static/assets/index-D8aamcST.js new file mode 100644 index 0000000..a83da94 --- /dev/null +++ b/bin/main/static/assets/index-D8aamcST.js @@ -0,0 +1,35 @@ +const __vite__fileDeps=["assets/OssList-yJs4c2WL.js","assets/TableHeader.vue_vue_type_script_setup_true_lang-ChkuHmHt.js","assets/Tabulator.vue_vue_type_style_index_0_lang-C4aGmmvD.js","assets/Tabulator-BXn7ndvL.css","assets/request-B41piC-O.js","assets/YamlGenerate-DfVGZ_xy.js","assets/YamlGenerate-BW3LCD03.css","assets/RepositoryList-Dm4ewv_H.js","assets/repository-DaHnZzAW.js","assets/RepositoryDetail-DRB9lejo.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();/** +* @vue/shared v3.4.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function sa(e,t){const n=new Set(e.split(","));return s=>n.has(s)}const Fe={},Es=[],Rt=()=>{},Xp=()=>!1,pi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ra=e=>e.startsWith("onUpdate:"),ze=Object.assign,ia=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Qp=Object.prototype.hasOwnProperty,_e=(e,t)=>Qp.call(e,t),Z=Array.isArray,Cs=e=>ur(e)==="[object Map]",mi=e=>ur(e)==="[object Set]",sc=e=>ur(e)==="[object Date]",ce=e=>typeof e=="function",We=e=>typeof e=="string",nn=e=>typeof e=="symbol",De=e=>e!==null&&typeof e=="object",Pu=e=>(De(e)||ce(e))&&ce(e.then)&&ce(e.catch),Lu=Object.prototype.toString,ur=e=>Lu.call(e),Yp=e=>ur(e).slice(8,-1),Iu=e=>ur(e)==="[object Object]",oa=e=>We(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,zs=sa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),gi=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Zp=/-(\w)/g,sn=gi(e=>e.replace(Zp,(t,n)=>n?n.toUpperCase():"")),em=/\B([A-Z])/g,Ps=gi(e=>e.replace(em,"-$1").toLowerCase()),_i=gi(e=>e.charAt(0).toUpperCase()+e.slice(1)),Wr=gi(e=>e?`on${_i(e)}`:""),Dn=(e,t)=>!Object.is(e,t),Kr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},si=e=>{const t=parseFloat(e);return isNaN(t)?e:t},tm=e=>{const t=We(e)?Number(e):NaN;return isNaN(t)?e:t};let rc;const Du=()=>rc||(rc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function fr(e){if(Z(e)){const t={};for(let n=0;n{if(n){const s=n.split(sm);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function kn(e){let t="";if(We(e))t=e;else if(Z(e))for(let n=0;nSs(n,t))}const Mu=e=>We(e)?e:e==null?"":Z(e)||De(e)&&(e.toString===Lu||!ce(e.toString))?JSON.stringify(e,$u,2):String(e),$u=(e,t)=>t&&t.__v_isRef?$u(e,t.value):Cs(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,i],o)=>(n[bo(s,o)+" =>"]=i,n),{})}:mi(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>bo(n))}:nn(t)?bo(t):De(t)&&!Z(t)&&!Iu(t)?String(t):t,bo=(e,t="")=>{var n;return nn(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let kt;class Fu{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=kt,!t&&kt&&(this.index=(kt.scopes||(kt.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=kt;try{return kt=this,t()}finally{kt=n}}}on(){kt=this}off(){kt=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=5)break}}this._dirtyLevel===1&&(this._dirtyLevel=0),mn()}return this._dirtyLevel>=5}set dirty(t){this._dirtyLevel=t?5:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ln,n=es;try{return Ln=!0,es=this,this._runnings++,ic(this),this.fn()}finally{oc(this),this._runnings--,es=n,Ln=t}}stop(){this.active&&(ic(this),oc(this),this.onStop&&this.onStop(),this.active=!1)}}function hm(e){return e.value}function ic(e){e._trackId++,e._depsLength=0}function oc(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t0&&(i??(i=e.get(s)===s._trackId))){s._dirtyLevel=2;continue}s._dirtyLevel{const n=new Map;return n.cleanup=e,n.computed=t,n},Mo=new WeakMap,ts=Symbol(""),$o=Symbol("");function dt(e,t,n){if(Ln&&es){let s=Mo.get(e);s||Mo.set(e,s=new Map);let i=s.get(n);i||s.set(n,i=Vu(()=>s.delete(n))),Hu(es,i)}}function dn(e,t,n,s,i,o){const a=Mo.get(e);if(!a)return;let c=[];if(t==="clear")c=[...a.values()];else if(n==="length"&&Z(e)){const f=Number(s);a.forEach((p,d)=>{(d==="length"||!nn(d)&&d>=f)&&c.push(p)})}else switch(n!==void 0&&c.push(a.get(n)),t){case"add":Z(e)?oa(n)&&c.push(a.get("length")):(c.push(a.get(ts)),Cs(e)&&c.push(a.get($o)));break;case"delete":Z(e)||(c.push(a.get(ts)),Cs(e)&&c.push(a.get($o)));break;case"set":Cs(e)&&c.push(a.get(ts));break}la();for(const f of c)f&&Uu(f,5);ca()}const pm=sa("__proto__,__v_isRef,__isVue"),qu=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(nn)),ac=mm();function mm(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=Ee(this);for(let o=0,a=this.length;o{e[t]=function(...n){Mn(),la();const s=Ee(this)[t].apply(this,n);return ca(),mn(),s}}),e}function gm(e){nn(e)||(e=String(e));const t=Ee(this);return dt(t,"has",e),t.hasOwnProperty(e)}class zu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const i=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(i?o?Rm:Ju:o?Gu:Ku).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const a=Z(t);if(!i){if(a&&_e(ac,n))return Reflect.get(ac,n,s);if(n==="hasOwnProperty")return gm}const c=Reflect.get(t,n,s);return(nn(n)?qu.has(n):pm(n))||(i||dt(t,"get",n),o)?c:ht(c)?a&&oa(n)?c:c.value:De(c)?i?Qu(c):yi(c):c}}class Wu extends zu{constructor(t=!1){super(!1,t)}set(t,n,s,i){let o=t[n];if(!this._isShallow){const f=er(o);if(!ri(s)&&!er(s)&&(o=Ee(o),s=Ee(s)),!Z(t)&&ht(o)&&!ht(s))return f?!1:(o.value=s,!0)}const a=Z(t)&&oa(n)?Number(n)e,bi=e=>Reflect.getPrototypeOf(e);function Br(e,t,n=!1,s=!1){e=e.__v_raw;const i=Ee(e),o=Ee(t);n||(Dn(t,o)&&dt(i,"get",t),dt(i,"get",o));const{has:a}=bi(i),c=s?ua:n?ha:tr;if(a.call(i,t))return c(e.get(t));if(a.call(i,o))return c(e.get(o));e!==i&&e.get(t)}function jr(e,t=!1){const n=this.__v_raw,s=Ee(n),i=Ee(e);return t||(Dn(e,i)&&dt(s,"has",e),dt(s,"has",i)),e===i?n.has(e):n.has(e)||n.has(i)}function Hr(e,t=!1){return e=e.__v_raw,!t&&dt(Ee(e),"iterate",ts),Reflect.get(e,"size",e)}function lc(e){e=Ee(e);const t=Ee(this);return bi(t).has.call(t,e)||(t.add(e),dn(t,"add",e,e)),this}function cc(e,t){t=Ee(t);const n=Ee(this),{has:s,get:i}=bi(n);let o=s.call(n,e);o||(e=Ee(e),o=s.call(n,e));const a=i.call(n,e);return n.set(e,t),o?Dn(t,a)&&dn(n,"set",e,t):dn(n,"add",e,t),this}function uc(e){const t=Ee(this),{has:n,get:s}=bi(t);let i=n.call(t,e);i||(e=Ee(e),i=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return i&&dn(t,"delete",e,void 0),o}function fc(){const e=Ee(this),t=e.size!==0,n=e.clear();return t&&dn(e,"clear",void 0,void 0),n}function Ur(e,t){return function(s,i){const o=this,a=o.__v_raw,c=Ee(a),f=t?ua:e?ha:tr;return!e&&dt(c,"iterate",ts),a.forEach((p,d)=>s.call(i,f(p),f(d),o))}}function Vr(e,t,n){return function(...s){const i=this.__v_raw,o=Ee(i),a=Cs(o),c=e==="entries"||e===Symbol.iterator&&a,f=e==="keys"&&a,p=i[e](...s),d=n?ua:t?ha:tr;return!t&&dt(o,"iterate",f?$o:ts),{next(){const{value:g,done:y}=p.next();return y?{value:g,done:y}:{value:c?[d(g[0]),d(g[1])]:d(g),done:y}},[Symbol.iterator](){return this}}}}function wn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function wm(){const e={get(o){return Br(this,o)},get size(){return Hr(this)},has:jr,add:lc,set:cc,delete:uc,clear:fc,forEach:Ur(!1,!1)},t={get(o){return Br(this,o,!1,!0)},get size(){return Hr(this)},has:jr,add:lc,set:cc,delete:uc,clear:fc,forEach:Ur(!1,!0)},n={get(o){return Br(this,o,!0)},get size(){return Hr(this,!0)},has(o){return jr.call(this,o,!0)},add:wn("add"),set:wn("set"),delete:wn("delete"),clear:wn("clear"),forEach:Ur(!0,!1)},s={get(o){return Br(this,o,!0,!0)},get size(){return Hr(this,!0)},has(o){return jr.call(this,o,!0)},add:wn("add"),set:wn("set"),delete:wn("delete"),clear:wn("clear"),forEach:Ur(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Vr(o,!1,!1),n[o]=Vr(o,!0,!1),t[o]=Vr(o,!1,!0),s[o]=Vr(o,!0,!0)}),[e,n,t,s]}const[Em,Cm,Tm,Sm]=wm();function fa(e,t){const n=t?e?Sm:Tm:e?Cm:Em;return(s,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?s:Reflect.get(_e(n,i)&&i in s?n:s,i,o)}const Am={get:fa(!1,!1)},Om={get:fa(!1,!0)},xm={get:fa(!0,!1)};const Ku=new WeakMap,Gu=new WeakMap,Ju=new WeakMap,Rm=new WeakMap;function Pm(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Lm(e){return e.__v_skip||!Object.isExtensible(e)?0:Pm(Yp(e))}function yi(e){return er(e)?e:da(e,!1,bm,Am,Ku)}function Xu(e){return da(e,!1,vm,Om,Gu)}function Qu(e){return da(e,!0,ym,xm,Ju)}function da(e,t,n,s,i){if(!De(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const a=Lm(e);if(a===0)return e;const c=new Proxy(e,a===2?s:n);return i.set(e,c),c}function Ws(e){return er(e)?Ws(e.__v_raw):!!(e&&e.__v_isReactive)}function er(e){return!!(e&&e.__v_isReadonly)}function ri(e){return!!(e&&e.__v_isShallow)}function Yu(e){return e?!!e.__v_raw:!1}function Ee(e){const t=e&&e.__v_raw;return t?Ee(t):e}function Zu(e){return Object.isExtensible(e)&&Nu(e,"__v_skip",!0),e}const tr=e=>De(e)?yi(e):e,ha=e=>De(e)?Qu(e):e;class ef{constructor(t,n,s,i){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new aa(()=>t(this._value),()=>Gr(this,this.effect._dirtyLevel===3?3:4)),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=s}get value(){const t=Ee(this),n=t.effect._dirtyLevel;return(!t._cacheable||t.effect.dirty)&&Dn(t._value,t._value=t.effect.run())&&n!==3&&Gr(t,5),tf(t),t.effect._dirtyLevel>=2&&Gr(t,3),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Im(e,t,n=!1){let s,i;const o=ce(e);return o?(s=e,i=Rt):(s=e.get,i=e.set),new ef(s,i,o||!i,n)}function tf(e){var t;Ln&&es&&(e=Ee(e),Hu(es,(t=e.dep)!=null?t:e.dep=Vu(()=>e.dep=void 0,e instanceof ef?e:void 0)))}function Gr(e,t=5,n,s){e=Ee(e);const i=e.dep;i&&Uu(i,t)}function ht(e){return!!(e&&e.__v_isRef===!0)}function nf(e){return sf(e,!1)}function Nm(e){return sf(e,!0)}function sf(e,t){return ht(e)?e:new Dm(e,t)}class Dm{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Ee(t),this._value=n?t:tr(t)}get value(){return tf(this),this._value}set value(t){const n=this.__v_isShallow||ri(t)||er(t);t=n?t:Ee(t),Dn(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:tr(t),Gr(this,5))}}function In(e){return ht(e)?e.value:e}const km={get:(e,t,n)=>In(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const i=e[t];return ht(i)&&!ht(n)?(i.value=n,!0):Reflect.set(e,t,n,s)}};function rf(e){return Ws(e)?e:new Proxy(e,km)}/** +* @vue/runtime-core v3.4.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Nn(e,t,n,s){try{return s?e(...s):e()}catch(i){vi(i,t,n)}}function Pt(e,t,n,s){if(ce(e)){const i=Nn(e,t,n,s);return i&&Pu(i)&&i.catch(o=>{vi(o,t,n)}),i}if(Z(e)){const i=[];for(let o=0;o>>1,i=tt[s],o=sr(i);oen&&tt.splice(t,1)}function Bm(e){Z(e)?Ts.push(...e):(!An||!An.includes(e,e.allowRecurse?Yn+1:Yn))&&Ts.push(e),af()}function dc(e,t,n=nr?en+1:0){for(;nsr(n)-sr(s));if(Ts.length=0,An){An.push(...t);return}for(An=t,Yn=0;Yne.id==null?1/0:e.id,jm=(e,t)=>{const n=sr(e)-sr(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function cf(e){Fo=!1,nr=!0,tt.sort(jm);try{for(en=0;enWe(w)?w.trim():w)),g&&(i=n.map(si))}let c,f=s[c=Wr(t)]||s[c=Wr(sn(t))];!f&&o&&(f=s[c=Wr(Ps(t))]),f&&Pt(f,e,6,i);const p=s[c+"Once"];if(p){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,Pt(p,e,6,i)}}function uf(e,t,n=!1){const s=t.emitsCache,i=s.get(e);if(i!==void 0)return i;const o=e.emits;let a={},c=!1;if(!ce(e)){const f=p=>{const d=uf(p,t,!0);d&&(c=!0,ze(a,d))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!o&&!c?(De(e)&&s.set(e,null),null):(Z(o)?o.forEach(f=>a[f]=null):ze(a,o),De(e)&&s.set(e,a),a)}function Ei(e,t){return!e||!pi(t)?!1:(t=t.slice(2).replace(/Once$/,""),_e(e,t[0].toLowerCase()+t.slice(1))||_e(e,Ps(t))||_e(e,t))}let Je=null,Ci=null;function ii(e){const t=Je;return Je=e,Ci=e&&e.type.__scopeId||null,t}function iw(e){Ci=e}function ow(){Ci=null}function dr(e,t=Je,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&Sc(-1);const o=ii(t);let a;try{a=e(...i)}finally{ii(o),s._d&&Sc(1)}return a};return s._n=!0,s._c=!0,s._d=!0,s}function yo(e){const{type:t,vnode:n,proxy:s,withProxy:i,propsOptions:[o],slots:a,attrs:c,emit:f,render:p,renderCache:d,props:g,data:y,setupState:w,ctx:A,inheritAttrs:I}=e,q=ii(e);let H,B;try{if(n.shapeFlag&4){const se=i||s,Ce=se;H=Zt(p.call(Ce,se,d,g,w,y,A)),B=c}else{const se=t;H=Zt(se.length>1?se(g,{attrs:c,slots:a,emit:f}):se(g,null)),B=t.props?c:Um(c)}}catch(se){Qs.length=0,vi(se,e,1),H=Ye(gn)}let k=H;if(B&&I!==!1){const se=Object.keys(B),{shapeFlag:Ce}=k;se.length&&Ce&7&&(o&&se.some(ra)&&(B=Vm(B,o)),k=ss(k,B,!1,!0))}return n.dirs&&(k=ss(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(n.dirs):n.dirs),n.transition&&(k.transition=n.transition),H=k,ii(q),H}const Um=e=>{let t;for(const n in e)(n==="class"||n==="style"||pi(n))&&((t||(t={}))[n]=e[n]);return t},Vm=(e,t)=>{const n={};for(const s in e)(!ra(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function qm(e,t,n){const{props:s,children:i,component:o}=e,{props:a,children:c,patchFlag:f}=t,p=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?hc(s,a,p):!!a;if(f&8){const d=t.dynamicProps;for(let g=0;ge.__isSuspense;function Km(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):Bm(e)}function Ti(e,t,n=Qe,s=!1){if(n){const i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...a)=>{Mn();const c=hr(n),f=Pt(t,n,e,a);return c(),mn(),f});return s?i.unshift(o):i.push(o),o}}const _n=e=>(t,n=Qe)=>{(!xi||e==="sp")&&Ti(e,(...s)=>t(...s),n)},Gm=_n("bm"),pf=_n("m"),Jm=_n("bu"),mf=_n("u"),gf=_n("bum"),_f=_n("um"),Xm=_n("sp"),Qm=_n("rtg"),Ym=_n("rtc");function Zm(e,t=Qe){Ti("ec",e,t)}function aw(e,t){if(Je===null)return e;const n=Ri(Je),s=e.dirs||(e.dirs=[]);for(let i=0;it(a,c,void 0,o));else{const a=Object.keys(e);i=new Array(a.length);for(let c=0,f=a.length;c!!e.type.__asyncLoader;function eg(e,t,n={},s,i){if(Je.isCE||Je.parent&&Gs(Je.parent)&&Je.parent.isCE)return Ye("slot",n,s);let o=e[t];o&&o._c&&(o._d=!1),Ue();const a=o&&bf(o(n)),c=jt(et,{key:n.key||a&&a.key||`_${t}`},a||[],a&&e._===1?64:-2);return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),o&&o._c&&(o._d=!0),c}function bf(e){return e.some(t=>li(t)?!(t.type===gn||t.type===et&&!bf(t.children)):!0)?e:null}function tg(e,t){const n={};for(const s in e)n[Wr(s)]=e[s];return n}const Bo=e=>e?Bf(e)?Ri(e):Bo(e.parent):null,Js=ze(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Bo(e.parent),$root:e=>Bo(e.root),$emit:e=>e.emit,$options:e=>_a(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,ma(e.update)}),$nextTick:e=>e.n||(e.n=wi.bind(e.proxy)),$watch:e=>wg.bind(e)}),vo=(e,t)=>e!==Fe&&!e.__isScriptSetup&&_e(e,t),ng={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:i,props:o,accessCache:a,type:c,appContext:f}=e;let p;if(t[0]!=="$"){const w=a[t];if(w!==void 0)switch(w){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return o[t]}else{if(vo(s,t))return a[t]=1,s[t];if(i!==Fe&&_e(i,t))return a[t]=2,i[t];if((p=e.propsOptions[0])&&_e(p,t))return a[t]=3,o[t];if(n!==Fe&&_e(n,t))return a[t]=4,n[t];jo&&(a[t]=0)}}const d=Js[t];let g,y;if(d)return t==="$attrs"&&dt(e.attrs,"get",""),d(e);if((g=c.__cssModules)&&(g=g[t]))return g;if(n!==Fe&&_e(n,t))return a[t]=4,n[t];if(y=f.config.globalProperties,_e(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:o}=e;return vo(i,t)?(i[t]=n,!0):s!==Fe&&_e(s,t)?(s[t]=n,!0):_e(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:i,propsOptions:o}},a){let c;return!!n[a]||e!==Fe&&_e(e,a)||vo(t,a)||(c=o[0])&&_e(c,a)||_e(s,a)||_e(Js,a)||_e(i.config.globalProperties,a)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:_e(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function gc(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let jo=!0;function sg(e){const t=_a(e),n=e.proxy,s=e.ctx;jo=!1,t.beforeCreate&&_c(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:a,watch:c,provide:f,inject:p,created:d,beforeMount:g,mounted:y,beforeUpdate:w,updated:A,activated:I,deactivated:q,beforeDestroy:H,beforeUnmount:B,destroyed:k,unmounted:se,render:Ce,renderTracked:X,renderTriggered:pe,errorCaptured:Me,serverPrefetch:oe,expose:be,inheritAttrs:Re,components:J,directives:ge,filters:Ve}=t;if(p&&rg(p,s,null),a)for(const ye in a){const ve=a[ye];ce(ve)&&(s[ye]=ve.bind(n))}if(i){const ye=i.call(n,n);De(ye)&&(e.data=yi(ye))}if(jo=!0,o)for(const ye in o){const ve=o[ye],wt=ce(ve)?ve.bind(n,n):ce(ve.get)?ve.get.bind(n,n):Rt,P=!ce(ve)&&ce(ve.set)?ve.set.bind(n):Rt,ct=$t({get:wt,set:P});Object.defineProperty(s,ye,{enumerable:!0,configurable:!0,get:()=>ct.value,set:Xe=>ct.value=Xe})}if(c)for(const ye in c)yf(c[ye],s,n,ye);if(f){const ye=ce(f)?f.call(n):f;Reflect.ownKeys(ye).forEach(ve=>{Jr(ve,ye[ve])})}d&&_c(d,e,"c");function Be(ye,ve){Z(ve)?ve.forEach(wt=>ye(wt.bind(n))):ve&&ye(ve.bind(n))}if(Be(Gm,g),Be(pf,y),Be(Jm,w),Be(mf,A),Be(Eg,I),Be(Cg,q),Be(Zm,Me),Be(Ym,X),Be(Qm,pe),Be(gf,B),Be(_f,se),Be(Xm,oe),Z(be))if(be.length){const ye=e.exposed||(e.exposed={});be.forEach(ve=>{Object.defineProperty(ye,ve,{get:()=>n[ve],set:wt=>n[ve]=wt})})}else e.exposed||(e.exposed={});Ce&&e.render===Rt&&(e.render=Ce),Re!=null&&(e.inheritAttrs=Re),J&&(e.components=J),ge&&(e.directives=ge)}function rg(e,t,n=Rt){Z(e)&&(e=Ho(e));for(const s in e){const i=e[s];let o;De(i)?"default"in i?o=Lt(i.from||s,i.default,!0):o=Lt(i.from||s):o=Lt(i),ht(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:a=>o.value=a}):t[s]=o}}function _c(e,t,n){Pt(Z(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function yf(e,t,n,s){const i=s.includes(".")?If(n,s):()=>n[s];if(We(e)){const o=t[e];ce(o)&&Xr(i,o)}else if(ce(e))Xr(i,e.bind(n));else if(De(e))if(Z(e))e.forEach(o=>yf(o,t,n,s));else{const o=ce(e.handler)?e.handler.bind(n):t[e.handler];ce(o)&&Xr(i,o,e)}}function _a(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:a}}=e.appContext,c=o.get(t);let f;return c?f=c:!i.length&&!n&&!s?f=t:(f={},i.length&&i.forEach(p=>oi(f,p,a,!0)),oi(f,t,a)),De(t)&&o.set(t,f),f}function oi(e,t,n,s=!1){const{mixins:i,extends:o}=t;o&&oi(e,o,n,!0),i&&i.forEach(a=>oi(e,a,n,!0));for(const a in t)if(!(s&&a==="expose")){const c=ig[a]||n&&n[a];e[a]=c?c(e[a],t[a]):t[a]}return e}const ig={data:bc,props:yc,emits:yc,methods:qs,computed:qs,beforeCreate:at,created:at,beforeMount:at,mounted:at,beforeUpdate:at,updated:at,beforeDestroy:at,beforeUnmount:at,destroyed:at,unmounted:at,activated:at,deactivated:at,errorCaptured:at,serverPrefetch:at,components:qs,directives:qs,watch:ag,provide:bc,inject:og};function bc(e,t){return t?e?function(){return ze(ce(e)?e.call(this,this):e,ce(t)?t.call(this,this):t)}:t:e}function og(e,t){return qs(Ho(e),Ho(t))}function Ho(e){if(Z(e)){const t={};for(let n=0;n1)return n&&ce(t)?t.call(s&&s.proxy):t}}const wf={},Ef=()=>Object.create(wf),Cf=e=>Object.getPrototypeOf(e)===wf;function ug(e,t,n,s=!1){const i={},o=Ef();e.propsDefaults=Object.create(null),Tf(e,t,i,o);for(const a in e.propsOptions[0])a in i||(i[a]=void 0);n?e.props=s?i:Xu(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function fg(e,t,n,s){const{props:i,attrs:o,vnode:{patchFlag:a}}=e,c=Ee(i),[f]=e.propsOptions;let p=!1;if((s||a>0)&&!(a&16)){if(a&8){const d=e.vnode.dynamicProps;for(let g=0;g{f=!0;const[y,w]=Sf(g,t,!0);ze(a,y),w&&c.push(...w)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!f)return De(e)&&s.set(e,Es),Es;if(Z(o))for(let d=0;d-1,w[1]=I<0||A-1||_e(w,"default"))&&c.push(g)}}}const p=[a,c];return De(e)&&s.set(e,p),p}function vc(e){return e[0]!=="$"&&!zs(e)}function wc(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Ec(e,t){return wc(e)===wc(t)}function Cc(e,t){return Z(t)?t.findIndex(n=>Ec(n,e)):ce(t)&&Ec(t,e)?0:-1}const Af=e=>e[0]==="_"||e==="$stable",ba=e=>Z(e)?e.map(Zt):[Zt(e)],dg=(e,t,n)=>{if(t._n)return t;const s=dr((...i)=>ba(t(...i)),n);return s._c=!1,s},Of=(e,t,n)=>{const s=e._ctx;for(const i in e){if(Af(i))continue;const o=e[i];if(ce(o))t[i]=dg(i,o,s);else if(o!=null){const a=ba(o);t[i]=()=>a}}},xf=(e,t)=>{const n=ba(t);e.slots.default=()=>n},hg=(e,t)=>{const n=e.slots=Ef();if(e.vnode.shapeFlag&32){const s=t._;s?(ze(n,t),Nu(n,"_",s,!0)):Of(t,n)}else t&&xf(e,t)},pg=(e,t,n)=>{const{vnode:s,slots:i}=e;let o=!0,a=Fe;if(s.shapeFlag&32){const c=t._;c?n&&c===1?o=!1:(ze(i,t),!n&&c===1&&delete i._):(o=!t.$stable,Of(t,i)),a=t}else t&&(xf(e,t),a={default:1});if(o)for(const c in i)!Af(c)&&a[c]==null&&delete i[c]};function Vo(e,t,n,s,i=!1){if(Z(e)){e.forEach((y,w)=>Vo(y,t&&(Z(t)?t[w]:t),n,s,i));return}if(Gs(s)&&!i)return;const o=s.shapeFlag&4?Ri(s.component):s.el,a=i?null:o,{i:c,r:f}=e,p=t&&t.r,d=c.refs===Fe?c.refs={}:c.refs,g=c.setupState;if(p!=null&&p!==f&&(We(p)?(d[p]=null,_e(g,p)&&(g[p]=null)):ht(p)&&(p.value=null)),ce(f))Nn(f,c,12,[a,d]);else{const y=We(f),w=ht(f);if(y||w){const A=()=>{if(e.f){const I=y?_e(g,f)?g[f]:d[f]:f.value;i?Z(I)&&ia(I,o):Z(I)?I.includes(o)||I.push(o):y?(d[f]=[o],_e(g,f)&&(g[f]=d[f])):(f.value=[o],e.k&&(d[e.k]=f.value))}else y?(d[f]=a,_e(g,f)&&(g[f]=a)):w&&(f.value=a,e.k&&(d[e.k]=a))};a?(A.id=-1,ut(A,n)):A()}}}const ut=Km;function mg(e){return gg(e)}function gg(e,t){const n=Du();n.__VUE__=!0;const{insert:s,remove:i,patchProp:o,createElement:a,createText:c,createComment:f,setText:p,setElementText:d,parentNode:g,nextSibling:y,setScopeId:w=Rt,insertStaticContent:A}=e,I=(m,_,E,R=null,O=null,M=null,U=void 0,D=null,$=!!_.dynamicChildren)=>{if(m===_)return;m&&!vs(m,_)&&(R=x(m),Xe(m,O,M,!0),m=null),_.patchFlag===-2&&($=!1,_.dynamicChildren=null);const{type:N,ref:z,shapeFlag:Y}=_;switch(N){case Si:q(m,_,E,R);break;case gn:H(m,_,E,R);break;case Qr:m==null&&B(_,E,R,U);break;case et:J(m,_,E,R,O,M,U,D,$);break;default:Y&1?Ce(m,_,E,R,O,M,U,D,$):Y&6?ge(m,_,E,R,O,M,U,D,$):(Y&64||Y&128)&&N.process(m,_,E,R,O,M,U,D,$,Q)}z!=null&&O&&Vo(z,m&&m.ref,M,_||m,!_)},q=(m,_,E,R)=>{if(m==null)s(_.el=c(_.children),E,R);else{const O=_.el=m.el;_.children!==m.children&&p(O,_.children)}},H=(m,_,E,R)=>{m==null?s(_.el=f(_.children||""),E,R):_.el=m.el},B=(m,_,E,R)=>{[m.el,m.anchor]=A(m.children,_,E,R,m.el,m.anchor)},k=({el:m,anchor:_},E,R)=>{let O;for(;m&&m!==_;)O=y(m),s(m,E,R),m=O;s(_,E,R)},se=({el:m,anchor:_})=>{let E;for(;m&&m!==_;)E=y(m),i(m),m=E;i(_)},Ce=(m,_,E,R,O,M,U,D,$)=>{_.type==="svg"?U="svg":_.type==="math"&&(U="mathml"),m==null?X(_,E,R,O,M,U,D,$):oe(m,_,O,M,U,D,$)},X=(m,_,E,R,O,M,U,D)=>{let $,N;const{props:z,shapeFlag:Y,transition:G,dirs:te}=m;if($=m.el=a(m.type,M,z&&z.is,z),Y&8?d($,m.children):Y&16&&Me(m.children,$,null,R,O,wo(m,M),U,D),te&&Jn(m,null,R,"created"),pe($,m,m.scopeId,U,R),z){for(const we in z)we!=="value"&&!zs(we)&&o($,we,null,z[we],M,m.children,R,O,Pe);"value"in z&&o($,"value",null,z.value,M),(N=z.onVnodeBeforeMount)&&Yt(N,R,m)}te&&Jn(m,null,R,"beforeMount");const ae=_g(O,G);ae&&G.beforeEnter($),s($,_,E),((N=z&&z.onVnodeMounted)||ae||te)&&ut(()=>{N&&Yt(N,R,m),ae&&G.enter($),te&&Jn(m,null,R,"mounted")},O)},pe=(m,_,E,R,O)=>{if(E&&w(m,E),R)for(let M=0;M{for(let N=$;N{const D=_.el=m.el;let{patchFlag:$,dynamicChildren:N,dirs:z}=_;$|=m.patchFlag&16;const Y=m.props||Fe,G=_.props||Fe;let te;if(E&&Xn(E,!1),(te=G.onVnodeBeforeUpdate)&&Yt(te,E,_,m),z&&Jn(_,m,E,"beforeUpdate"),E&&Xn(E,!0),N?be(m.dynamicChildren,N,D,E,R,wo(_,O),M):U||ve(m,_,D,null,E,R,wo(_,O),M,!1),$>0){if($&16)Re(D,_,Y,G,E,R,O);else if($&2&&Y.class!==G.class&&o(D,"class",null,G.class,O),$&4&&o(D,"style",Y.style,G.style,O),$&8){const ae=_.dynamicProps;for(let we=0;we{te&&Yt(te,E,_,m),z&&Jn(_,m,E,"updated")},R)},be=(m,_,E,R,O,M,U)=>{for(let D=0;D<_.length;D++){const $=m[D],N=_[D],z=$.el&&($.type===et||!vs($,N)||$.shapeFlag&70)?g($.el):E;I($,N,z,null,R,O,M,U,!0)}},Re=(m,_,E,R,O,M,U)=>{if(E!==R){if(E!==Fe)for(const D in E)!zs(D)&&!(D in R)&&o(m,D,E[D],null,U,_.children,O,M,Pe);for(const D in R){if(zs(D))continue;const $=R[D],N=E[D];$!==N&&D!=="value"&&o(m,D,N,$,U,_.children,O,M,Pe)}"value"in R&&o(m,"value",E.value,R.value,U)}},J=(m,_,E,R,O,M,U,D,$)=>{const N=_.el=m?m.el:c(""),z=_.anchor=m?m.anchor:c("");let{patchFlag:Y,dynamicChildren:G,slotScopeIds:te}=_;te&&(D=D?D.concat(te):te),m==null?(s(N,E,R),s(z,E,R),Me(_.children||[],E,z,O,M,U,D,$)):Y>0&&Y&64&&G&&m.dynamicChildren?(be(m.dynamicChildren,G,E,O,M,U,D),(_.key!=null||O&&_===O.subTree)&&Rf(m,_,!0)):ve(m,_,E,z,O,M,U,D,$)},ge=(m,_,E,R,O,M,U,D,$)=>{_.slotScopeIds=D,m==null?_.shapeFlag&512?O.ctx.activate(_,E,R,U,$):Ve(_,E,R,O,M,U,$):lt(m,_,$)},Ve=(m,_,E,R,O,M,U)=>{const D=m.component=Dg(m,R,O);if(Nf(m)&&(D.ctx.renderer=Q),kg(D),D.asyncDep){if(O&&O.registerDep(D,Be,U),!m.el){const $=D.subTree=Ye(gn);H(null,$,_,E)}}else Be(D,m,_,E,O,M,U)},lt=(m,_,E)=>{const R=_.component=m.component;if(qm(m,_,E))if(R.asyncDep&&!R.asyncResolved){ye(R,_,E);return}else R.next=_,Fm(R.update),R.effect.dirty=!0,R.update();else _.el=m.el,R.vnode=_},Be=(m,_,E,R,O,M,U)=>{const D=()=>{if(m.isMounted){let{next:z,bu:Y,u:G,parent:te,vnode:ae}=m;{const Kt=Pf(m);if(Kt){z&&(z.el=ae.el,ye(m,z,U)),Kt.asyncDep.then(()=>{m.isUnmounted||D()});return}}let we=z,he;Xn(m,!1),z?(z.el=ae.el,ye(m,z,U)):z=ae,Y&&Kr(Y),(he=z.props&&z.props.onVnodeBeforeUpdate)&&Yt(he,te,z,ae),Xn(m,!0);const je=yo(m),pt=m.subTree;m.subTree=je,I(pt,je,g(pt.el),x(pt),m,O,M),z.el=je.el,we===null&&zm(m,je.el),G&&ut(G,O),(he=z.props&&z.props.onVnodeUpdated)&&ut(()=>Yt(he,te,z,ae),O)}else{let z;const{el:Y,props:G}=_,{bm:te,m:ae,parent:we}=m,he=Gs(_);if(Xn(m,!1),te&&Kr(te),!he&&(z=G&&G.onVnodeBeforeMount)&&Yt(z,we,_),Xn(m,!0),Y&&$e){const je=()=>{m.subTree=yo(m),$e(Y,m.subTree,m,O,null)};he?_.type.__asyncLoader().then(()=>!m.isUnmounted&&je()):je()}else{const je=m.subTree=yo(m);I(null,je,E,R,m,O,M),_.el=je.el}if(ae&&ut(ae,O),!he&&(z=G&&G.onVnodeMounted)){const je=_;ut(()=>Yt(z,we,je),O)}(_.shapeFlag&256||we&&Gs(we.vnode)&&we.vnode.shapeFlag&256)&&m.a&&ut(m.a,O),m.isMounted=!0,_=E=R=null}},$=m.effect=new aa(D,Rt,()=>ma(N),m.scope),N=m.update=()=>{$.dirty&&$.run()};N.id=m.uid,Xn(m,!0),N()},ye=(m,_,E)=>{_.component=m;const R=m.vnode.props;m.vnode=_,m.next=null,fg(m,_.props,R,E),pg(m,_.children,E),Mn(),dc(m),mn()},ve=(m,_,E,R,O,M,U,D,$=!1)=>{const N=m&&m.children,z=m?m.shapeFlag:0,Y=_.children,{patchFlag:G,shapeFlag:te}=_;if(G>0){if(G&128){P(N,Y,E,R,O,M,U,D,$);return}else if(G&256){wt(N,Y,E,R,O,M,U,D,$);return}}te&8?(z&16&&Pe(N,O,M),Y!==N&&d(E,Y)):z&16?te&16?P(N,Y,E,R,O,M,U,D,$):Pe(N,O,M,!0):(z&8&&d(E,""),te&16&&Me(Y,E,R,O,M,U,D,$))},wt=(m,_,E,R,O,M,U,D,$)=>{m=m||Es,_=_||Es;const N=m.length,z=_.length,Y=Math.min(N,z);let G;for(G=0;Gz?Pe(m,O,M,!0,!1,Y):Me(_,E,R,O,M,U,D,$,Y)},P=(m,_,E,R,O,M,U,D,$)=>{let N=0;const z=_.length;let Y=m.length-1,G=z-1;for(;N<=Y&&N<=G;){const te=m[N],ae=_[N]=$?On(_[N]):Zt(_[N]);if(vs(te,ae))I(te,ae,E,null,O,M,U,D,$);else break;N++}for(;N<=Y&&N<=G;){const te=m[Y],ae=_[G]=$?On(_[G]):Zt(_[G]);if(vs(te,ae))I(te,ae,E,null,O,M,U,D,$);else break;Y--,G--}if(N>Y){if(N<=G){const te=G+1,ae=teG)for(;N<=Y;)Xe(m[N],O,M,!0),N++;else{const te=N,ae=N,we=new Map;for(N=ae;N<=G;N++){const nt=_[N]=$?On(_[N]):Zt(_[N]);nt.key!=null&&we.set(nt.key,N)}let he,je=0;const pt=G-ae+1;let Kt=!1,br=0;const $n=new Array(pt);for(N=0;N=pt){Xe(nt,O,M,!0);continue}let Et;if(nt.key!=null)Et=we.get(nt.key);else for(he=ae;he<=G;he++)if($n[he-ae]===0&&vs(nt,_[he])){Et=he;break}Et===void 0?Xe(nt,O,M,!0):($n[Et-ae]=N+1,Et>=br?br=Et:Kt=!0,I(nt,_[Et],E,null,O,M,U,D,$),je++)}const yr=Kt?bg($n):Es;for(he=yr.length-1,N=pt-1;N>=0;N--){const nt=ae+N,Et=_[nt],vr=nt+1{const{el:M,type:U,transition:D,children:$,shapeFlag:N}=m;if(N&6){ct(m.component.subTree,_,E,R);return}if(N&128){m.suspense.move(_,E,R);return}if(N&64){U.move(m,_,E,Q);return}if(U===et){s(M,_,E);for(let Y=0;Y<$.length;Y++)ct($[Y],_,E,R);s(m.anchor,_,E);return}if(U===Qr){k(m,_,E);return}if(R!==2&&N&1&&D)if(R===0)D.beforeEnter(M),s(M,_,E),ut(()=>D.enter(M),O);else{const{leave:Y,delayLeave:G,afterLeave:te}=D,ae=()=>s(M,_,E),we=()=>{Y(M,()=>{ae(),te&&te()})};G?G(M,ae,we):we()}else s(M,_,E)},Xe=(m,_,E,R=!1,O=!1)=>{const{type:M,props:U,ref:D,children:$,dynamicChildren:N,shapeFlag:z,patchFlag:Y,dirs:G,memoIndex:te}=m;if(Y===-2&&(O=!1),D!=null&&Vo(D,null,E,m,!0),te!=null&&(_.renderCache[te]=void 0),z&256){_.ctx.deactivate(m);return}const ae=z&1&&G,we=!Gs(m);let he;if(we&&(he=U&&U.onVnodeBeforeUnmount)&&Yt(he,_,m),z&6)Wt(m.component,E,R);else{if(z&128){m.suspense.unmount(E,R);return}ae&&Jn(m,null,_,"beforeUnmount"),z&64?m.type.remove(m,_,E,Q,R):N&&(M!==et||Y>0&&Y&64)?Pe(N,_,E,!1,!0):(M===et&&Y&384||!O&&z&16)&&Pe($,_,E),R&&zt(m)}(we&&(he=U&&U.onVnodeUnmounted)||ae)&&ut(()=>{he&&Yt(he,_,m),ae&&Jn(m,null,_,"unmounted")},E)},zt=m=>{const{type:_,el:E,anchor:R,transition:O}=m;if(_===et){Ze(E,R);return}if(_===Qr){se(m);return}const M=()=>{i(E),O&&!O.persisted&&O.afterLeave&&O.afterLeave()};if(m.shapeFlag&1&&O&&!O.persisted){const{leave:U,delayLeave:D}=O,$=()=>U(E,M);D?D(m.el,M,$):$()}else M()},Ze=(m,_)=>{let E;for(;m!==_;)E=y(m),i(m),m=E;i(_)},Wt=(m,_,E)=>{const{bum:R,scope:O,update:M,subTree:U,um:D,m:$,a:N}=m;Tc($),Tc(N),R&&Kr(R),O.stop(),M&&(M.active=!1,Xe(U,m,_,E)),D&&ut(D,_),ut(()=>{m.isUnmounted=!0},_),_&&_.pendingBranch&&!_.isUnmounted&&m.asyncDep&&!m.asyncResolved&&m.suspenseId===_.pendingId&&(_.deps--,_.deps===0&&_.resolve())},Pe=(m,_,E,R=!1,O=!1,M=0)=>{for(let U=M;Um.shapeFlag&6?x(m.component.subTree):m.shapeFlag&128?m.suspense.next():y(m.anchor||m.el);let S=!1;const j=(m,_,E)=>{m==null?_._vnode&&Xe(_._vnode,null,null,!0):I(_._vnode||null,m,_,null,null,null,E),S||(S=!0,dc(),lf(),S=!1),_._vnode=m},Q={p:I,um:Xe,m:ct,r:zt,mt:Ve,mc:Me,pc:ve,pbc:be,n:x,o:e};let Te,$e;return{render:j,hydrate:Te,createApp:cg(j,Te)}}function wo({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Xn({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function _g(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Rf(e,t,n=!1){const s=e.children,i=t.children;if(Z(s)&&Z(i))for(let o=0;o>1,e[n[c]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,a=n[o-1];o-- >0;)n[o]=a,a=t[a];return n}function Pf(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Pf(t)}function Tc(e){if(e)for(let t=0;tLt(yg),qr={};function Xr(e,t,n){return Lf(e,t,n)}function Lf(e,t,{immediate:n,deep:s,flush:i,once:o,onTrack:a,onTrigger:c}=Fe){if(t&&o){const X=t;t=(...pe)=>{X(...pe),Ce()}}const f=Qe,p=X=>s===!0?X:Rn(X,s===!1?1:void 0);let d,g=!1,y=!1;if(ht(e)?(d=()=>e.value,g=ri(e)):Ws(e)?(d=()=>p(e),g=!0):Z(e)?(y=!0,g=e.some(X=>Ws(X)||ri(X)),d=()=>e.map(X=>{if(ht(X))return X.value;if(Ws(X))return p(X);if(ce(X))return Nn(X,f,2)})):ce(e)?t?d=()=>Nn(e,f,2):d=()=>(w&&w(),Pt(e,f,3,[A])):d=Rt,t&&s){const X=d;d=()=>Rn(X())}let w,A=X=>{w=k.onStop=()=>{Nn(X,f,4),w=k.onStop=void 0}},I;if(xi)if(A=Rt,t?n&&Pt(t,f,3,[d(),y?[]:void 0,A]):d(),i==="sync"){const X=vg();I=X.__watcherHandles||(X.__watcherHandles=[])}else return Rt;let q=y?new Array(e.length).fill(qr):qr;const H=()=>{if(!(!k.active||!k.dirty))if(t){const X=k.run();(s||g||(y?X.some((pe,Me)=>Dn(pe,q[Me])):Dn(X,q)))&&(w&&w(),Pt(t,f,3,[X,q===qr?void 0:y&&q[0]===qr?[]:q,A]),q=X)}else k.run()};H.allowRecurse=!!t;let B;i==="sync"?B=H:i==="post"?B=()=>ut(H,f&&f.suspense):(H.pre=!0,f&&(H.id=f.uid),B=()=>ma(H));const k=new aa(d,Rt,B),se=dm(),Ce=()=>{k.stop(),se&&ia(se.effects,k)};return t?n?H():q=k.run():i==="post"?ut(k.run.bind(k),f&&f.suspense):k.run(),I&&I.push(Ce),Ce}function wg(e,t,n){const s=this.proxy,i=We(e)?e.includes(".")?If(s,e):()=>s[e]:e.bind(s,s);let o;ce(t)?o=t:(o=t.handler,n=t);const a=hr(this),c=Lf(i,o.bind(s),n);return a(),c}function If(e,t){const n=t.split(".");return()=>{let s=e;for(let i=0;i{Rn(s,t,n)});else if(Iu(e)){for(const s in e)Rn(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Rn(e[s],t,n)}return e}const Nf=e=>e.type.__isKeepAlive;function Eg(e,t){Df(e,"a",t)}function Cg(e,t){Df(e,"da",t)}function Df(e,t,n=Qe){const s=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(Ti(t,s,n),n){let i=n.parent;for(;i&&i.parent;)Nf(i.parent.vnode)&&Tg(s,t,n,i),i=i.parent}}function Tg(e,t,n,s){const i=Ti(t,e,s,!0);_f(()=>{ia(s[t],i)},n)}const ys=Symbol("_leaveCb"),zr=Symbol("_enterCb");function Sg(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return pf(()=>{e.isMounted=!0}),gf(()=>{e.isUnmounting=!0}),e}const xt=[Function,Array],Ag={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:xt,onEnter:xt,onAfterEnter:xt,onEnterCancelled:xt,onBeforeLeave:xt,onLeave:xt,onAfterLeave:xt,onLeaveCancelled:xt,onBeforeAppear:xt,onAppear:xt,onAfterAppear:xt,onAppearCancelled:xt};function Og(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function qo(e,t,n,s,i){const{appear:o,mode:a,persisted:c=!1,onBeforeEnter:f,onEnter:p,onAfterEnter:d,onEnterCancelled:g,onBeforeLeave:y,onLeave:w,onAfterLeave:A,onLeaveCancelled:I,onBeforeAppear:q,onAppear:H,onAfterAppear:B,onAppearCancelled:k}=t,se=String(e.key),Ce=Og(n,e),X=(oe,be)=>{oe&&Pt(oe,s,9,be)},pe=(oe,be)=>{const Re=be[1];X(oe,be),Z(oe)?oe.every(J=>J.length<=1)&&Re():oe.length<=1&&Re()},Me={mode:a,persisted:c,beforeEnter(oe){let be=f;if(!n.isMounted)if(o)be=q||f;else return;oe[ys]&&oe[ys](!0);const Re=Ce[se];Re&&vs(e,Re)&&Re.el[ys]&&Re.el[ys](),X(be,[oe])},enter(oe){let be=p,Re=d,J=g;if(!n.isMounted)if(o)be=H||p,Re=B||d,J=k||g;else return;let ge=!1;const Ve=oe[zr]=lt=>{ge||(ge=!0,lt?X(J,[oe]):X(Re,[oe]),Me.delayedLeave&&Me.delayedLeave(),oe[zr]=void 0)};be?pe(be,[oe,Ve]):Ve()},leave(oe,be){const Re=String(e.key);if(oe[zr]&&oe[zr](!0),n.isUnmounting)return be();X(y,[oe]);let J=!1;const ge=oe[ys]=Ve=>{J||(J=!0,be(),Ve?X(I,[oe]):X(A,[oe]),oe[ys]=void 0,Ce[Re]===e&&delete Ce[Re])};Ce[Re]=e,w?pe(w,[oe,ge]):ge()},clone(oe){return qo(oe,t,n,s)}};return Me}function ai(e,t){e.shapeFlag&6&&e.component?ai(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function kf(e,t=!1,n){let s=[],i=0;for(let o=0;o1)for(let o=0;oe.__isTeleport,et=Symbol.for("v-fgt"),Si=Symbol.for("v-txt"),gn=Symbol.for("v-cmt"),Qr=Symbol.for("v-stc"),Qs=[];let Ft=null;function Ue(e=!1){Qs.push(Ft=e?null:[])}function Rg(){Qs.pop(),Ft=Qs[Qs.length-1]||null}let rr=1;function Sc(e){rr+=e}function Mf(e){return e.dynamicChildren=rr>0?Ft||Es:null,Rg(),rr>0&&Ft&&Ft.push(e),e}function Bt(e,t,n,s,i,o){return Mf(is(e,t,n,s,i,o,!0))}function jt(e,t,n,s,i){return Mf(Ye(e,t,n,s,i,!0))}function li(e){return e?e.__v_isVNode===!0:!1}function vs(e,t){return e.type===t.type&&e.key===t.key}const $f=({key:e})=>e??null,Yr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?We(e)||ht(e)||ce(e)?{i:Je,r:e,k:t,f:!!n}:e:null);function is(e,t=null,n=null,s=0,i=null,o=e===et?0:1,a=!1,c=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&$f(t),ref:t&&Yr(t),scopeId:Ci,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Je};return c?(ya(f,n),o&128&&e.normalize(f)):n&&(f.shapeFlag|=We(n)?8:16),rr>0&&!a&&Ft&&(f.patchFlag>0||o&6)&&f.patchFlag!==32&&Ft.push(f),f}const Ye=Pg;function Pg(e,t=null,n=null,s=0,i=null,o=!1){if((!e||e===df)&&(e=gn),li(e)){const c=ss(e,t,!0);return n&&ya(c,n),rr>0&&!o&&Ft&&(c.shapeFlag&6?Ft[Ft.indexOf(e)]=c:Ft.push(c)),c.patchFlag=-2,c}if(jg(e)&&(e=e.__vccOpts),t){t=Lg(t);let{class:c,style:f}=t;c&&!We(c)&&(t.class=kn(c)),De(f)&&(Yu(f)&&!Z(f)&&(f=ze({},f)),t.style=fr(f))}const a=We(e)?1:Wm(e)?128:xg(e)?64:De(e)?4:ce(e)?2:0;return is(e,t,n,s,i,a,o,!0)}function Lg(e){return e?Yu(e)||Cf(e)?ze({},e):e:null}function ss(e,t,n=!1,s=!1){const{props:i,ref:o,patchFlag:a,children:c,transition:f}=e,p=t?Oi(i||{},t):i,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:p,key:p&&$f(p),ref:t&&t.ref?n&&o?Z(o)?o.concat(Yr(t)):[o,Yr(t)]:Yr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==et?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ss(e.ssContent),ssFallback:e.ssFallback&&ss(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return f&&s&&ai(d,f.clone(d)),d}function Ai(e=" ",t=0){return Ye(Si,null,e,t)}function lw(e,t){const n=Ye(Qr,null,e);return n.staticCount=t,n}function Eo(e="",t=!1){return t?(Ue(),jt(gn,null,e)):Ye(gn,null,e)}function Zt(e){return e==null||typeof e=="boolean"?Ye(gn):Z(e)?Ye(et,null,e.slice()):typeof e=="object"?On(e):Ye(Si,null,String(e))}function On(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ss(e)}function ya(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(s&65){const i=t.default;i&&(i._c&&(i._d=!1),ya(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!Cf(t)?t._ctx=Je:i===3&&Je&&(Je.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ce(t)?(t={default:t,_ctx:Je},n=32):(t=String(t),s&64?(n=16,t=[Ai(t)]):n=8);e.children=t,e.shapeFlag|=n}function Oi(...e){const t={};for(let n=0;nQe||Je;let ci,zo;{const e=Du(),t=(n,s)=>{let i;return(i=e[n])||(i=e[n]=[]),i.push(s),o=>{i.length>1?i.forEach(a=>a(o)):i[0](o)}};ci=t("__VUE_INSTANCE_SETTERS__",n=>Qe=n),zo=t("__VUE_SSR_SETTERS__",n=>xi=n)}const hr=e=>{const t=Qe;return ci(e),e.scope.on(),()=>{e.scope.off(),ci(t)}},Ac=()=>{Qe&&Qe.scope.off(),ci(null)};function Bf(e){return e.vnode.shapeFlag&4}let xi=!1;function kg(e,t=!1){t&&zo(t);const{props:n,children:s}=e.vnode,i=Bf(e);ug(e,n,i,t),hg(e,s);const o=i?Mg(e,t):void 0;return t&&zo(!1),o}function Mg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ng);const{setup:s}=n;if(s){const i=e.setupContext=s.length>1?Fg(e):null,o=hr(e);Mn();const a=Nn(s,e,0,[e.props,i]);if(mn(),o(),Pu(a)){if(a.then(Ac,Ac),t)return a.then(c=>{Oc(e,c,t)}).catch(c=>{vi(c,e,0)});e.asyncDep=a}else Oc(e,a,t)}else jf(e,t)}function Oc(e,t,n){ce(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:De(t)&&(e.setupState=rf(t)),jf(e,n)}let xc;function jf(e,t,n){const s=e.type;if(!e.render){if(!t&&xc&&!s.render){const i=s.template||_a(e).template;if(i){const{isCustomElement:o,compilerOptions:a}=e.appContext.config,{delimiters:c,compilerOptions:f}=s,p=ze(ze({isCustomElement:o,delimiters:c},a),f);s.render=xc(i,p)}}e.render=s.render||Rt}{const i=hr(e);Mn();try{sg(e)}finally{mn(),i()}}}const $g={get(e,t){return dt(e,"get",""),e[t]}};function Fg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,$g),slots:e.slots,emit:e.emit,expose:t}}function Ri(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(rf(Zu(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Js)return Js[n](e)},has(t,n){return n in t||n in Js}})):e.proxy}function Bg(e,t=!0){return ce(e)?e.displayName||e.name:e.name||t&&e.__name}function jg(e){return ce(e)&&"__vccOpts"in e}const $t=(e,t)=>Im(e,t,xi);function Hf(e,t,n){const s=arguments.length;return s===2?De(t)&&!Z(t)?li(t)?Ye(e,null,[t]):Ye(e,t):Ye(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&li(n)&&(n=[n]),Ye(e,t,n))}const Hg="3.4.30";/** +* @vue/runtime-dom v3.4.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Ug="http://www.w3.org/2000/svg",Vg="http://www.w3.org/1998/Math/MathML",fn=typeof document<"u"?document:null,Rc=fn&&fn.createElement("template"),qg={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t==="svg"?fn.createElementNS(Ug,e):t==="mathml"?fn.createElementNS(Vg,e):n?fn.createElement(e,{is:n}):fn.createElement(e);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>fn.createTextNode(e),createComment:e=>fn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>fn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,o){const a=n?n.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===o||!(i=i.nextSibling)););else{Rc.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const c=Rc.content;if(s==="svg"||s==="mathml"){const f=c.firstChild;for(;f.firstChild;)c.appendChild(f.firstChild);c.removeChild(f)}t.insertBefore(c,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},En="transition",js="animation",As=Symbol("_vtc"),Uf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},zg=ze({},Ag,Uf),Qn=(e,t=[])=>{Z(e)?e.forEach(n=>n(...t)):e&&e(...t)},Pc=e=>e?Z(e)?e.some(t=>t.length>1):e.length>1:!1;function Wg(e){const t={};for(const J in e)J in Uf||(t[J]=e[J]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:o=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:f=o,appearActiveClass:p=a,appearToClass:d=c,leaveFromClass:g=`${n}-leave-from`,leaveActiveClass:y=`${n}-leave-active`,leaveToClass:w=`${n}-leave-to`}=e,A=Kg(i),I=A&&A[0],q=A&&A[1],{onBeforeEnter:H,onEnter:B,onEnterCancelled:k,onLeave:se,onLeaveCancelled:Ce,onBeforeAppear:X=H,onAppear:pe=B,onAppearCancelled:Me=k}=t,oe=(J,ge,Ve)=>{Sn(J,ge?d:c),Sn(J,ge?p:a),Ve&&Ve()},be=(J,ge)=>{J._isLeaving=!1,Sn(J,g),Sn(J,w),Sn(J,y),ge&&ge()},Re=J=>(ge,Ve)=>{const lt=J?pe:B,Be=()=>oe(ge,J,Ve);Qn(lt,[ge,Be]),Lc(()=>{Sn(ge,J?f:o),un(ge,J?d:c),Pc(lt)||Ic(ge,s,I,Be)})};return ze(t,{onBeforeEnter(J){Qn(H,[J]),un(J,o),un(J,a)},onBeforeAppear(J){Qn(X,[J]),un(J,f),un(J,p)},onEnter:Re(!1),onAppear:Re(!0),onLeave(J,ge){J._isLeaving=!0;const Ve=()=>be(J,ge);un(J,g),un(J,y),qf(),Lc(()=>{J._isLeaving&&(Sn(J,g),un(J,w),Pc(se)||Ic(J,s,q,Ve))}),Qn(se,[J,Ve])},onEnterCancelled(J){oe(J,!1),Qn(k,[J])},onAppearCancelled(J){oe(J,!0),Qn(Me,[J])},onLeaveCancelled(J){be(J),Qn(Ce,[J])}})}function Kg(e){if(e==null)return null;if(De(e))return[Co(e.enter),Co(e.leave)];{const t=Co(e);return[t,t]}}function Co(e){return tm(e)}function un(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[As]||(e[As]=new Set)).add(t)}function Sn(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[As];n&&(n.delete(t),n.size||(e[As]=void 0))}function Lc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Gg=0;function Ic(e,t,n,s){const i=e._endId=++Gg,o=()=>{i===e._endId&&s()};if(n)return setTimeout(o,n);const{type:a,timeout:c,propCount:f}=Vf(e,t);if(!a)return s();const p=a+"end";let d=0;const g=()=>{e.removeEventListener(p,y),o()},y=w=>{w.target===e&&++d>=f&&g()};setTimeout(()=>{d(n[A]||"").split(", "),i=s(`${En}Delay`),o=s(`${En}Duration`),a=Nc(i,o),c=s(`${js}Delay`),f=s(`${js}Duration`),p=Nc(c,f);let d=null,g=0,y=0;t===En?a>0&&(d=En,g=a,y=o.length):t===js?p>0&&(d=js,g=p,y=f.length):(g=Math.max(a,p),d=g>0?a>p?En:js:null,y=d?d===En?o.length:f.length:0);const w=d===En&&/\b(transform|all)(,|$)/.test(s(`${En}Property`).toString());return{type:d,timeout:g,propCount:y,hasTransform:w}}function Nc(e,t){for(;e.lengthDc(n)+Dc(e[s])))}function Dc(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function qf(){return document.body.offsetHeight}function Jg(e,t,n){const s=e[As];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const kc=Symbol("_vod"),Xg=Symbol("_vsh"),Qg=Symbol(""),Yg=/(^|;)\s*display\s*:/;function Zg(e,t,n){const s=e.style,i=We(n);let o=!1;if(n&&!i){if(t)if(We(t))for(const a of t.split(";")){const c=a.slice(0,a.indexOf(":")).trim();n[c]==null&&Zr(s,c,"")}else for(const a in t)n[a]==null&&Zr(s,a,"");for(const a in n)a==="display"&&(o=!0),Zr(s,a,n[a])}else if(i){if(t!==n){const a=s[Qg];a&&(n+=";"+a),s.cssText=n,o=Yg.test(n)}}else t&&e.removeAttribute("style");kc in e&&(e[kc]=o?s.display:"",e[Xg]&&(s.display="none"))}const Mc=/\s*!important$/;function Zr(e,t,n){if(Z(n))n.forEach(s=>Zr(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=e_(e,t);Mc.test(n)?e.setProperty(Ps(s),n.replace(Mc,""),"important"):e[s]=n}}const $c=["Webkit","Moz","ms"],To={};function e_(e,t){const n=To[t];if(n)return n;let s=sn(t);if(s!=="filter"&&s in e)return To[t]=s;s=_i(s);for(let i=0;i<$c.length;i++){const o=$c[i]+s;if(o in e)return To[t]=o}return t}const Fc="http://www.w3.org/1999/xlink";function Bc(e,t,n,s,i,o=am(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Fc,t.slice(6,t.length)):e.setAttributeNS(Fc,t,n):n==null||o&&!ku(n)?e.removeAttribute(t):e.setAttribute(t,o?"":nn(n)?String(n):n)}function t_(e,t,n,s,i,o,a){if(t==="innerHTML"||t==="textContent"){s&&a(s,i,o),e[t]=n??"";return}const c=e.tagName;if(t==="value"&&c!=="PROGRESS"&&!c.includes("-")){const p=c==="OPTION"?e.getAttribute("value")||"":e.value,d=n==null?"":String(n);(p!==d||!("_value"in e))&&(e.value=d),n==null&&e.removeAttribute(t),e._value=n;return}let f=!1;if(n===""||n==null){const p=typeof e[t];p==="boolean"?n=ku(n):n==null&&p==="string"?(n="",f=!0):p==="number"&&(n=0,f=!0)}try{e[t]=n}catch{}f&&e.removeAttribute(t)}function Pn(e,t,n,s){e.addEventListener(t,n,s)}function n_(e,t,n,s){e.removeEventListener(t,n,s)}const jc=Symbol("_vei");function s_(e,t,n,s,i=null){const o=e[jc]||(e[jc]={}),a=o[t];if(s&&a)a.value=s;else{const[c,f]=r_(t);if(s){const p=o[t]=a_(s,i);Pn(e,c,p,f)}else a&&(n_(e,c,a,f),o[t]=void 0)}}const Hc=/(?:Once|Passive|Capture)$/;function r_(e){let t;if(Hc.test(e)){t={};let s;for(;s=e.match(Hc);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Ps(e.slice(2)),t]}let So=0;const i_=Promise.resolve(),o_=()=>So||(i_.then(()=>So=0),So=Date.now());function a_(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Pt(l_(s,n.value),t,5,[s])};return n.value=e,n.attached=o_(),n}function l_(e,t){if(Z(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>i=>!i._stopped&&s&&s(i))}else return t}const Uc=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,c_=(e,t,n,s,i,o,a,c,f)=>{const p=i==="svg";t==="class"?Jg(e,s,p):t==="style"?Zg(e,n,s):pi(t)?ra(t)||s_(e,t,n,s,a):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):u_(e,t,s,p))?(t_(e,t,s,o,a,c,f),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Bc(e,t,s,p,a,t!=="value")):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Bc(e,t,s,p))};function u_(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Uc(t)&&ce(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Uc(t)&&We(n)?!1:t in e}const zf=new WeakMap,Wf=new WeakMap,ui=Symbol("_moveCb"),Vc=Symbol("_enterCb"),Kf={name:"TransitionGroup",props:ze({},zg,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Ff(),s=Sg();let i,o;return mf(()=>{if(!i.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!g_(i[0].el,n.vnode.el,a))return;i.forEach(h_),i.forEach(p_);const c=i.filter(m_);qf(),c.forEach(f=>{const p=f.el,d=p.style;un(p,a),d.transform=d.webkitTransform=d.transitionDuration="";const g=p[ui]=y=>{y&&y.target!==p||(!y||/transform$/.test(y.propertyName))&&(p.removeEventListener("transitionend",g),p[ui]=null,Sn(p,a))};p.addEventListener("transitionend",g)})}),()=>{const a=Ee(e),c=Wg(a);let f=a.tag||et;if(i=[],o)for(let p=0;pdelete e.mode;Kf.props;const d_=Kf;function h_(e){const t=e.el;t[ui]&&t[ui](),t[Vc]&&t[Vc]()}function p_(e){Wf.set(e,e.el.getBoundingClientRect())}function m_(e){const t=zf.get(e),n=Wf.get(e),s=t.left-n.left,i=t.top-n.top;if(s||i){const o=e.el.style;return o.transform=o.webkitTransform=`translate(${s}px,${i}px)`,o.transitionDuration="0s",e}}function g_(e,t,n){const s=e.cloneNode(),i=e[As];i&&i.forEach(c=>{c.split(/\s+/).forEach(f=>f&&s.classList.remove(f))}),n.split(/\s+/).forEach(c=>c&&s.classList.add(c)),s.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(s);const{hasTransform:a}=Vf(s);return o.removeChild(s),a}const Os=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Z(t)?n=>Kr(t,n):t};function __(e){e.target.composing=!0}function qc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const hn=Symbol("_assign"),cw={created(e,{modifiers:{lazy:t,trim:n,number:s}},i){e[hn]=Os(i);const o=s||i.props&&i.props.type==="number";Pn(e,t?"change":"input",a=>{if(a.target.composing)return;let c=e.value;n&&(c=c.trim()),o&&(c=si(c)),e[hn](c)}),n&&Pn(e,"change",()=>{e.value=e.value.trim()}),t||(Pn(e,"compositionstart",__),Pn(e,"compositionend",qc),Pn(e,"change",qc))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:i,number:o}},a){if(e[hn]=Os(a),e.composing)return;const c=(o||e.type==="number")&&!/^0\d/.test(e.value)?si(e.value):e.value,f=t??"";c!==f&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||i&&e.value.trim()===f)||(e.value=f))}},uw={created(e,{value:t},n){e.checked=Ss(t,n.props.value),e[hn]=Os(n),Pn(e,"change",()=>{e[hn](ir(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[hn]=Os(s),t!==n&&(e.checked=Ss(t,s.props.value))}},fw={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const i=mi(t);Pn(e,"change",()=>{const o=Array.prototype.filter.call(e.options,a=>a.selected).map(a=>n?si(ir(a)):ir(a));e[hn](e.multiple?i?new Set(o):o:o[0]),e._assigning=!0,wi(()=>{e._assigning=!1})}),e[hn]=Os(s)},mounted(e,{value:t,modifiers:{number:n}}){zc(e,t)},beforeUpdate(e,t,n){e[hn]=Os(n)},updated(e,{value:t,modifiers:{number:n}}){e._assigning||zc(e,t)}};function zc(e,t,n){const s=e.multiple,i=Z(t);if(!(s&&!i&&!mi(t))){for(let o=0,a=e.options.length;oString(d)===String(f)):c.selected=cm(t,f)>-1}else c.selected=t.has(f);else if(Ss(ir(c),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ir(e){return"_value"in e?e._value:e.value}const b_=["ctrl","shift","alt","meta"],y_={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>b_.some(n=>e[`${n}Key`]&&!t.includes(n))},v_=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(i,...o)=>{for(let a=0;a{const t=E_().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=T_(s);if(!i)return;const o=t._component;!ce(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.innerHTML="";const a=n(i,!1,C_(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),a},t};function C_(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function T_(e){return We(e)?document.querySelector(e):e}var S_=!1;/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const A_=Symbol();var Kc;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Kc||(Kc={}));function O_(){const e=um(!0),t=e.run(()=>nf({}));let n=[],s=[];const i=Zu({install(o){i._a=o,o.provide(A_,i),o.config.globalProperties.$pinia=i,s.forEach(a=>n.push(a)),s=[]},use(o){return!this._a&&!S_?s.push(o):n.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}/*! + * vue-router v4.4.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const ws=typeof document<"u";function x_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const xe=Object.assign;function Ao(e,t){const n={};for(const s in t){const i=t[s];n[s]=Vt(i)?i.map(e):e(i)}return n}const Ys=()=>{},Vt=Array.isArray,Jf=/#/g,R_=/&/g,P_=/\//g,L_=/=/g,I_=/\?/g,Xf=/\+/g,N_=/%5B/g,D_=/%5D/g,Qf=/%5E/g,k_=/%60/g,Yf=/%7B/g,M_=/%7C/g,Zf=/%7D/g,$_=/%20/g;function va(e){return encodeURI(""+e).replace(M_,"|").replace(N_,"[").replace(D_,"]")}function F_(e){return va(e).replace(Yf,"{").replace(Zf,"}").replace(Qf,"^")}function Wo(e){return va(e).replace(Xf,"%2B").replace($_,"+").replace(Jf,"%23").replace(R_,"%26").replace(k_,"`").replace(Yf,"{").replace(Zf,"}").replace(Qf,"^")}function B_(e){return Wo(e).replace(L_,"%3D")}function j_(e){return va(e).replace(Jf,"%23").replace(I_,"%3F")}function H_(e){return e==null?"":j_(e).replace(P_,"%2F")}function or(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const U_=/\/$/,V_=e=>e.replace(U_,"");function Oo(e,t,n="/"){let s,i={},o="",a="";const c=t.indexOf("#");let f=t.indexOf("?");return c=0&&(f=-1),f>-1&&(s=t.slice(0,f),o=t.slice(f+1,c>-1?c:t.length),i=e(o)),c>-1&&(s=s||t.slice(0,c),a=t.slice(c,t.length)),s=K_(s??t,n),{fullPath:s+(o&&"?")+o+a,path:s,query:i,hash:or(a)}}function q_(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Gc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function z_(e,t,n){const s=t.matched.length-1,i=n.matched.length-1;return s>-1&&s===i&&xs(t.matched[s],n.matched[i])&&ed(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function xs(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function ed(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!W_(e[n],t[n]))return!1;return!0}function W_(e,t){return Vt(e)?Jc(e,t):Vt(t)?Jc(t,e):e===t}function Jc(e,t){return Vt(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function K_(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),i=s[s.length-1];(i===".."||i===".")&&s.push("");let o=n.length-1,a,c;for(a=0;a1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(a).join("/")}const Cn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var ar;(function(e){e.pop="pop",e.push="push"})(ar||(ar={}));var Zs;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Zs||(Zs={}));function G_(e){if(!e)if(ws){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),V_(e)}const J_=/^[^#]+#/;function X_(e,t){return e.replace(J_,"#")+t}function Q_(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const Pi=()=>({left:window.scrollX,top:window.scrollY});function Y_(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),i=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Q_(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Xc(e,t){return(history.state?history.state.position-t:-1)+e}const Ko=new Map;function Z_(e,t){Ko.set(e,t)}function eb(e){const t=Ko.get(e);return Ko.delete(e),t}let tb=()=>location.protocol+"//"+location.host;function td(e,t){const{pathname:n,search:s,hash:i}=t,o=e.indexOf("#");if(o>-1){let c=i.includes(e.slice(o))?e.slice(o).length:1,f=i.slice(c);return f[0]!=="/"&&(f="/"+f),Gc(f,"")}return Gc(n,e)+s+i}function nb(e,t,n,s){let i=[],o=[],a=null;const c=({state:y})=>{const w=td(e,location),A=n.value,I=t.value;let q=0;if(y){if(n.value=w,t.value=y,a&&a===A){a=null;return}q=I?y.position-I.position:0}else s(w);i.forEach(H=>{H(n.value,A,{delta:q,type:ar.pop,direction:q?q>0?Zs.forward:Zs.back:Zs.unknown})})};function f(){a=n.value}function p(y){i.push(y);const w=()=>{const A=i.indexOf(y);A>-1&&i.splice(A,1)};return o.push(w),w}function d(){const{history:y}=window;y.state&&y.replaceState(xe({},y.state,{scroll:Pi()}),"")}function g(){for(const y of o)y();o=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",d)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",d,{passive:!0}),{pauseListeners:f,listen:p,destroy:g}}function Qc(e,t,n,s=!1,i=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:i?Pi():null}}function sb(e){const{history:t,location:n}=window,s={value:td(e,n)},i={value:t.state};i.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(f,p,d){const g=e.indexOf("#"),y=g>-1?(n.host&&document.querySelector("base")?e:e.slice(g))+f:tb()+e+f;try{t[d?"replaceState":"pushState"](p,"",y),i.value=p}catch(w){console.error(w),n[d?"replace":"assign"](y)}}function a(f,p){const d=xe({},t.state,Qc(i.value.back,f,i.value.forward,!0),p,{position:i.value.position});o(f,d,!0),s.value=f}function c(f,p){const d=xe({},i.value,t.state,{forward:f,scroll:Pi()});o(d.current,d,!0);const g=xe({},Qc(s.value,f,null),{position:d.position+1},p);o(f,g,!1),s.value=f}return{location:s,state:i,push:c,replace:a}}function rb(e){e=G_(e);const t=sb(e),n=nb(e,t.state,t.location,t.replace);function s(o,a=!0){a||n.pauseListeners(),history.go(o)}const i=xe({location:"",base:e,go:s,createHref:X_.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function ib(e){return typeof e=="string"||e&&typeof e=="object"}function nd(e){return typeof e=="string"||typeof e=="symbol"}const sd=Symbol("");var Yc;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Yc||(Yc={}));function Rs(e,t){return xe(new Error,{type:e,[sd]:!0},t)}function cn(e,t){return e instanceof Error&&sd in e&&(t==null||!!(e.type&t))}const Zc="[^/]+?",ob={sensitive:!1,strict:!1,start:!0,end:!0},ab=/[.+*?^${}()[\]/\\]/g;function lb(e,t){const n=xe({},ob,t),s=[];let i=n.start?"^":"";const o=[];for(const p of e){const d=p.length?[]:[90];n.strict&&!p.length&&(i+="/");for(let g=0;gt.length?t.length===1&&t[0]===80?1:-1:0}function rd(e,t){let n=0;const s=e.score,i=t.score;for(;n0&&t[t.length-1]<0}const ub={type:0,value:""},fb=/[a-zA-Z0-9_]/;function db(e){if(!e)return[[]];if(e==="/")return[[ub]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(w){throw new Error(`ERR (${n})/"${p}": ${w}`)}let n=0,s=n;const i=[];let o;function a(){o&&i.push(o),o=[]}let c=0,f,p="",d="";function g(){p&&(n===0?o.push({type:0,value:p}):n===1||n===2||n===3?(o.length>1&&(f==="*"||f==="+")&&t(`A repeatable param (${p}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:p,regexp:d,repeatable:f==="*"||f==="+",optional:f==="*"||f==="?"})):t("Invalid state to consume buffer"),p="")}function y(){p+=f}for(;c{a(k)}:Ys}function a(g){if(nd(g)){const y=s.get(g);y&&(s.delete(g),n.splice(n.indexOf(y),1),y.children.forEach(a),y.alias.forEach(a))}else{const y=n.indexOf(g);y>-1&&(n.splice(y,1),g.record.name&&s.delete(g.record.name),g.children.forEach(a),g.alias.forEach(a))}}function c(){return n}function f(g){const y=bb(g,n);n.splice(y,0,g),g.record.name&&!nu(g)&&s.set(g.record.name,g)}function p(g,y){let w,A={},I,q;if("name"in g&&g.name){if(w=s.get(g.name),!w)throw Rs(1,{location:g});q=w.record.name,A=xe(tu(y.params,w.keys.filter(k=>!k.optional).concat(w.parent?w.parent.keys.filter(k=>k.optional):[]).map(k=>k.name)),g.params&&tu(g.params,w.keys.map(k=>k.name))),I=w.stringify(A)}else if(g.path!=null)I=g.path,w=n.find(k=>k.re.test(I)),w&&(A=w.parse(I),q=w.record.name);else{if(w=y.name?s.get(y.name):n.find(k=>k.re.test(y.path)),!w)throw Rs(1,{location:g,currentLocation:y});q=w.record.name,A=xe({},y.params,g.params),I=w.stringify(A)}const H=[];let B=w;for(;B;)H.unshift(B.record),B=B.parent;return{name:q,path:I,params:A,matched:H,meta:_b(H)}}e.forEach(g=>o(g));function d(){n.length=0,s.clear()}return{addRoute:o,resolve:p,removeRoute:a,clearRoutes:d,getRoutes:c,getRecordMatcher:i}}function tu(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function mb(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:gb(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function gb(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function nu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function _b(e){return e.reduce((t,n)=>xe(t,n.meta),{})}function su(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function bb(e,t){let n=0,s=t.length;for(;n!==s;){const o=n+s>>1;rd(e,t[o])<0?s=o:n=o+1}const i=yb(e);return i&&(s=t.lastIndexOf(i,s-1)),s}function yb(e){let t=e;for(;t=t.parent;)if(id(t)&&rd(e,t)===0)return t}function id({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function vb(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;io&&Wo(o)):[s&&Wo(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function wb(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Vt(s)?s.map(i=>i==null?null:""+i):s==null?s:""+s)}return t}const Eb=Symbol(""),iu=Symbol(""),Li=Symbol(""),wa=Symbol(""),Go=Symbol("");function Hs(){let e=[];function t(s){return e.push(s),()=>{const i=e.indexOf(s);i>-1&&e.splice(i,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function xn(e,t,n,s,i,o=a=>a()){const a=s&&(s.enterCallbacks[i]=s.enterCallbacks[i]||[]);return()=>new Promise((c,f)=>{const p=y=>{y===!1?f(Rs(4,{from:n,to:t})):y instanceof Error?f(y):ib(y)?f(Rs(2,{from:t,to:y})):(a&&s.enterCallbacks[i]===a&&typeof y=="function"&&a.push(y),c())},d=o(()=>e.call(s&&s.instances[i],t,n,p));let g=Promise.resolve(d);e.length<3&&(g=g.then(p)),g.catch(y=>f(y))})}function xo(e,t,n,s,i=o=>o()){const o=[];for(const a of e)for(const c in a.components){let f=a.components[c];if(!(t!=="beforeRouteEnter"&&!a.instances[c]))if(Cb(f)){const d=(f.__vccOpts||f)[t];d&&o.push(xn(d,n,s,a,c,i))}else{let p=f();o.push(()=>p.then(d=>{if(!d)return Promise.reject(new Error(`Couldn't resolve component "${c}" at "${a.path}"`));const g=x_(d)?d.default:d;a.components[c]=g;const w=(g.__vccOpts||g)[t];return w&&xn(w,n,s,a,c,i)()}))}}return o}function Cb(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ou(e){const t=Lt(Li),n=Lt(wa),s=$t(()=>{const f=In(e.to);return t.resolve(f)}),i=$t(()=>{const{matched:f}=s.value,{length:p}=f,d=f[p-1],g=n.matched;if(!d||!g.length)return-1;const y=g.findIndex(xs.bind(null,d));if(y>-1)return y;const w=au(f[p-2]);return p>1&&au(d)===w&&g[g.length-1].path!==w?g.findIndex(xs.bind(null,f[p-2])):y}),o=$t(()=>i.value>-1&&Ob(n.params,s.value.params)),a=$t(()=>i.value>-1&&i.value===n.matched.length-1&&ed(n.params,s.value.params));function c(f={}){return Ab(f)?t[In(e.replace)?"replace":"push"](In(e.to)).catch(Ys):Promise.resolve()}return{route:s,href:$t(()=>s.value.href),isActive:o,isExactActive:a,navigate:c}}const Tb=rn({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:ou,setup(e,{slots:t}){const n=yi(ou(e)),{options:s}=Lt(Li),i=$t(()=>({[lu(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[lu(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Hf("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},o)}}}),Sb=Tb;function Ab(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Ob(e,t){for(const n in t){const s=t[n],i=e[n];if(typeof s=="string"){if(s!==i)return!1}else if(!Vt(i)||i.length!==s.length||s.some((o,a)=>o!==i[a]))return!1}return!0}function au(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const lu=(e,t,n)=>e??t??n,xb=rn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Lt(Go),i=$t(()=>e.route||s.value),o=Lt(iu,0),a=$t(()=>{let p=In(o);const{matched:d}=i.value;let g;for(;(g=d[p])&&!g.components;)p++;return p}),c=$t(()=>i.value.matched[a.value]);Jr(iu,$t(()=>a.value+1)),Jr(Eb,c),Jr(Go,i);const f=nf();return Xr(()=>[f.value,c.value,e.name],([p,d,g],[y,w,A])=>{d&&(d.instances[g]=p,w&&w!==d&&p&&p===y&&(d.leaveGuards.size||(d.leaveGuards=w.leaveGuards),d.updateGuards.size||(d.updateGuards=w.updateGuards))),p&&d&&(!w||!xs(d,w)||!y)&&(d.enterCallbacks[g]||[]).forEach(I=>I(p))},{flush:"post"}),()=>{const p=i.value,d=e.name,g=c.value,y=g&&g.components[d];if(!y)return cu(n.default,{Component:y,route:p});const w=g.props[d],A=w?w===!0?p.params:typeof w=="function"?w(p):w:null,q=Hf(y,xe({},A,t,{onVnodeUnmounted:H=>{H.component.isUnmounted&&(g.instances[d]=null)},ref:f}));return cu(n.default,{Component:q,route:p})||q}}});function cu(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const od=xb;function Rb(e){const t=pb(e.routes,e),n=e.parseQuery||vb,s=e.stringifyQuery||ru,i=e.history,o=Hs(),a=Hs(),c=Hs(),f=Nm(Cn);let p=Cn;ws&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=Ao.bind(null,x=>""+x),g=Ao.bind(null,H_),y=Ao.bind(null,or);function w(x,S){let j,Q;return nd(x)?(j=t.getRecordMatcher(x),Q=S):Q=x,t.addRoute(Q,j)}function A(x){const S=t.getRecordMatcher(x);S&&t.removeRoute(S)}function I(){return t.getRoutes().map(x=>x.record)}function q(x){return!!t.getRecordMatcher(x)}function H(x,S){if(S=xe({},S||f.value),typeof x=="string"){const _=Oo(n,x,S.path),E=t.resolve({path:_.path},S),R=i.createHref(_.fullPath);return xe(_,E,{params:y(E.params),hash:or(_.hash),redirectedFrom:void 0,href:R})}let j;if(x.path!=null)j=xe({},x,{path:Oo(n,x.path,S.path).path});else{const _=xe({},x.params);for(const E in _)_[E]==null&&delete _[E];j=xe({},x,{params:g(_)}),S.params=g(S.params)}const Q=t.resolve(j,S),Te=x.hash||"";Q.params=d(y(Q.params));const $e=q_(s,xe({},x,{hash:F_(Te),path:Q.path})),m=i.createHref($e);return xe({fullPath:$e,hash:Te,query:s===ru?wb(x.query):x.query||{}},Q,{redirectedFrom:void 0,href:m})}function B(x){return typeof x=="string"?Oo(n,x,f.value.path):xe({},x)}function k(x,S){if(p!==x)return Rs(8,{from:S,to:x})}function se(x){return pe(x)}function Ce(x){return se(xe(B(x),{replace:!0}))}function X(x){const S=x.matched[x.matched.length-1];if(S&&S.redirect){const{redirect:j}=S;let Q=typeof j=="function"?j(x):j;return typeof Q=="string"&&(Q=Q.includes("?")||Q.includes("#")?Q=B(Q):{path:Q},Q.params={}),xe({query:x.query,hash:x.hash,params:Q.path!=null?{}:x.params},Q)}}function pe(x,S){const j=p=H(x),Q=f.value,Te=x.state,$e=x.force,m=x.replace===!0,_=X(j);if(_)return pe(xe(B(_),{state:typeof _=="object"?xe({},Te,_.state):Te,force:$e,replace:m}),S||j);const E=j;E.redirectedFrom=S;let R;return!$e&&z_(s,Q,j)&&(R=Rs(16,{to:E,from:Q}),ct(Q,Q,!0,!1)),(R?Promise.resolve(R):be(E,Q)).catch(O=>cn(O)?cn(O,2)?O:P(O):ve(O,E,Q)).then(O=>{if(O){if(cn(O,2))return pe(xe({replace:m},B(O.to),{state:typeof O.to=="object"?xe({},Te,O.to.state):Te,force:$e}),S||E)}else O=J(E,Q,!0,m,Te);return Re(E,Q,O),O})}function Me(x,S){const j=k(x,S);return j?Promise.reject(j):Promise.resolve()}function oe(x){const S=Ze.values().next().value;return S&&typeof S.runWithContext=="function"?S.runWithContext(x):x()}function be(x,S){let j;const[Q,Te,$e]=Pb(x,S);j=xo(Q.reverse(),"beforeRouteLeave",x,S);for(const _ of Q)_.leaveGuards.forEach(E=>{j.push(xn(E,x,S))});const m=Me.bind(null,x,S);return j.push(m),Pe(j).then(()=>{j=[];for(const _ of o.list())j.push(xn(_,x,S));return j.push(m),Pe(j)}).then(()=>{j=xo(Te,"beforeRouteUpdate",x,S);for(const _ of Te)_.updateGuards.forEach(E=>{j.push(xn(E,x,S))});return j.push(m),Pe(j)}).then(()=>{j=[];for(const _ of $e)if(_.beforeEnter)if(Vt(_.beforeEnter))for(const E of _.beforeEnter)j.push(xn(E,x,S));else j.push(xn(_.beforeEnter,x,S));return j.push(m),Pe(j)}).then(()=>(x.matched.forEach(_=>_.enterCallbacks={}),j=xo($e,"beforeRouteEnter",x,S,oe),j.push(m),Pe(j))).then(()=>{j=[];for(const _ of a.list())j.push(xn(_,x,S));return j.push(m),Pe(j)}).catch(_=>cn(_,8)?_:Promise.reject(_))}function Re(x,S,j){c.list().forEach(Q=>oe(()=>Q(x,S,j)))}function J(x,S,j,Q,Te){const $e=k(x,S);if($e)return $e;const m=S===Cn,_=ws?history.state:{};j&&(Q||m?i.replace(x.fullPath,xe({scroll:m&&_&&_.scroll},Te)):i.push(x.fullPath,Te)),f.value=x,ct(x,S,j,m),P()}let ge;function Ve(){ge||(ge=i.listen((x,S,j)=>{if(!Wt.listening)return;const Q=H(x),Te=X(Q);if(Te){pe(xe(Te,{replace:!0}),Q).catch(Ys);return}p=Q;const $e=f.value;ws&&Z_(Xc($e.fullPath,j.delta),Pi()),be(Q,$e).catch(m=>cn(m,12)?m:cn(m,2)?(pe(m.to,Q).then(_=>{cn(_,20)&&!j.delta&&j.type===ar.pop&&i.go(-1,!1)}).catch(Ys),Promise.reject()):(j.delta&&i.go(-j.delta,!1),ve(m,Q,$e))).then(m=>{m=m||J(Q,$e,!1),m&&(j.delta&&!cn(m,8)?i.go(-j.delta,!1):j.type===ar.pop&&cn(m,20)&&i.go(-1,!1)),Re(Q,$e,m)}).catch(Ys)}))}let lt=Hs(),Be=Hs(),ye;function ve(x,S,j){P(x);const Q=Be.list();return Q.length?Q.forEach(Te=>Te(x,S,j)):console.error(x),Promise.reject(x)}function wt(){return ye&&f.value!==Cn?Promise.resolve():new Promise((x,S)=>{lt.add([x,S])})}function P(x){return ye||(ye=!x,Ve(),lt.list().forEach(([S,j])=>x?j(x):S()),lt.reset()),x}function ct(x,S,j,Q){const{scrollBehavior:Te}=e;if(!ws||!Te)return Promise.resolve();const $e=!j&&eb(Xc(x.fullPath,0))||(Q||!j)&&history.state&&history.state.scroll||null;return wi().then(()=>Te(x,S,$e)).then(m=>m&&Y_(m)).catch(m=>ve(m,x,S))}const Xe=x=>i.go(x);let zt;const Ze=new Set,Wt={currentRoute:f,listening:!0,addRoute:w,removeRoute:A,clearRoutes:t.clearRoutes,hasRoute:q,getRoutes:I,resolve:H,options:e,push:se,replace:Ce,go:Xe,back:()=>Xe(-1),forward:()=>Xe(1),beforeEach:o.add,beforeResolve:a.add,afterEach:c.add,onError:Be.add,isReady:wt,install(x){const S=this;x.component("RouterLink",Sb),x.component("RouterView",od),x.config.globalProperties.$router=S,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>In(f)}),ws&&!zt&&f.value===Cn&&(zt=!0,se(i.location).catch(Te=>{}));const j={};for(const Te in Cn)Object.defineProperty(j,Te,{get:()=>f.value[Te],enumerable:!0});x.provide(Li,S),x.provide(wa,Xu(j)),x.provide(Go,f);const Q=x.unmount;Ze.add(x),x.unmount=function(){Ze.delete(x),Ze.size<1&&(p=Cn,ge&&ge(),ge=null,f.value=Cn,zt=!1,ye=!1),Q()}}};function Pe(x){return x.reduce((S,j)=>S.then(()=>oe(j)),Promise.resolve())}return Wt}function Pb(e,t){const n=[],s=[],i=[],o=Math.max(t.matched.length,e.matched.length);for(let a=0;axs(p,c))?s.push(c):n.push(c));const f=e.matched[a];f&&(t.matched.find(p=>xs(p,f))||i.push(f))}return[n,s,i]}function dw(){return Lt(Li)}function hw(e){return Lt(wa)}const Lb=rn({__name:"App",setup(e){return(t,n)=>(Ue(),jt(In(od)))}});function ad(e,t){return function(){return e.apply(t,arguments)}}const{toString:Ib}=Object.prototype,{getPrototypeOf:Ea}=Object,Ii=(e=>t=>{const n=Ib.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),qt=e=>(e=e.toLowerCase(),t=>Ii(t)===e),Ni=e=>t=>typeof t===e,{isArray:Ls}=Array,lr=Ni("undefined");function Nb(e){return e!==null&&!lr(e)&&e.constructor!==null&&!lr(e.constructor)&&It(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const ld=qt("ArrayBuffer");function Db(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&ld(e.buffer),t}const kb=Ni("string"),It=Ni("function"),cd=Ni("number"),Di=e=>e!==null&&typeof e=="object",Mb=e=>e===!0||e===!1,ei=e=>{if(Ii(e)!=="object")return!1;const t=Ea(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},$b=qt("Date"),Fb=qt("File"),Bb=qt("Blob"),jb=qt("FileList"),Hb=e=>Di(e)&&It(e.pipe),Ub=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||It(e.append)&&((t=Ii(e))==="formdata"||t==="object"&&It(e.toString)&&e.toString()==="[object FormData]"))},Vb=qt("URLSearchParams"),[qb,zb,Wb,Kb]=["ReadableStream","Request","Response","Headers"].map(qt),Gb=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function pr(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let s,i;if(typeof e!="object"&&(e=[e]),Ls(e))for(s=0,i=e.length;s0;)if(i=n[s],t===i.toLowerCase())return i;return null}const fd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,dd=e=>!lr(e)&&e!==fd;function Jo(){const{caseless:e}=dd(this)&&this||{},t={},n=(s,i)=>{const o=e&&ud(t,i)||i;ei(t[o])&&ei(s)?t[o]=Jo(t[o],s):ei(s)?t[o]=Jo({},s):Ls(s)?t[o]=s.slice():t[o]=s};for(let s=0,i=arguments.length;s(pr(t,(i,o)=>{n&&It(i)?e[o]=ad(i,n):e[o]=i},{allOwnKeys:s}),e),Xb=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Qb=(e,t,n,s)=>{e.prototype=Object.create(t.prototype,s),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Yb=(e,t,n,s)=>{let i,o,a;const c={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),o=i.length;o-- >0;)a=i[o],(!s||s(a,e,t))&&!c[a]&&(t[a]=e[a],c[a]=!0);e=n!==!1&&Ea(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Zb=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const s=e.indexOf(t,n);return s!==-1&&s===n},ey=e=>{if(!e)return null;if(Ls(e))return e;let t=e.length;if(!cd(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},ty=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Ea(Uint8Array)),ny=(e,t)=>{const s=(e&&e[Symbol.iterator]).call(e);let i;for(;(i=s.next())&&!i.done;){const o=i.value;t.call(e,o[0],o[1])}},sy=(e,t)=>{let n;const s=[];for(;(n=e.exec(t))!==null;)s.push(n);return s},ry=qt("HTMLFormElement"),iy=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,s,i){return s.toUpperCase()+i}),uu=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),oy=qt("RegExp"),hd=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),s={};pr(n,(i,o)=>{let a;(a=t(i,o,e))!==!1&&(s[o]=a||i)}),Object.defineProperties(e,s)},ay=e=>{hd(e,(t,n)=>{if(It(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const s=e[n];if(It(s)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},ly=(e,t)=>{const n={},s=i=>{i.forEach(o=>{n[o]=!0})};return Ls(e)?s(e):s(String(e).split(t)),n},cy=()=>{},uy=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,Ro="abcdefghijklmnopqrstuvwxyz",fu="0123456789",pd={DIGIT:fu,ALPHA:Ro,ALPHA_DIGIT:Ro+Ro.toUpperCase()+fu},fy=(e=16,t=pd.ALPHA_DIGIT)=>{let n="";const{length:s}=t;for(;e--;)n+=t[Math.random()*s|0];return n};function dy(e){return!!(e&&It(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const hy=e=>{const t=new Array(10),n=(s,i)=>{if(Di(s)){if(t.indexOf(s)>=0)return;if(!("toJSON"in s)){t[i]=s;const o=Ls(s)?[]:{};return pr(s,(a,c)=>{const f=n(a,i+1);!lr(f)&&(o[c]=f)}),t[i]=void 0,o}}return s};return n(e,0)},py=qt("AsyncFunction"),my=e=>e&&(Di(e)||It(e))&&It(e.then)&&It(e.catch),T={isArray:Ls,isArrayBuffer:ld,isBuffer:Nb,isFormData:Ub,isArrayBufferView:Db,isString:kb,isNumber:cd,isBoolean:Mb,isObject:Di,isPlainObject:ei,isReadableStream:qb,isRequest:zb,isResponse:Wb,isHeaders:Kb,isUndefined:lr,isDate:$b,isFile:Fb,isBlob:Bb,isRegExp:oy,isFunction:It,isStream:Hb,isURLSearchParams:Vb,isTypedArray:ty,isFileList:jb,forEach:pr,merge:Jo,extend:Jb,trim:Gb,stripBOM:Xb,inherits:Qb,toFlatObject:Yb,kindOf:Ii,kindOfTest:qt,endsWith:Zb,toArray:ey,forEachEntry:ny,matchAll:sy,isHTMLForm:ry,hasOwnProperty:uu,hasOwnProp:uu,reduceDescriptors:hd,freezeMethods:ay,toObjectSet:ly,toCamelCase:iy,noop:cy,toFiniteNumber:uy,findKey:ud,global:fd,isContextDefined:dd,ALPHABET:pd,generateString:fy,isSpecCompliantForm:dy,toJSONObject:hy,isAsyncFn:py,isThenable:my};function le(e,t,n,s,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),s&&(this.request=s),i&&(this.response=i)}T.inherits(le,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:T.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const md=le.prototype,gd={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{gd[e]={value:e}});Object.defineProperties(le,gd);Object.defineProperty(md,"isAxiosError",{value:!0});le.from=(e,t,n,s,i,o)=>{const a=Object.create(md);return T.toFlatObject(e,a,function(f){return f!==Error.prototype},c=>c!=="isAxiosError"),le.call(a,e.message,t,n,s,i),a.cause=e,a.name=e.name,o&&Object.assign(a,o),a};const gy=null;function Xo(e){return T.isPlainObject(e)||T.isArray(e)}function _d(e){return T.endsWith(e,"[]")?e.slice(0,-2):e}function du(e,t,n){return e?e.concat(t).map(function(i,o){return i=_d(i),!n&&o?"["+i+"]":i}).join(n?".":""):t}function _y(e){return T.isArray(e)&&!e.some(Xo)}const by=T.toFlatObject(T,{},null,function(t){return/^is[A-Z]/.test(t)});function ki(e,t,n){if(!T.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=T.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(I,q){return!T.isUndefined(q[I])});const s=n.metaTokens,i=n.visitor||d,o=n.dots,a=n.indexes,f=(n.Blob||typeof Blob<"u"&&Blob)&&T.isSpecCompliantForm(t);if(!T.isFunction(i))throw new TypeError("visitor must be a function");function p(A){if(A===null)return"";if(T.isDate(A))return A.toISOString();if(!f&&T.isBlob(A))throw new le("Blob is not supported. Use a Buffer instead.");return T.isArrayBuffer(A)||T.isTypedArray(A)?f&&typeof Blob=="function"?new Blob([A]):Buffer.from(A):A}function d(A,I,q){let H=A;if(A&&!q&&typeof A=="object"){if(T.endsWith(I,"{}"))I=s?I:I.slice(0,-2),A=JSON.stringify(A);else if(T.isArray(A)&&_y(A)||(T.isFileList(A)||T.endsWith(I,"[]"))&&(H=T.toArray(A)))return I=_d(I),H.forEach(function(k,se){!(T.isUndefined(k)||k===null)&&t.append(a===!0?du([I],se,o):a===null?I:I+"[]",p(k))}),!1}return Xo(A)?!0:(t.append(du(q,I,o),p(A)),!1)}const g=[],y=Object.assign(by,{defaultVisitor:d,convertValue:p,isVisitable:Xo});function w(A,I){if(!T.isUndefined(A)){if(g.indexOf(A)!==-1)throw Error("Circular reference detected in "+I.join("."));g.push(A),T.forEach(A,function(H,B){(!(T.isUndefined(H)||H===null)&&i.call(t,H,T.isString(B)?B.trim():B,I,y))===!0&&w(H,I?I.concat(B):[B])}),g.pop()}}if(!T.isObject(e))throw new TypeError("data must be an object");return w(e),t}function hu(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(s){return t[s]})}function Ca(e,t){this._pairs=[],e&&ki(e,this,t)}const bd=Ca.prototype;bd.append=function(t,n){this._pairs.push([t,n])};bd.toString=function(t){const n=t?function(s){return t.call(this,s,hu)}:hu;return this._pairs.map(function(i){return n(i[0])+"="+n(i[1])},"").join("&")};function yy(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function yd(e,t,n){if(!t)return e;const s=n&&n.encode||yy,i=n&&n.serialize;let o;if(i?o=i(t,n):o=T.isURLSearchParams(t)?t.toString():new Ca(t,n).toString(s),o){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class pu{constructor(){this.handlers=[]}use(t,n,s){return this.handlers.push({fulfilled:t,rejected:n,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){T.forEach(this.handlers,function(s){s!==null&&t(s)})}}const vd={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},vy=typeof URLSearchParams<"u"?URLSearchParams:Ca,wy=typeof FormData<"u"?FormData:null,Ey=typeof Blob<"u"?Blob:null,Cy={isBrowser:!0,classes:{URLSearchParams:vy,FormData:wy,Blob:Ey},protocols:["http","https","file","blob","url","data"]},Ta=typeof window<"u"&&typeof document<"u",Ty=(e=>Ta&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),Sy=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Ay=Ta&&window.location.href||"http://localhost",Oy=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ta,hasStandardBrowserEnv:Ty,hasStandardBrowserWebWorkerEnv:Sy,origin:Ay},Symbol.toStringTag,{value:"Module"})),Ut={...Oy,...Cy};function xy(e,t){return ki(e,new Ut.classes.URLSearchParams,Object.assign({visitor:function(n,s,i,o){return Ut.isNode&&T.isBuffer(n)?(this.append(s,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},t))}function Ry(e){return T.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Py(e){const t={},n=Object.keys(e);let s;const i=n.length;let o;for(s=0;s=n.length;return a=!a&&T.isArray(i)?i.length:a,f?(T.hasOwnProp(i,a)?i[a]=[i[a],s]:i[a]=s,!c):((!i[a]||!T.isObject(i[a]))&&(i[a]=[]),t(n,s,i[a],o)&&T.isArray(i[a])&&(i[a]=Py(i[a])),!c)}if(T.isFormData(e)&&T.isFunction(e.entries)){const n={};return T.forEachEntry(e,(s,i)=>{t(Ry(s),i,n,0)}),n}return null}function Ly(e,t,n){if(T.isString(e))try{return(t||JSON.parse)(e),T.trim(e)}catch(s){if(s.name!=="SyntaxError")throw s}return(n||JSON.stringify)(e)}const mr={transitional:vd,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const s=n.getContentType()||"",i=s.indexOf("application/json")>-1,o=T.isObject(t);if(o&&T.isHTMLForm(t)&&(t=new FormData(t)),T.isFormData(t))return i?JSON.stringify(wd(t)):t;if(T.isArrayBuffer(t)||T.isBuffer(t)||T.isStream(t)||T.isFile(t)||T.isBlob(t)||T.isReadableStream(t))return t;if(T.isArrayBufferView(t))return t.buffer;if(T.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(o){if(s.indexOf("application/x-www-form-urlencoded")>-1)return xy(t,this.formSerializer).toString();if((c=T.isFileList(t))||s.indexOf("multipart/form-data")>-1){const f=this.env&&this.env.FormData;return ki(c?{"files[]":t}:t,f&&new f,this.formSerializer)}}return o||i?(n.setContentType("application/json",!1),Ly(t)):t}],transformResponse:[function(t){const n=this.transitional||mr.transitional,s=n&&n.forcedJSONParsing,i=this.responseType==="json";if(T.isResponse(t)||T.isReadableStream(t))return t;if(t&&T.isString(t)&&(s&&!this.responseType||i)){const a=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(t)}catch(c){if(a)throw c.name==="SyntaxError"?le.from(c,le.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ut.classes.FormData,Blob:Ut.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};T.forEach(["delete","get","head","post","put","patch"],e=>{mr.headers[e]={}});const Iy=T.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ny=e=>{const t={};let n,s,i;return e&&e.split(` +`).forEach(function(a){i=a.indexOf(":"),n=a.substring(0,i).trim().toLowerCase(),s=a.substring(i+1).trim(),!(!n||t[n]&&Iy[n])&&(n==="set-cookie"?t[n]?t[n].push(s):t[n]=[s]:t[n]=t[n]?t[n]+", "+s:s)}),t},mu=Symbol("internals");function Us(e){return e&&String(e).trim().toLowerCase()}function ti(e){return e===!1||e==null?e:T.isArray(e)?e.map(ti):String(e)}function Dy(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=n.exec(e);)t[s[1]]=s[2];return t}const ky=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Po(e,t,n,s,i){if(T.isFunction(s))return s.call(this,t,n);if(i&&(t=n),!!T.isString(t)){if(T.isString(s))return t.indexOf(s)!==-1;if(T.isRegExp(s))return s.test(t)}}function My(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,s)=>n.toUpperCase()+s)}function $y(e,t){const n=T.toCamelCase(" "+t);["get","set","has"].forEach(s=>{Object.defineProperty(e,s+n,{value:function(i,o,a){return this[s].call(this,t,i,o,a)},configurable:!0})})}class ft{constructor(t){t&&this.set(t)}set(t,n,s){const i=this;function o(c,f,p){const d=Us(f);if(!d)throw new Error("header name must be a non-empty string");const g=T.findKey(i,d);(!g||i[g]===void 0||p===!0||p===void 0&&i[g]!==!1)&&(i[g||f]=ti(c))}const a=(c,f)=>T.forEach(c,(p,d)=>o(p,d,f));if(T.isPlainObject(t)||t instanceof this.constructor)a(t,n);else if(T.isString(t)&&(t=t.trim())&&!ky(t))a(Ny(t),n);else if(T.isHeaders(t))for(const[c,f]of t.entries())o(f,c,s);else t!=null&&o(n,t,s);return this}get(t,n){if(t=Us(t),t){const s=T.findKey(this,t);if(s){const i=this[s];if(!n)return i;if(n===!0)return Dy(i);if(T.isFunction(n))return n.call(this,i,s);if(T.isRegExp(n))return n.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Us(t),t){const s=T.findKey(this,t);return!!(s&&this[s]!==void 0&&(!n||Po(this,this[s],s,n)))}return!1}delete(t,n){const s=this;let i=!1;function o(a){if(a=Us(a),a){const c=T.findKey(s,a);c&&(!n||Po(s,s[c],c,n))&&(delete s[c],i=!0)}}return T.isArray(t)?t.forEach(o):o(t),i}clear(t){const n=Object.keys(this);let s=n.length,i=!1;for(;s--;){const o=n[s];(!t||Po(this,this[o],o,t,!0))&&(delete this[o],i=!0)}return i}normalize(t){const n=this,s={};return T.forEach(this,(i,o)=>{const a=T.findKey(s,o);if(a){n[a]=ti(i),delete n[o];return}const c=t?My(o):String(o).trim();c!==o&&delete n[o],n[c]=ti(i),s[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return T.forEach(this,(s,i)=>{s!=null&&s!==!1&&(n[i]=t&&T.isArray(s)?s.join(", "):s)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const s=new this(t);return n.forEach(i=>s.set(i)),s}static accessor(t){const s=(this[mu]=this[mu]={accessors:{}}).accessors,i=this.prototype;function o(a){const c=Us(a);s[c]||($y(i,a),s[c]=!0)}return T.isArray(t)?t.forEach(o):o(t),this}}ft.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);T.reduceDescriptors(ft.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(s){this[n]=s}}});T.freezeMethods(ft);function Lo(e,t){const n=this||mr,s=t||n,i=ft.from(s.headers);let o=s.data;return T.forEach(e,function(c){o=c.call(n,o,i.normalize(),t?t.status:void 0)}),i.normalize(),o}function Ed(e){return!!(e&&e.__CANCEL__)}function Is(e,t,n){le.call(this,e??"canceled",le.ERR_CANCELED,t,n),this.name="CanceledError"}T.inherits(Is,le,{__CANCEL__:!0});function Cd(e,t,n){const s=n.config.validateStatus;!n.status||!s||s(n.status)?e(n):t(new le("Request failed with status code "+n.status,[le.ERR_BAD_REQUEST,le.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Fy(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function By(e,t){e=e||10;const n=new Array(e),s=new Array(e);let i=0,o=0,a;return t=t!==void 0?t:1e3,function(f){const p=Date.now(),d=s[o];a||(a=p),n[i]=f,s[i]=p;let g=o,y=0;for(;g!==i;)y+=n[g++],g=g%e;if(i=(i+1)%e,i===o&&(o=(o+1)%e),p-as)return i&&(clearTimeout(i),i=null),n=c,e.apply(null,arguments);i||(i=setTimeout(()=>(i=null,n=Date.now(),e.apply(null,arguments)),s-(c-n)))}}const fi=(e,t,n=3)=>{let s=0;const i=By(50,250);return jy(o=>{const a=o.loaded,c=o.lengthComputable?o.total:void 0,f=a-s,p=i(f),d=a<=c;s=a;const g={loaded:a,total:c,progress:c?a/c:void 0,bytes:f,rate:p||void 0,estimated:p&&c&&d?(c-a)/p:void 0,event:o,lengthComputable:c!=null};g[t?"download":"upload"]=!0,e(g)},n)},Hy=Ut.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let s;function i(o){let a=o;return t&&(n.setAttribute("href",a),a=n.href),n.setAttribute("href",a),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return s=i(window.location.href),function(a){const c=T.isString(a)?i(a):a;return c.protocol===s.protocol&&c.host===s.host}}():function(){return function(){return!0}}(),Uy=Ut.hasStandardBrowserEnv?{write(e,t,n,s,i,o){const a=[e+"="+encodeURIComponent(t)];T.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),T.isString(s)&&a.push("path="+s),T.isString(i)&&a.push("domain="+i),o===!0&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Vy(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function qy(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Td(e,t){return e&&!Vy(t)?qy(e,t):t}const gu=e=>e instanceof ft?{...e}:e;function rs(e,t){t=t||{};const n={};function s(p,d,g){return T.isPlainObject(p)&&T.isPlainObject(d)?T.merge.call({caseless:g},p,d):T.isPlainObject(d)?T.merge({},d):T.isArray(d)?d.slice():d}function i(p,d,g){if(T.isUndefined(d)){if(!T.isUndefined(p))return s(void 0,p,g)}else return s(p,d,g)}function o(p,d){if(!T.isUndefined(d))return s(void 0,d)}function a(p,d){if(T.isUndefined(d)){if(!T.isUndefined(p))return s(void 0,p)}else return s(void 0,d)}function c(p,d,g){if(g in t)return s(p,d);if(g in e)return s(void 0,p)}const f={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:c,headers:(p,d)=>i(gu(p),gu(d),!0)};return T.forEach(Object.keys(Object.assign({},e,t)),function(d){const g=f[d]||i,y=g(e[d],t[d],d);T.isUndefined(y)&&g!==c||(n[d]=y)}),n}const Sd=e=>{const t=rs({},e);let{data:n,withXSRFToken:s,xsrfHeaderName:i,xsrfCookieName:o,headers:a,auth:c}=t;t.headers=a=ft.from(a),t.url=yd(Td(t.baseURL,t.url),e.params,e.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):"")));let f;if(T.isFormData(n)){if(Ut.hasStandardBrowserEnv||Ut.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((f=a.getContentType())!==!1){const[p,...d]=f?f.split(";").map(g=>g.trim()).filter(Boolean):[];a.setContentType([p||"multipart/form-data",...d].join("; "))}}if(Ut.hasStandardBrowserEnv&&(s&&T.isFunction(s)&&(s=s(t)),s||s!==!1&&Hy(t.url))){const p=i&&o&&Uy.read(o);p&&a.set(i,p)}return t},zy=typeof XMLHttpRequest<"u",Wy=zy&&function(e){return new Promise(function(n,s){const i=Sd(e);let o=i.data;const a=ft.from(i.headers).normalize();let{responseType:c}=i,f;function p(){i.cancelToken&&i.cancelToken.unsubscribe(f),i.signal&&i.signal.removeEventListener("abort",f)}let d=new XMLHttpRequest;d.open(i.method.toUpperCase(),i.url,!0),d.timeout=i.timeout;function g(){if(!d)return;const w=ft.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),I={data:!c||c==="text"||c==="json"?d.responseText:d.response,status:d.status,statusText:d.statusText,headers:w,config:e,request:d};Cd(function(H){n(H),p()},function(H){s(H),p()},I),d=null}"onloadend"in d?d.onloadend=g:d.onreadystatechange=function(){!d||d.readyState!==4||d.status===0&&!(d.responseURL&&d.responseURL.indexOf("file:")===0)||setTimeout(g)},d.onabort=function(){d&&(s(new le("Request aborted",le.ECONNABORTED,i,d)),d=null)},d.onerror=function(){s(new le("Network Error",le.ERR_NETWORK,i,d)),d=null},d.ontimeout=function(){let A=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const I=i.transitional||vd;i.timeoutErrorMessage&&(A=i.timeoutErrorMessage),s(new le(A,I.clarifyTimeoutError?le.ETIMEDOUT:le.ECONNABORTED,i,d)),d=null},o===void 0&&a.setContentType(null),"setRequestHeader"in d&&T.forEach(a.toJSON(),function(A,I){d.setRequestHeader(I,A)}),T.isUndefined(i.withCredentials)||(d.withCredentials=!!i.withCredentials),c&&c!=="json"&&(d.responseType=i.responseType),typeof i.onDownloadProgress=="function"&&d.addEventListener("progress",fi(i.onDownloadProgress,!0)),typeof i.onUploadProgress=="function"&&d.upload&&d.upload.addEventListener("progress",fi(i.onUploadProgress)),(i.cancelToken||i.signal)&&(f=w=>{d&&(s(!w||w.type?new Is(null,e,d):w),d.abort(),d=null)},i.cancelToken&&i.cancelToken.subscribe(f),i.signal&&(i.signal.aborted?f():i.signal.addEventListener("abort",f)));const y=Fy(i.url);if(y&&Ut.protocols.indexOf(y)===-1){s(new le("Unsupported protocol "+y+":",le.ERR_BAD_REQUEST,e));return}d.send(o||null)})},Ky=(e,t)=>{let n=new AbortController,s;const i=function(f){if(!s){s=!0,a();const p=f instanceof Error?f:this.reason;n.abort(p instanceof le?p:new Is(p instanceof Error?p.message:p))}};let o=t&&setTimeout(()=>{i(new le(`timeout ${t} of ms exceeded`,le.ETIMEDOUT))},t);const a=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(f=>{f&&(f.removeEventListener?f.removeEventListener("abort",i):f.unsubscribe(i))}),e=null)};e.forEach(f=>f&&f.addEventListener&&f.addEventListener("abort",i));const{signal:c}=n;return c.unsubscribe=a,[c,()=>{o&&clearTimeout(o),o=null}]},Gy=function*(e,t){let n=e.byteLength;if(!t||n{const o=Jy(e,t,i);let a=0;return new ReadableStream({type:"bytes",async pull(c){const{done:f,value:p}=await o.next();if(f){c.close(),s();return}let d=p.byteLength;n&&n(a+=d),c.enqueue(new Uint8Array(p))},cancel(c){return s(c),o.return()}},{highWaterMark:2})},bu=(e,t)=>{const n=e!=null;return s=>setTimeout(()=>t({lengthComputable:n,total:e,loaded:s}))},Mi=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Ad=Mi&&typeof ReadableStream=="function",Qo=Mi&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),Xy=Ad&&(()=>{let e=!1;const t=new Request(Ut.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})(),yu=64*1024,Yo=Ad&&!!(()=>{try{return T.isReadableStream(new Response("").body)}catch{}})(),di={stream:Yo&&(e=>e.body)};Mi&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!di[t]&&(di[t]=T.isFunction(e[t])?n=>n[t]():(n,s)=>{throw new le(`Response type '${t}' is not supported`,le.ERR_NOT_SUPPORT,s)})})})(new Response);const Qy=async e=>{if(e==null)return 0;if(T.isBlob(e))return e.size;if(T.isSpecCompliantForm(e))return(await new Request(e).arrayBuffer()).byteLength;if(T.isArrayBufferView(e))return e.byteLength;if(T.isURLSearchParams(e)&&(e=e+""),T.isString(e))return(await Qo(e)).byteLength},Yy=async(e,t)=>{const n=T.toFiniteNumber(e.getContentLength());return n??Qy(t)},Zy=Mi&&(async e=>{let{url:t,method:n,data:s,signal:i,cancelToken:o,timeout:a,onDownloadProgress:c,onUploadProgress:f,responseType:p,headers:d,withCredentials:g="same-origin",fetchOptions:y}=Sd(e);p=p?(p+"").toLowerCase():"text";let[w,A]=i||o||a?Ky([i,o],a):[],I,q;const H=()=>{!I&&setTimeout(()=>{w&&w.unsubscribe()}),I=!0};let B;try{if(f&&Xy&&n!=="get"&&n!=="head"&&(B=await Yy(d,s))!==0){let X=new Request(t,{method:"POST",body:s,duplex:"half"}),pe;T.isFormData(s)&&(pe=X.headers.get("content-type"))&&d.setContentType(pe),X.body&&(s=_u(X.body,yu,bu(B,fi(f)),null,Qo))}T.isString(g)||(g=g?"cors":"omit"),q=new Request(t,{...y,signal:w,method:n.toUpperCase(),headers:d.normalize().toJSON(),body:s,duplex:"half",withCredentials:g});let k=await fetch(q);const se=Yo&&(p==="stream"||p==="response");if(Yo&&(c||se)){const X={};["status","statusText","headers"].forEach(Me=>{X[Me]=k[Me]});const pe=T.toFiniteNumber(k.headers.get("content-length"));k=new Response(_u(k.body,yu,c&&bu(pe,fi(c,!0)),se&&H,Qo),X)}p=p||"text";let Ce=await di[T.findKey(di,p)||"text"](k,e);return!se&&H(),A&&A(),await new Promise((X,pe)=>{Cd(X,pe,{data:Ce,headers:ft.from(k.headers),status:k.status,statusText:k.statusText,config:e,request:q})})}catch(k){throw H(),k&&k.name==="TypeError"&&/fetch/i.test(k.message)?Object.assign(new le("Network Error",le.ERR_NETWORK,e,q),{cause:k.cause||k}):le.from(k,k&&k.code,e,q)}}),Zo={http:gy,xhr:Wy,fetch:Zy};T.forEach(Zo,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const vu=e=>`- ${e}`,ev=e=>T.isFunction(e)||e===null||e===!1,Od={getAdapter:e=>{e=T.isArray(e)?e:[e];const{length:t}=e;let n,s;const i={};for(let o=0;o`adapter ${c} `+(f===!1?"is not supported by the environment":"is not available in the build"));let a=t?o.length>1?`since : +`+o.map(vu).join(` +`):" "+vu(o[0]):"as no adapter specified";throw new le("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return s},adapters:Zo};function Io(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Is(null,e)}function wu(e){return Io(e),e.headers=ft.from(e.headers),e.data=Lo.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Od.getAdapter(e.adapter||mr.adapter)(e).then(function(s){return Io(e),s.data=Lo.call(e,e.transformResponse,s),s.headers=ft.from(s.headers),s},function(s){return Ed(s)||(Io(e),s&&s.response&&(s.response.data=Lo.call(e,e.transformResponse,s.response),s.response.headers=ft.from(s.response.headers))),Promise.reject(s)})}const xd="1.7.2",Sa={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Sa[e]=function(s){return typeof s===e||"a"+(t<1?"n ":" ")+e}});const Eu={};Sa.transitional=function(t,n,s){function i(o,a){return"[Axios v"+xd+"] Transitional option '"+o+"'"+a+(s?". "+s:"")}return(o,a,c)=>{if(t===!1)throw new le(i(a," has been removed"+(n?" in "+n:"")),le.ERR_DEPRECATED);return n&&!Eu[a]&&(Eu[a]=!0,console.warn(i(a," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,a,c):!0}};function tv(e,t,n){if(typeof e!="object")throw new le("options must be an object",le.ERR_BAD_OPTION_VALUE);const s=Object.keys(e);let i=s.length;for(;i-- >0;){const o=s[i],a=t[o];if(a){const c=e[o],f=c===void 0||a(c,o,e);if(f!==!0)throw new le("option "+o+" must be "+f,le.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new le("Unknown option "+o,le.ERR_BAD_OPTION)}}const ea={assertOptions:tv,validators:Sa},Tn=ea.validators;class ns{constructor(t){this.defaults=t,this.interceptors={request:new pu,response:new pu}}async request(t,n){try{return await this._request(t,n)}catch(s){if(s instanceof Error){let i;Error.captureStackTrace?Error.captureStackTrace(i={}):i=new Error;const o=i.stack?i.stack.replace(/^.+\n/,""):"";try{s.stack?o&&!String(s.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(s.stack+=` +`+o):s.stack=o}catch{}}throw s}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=rs(this.defaults,n);const{transitional:s,paramsSerializer:i,headers:o}=n;s!==void 0&&ea.assertOptions(s,{silentJSONParsing:Tn.transitional(Tn.boolean),forcedJSONParsing:Tn.transitional(Tn.boolean),clarifyTimeoutError:Tn.transitional(Tn.boolean)},!1),i!=null&&(T.isFunction(i)?n.paramsSerializer={serialize:i}:ea.assertOptions(i,{encode:Tn.function,serialize:Tn.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=o&&T.merge(o.common,o[n.method]);o&&T.forEach(["delete","get","head","post","put","patch","common"],A=>{delete o[A]}),n.headers=ft.concat(a,o);const c=[];let f=!0;this.interceptors.request.forEach(function(I){typeof I.runWhen=="function"&&I.runWhen(n)===!1||(f=f&&I.synchronous,c.unshift(I.fulfilled,I.rejected))});const p=[];this.interceptors.response.forEach(function(I){p.push(I.fulfilled,I.rejected)});let d,g=0,y;if(!f){const A=[wu.bind(this),void 0];for(A.unshift.apply(A,c),A.push.apply(A,p),y=A.length,d=Promise.resolve(n);g{if(!s._listeners)return;let o=s._listeners.length;for(;o-- >0;)s._listeners[o](i);s._listeners=null}),this.promise.then=i=>{let o;const a=new Promise(c=>{s.subscribe(c),o=c}).then(i);return a.cancel=function(){s.unsubscribe(o)},a},t(function(o,a,c){s.reason||(s.reason=new Is(o,a,c),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}static source(){let t;return{token:new Aa(function(i){t=i}),cancel:t}}}function nv(e){return function(n){return e.apply(null,n)}}function sv(e){return T.isObject(e)&&e.isAxiosError===!0}const ta={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(ta).forEach(([e,t])=>{ta[t]=e});function Rd(e){const t=new ns(e),n=ad(ns.prototype.request,t);return T.extend(n,ns.prototype,t,{allOwnKeys:!0}),T.extend(n,t,null,{allOwnKeys:!0}),n.create=function(i){return Rd(rs(e,i))},n}const Ke=Rd(mr);Ke.Axios=ns;Ke.CanceledError=Is;Ke.CancelToken=Aa;Ke.isCancel=Ed;Ke.VERSION=xd;Ke.toFormData=ki;Ke.AxiosError=le;Ke.Cancel=Ke.CanceledError;Ke.all=function(t){return Promise.all(t)};Ke.spread=nv;Ke.isAxiosError=sv;Ke.mergeConfig=rs;Ke.AxiosHeaders=ft;Ke.formToJSON=e=>wd(T.isHTMLForm(e)?new FormData(e):e);Ke.getAdapter=Od.getAdapter;Ke.HttpStatusCode=ta;Ke.default=Ke;const rv="modulepreload",iv=function(e){return"/"+e},Cu={},Vs=function(t,n,s){let i=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),a=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));i=Promise.all(n.map(c=>{if(c=iv(c),c in Cu)return;Cu[c]=!0;const f=c.endsWith(".css"),p=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${p}`))return;const d=document.createElement("link");if(d.rel=f?"stylesheet":rv,f||(d.as="script",d.crossOrigin=""),d.href=c,a&&d.setAttribute("nonce",a),document.head.appendChild(d),f)return new Promise((g,y)=>{d.addEventListener("load",g),d.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${c}`)))})}))}return i.then(()=>t()).catch(o=>{const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o})},Pd=Rb({history:rb(),routes:[{path:"/web",name:"rootOssList",component:()=>Vs(()=>import("./OssList-yJs4c2WL.js"),__vite__mapDeps([0,1,2,3,4]))},{path:"/web/oss/list",name:"ossList",component:()=>Vs(()=>import("./OssList-yJs4c2WL.js"),__vite__mapDeps([0,1,2,3,4]))},{path:"/web/generate/yaml",name:"yamlGenerate",component:()=>Vs(()=>import("./YamlGenerate-DfVGZ_xy.js"),__vite__mapDeps([5,4,6]))},{path:"/web/repository/list",name:"repositoryList",component:()=>Vs(()=>import("./RepositoryList-Dm4ewv_H.js"),__vite__mapDeps([7,1,2,3,8,4]))},{path:"/web/repository/detail/:repositoryName",name:"repositoryDetail",component:()=>Vs(()=>import("./RepositoryDetail-DRB9lejo.js"),__vite__mapDeps([9,8,4,2,3]))}]});Pd.beforeEach(async(e,t,n)=>{console.log("## to ### : ",e),console.log("## from ### : ",t),n()});var ov=Object.defineProperty,Tu=Object.getOwnPropertySymbols,av=Object.prototype.hasOwnProperty,lv=Object.prototype.propertyIsEnumerable,Su=(e,t,n)=>t in e?ov(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ld=(e,t)=>{for(var n in t||(t={}))av.call(t,n)&&Su(e,n,t[n]);if(Tu)for(var n of Tu(t))lv.call(t,n)&&Su(e,n,t[n]);return e},$i=e=>typeof e=="function",Fi=e=>typeof e=="string",Id=e=>Fi(e)&&e.trim().length>0,cv=e=>typeof e=="number",Zn=e=>typeof e>"u",cr=e=>typeof e=="object"&&e!==null,uv=e=>tn(e,"tag")&&Id(e.tag),Nd=e=>window.TouchEvent&&e instanceof TouchEvent,Dd=e=>tn(e,"component")&&kd(e.component),fv=e=>$i(e)||cr(e),kd=e=>!Zn(e)&&(Fi(e)||fv(e)||Dd(e)),Au=e=>cr(e)&&["height","width","right","left","top","bottom"].every(t=>cv(e[t])),tn=(e,t)=>(cr(e)||$i(e))&&t in e,dv=(e=>()=>e++)(0);function No(e){return Nd(e)?e.targetTouches[0].clientX:e.clientX}function Ou(e){return Nd(e)?e.targetTouches[0].clientY:e.clientY}var hv=e=>{Zn(e.remove)?e.parentNode&&e.parentNode.removeChild(e):e.remove()},gr=e=>Dd(e)?gr(e.component):uv(e)?rn({render(){return e}}):typeof e=="string"?e:Ee(In(e)),pv=e=>{if(typeof e=="string")return e;const t=tn(e,"props")&&cr(e.props)?e.props:{},n=tn(e,"listeners")&&cr(e.listeners)?e.listeners:{};return{component:gr(e),props:t,listeners:n}},mv=()=>typeof window<"u",Oa=class{constructor(){this.allHandlers={}}getHandlers(e){return this.allHandlers[e]||[]}on(e,t){const n=this.getHandlers(e);n.push(t),this.allHandlers[e]=n}off(e,t){const n=this.getHandlers(e);n.splice(n.indexOf(t)>>>0,1)}emit(e,t){this.getHandlers(e).forEach(s=>s(t))}},gv=e=>["on","off","emit"].every(t=>tn(e,t)&&$i(e[t])),yt;(function(e){e.SUCCESS="success",e.ERROR="error",e.WARNING="warning",e.INFO="info",e.DEFAULT="default"})(yt||(yt={}));var hi;(function(e){e.TOP_LEFT="top-left",e.TOP_CENTER="top-center",e.TOP_RIGHT="top-right",e.BOTTOM_LEFT="bottom-left",e.BOTTOM_CENTER="bottom-center",e.BOTTOM_RIGHT="bottom-right"})(hi||(hi={}));var vt;(function(e){e.ADD="add",e.DISMISS="dismiss",e.UPDATE="update",e.CLEAR="clear",e.UPDATE_DEFAULTS="update_defaults"})(vt||(vt={}));var Ht="Vue-Toastification",Mt={type:{type:String,default:yt.DEFAULT},classNames:{type:[String,Array],default:()=>[]},trueBoolean:{type:Boolean,default:!0}},Md={type:Mt.type,customIcon:{type:[String,Boolean,Object,Function],default:!0}},ni={component:{type:[String,Object,Function,Boolean],default:"button"},classNames:Mt.classNames,showOnHover:{type:Boolean,default:!1},ariaLabel:{type:String,default:"close"}},na={timeout:{type:[Number,Boolean],default:5e3},hideProgressBar:{type:Boolean,default:!1},isRunning:{type:Boolean,default:!1}},$d={transition:{type:[Object,String],default:`${Ht}__bounce`}},_v={position:{type:String,default:hi.TOP_RIGHT},draggable:Mt.trueBoolean,draggablePercent:{type:Number,default:.6},pauseOnFocusLoss:Mt.trueBoolean,pauseOnHover:Mt.trueBoolean,closeOnClick:Mt.trueBoolean,timeout:na.timeout,hideProgressBar:na.hideProgressBar,toastClassName:Mt.classNames,bodyClassName:Mt.classNames,icon:Md.customIcon,closeButton:ni.component,closeButtonClassName:ni.classNames,showCloseButtonOnHover:ni.showOnHover,accessibility:{type:Object,default:()=>({toastRole:"alert",closeButtonLabel:"close"})},rtl:{type:Boolean,default:!1},eventBus:{type:Object,required:!1,default:()=>new Oa}},bv={id:{type:[String,Number],required:!0,default:0},type:Mt.type,content:{type:[String,Object,Function],required:!0,default:""},onClick:{type:Function,default:void 0},onClose:{type:Function,default:void 0}},yv={container:{type:[Object,Function],default:()=>document.body},newestOnTop:Mt.trueBoolean,maxToasts:{type:Number,default:20},transition:$d.transition,toastDefaults:Object,filterBeforeCreate:{type:Function,default:e=>e},filterToasts:{type:Function,default:e=>e},containerClassName:Mt.classNames,onMounted:Function,shareAppContext:[Boolean,Object]},pn={CORE_TOAST:_v,TOAST:bv,CONTAINER:yv,PROGRESS_BAR:na,ICON:Md,TRANSITION:$d,CLOSE_BUTTON:ni},Fd=rn({name:"VtProgressBar",props:pn.PROGRESS_BAR,data(){return{hasClass:!0}},computed:{style(){return{animationDuration:`${this.timeout}ms`,animationPlayState:this.isRunning?"running":"paused",opacity:this.hideProgressBar?0:1}},cpClass(){return this.hasClass?`${Ht}__progress-bar`:""}},watch:{timeout(){this.hasClass=!1,this.$nextTick(()=>this.hasClass=!0)}},mounted(){this.$el.addEventListener("animationend",this.animationEnded)},beforeUnmount(){this.$el.removeEventListener("animationend",this.animationEnded)},methods:{animationEnded(){this.$emit("close-toast")}}});function vv(e,t){return Ue(),Bt("div",{style:fr(e.style),class:kn(e.cpClass)},null,6)}Fd.render=vv;var wv=Fd,Bd=rn({name:"VtCloseButton",props:pn.CLOSE_BUTTON,computed:{buttonComponent(){return this.component!==!1?gr(this.component):"button"},classes(){const e=[`${Ht}__close-button`];return this.showOnHover&&e.push("show-on-hover"),e.concat(this.classNames)}}}),Ev=Ai(" × ");function Cv(e,t){return Ue(),jt(ga(e.buttonComponent),Oi({"aria-label":e.ariaLabel,class:e.classes},e.$attrs),{default:dr(()=>[Ev]),_:1},16,["aria-label","class"])}Bd.render=Cv;var Tv=Bd,jd={},Sv={"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"check-circle",class:"svg-inline--fa fa-check-circle fa-w-16",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},Av=is("path",{fill:"currentColor",d:"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"},null,-1),Ov=[Av];function xv(e,t){return Ue(),Bt("svg",Sv,Ov)}jd.render=xv;var Rv=jd,Hd={},Pv={"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"info-circle",class:"svg-inline--fa fa-info-circle fa-w-16",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},Lv=is("path",{fill:"currentColor",d:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"},null,-1),Iv=[Lv];function Nv(e,t){return Ue(),Bt("svg",Pv,Iv)}Hd.render=Nv;var xu=Hd,Ud={},Dv={"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"exclamation-circle",class:"svg-inline--fa fa-exclamation-circle fa-w-16",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},kv=is("path",{fill:"currentColor",d:"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"},null,-1),Mv=[kv];function $v(e,t){return Ue(),Bt("svg",Dv,Mv)}Ud.render=$v;var Fv=Ud,Vd={},Bv={"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"exclamation-triangle",class:"svg-inline--fa fa-exclamation-triangle fa-w-18",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512"},jv=is("path",{fill:"currentColor",d:"M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"},null,-1),Hv=[jv];function Uv(e,t){return Ue(),Bt("svg",Bv,Hv)}Vd.render=Uv;var Vv=Vd,qd=rn({name:"VtIcon",props:pn.ICON,computed:{customIconChildren(){return tn(this.customIcon,"iconChildren")?this.trimValue(this.customIcon.iconChildren):""},customIconClass(){return Fi(this.customIcon)?this.trimValue(this.customIcon):tn(this.customIcon,"iconClass")?this.trimValue(this.customIcon.iconClass):""},customIconTag(){return tn(this.customIcon,"iconTag")?this.trimValue(this.customIcon.iconTag,"i"):"i"},hasCustomIcon(){return this.customIconClass.length>0},component(){return this.hasCustomIcon?this.customIconTag:kd(this.customIcon)?gr(this.customIcon):this.iconTypeComponent},iconTypeComponent(){return{[yt.DEFAULT]:xu,[yt.INFO]:xu,[yt.SUCCESS]:Rv,[yt.ERROR]:Vv,[yt.WARNING]:Fv}[this.type]},iconClasses(){const e=[`${Ht}__icon`];return this.hasCustomIcon?e.concat(this.customIconClass):e}},methods:{trimValue(e,t=""){return Id(e)?e.trim():t}}});function qv(e,t){return Ue(),jt(ga(e.component),{class:kn(e.iconClasses)},{default:dr(()=>[Ai(Mu(e.customIconChildren),1)]),_:1},8,["class"])}qd.render=qv;var zv=qd,zd=rn({name:"VtToast",components:{ProgressBar:wv,CloseButton:Tv,Icon:zv},inheritAttrs:!1,props:Object.assign({},pn.CORE_TOAST,pn.TOAST),data(){return{isRunning:!0,disableTransitions:!1,beingDragged:!1,dragStart:0,dragPos:{x:0,y:0},dragRect:{}}},computed:{classes(){const e=[`${Ht}__toast`,`${Ht}__toast--${this.type}`,`${this.position}`].concat(this.toastClassName);return this.disableTransitions&&e.push("disable-transition"),this.rtl&&e.push(`${Ht}__toast--rtl`),e},bodyClasses(){return[`${Ht}__toast-${Fi(this.content)?"body":"component-body"}`].concat(this.bodyClassName)},draggableStyle(){return this.dragStart===this.dragPos.x?{}:this.beingDragged?{transform:`translateX(${this.dragDelta}px)`,opacity:1-Math.abs(this.dragDelta/this.removalDistance)}:{transition:"transform 0.2s, opacity 0.2s",transform:"translateX(0)",opacity:1}},dragDelta(){return this.beingDragged?this.dragPos.x-this.dragStart:0},removalDistance(){return Au(this.dragRect)?(this.dragRect.right-this.dragRect.left)*this.draggablePercent:0}},mounted(){this.draggable&&this.draggableSetup(),this.pauseOnFocusLoss&&this.focusSetup()},beforeUnmount(){this.draggable&&this.draggableCleanup(),this.pauseOnFocusLoss&&this.focusCleanup()},methods:{hasProp:tn,getVueComponentFromObj:gr,closeToast(){this.eventBus.emit(vt.DISMISS,this.id)},clickHandler(){this.onClick&&this.onClick(this.closeToast),this.closeOnClick&&(!this.beingDragged||this.dragStart===this.dragPos.x)&&this.closeToast()},timeoutHandler(){this.closeToast()},hoverPause(){this.pauseOnHover&&(this.isRunning=!1)},hoverPlay(){this.pauseOnHover&&(this.isRunning=!0)},focusPause(){this.isRunning=!1},focusPlay(){this.isRunning=!0},focusSetup(){addEventListener("blur",this.focusPause),addEventListener("focus",this.focusPlay)},focusCleanup(){removeEventListener("blur",this.focusPause),removeEventListener("focus",this.focusPlay)},draggableSetup(){const e=this.$el;e.addEventListener("touchstart",this.onDragStart,{passive:!0}),e.addEventListener("mousedown",this.onDragStart),addEventListener("touchmove",this.onDragMove,{passive:!1}),addEventListener("mousemove",this.onDragMove),addEventListener("touchend",this.onDragEnd),addEventListener("mouseup",this.onDragEnd)},draggableCleanup(){const e=this.$el;e.removeEventListener("touchstart",this.onDragStart),e.removeEventListener("mousedown",this.onDragStart),removeEventListener("touchmove",this.onDragMove),removeEventListener("mousemove",this.onDragMove),removeEventListener("touchend",this.onDragEnd),removeEventListener("mouseup",this.onDragEnd)},onDragStart(e){this.beingDragged=!0,this.dragPos={x:No(e),y:Ou(e)},this.dragStart=No(e),this.dragRect=this.$el.getBoundingClientRect()},onDragMove(e){this.beingDragged&&(e.preventDefault(),this.isRunning&&(this.isRunning=!1),this.dragPos={x:No(e),y:Ou(e)})},onDragEnd(){this.beingDragged&&(Math.abs(this.dragDelta)>=this.removalDistance?(this.disableTransitions=!0,this.$nextTick(()=>this.closeToast())):setTimeout(()=>{this.beingDragged=!1,Au(this.dragRect)&&this.pauseOnHover&&this.dragRect.bottom>=this.dragPos.y&&this.dragPos.y>=this.dragRect.top&&this.dragRect.left<=this.dragPos.x&&this.dragPos.x<=this.dragRect.right?this.isRunning=!1:this.isRunning=!0}))}}}),Wv=["role"];function Kv(e,t){const n=Ks("Icon"),s=Ks("CloseButton"),i=Ks("ProgressBar");return Ue(),Bt("div",{class:kn(e.classes),style:fr(e.draggableStyle),onClick:t[0]||(t[0]=(...o)=>e.clickHandler&&e.clickHandler(...o)),onMouseenter:t[1]||(t[1]=(...o)=>e.hoverPause&&e.hoverPause(...o)),onMouseleave:t[2]||(t[2]=(...o)=>e.hoverPlay&&e.hoverPlay(...o))},[e.icon?(Ue(),jt(n,{key:0,"custom-icon":e.icon,type:e.type},null,8,["custom-icon","type"])):Eo("v-if",!0),is("div",{role:e.accessibility.toastRole||"alert",class:kn(e.bodyClasses)},[typeof e.content=="string"?(Ue(),Bt(et,{key:0},[Ai(Mu(e.content),1)],2112)):(Ue(),jt(ga(e.getVueComponentFromObj(e.content)),Oi({key:1,"toast-id":e.id},e.hasProp(e.content,"props")?e.content.props:{},tg(e.hasProp(e.content,"listeners")?e.content.listeners:{}),{onCloseToast:e.closeToast}),null,16,["toast-id","onCloseToast"]))],10,Wv),e.closeButton?(Ue(),jt(s,{key:1,component:e.closeButton,"class-names":e.closeButtonClassName,"show-on-hover":e.showCloseButtonOnHover,"aria-label":e.accessibility.closeButtonLabel,onClick:v_(e.closeToast,["stop"])},null,8,["component","class-names","show-on-hover","aria-label","onClick"])):Eo("v-if",!0),e.timeout?(Ue(),jt(i,{key:2,"is-running":e.isRunning,"hide-progress-bar":e.hideProgressBar,timeout:e.timeout,onCloseToast:e.timeoutHandler},null,8,["is-running","hide-progress-bar","timeout","onCloseToast"])):Eo("v-if",!0)],38)}zd.render=Kv;var Gv=zd,Wd=rn({name:"VtTransition",props:pn.TRANSITION,emits:["leave"],methods:{hasProp:tn,leave(e){e instanceof HTMLElement&&(e.style.left=e.offsetLeft+"px",e.style.top=e.offsetTop+"px",e.style.width=getComputedStyle(e).width,e.style.position="absolute")}}});function Jv(e,t){return Ue(),jt(d_,{tag:"div","enter-active-class":e.transition.enter?e.transition.enter:`${e.transition}-enter-active`,"move-class":e.transition.move?e.transition.move:`${e.transition}-move`,"leave-active-class":e.transition.leave?e.transition.leave:`${e.transition}-leave-active`,onLeave:e.leave},{default:dr(()=>[eg(e.$slots,"default")]),_:3},8,["enter-active-class","move-class","leave-active-class","onLeave"])}Wd.render=Jv;var Xv=Wd,Kd=rn({name:"VueToastification",devtools:{hide:!0},components:{Toast:Gv,VtTransition:Xv},props:Object.assign({},pn.CORE_TOAST,pn.CONTAINER,pn.TRANSITION),data(){return{count:0,positions:Object.values(hi),toasts:{},defaults:{}}},computed:{toastArray(){return Object.values(this.toasts)},filteredToasts(){return this.defaults.filterToasts(this.toastArray)}},beforeMount(){const e=this.eventBus;e.on(vt.ADD,this.addToast),e.on(vt.CLEAR,this.clearToasts),e.on(vt.DISMISS,this.dismissToast),e.on(vt.UPDATE,this.updateToast),e.on(vt.UPDATE_DEFAULTS,this.updateDefaults),this.defaults=this.$props},mounted(){this.setup(this.container)},methods:{async setup(e){$i(e)&&(e=await e()),hv(this.$el),e.appendChild(this.$el)},setToast(e){Zn(e.id)||(this.toasts[e.id]=e)},addToast(e){e.content=pv(e.content);const t=Object.assign({},this.defaults,e.type&&this.defaults.toastDefaults&&this.defaults.toastDefaults[e.type],e),n=this.defaults.filterBeforeCreate(t,this.toastArray);n&&this.setToast(n)},dismissToast(e){const t=this.toasts[e];!Zn(t)&&!Zn(t.onClose)&&t.onClose(),delete this.toasts[e]},clearToasts(){Object.keys(this.toasts).forEach(e=>{this.dismissToast(e)})},getPositionToasts(e){const t=this.filteredToasts.filter(n=>n.position===e).slice(0,this.defaults.maxToasts);return this.defaults.newestOnTop?t.reverse():t},updateDefaults(e){Zn(e.container)||this.setup(e.container),this.defaults=Object.assign({},this.defaults,e)},updateToast({id:e,options:t,create:n}){this.toasts[e]?(t.timeout&&t.timeout===this.toasts[e].timeout&&t.timeout++,this.setToast(Object.assign({},this.toasts[e],t))):n&&this.addToast(Object.assign({},{id:e},t))},getClasses(e){return[`${Ht}__container`,e].concat(this.defaults.containerClassName)}}});function Qv(e,t){const n=Ks("Toast"),s=Ks("VtTransition");return Ue(),Bt("div",null,[(Ue(!0),Bt(et,null,mc(e.positions,i=>(Ue(),Bt("div",{key:i},[Ye(s,{transition:e.defaults.transition,class:kn(e.getClasses(i))},{default:dr(()=>[(Ue(!0),Bt(et,null,mc(e.getPositionToasts(i),o=>(Ue(),jt(n,Oi({key:o.id},o),null,16))),128))]),_:2},1032,["transition","class"])]))),128))])}Kd.render=Qv;var Yv=Kd,Ru=(e={},t=!0)=>{const n=e.eventBus=e.eventBus||new Oa;t&&wi(()=>{const o=Gf(Yv,Ld({},e)),a=o.mount(document.createElement("div")),c=e.onMounted;if(Zn(c)||c(a,o),e.shareAppContext){const f=e.shareAppContext;f===!0?console.warn(`[${Ht}] App to share context with was not provided.`):(o._context.components=f._context.components,o._context.directives=f._context.directives,o._context.mixins=f._context.mixins,o._context.provides=f._context.provides,o.config.globalProperties=f.config.globalProperties)}});const s=(o,a)=>{const c=Object.assign({},{id:dv(),type:yt.DEFAULT},a,{content:o});return n.emit(vt.ADD,c),c.id};s.clear=()=>n.emit(vt.CLEAR,void 0),s.updateDefaults=o=>{n.emit(vt.UPDATE_DEFAULTS,o)},s.dismiss=o=>{n.emit(vt.DISMISS,o)};function i(o,{content:a,options:c},f=!1){const p=Object.assign({},c,{content:a});n.emit(vt.UPDATE,{id:o,options:p,create:f})}return s.update=i,s.success=(o,a)=>s(o,Object.assign({},a,{type:yt.SUCCESS})),s.info=(o,a)=>s(o,Object.assign({},a,{type:yt.INFO})),s.error=(o,a)=>s(o,Object.assign({},a,{type:yt.ERROR})),s.warning=(o,a)=>s(o,Object.assign({},a,{type:yt.WARNING})),s},Zv=()=>{const e=()=>console.warn(`[${Ht}] This plugin does not support SSR!`);return new Proxy(e,{get(){return e}})};function Gd(e){return mv()?gv(e)?Ru({eventBus:e},!1):Ru(e,!0):Zv()}var Jd=Symbol("VueToastification"),Xd=new Oa,ew=(e,t)=>{(t==null?void 0:t.shareAppContext)===!0&&(t.shareAppContext=e);const n=Gd(Ld({eventBus:Xd},t));e.provide(Jd,n)},pw=e=>{const t=Ff()?Lt(Jd,void 0):void 0;return t||Gd(Xd)},tw=ew,nw=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function mw(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var sw={exports:{}};/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */(function(e,t){(function(n,s){e.exports=s()})(nw,function(){const n=new Map,s={set(u,r,l){n.has(u)||n.set(u,new Map);const h=n.get(u);h.has(r)||h.size===0?h.set(r,l):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(h.keys())[0]}.`)},get:(u,r)=>n.has(u)&&n.get(u).get(r)||null,remove(u,r){if(!n.has(u))return;const l=n.get(u);l.delete(r),l.size===0&&n.delete(u)}},i="transitionend",o=u=>(u&&window.CSS&&window.CSS.escape&&(u=u.replace(/#([^\s"#']+)/g,(r,l)=>`#${CSS.escape(l)}`)),u),a=u=>{u.dispatchEvent(new Event(i))},c=u=>!(!u||typeof u!="object")&&(u.jquery!==void 0&&(u=u[0]),u.nodeType!==void 0),f=u=>c(u)?u.jquery?u[0]:u:typeof u=="string"&&u.length>0?document.querySelector(o(u)):null,p=u=>{if(!c(u)||u.getClientRects().length===0)return!1;const r=getComputedStyle(u).getPropertyValue("visibility")==="visible",l=u.closest("details:not([open])");if(!l)return r;if(l!==u){const h=u.closest("summary");if(h&&h.parentNode!==l||h===null)return!1}return r},d=u=>!u||u.nodeType!==Node.ELEMENT_NODE||!!u.classList.contains("disabled")||(u.disabled!==void 0?u.disabled:u.hasAttribute("disabled")&&u.getAttribute("disabled")!=="false"),g=u=>{if(!document.documentElement.attachShadow)return null;if(typeof u.getRootNode=="function"){const r=u.getRootNode();return r instanceof ShadowRoot?r:null}return u instanceof ShadowRoot?u:u.parentNode?g(u.parentNode):null},y=()=>{},w=u=>{u.offsetHeight},A=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,I=[],q=()=>document.documentElement.dir==="rtl",H=u=>{var r;r=()=>{const l=A();if(l){const h=u.NAME,b=l.fn[h];l.fn[h]=u.jQueryInterface,l.fn[h].Constructor=u,l.fn[h].noConflict=()=>(l.fn[h]=b,u.jQueryInterface)}},document.readyState==="loading"?(I.length||document.addEventListener("DOMContentLoaded",()=>{for(const l of I)l()}),I.push(r)):r()},B=(u,r=[],l=u)=>typeof u=="function"?u(...r):l,k=(u,r,l=!0)=>{if(!l)return void B(u);const h=(C=>{if(!C)return 0;let{transitionDuration:L,transitionDelay:F}=window.getComputedStyle(C);const W=Number.parseFloat(L),K=Number.parseFloat(F);return W||K?(L=L.split(",")[0],F=F.split(",")[0],1e3*(Number.parseFloat(L)+Number.parseFloat(F))):0})(r)+5;let b=!1;const v=({target:C})=>{C===r&&(b=!0,r.removeEventListener(i,v),B(u))};r.addEventListener(i,v),setTimeout(()=>{b||a(r)},h)},se=(u,r,l,h)=>{const b=u.length;let v=u.indexOf(r);return v===-1?!l&&h?u[b-1]:u[0]:(v+=l?1:-1,h&&(v=(v+b)%b),u[Math.max(0,Math.min(v,b-1))])},Ce=/[^.]*(?=\..*)\.|.*/,X=/\..*/,pe=/::\d+$/,Me={};let oe=1;const be={mouseenter:"mouseover",mouseleave:"mouseout"},Re=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function J(u,r){return r&&`${r}::${oe++}`||u.uidEvent||oe++}function ge(u){const r=J(u);return u.uidEvent=r,Me[r]=Me[r]||{},Me[r]}function Ve(u,r,l=null){return Object.values(u).find(h=>h.callable===r&&h.delegationSelector===l)}function lt(u,r,l){const h=typeof r=="string",b=h?l:r||l;let v=wt(u);return Re.has(v)||(v=u),[h,b,v]}function Be(u,r,l,h,b){if(typeof r!="string"||!u)return;let[v,C,L]=lt(r,l,h);r in be&&(C=(re=>function(ne){if(!ne.relatedTarget||ne.relatedTarget!==ne.delegateTarget&&!ne.delegateTarget.contains(ne.relatedTarget))return re.call(this,ne)})(C));const F=ge(u),W=F[L]||(F[L]={}),K=Ve(W,C,v?l:null);if(K)return void(K.oneOff=K.oneOff&&b);const V=J(C,r.replace(Ce,"")),ue=v?function(ee,re,ne){return function ie(Le){const ke=ee.querySelectorAll(re);for(let{target:de}=Le;de&&de!==this;de=de.parentNode)for(const Se of ke)if(Se===de)return ct(Le,{delegateTarget:de}),ie.oneOff&&P.off(ee,Le.type,re,ne),ne.apply(de,[Le])}}(u,l,C):function(ee,re){return function ne(ie){return ct(ie,{delegateTarget:ee}),ne.oneOff&&P.off(ee,ie.type,re),re.apply(ee,[ie])}}(u,C);ue.delegationSelector=v?l:null,ue.callable=C,ue.oneOff=b,ue.uidEvent=V,W[V]=ue,u.addEventListener(L,ue,v)}function ye(u,r,l,h,b){const v=Ve(r[l],h,b);v&&(u.removeEventListener(l,v,!!b),delete r[l][v.uidEvent])}function ve(u,r,l,h){const b=r[l]||{};for(const[v,C]of Object.entries(b))v.includes(h)&&ye(u,r,l,C.callable,C.delegationSelector)}function wt(u){return u=u.replace(X,""),be[u]||u}const P={on(u,r,l,h){Be(u,r,l,h,!1)},one(u,r,l,h){Be(u,r,l,h,!0)},off(u,r,l,h){if(typeof r!="string"||!u)return;const[b,v,C]=lt(r,l,h),L=C!==r,F=ge(u),W=F[C]||{},K=r.startsWith(".");if(v===void 0){if(K)for(const V of Object.keys(F))ve(u,F,V,r.slice(1));for(const[V,ue]of Object.entries(W)){const ee=V.replace(pe,"");L&&!r.includes(ee)||ye(u,F,C,ue.callable,ue.delegationSelector)}}else{if(!Object.keys(W).length)return;ye(u,F,C,v,b?l:null)}},trigger(u,r,l){if(typeof r!="string"||!u)return null;const h=A();let b=null,v=!0,C=!0,L=!1;r!==wt(r)&&h&&(b=h.Event(r,l),h(u).trigger(b),v=!b.isPropagationStopped(),C=!b.isImmediatePropagationStopped(),L=b.isDefaultPrevented());const F=ct(new Event(r,{bubbles:v,cancelable:!0}),l);return L&&F.preventDefault(),C&&u.dispatchEvent(F),F.defaultPrevented&&b&&b.preventDefault(),F}};function ct(u,r={}){for(const[l,h]of Object.entries(r))try{u[l]=h}catch{Object.defineProperty(u,l,{configurable:!0,get:()=>h})}return u}function Xe(u){if(u==="true")return!0;if(u==="false")return!1;if(u===Number(u).toString())return Number(u);if(u===""||u==="null")return null;if(typeof u!="string")return u;try{return JSON.parse(decodeURIComponent(u))}catch{return u}}function zt(u){return u.replace(/[A-Z]/g,r=>`-${r.toLowerCase()}`)}const Ze={setDataAttribute(u,r,l){u.setAttribute(`data-bs-${zt(r)}`,l)},removeDataAttribute(u,r){u.removeAttribute(`data-bs-${zt(r)}`)},getDataAttributes(u){if(!u)return{};const r={},l=Object.keys(u.dataset).filter(h=>h.startsWith("bs")&&!h.startsWith("bsConfig"));for(const h of l){let b=h.replace(/^bs/,"");b=b.charAt(0).toLowerCase()+b.slice(1,b.length),r[b]=Xe(u.dataset[h])}return r},getDataAttribute:(u,r)=>Xe(u.getAttribute(`data-bs-${zt(r)}`))};class Wt{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(r){return r=this._mergeConfigObj(r),r=this._configAfterMerge(r),this._typeCheckConfig(r),r}_configAfterMerge(r){return r}_mergeConfigObj(r,l){const h=c(l)?Ze.getDataAttribute(l,"config"):{};return{...this.constructor.Default,...typeof h=="object"?h:{},...c(l)?Ze.getDataAttributes(l):{},...typeof r=="object"?r:{}}}_typeCheckConfig(r,l=this.constructor.DefaultType){for(const[b,v]of Object.entries(l)){const C=r[b],L=c(C)?"element":(h=C)==null?`${h}`:Object.prototype.toString.call(h).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(v).test(L))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${b}" provided type "${L}" but expected type "${v}".`)}var h}}class Pe extends Wt{constructor(r,l){super(),(r=f(r))&&(this._element=r,this._config=this._getConfig(l),s.set(this._element,this.constructor.DATA_KEY,this))}dispose(){s.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY);for(const r of Object.getOwnPropertyNames(this))this[r]=null}_queueCallback(r,l,h=!0){k(r,l,h)}_getConfig(r){return r=this._mergeConfigObj(r,this._element),r=this._configAfterMerge(r),this._typeCheckConfig(r),r}static getInstance(r){return s.get(f(r),this.DATA_KEY)}static getOrCreateInstance(r,l={}){return this.getInstance(r)||new this(r,typeof l=="object"?l:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(r){return`${r}${this.EVENT_KEY}`}}const x=u=>{let r=u.getAttribute("data-bs-target");if(!r||r==="#"){let l=u.getAttribute("href");if(!l||!l.includes("#")&&!l.startsWith("."))return null;l.includes("#")&&!l.startsWith("#")&&(l=`#${l.split("#")[1]}`),r=l&&l!=="#"?l.trim():null}return r?r.split(",").map(l=>o(l)).join(","):null},S={find:(u,r=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(r,u)),findOne:(u,r=document.documentElement)=>Element.prototype.querySelector.call(r,u),children:(u,r)=>[].concat(...u.children).filter(l=>l.matches(r)),parents(u,r){const l=[];let h=u.parentNode.closest(r);for(;h;)l.push(h),h=h.parentNode.closest(r);return l},prev(u,r){let l=u.previousElementSibling;for(;l;){if(l.matches(r))return[l];l=l.previousElementSibling}return[]},next(u,r){let l=u.nextElementSibling;for(;l;){if(l.matches(r))return[l];l=l.nextElementSibling}return[]},focusableChildren(u){const r=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(l=>`${l}:not([tabindex^="-"])`).join(",");return this.find(r,u).filter(l=>!d(l)&&p(l))},getSelectorFromElement(u){const r=x(u);return r&&S.findOne(r)?r:null},getElementFromSelector(u){const r=x(u);return r?S.findOne(r):null},getMultipleElementsFromSelector(u){const r=x(u);return r?S.find(r):[]}},j=(u,r="hide")=>{const l=`click.dismiss${u.EVENT_KEY}`,h=u.NAME;P.on(document,l,`[data-bs-dismiss="${h}"]`,function(b){if(["A","AREA"].includes(this.tagName)&&b.preventDefault(),d(this))return;const v=S.getElementFromSelector(this)||this.closest(`.${h}`);u.getOrCreateInstance(v)[r]()})},Q=".bs.alert",Te=`close${Q}`,$e=`closed${Q}`;class m extends Pe{static get NAME(){return"alert"}close(){if(P.trigger(this._element,Te).defaultPrevented)return;this._element.classList.remove("show");const r=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,r)}_destroyElement(){this._element.remove(),P.trigger(this._element,$e),this.dispose()}static jQueryInterface(r){return this.each(function(){const l=m.getOrCreateInstance(this);if(typeof r=="string"){if(l[r]===void 0||r.startsWith("_")||r==="constructor")throw new TypeError(`No method named "${r}"`);l[r](this)}})}}j(m,"close"),H(m);const _='[data-bs-toggle="button"]';class E extends Pe{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(r){return this.each(function(){const l=E.getOrCreateInstance(this);r==="toggle"&&l[r]()})}}P.on(document,"click.bs.button.data-api",_,u=>{u.preventDefault();const r=u.target.closest(_);E.getOrCreateInstance(r).toggle()}),H(E);const R=".bs.swipe",O=`touchstart${R}`,M=`touchmove${R}`,U=`touchend${R}`,D=`pointerdown${R}`,$=`pointerup${R}`,N={endCallback:null,leftCallback:null,rightCallback:null},z={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Y extends Wt{constructor(r,l){super(),this._element=r,r&&Y.isSupported()&&(this._config=this._getConfig(l),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return N}static get DefaultType(){return z}static get NAME(){return"swipe"}dispose(){P.off(this._element,R)}_start(r){this._supportPointerEvents?this._eventIsPointerPenTouch(r)&&(this._deltaX=r.clientX):this._deltaX=r.touches[0].clientX}_end(r){this._eventIsPointerPenTouch(r)&&(this._deltaX=r.clientX-this._deltaX),this._handleSwipe(),B(this._config.endCallback)}_move(r){this._deltaX=r.touches&&r.touches.length>1?0:r.touches[0].clientX-this._deltaX}_handleSwipe(){const r=Math.abs(this._deltaX);if(r<=40)return;const l=r/this._deltaX;this._deltaX=0,l&&B(l>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(P.on(this._element,D,r=>this._start(r)),P.on(this._element,$,r=>this._end(r)),this._element.classList.add("pointer-event")):(P.on(this._element,O,r=>this._start(r)),P.on(this._element,M,r=>this._move(r)),P.on(this._element,U,r=>this._end(r)))}_eventIsPointerPenTouch(r){return this._supportPointerEvents&&(r.pointerType==="pen"||r.pointerType==="touch")}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const G=".bs.carousel",te=".data-api",ae="next",we="prev",he="left",je="right",pt=`slide${G}`,Kt=`slid${G}`,br=`keydown${G}`,$n=`mouseenter${G}`,yr=`mouseleave${G}`,nt=`dragstart${G}`,Et=`load${G}${te}`,vr=`click${G}${te}`,xa="carousel",wr="active",Ra=".active",Pa=".carousel-item",Qd=Ra+Pa,Yd={ArrowLeft:je,ArrowRight:he},Zd={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},eh={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class os extends Pe{constructor(r,l){super(r,l),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=S.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===xa&&this.cycle()}static get Default(){return Zd}static get DefaultType(){return eh}static get NAME(){return"carousel"}next(){this._slide(ae)}nextWhenVisible(){!document.hidden&&p(this._element)&&this.next()}prev(){this._slide(we)}pause(){this._isSliding&&a(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?P.one(this._element,Kt,()=>this.cycle()):this.cycle())}to(r){const l=this._getItems();if(r>l.length-1||r<0)return;if(this._isSliding)return void P.one(this._element,Kt,()=>this.to(r));const h=this._getItemIndex(this._getActive());if(h===r)return;const b=r>h?ae:we;this._slide(b,l[r])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(r){return r.defaultInterval=r.interval,r}_addEventListeners(){this._config.keyboard&&P.on(this._element,br,r=>this._keydown(r)),this._config.pause==="hover"&&(P.on(this._element,$n,()=>this.pause()),P.on(this._element,yr,()=>this._maybeEnableCycle())),this._config.touch&&Y.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const l of S.find(".carousel-item img",this._element))P.on(l,nt,h=>h.preventDefault());const r={leftCallback:()=>this._slide(this._directionToOrder(he)),rightCallback:()=>this._slide(this._directionToOrder(je)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new Y(this._element,r)}_keydown(r){if(/input|textarea/i.test(r.target.tagName))return;const l=Yd[r.key];l&&(r.preventDefault(),this._slide(this._directionToOrder(l)))}_getItemIndex(r){return this._getItems().indexOf(r)}_setActiveIndicatorElement(r){if(!this._indicatorsElement)return;const l=S.findOne(Ra,this._indicatorsElement);l.classList.remove(wr),l.removeAttribute("aria-current");const h=S.findOne(`[data-bs-slide-to="${r}"]`,this._indicatorsElement);h&&(h.classList.add(wr),h.setAttribute("aria-current","true"))}_updateInterval(){const r=this._activeElement||this._getActive();if(!r)return;const l=Number.parseInt(r.getAttribute("data-bs-interval"),10);this._config.interval=l||this._config.defaultInterval}_slide(r,l=null){if(this._isSliding)return;const h=this._getActive(),b=r===ae,v=l||se(this._getItems(),h,b,this._config.wrap);if(v===h)return;const C=this._getItemIndex(v),L=V=>P.trigger(this._element,V,{relatedTarget:v,direction:this._orderToDirection(r),from:this._getItemIndex(h),to:C});if(L(pt).defaultPrevented||!h||!v)return;const F=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(C),this._activeElement=v;const W=b?"carousel-item-start":"carousel-item-end",K=b?"carousel-item-next":"carousel-item-prev";v.classList.add(K),w(v),h.classList.add(W),v.classList.add(W),this._queueCallback(()=>{v.classList.remove(W,K),v.classList.add(wr),h.classList.remove(wr,K,W),this._isSliding=!1,L(Kt)},h,this._isAnimated()),F&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return S.findOne(Qd,this._element)}_getItems(){return S.find(Pa,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(r){return q()?r===he?we:ae:r===he?ae:we}_orderToDirection(r){return q()?r===we?he:je:r===we?je:he}static jQueryInterface(r){return this.each(function(){const l=os.getOrCreateInstance(this,r);if(typeof r!="number"){if(typeof r=="string"){if(l[r]===void 0||r.startsWith("_")||r==="constructor")throw new TypeError(`No method named "${r}"`);l[r]()}}else l.to(r)})}}P.on(document,vr,"[data-bs-slide], [data-bs-slide-to]",function(u){const r=S.getElementFromSelector(this);if(!r||!r.classList.contains(xa))return;u.preventDefault();const l=os.getOrCreateInstance(r),h=this.getAttribute("data-bs-slide-to");return h?(l.to(h),void l._maybeEnableCycle()):Ze.getDataAttribute(this,"slide")==="next"?(l.next(),void l._maybeEnableCycle()):(l.prev(),void l._maybeEnableCycle())}),P.on(window,Et,()=>{const u=S.find('[data-bs-ride="carousel"]');for(const r of u)os.getOrCreateInstance(r)}),H(os);const Ns=".bs.collapse",th=`show${Ns}`,nh=`shown${Ns}`,sh=`hide${Ns}`,rh=`hidden${Ns}`,ih=`click${Ns}.data-api`,Bi="show",as="collapse",Er="collapsing",oh=`:scope .${as} .${as}`,ji='[data-bs-toggle="collapse"]',ah={parent:null,toggle:!0},lh={parent:"(null|element)",toggle:"boolean"};class ls extends Pe{constructor(r,l){super(r,l),this._isTransitioning=!1,this._triggerArray=[];const h=S.find(ji);for(const b of h){const v=S.getSelectorFromElement(b),C=S.find(v).filter(L=>L===this._element);v!==null&&C.length&&this._triggerArray.push(b)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return ah}static get DefaultType(){return lh}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let r=[];if(this._config.parent&&(r=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter(b=>b!==this._element).map(b=>ls.getOrCreateInstance(b,{toggle:!1}))),r.length&&r[0]._isTransitioning||P.trigger(this._element,th).defaultPrevented)return;for(const b of r)b.hide();const l=this._getDimension();this._element.classList.remove(as),this._element.classList.add(Er),this._element.style[l]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const h=`scroll${l[0].toUpperCase()+l.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(Er),this._element.classList.add(as,Bi),this._element.style[l]="",P.trigger(this._element,nh)},this._element,!0),this._element.style[l]=`${this._element[h]}px`}hide(){if(this._isTransitioning||!this._isShown()||P.trigger(this._element,sh).defaultPrevented)return;const r=this._getDimension();this._element.style[r]=`${this._element.getBoundingClientRect()[r]}px`,w(this._element),this._element.classList.add(Er),this._element.classList.remove(as,Bi);for(const l of this._triggerArray){const h=S.getElementFromSelector(l);h&&!this._isShown(h)&&this._addAriaAndCollapsedClass([l],!1)}this._isTransitioning=!0,this._element.style[r]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(Er),this._element.classList.add(as),P.trigger(this._element,rh)},this._element,!0)}_isShown(r=this._element){return r.classList.contains(Bi)}_configAfterMerge(r){return r.toggle=!!r.toggle,r.parent=f(r.parent),r}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const r=this._getFirstLevelChildren(ji);for(const l of r){const h=S.getElementFromSelector(l);h&&this._addAriaAndCollapsedClass([l],this._isShown(h))}}_getFirstLevelChildren(r){const l=S.find(oh,this._config.parent);return S.find(r,this._config.parent).filter(h=>!l.includes(h))}_addAriaAndCollapsedClass(r,l){if(r.length)for(const h of r)h.classList.toggle("collapsed",!l),h.setAttribute("aria-expanded",l)}static jQueryInterface(r){const l={};return typeof r=="string"&&/show|hide/.test(r)&&(l.toggle=!1),this.each(function(){const h=ls.getOrCreateInstance(this,l);if(typeof r=="string"){if(h[r]===void 0)throw new TypeError(`No method named "${r}"`);h[r]()}})}}P.on(document,ih,ji,function(u){(u.target.tagName==="A"||u.delegateTarget&&u.delegateTarget.tagName==="A")&&u.preventDefault();for(const r of S.getMultipleElementsFromSelector(this))ls.getOrCreateInstance(r,{toggle:!1}).toggle()}),H(ls);var st="top",mt="bottom",gt="right",rt="left",Cr="auto",cs=[st,mt,gt,rt],Fn="start",us="end",La="clippingParents",Hi="viewport",fs="popper",Ia="reference",Ui=cs.reduce(function(u,r){return u.concat([r+"-"+Fn,r+"-"+us])},[]),Vi=[].concat(cs,[Cr]).reduce(function(u,r){return u.concat([r,r+"-"+Fn,r+"-"+us])},[]),Na="beforeRead",Da="read",ka="afterRead",Ma="beforeMain",$a="main",Fa="afterMain",Ba="beforeWrite",ja="write",Ha="afterWrite",Ua=[Na,Da,ka,Ma,$a,Fa,Ba,ja,Ha];function Gt(u){return u?(u.nodeName||"").toLowerCase():null}function _t(u){if(u==null)return window;if(u.toString()!=="[object Window]"){var r=u.ownerDocument;return r&&r.defaultView||window}return u}function Bn(u){return u instanceof _t(u).Element||u instanceof Element}function Ct(u){return u instanceof _t(u).HTMLElement||u instanceof HTMLElement}function qi(u){return typeof ShadowRoot<"u"&&(u instanceof _t(u).ShadowRoot||u instanceof ShadowRoot)}const zi={name:"applyStyles",enabled:!0,phase:"write",fn:function(u){var r=u.state;Object.keys(r.elements).forEach(function(l){var h=r.styles[l]||{},b=r.attributes[l]||{},v=r.elements[l];Ct(v)&&Gt(v)&&(Object.assign(v.style,h),Object.keys(b).forEach(function(C){var L=b[C];L===!1?v.removeAttribute(C):v.setAttribute(C,L===!0?"":L)}))})},effect:function(u){var r=u.state,l={popper:{position:r.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(r.elements.popper.style,l.popper),r.styles=l,r.elements.arrow&&Object.assign(r.elements.arrow.style,l.arrow),function(){Object.keys(r.elements).forEach(function(h){var b=r.elements[h],v=r.attributes[h]||{},C=Object.keys(r.styles.hasOwnProperty(h)?r.styles[h]:l[h]).reduce(function(L,F){return L[F]="",L},{});Ct(b)&&Gt(b)&&(Object.assign(b.style,C),Object.keys(v).forEach(function(L){b.removeAttribute(L)}))})}},requires:["computeStyles"]};function Jt(u){return u.split("-")[0]}var jn=Math.max,Tr=Math.min,ds=Math.round;function Wi(){var u=navigator.userAgentData;return u!=null&&u.brands&&Array.isArray(u.brands)?u.brands.map(function(r){return r.brand+"/"+r.version}).join(" "):navigator.userAgent}function Va(){return!/^((?!chrome|android).)*safari/i.test(Wi())}function hs(u,r,l){r===void 0&&(r=!1),l===void 0&&(l=!1);var h=u.getBoundingClientRect(),b=1,v=1;r&&Ct(u)&&(b=u.offsetWidth>0&&ds(h.width)/u.offsetWidth||1,v=u.offsetHeight>0&&ds(h.height)/u.offsetHeight||1);var C=(Bn(u)?_t(u):window).visualViewport,L=!Va()&&l,F=(h.left+(L&&C?C.offsetLeft:0))/b,W=(h.top+(L&&C?C.offsetTop:0))/v,K=h.width/b,V=h.height/v;return{width:K,height:V,top:W,right:F+K,bottom:W+V,left:F,x:F,y:W}}function Ki(u){var r=hs(u),l=u.offsetWidth,h=u.offsetHeight;return Math.abs(r.width-l)<=1&&(l=r.width),Math.abs(r.height-h)<=1&&(h=r.height),{x:u.offsetLeft,y:u.offsetTop,width:l,height:h}}function qa(u,r){var l=r.getRootNode&&r.getRootNode();if(u.contains(r))return!0;if(l&&qi(l)){var h=r;do{if(h&&u.isSameNode(h))return!0;h=h.parentNode||h.host}while(h)}return!1}function on(u){return _t(u).getComputedStyle(u)}function ch(u){return["table","td","th"].indexOf(Gt(u))>=0}function bn(u){return((Bn(u)?u.ownerDocument:u.document)||window.document).documentElement}function Sr(u){return Gt(u)==="html"?u:u.assignedSlot||u.parentNode||(qi(u)?u.host:null)||bn(u)}function za(u){return Ct(u)&&on(u).position!=="fixed"?u.offsetParent:null}function Ds(u){for(var r=_t(u),l=za(u);l&&ch(l)&&on(l).position==="static";)l=za(l);return l&&(Gt(l)==="html"||Gt(l)==="body"&&on(l).position==="static")?r:l||function(h){var b=/firefox/i.test(Wi());if(/Trident/i.test(Wi())&&Ct(h)&&on(h).position==="fixed")return null;var v=Sr(h);for(qi(v)&&(v=v.host);Ct(v)&&["html","body"].indexOf(Gt(v))<0;){var C=on(v);if(C.transform!=="none"||C.perspective!=="none"||C.contain==="paint"||["transform","perspective"].indexOf(C.willChange)!==-1||b&&C.willChange==="filter"||b&&C.filter&&C.filter!=="none")return v;v=v.parentNode}return null}(u)||r}function Gi(u){return["top","bottom"].indexOf(u)>=0?"x":"y"}function ks(u,r,l){return jn(u,Tr(r,l))}function Wa(u){return Object.assign({},{top:0,right:0,bottom:0,left:0},u)}function Ka(u,r){return r.reduce(function(l,h){return l[h]=u,l},{})}const Ga={name:"arrow",enabled:!0,phase:"main",fn:function(u){var r,l=u.state,h=u.name,b=u.options,v=l.elements.arrow,C=l.modifiersData.popperOffsets,L=Jt(l.placement),F=Gi(L),W=[rt,gt].indexOf(L)>=0?"height":"width";if(v&&C){var K=function(Ie,Oe){return Wa(typeof(Ie=typeof Ie=="function"?Ie(Object.assign({},Oe.rects,{placement:Oe.placement})):Ie)!="number"?Ie:Ka(Ie,cs))}(b.padding,l),V=Ki(v),ue=F==="y"?st:rt,ee=F==="y"?mt:gt,re=l.rects.reference[W]+l.rects.reference[F]-C[F]-l.rects.popper[W],ne=C[F]-l.rects.reference[F],ie=Ds(v),Le=ie?F==="y"?ie.clientHeight||0:ie.clientWidth||0:0,ke=re/2-ne/2,de=K[ue],Se=Le-V[W]-K[ee],fe=Le/2-V[W]/2+ke,me=ks(de,fe,Se),Ae=F;l.modifiersData[h]=((r={})[Ae]=me,r.centerOffset=me-fe,r)}},effect:function(u){var r=u.state,l=u.options.element,h=l===void 0?"[data-popper-arrow]":l;h!=null&&(typeof h!="string"||(h=r.elements.popper.querySelector(h)))&&qa(r.elements.popper,h)&&(r.elements.arrow=h)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ps(u){return u.split("-")[1]}var uh={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Ja(u){var r,l=u.popper,h=u.popperRect,b=u.placement,v=u.variation,C=u.offsets,L=u.position,F=u.gpuAcceleration,W=u.adaptive,K=u.roundOffsets,V=u.isFixed,ue=C.x,ee=ue===void 0?0:ue,re=C.y,ne=re===void 0?0:re,ie=typeof K=="function"?K({x:ee,y:ne}):{x:ee,y:ne};ee=ie.x,ne=ie.y;var Le=C.hasOwnProperty("x"),ke=C.hasOwnProperty("y"),de=rt,Se=st,fe=window;if(W){var me=Ds(l),Ae="clientHeight",Ie="clientWidth";me===_t(l)&&on(me=bn(l)).position!=="static"&&L==="absolute"&&(Ae="scrollHeight",Ie="scrollWidth"),(b===st||(b===rt||b===gt)&&v===us)&&(Se=mt,ne-=(V&&me===fe&&fe.visualViewport?fe.visualViewport.height:me[Ae])-h.height,ne*=F?1:-1),b!==rt&&(b!==st&&b!==mt||v!==us)||(de=gt,ee-=(V&&me===fe&&fe.visualViewport?fe.visualViewport.width:me[Ie])-h.width,ee*=F?1:-1)}var Oe,qe=Object.assign({position:L},W&&uh),bt=K===!0?function(Dt,it){var St=Dt.x,At=Dt.y,He=it.devicePixelRatio||1;return{x:ds(St*He)/He||0,y:ds(At*He)/He||0}}({x:ee,y:ne},_t(l)):{x:ee,y:ne};return ee=bt.x,ne=bt.y,F?Object.assign({},qe,((Oe={})[Se]=ke?"0":"",Oe[de]=Le?"0":"",Oe.transform=(fe.devicePixelRatio||1)<=1?"translate("+ee+"px, "+ne+"px)":"translate3d("+ee+"px, "+ne+"px, 0)",Oe)):Object.assign({},qe,((r={})[Se]=ke?ne+"px":"",r[de]=Le?ee+"px":"",r.transform="",r))}const Ji={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(u){var r=u.state,l=u.options,h=l.gpuAcceleration,b=h===void 0||h,v=l.adaptive,C=v===void 0||v,L=l.roundOffsets,F=L===void 0||L,W={placement:Jt(r.placement),variation:ps(r.placement),popper:r.elements.popper,popperRect:r.rects.popper,gpuAcceleration:b,isFixed:r.options.strategy==="fixed"};r.modifiersData.popperOffsets!=null&&(r.styles.popper=Object.assign({},r.styles.popper,Ja(Object.assign({},W,{offsets:r.modifiersData.popperOffsets,position:r.options.strategy,adaptive:C,roundOffsets:F})))),r.modifiersData.arrow!=null&&(r.styles.arrow=Object.assign({},r.styles.arrow,Ja(Object.assign({},W,{offsets:r.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:F})))),r.attributes.popper=Object.assign({},r.attributes.popper,{"data-popper-placement":r.placement})},data:{}};var Ar={passive:!0};const Xi={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(u){var r=u.state,l=u.instance,h=u.options,b=h.scroll,v=b===void 0||b,C=h.resize,L=C===void 0||C,F=_t(r.elements.popper),W=[].concat(r.scrollParents.reference,r.scrollParents.popper);return v&&W.forEach(function(K){K.addEventListener("scroll",l.update,Ar)}),L&&F.addEventListener("resize",l.update,Ar),function(){v&&W.forEach(function(K){K.removeEventListener("scroll",l.update,Ar)}),L&&F.removeEventListener("resize",l.update,Ar)}},data:{}};var fh={left:"right",right:"left",bottom:"top",top:"bottom"};function Or(u){return u.replace(/left|right|bottom|top/g,function(r){return fh[r]})}var dh={start:"end",end:"start"};function Xa(u){return u.replace(/start|end/g,function(r){return dh[r]})}function Qi(u){var r=_t(u);return{scrollLeft:r.pageXOffset,scrollTop:r.pageYOffset}}function Yi(u){return hs(bn(u)).left+Qi(u).scrollLeft}function Zi(u){var r=on(u),l=r.overflow,h=r.overflowX,b=r.overflowY;return/auto|scroll|overlay|hidden/.test(l+b+h)}function Qa(u){return["html","body","#document"].indexOf(Gt(u))>=0?u.ownerDocument.body:Ct(u)&&Zi(u)?u:Qa(Sr(u))}function Ms(u,r){var l;r===void 0&&(r=[]);var h=Qa(u),b=h===((l=u.ownerDocument)==null?void 0:l.body),v=_t(h),C=b?[v].concat(v.visualViewport||[],Zi(h)?h:[]):h,L=r.concat(C);return b?L:L.concat(Ms(Sr(C)))}function eo(u){return Object.assign({},u,{left:u.x,top:u.y,right:u.x+u.width,bottom:u.y+u.height})}function Ya(u,r,l){return r===Hi?eo(function(h,b){var v=_t(h),C=bn(h),L=v.visualViewport,F=C.clientWidth,W=C.clientHeight,K=0,V=0;if(L){F=L.width,W=L.height;var ue=Va();(ue||!ue&&b==="fixed")&&(K=L.offsetLeft,V=L.offsetTop)}return{width:F,height:W,x:K+Yi(h),y:V}}(u,l)):Bn(r)?function(h,b){var v=hs(h,!1,b==="fixed");return v.top=v.top+h.clientTop,v.left=v.left+h.clientLeft,v.bottom=v.top+h.clientHeight,v.right=v.left+h.clientWidth,v.width=h.clientWidth,v.height=h.clientHeight,v.x=v.left,v.y=v.top,v}(r,l):eo(function(h){var b,v=bn(h),C=Qi(h),L=(b=h.ownerDocument)==null?void 0:b.body,F=jn(v.scrollWidth,v.clientWidth,L?L.scrollWidth:0,L?L.clientWidth:0),W=jn(v.scrollHeight,v.clientHeight,L?L.scrollHeight:0,L?L.clientHeight:0),K=-C.scrollLeft+Yi(h),V=-C.scrollTop;return on(L||v).direction==="rtl"&&(K+=jn(v.clientWidth,L?L.clientWidth:0)-F),{width:F,height:W,x:K,y:V}}(bn(u)))}function Za(u){var r,l=u.reference,h=u.element,b=u.placement,v=b?Jt(b):null,C=b?ps(b):null,L=l.x+l.width/2-h.width/2,F=l.y+l.height/2-h.height/2;switch(v){case st:r={x:L,y:l.y-h.height};break;case mt:r={x:L,y:l.y+l.height};break;case gt:r={x:l.x+l.width,y:F};break;case rt:r={x:l.x-h.width,y:F};break;default:r={x:l.x,y:l.y}}var W=v?Gi(v):null;if(W!=null){var K=W==="y"?"height":"width";switch(C){case Fn:r[W]=r[W]-(l[K]/2-h[K]/2);break;case us:r[W]=r[W]+(l[K]/2-h[K]/2)}}return r}function ms(u,r){r===void 0&&(r={});var l=r,h=l.placement,b=h===void 0?u.placement:h,v=l.strategy,C=v===void 0?u.strategy:v,L=l.boundary,F=L===void 0?La:L,W=l.rootBoundary,K=W===void 0?Hi:W,V=l.elementContext,ue=V===void 0?fs:V,ee=l.altBoundary,re=ee!==void 0&&ee,ne=l.padding,ie=ne===void 0?0:ne,Le=Wa(typeof ie!="number"?ie:Ka(ie,cs)),ke=ue===fs?Ia:fs,de=u.rects.popper,Se=u.elements[re?ke:ue],fe=function(it,St,At,He){var Xt=St==="clippingParents"?function(Ne){var ot=Ms(Sr(Ne)),Ot=["absolute","fixed"].indexOf(on(Ne).position)>=0&&Ct(Ne)?Ds(Ne):Ne;return Bn(Ot)?ot.filter(function(vn){return Bn(vn)&&qa(vn,Ot)&&Gt(vn)!=="body"}):[]}(it):[].concat(St),Qt=[].concat(Xt,[At]),bs=Qt[0],Ge=Qt.reduce(function(Ne,ot){var Ot=Ya(it,ot,He);return Ne.top=jn(Ot.top,Ne.top),Ne.right=Tr(Ot.right,Ne.right),Ne.bottom=Tr(Ot.bottom,Ne.bottom),Ne.left=jn(Ot.left,Ne.left),Ne},Ya(it,bs,He));return Ge.width=Ge.right-Ge.left,Ge.height=Ge.bottom-Ge.top,Ge.x=Ge.left,Ge.y=Ge.top,Ge}(Bn(Se)?Se:Se.contextElement||bn(u.elements.popper),F,K,C),me=hs(u.elements.reference),Ae=Za({reference:me,element:de,strategy:"absolute",placement:b}),Ie=eo(Object.assign({},de,Ae)),Oe=ue===fs?Ie:me,qe={top:fe.top-Oe.top+Le.top,bottom:Oe.bottom-fe.bottom+Le.bottom,left:fe.left-Oe.left+Le.left,right:Oe.right-fe.right+Le.right},bt=u.modifiersData.offset;if(ue===fs&&bt){var Dt=bt[b];Object.keys(qe).forEach(function(it){var St=[gt,mt].indexOf(it)>=0?1:-1,At=[st,mt].indexOf(it)>=0?"y":"x";qe[it]+=Dt[At]*St})}return qe}function hh(u,r){r===void 0&&(r={});var l=r,h=l.placement,b=l.boundary,v=l.rootBoundary,C=l.padding,L=l.flipVariations,F=l.allowedAutoPlacements,W=F===void 0?Vi:F,K=ps(h),V=K?L?Ui:Ui.filter(function(re){return ps(re)===K}):cs,ue=V.filter(function(re){return W.indexOf(re)>=0});ue.length===0&&(ue=V);var ee=ue.reduce(function(re,ne){return re[ne]=ms(u,{placement:ne,boundary:b,rootBoundary:v,padding:C})[Jt(ne)],re},{});return Object.keys(ee).sort(function(re,ne){return ee[re]-ee[ne]})}const el={name:"flip",enabled:!0,phase:"main",fn:function(u){var r=u.state,l=u.options,h=u.name;if(!r.modifiersData[h]._skip){for(var b=l.mainAxis,v=b===void 0||b,C=l.altAxis,L=C===void 0||C,F=l.fallbackPlacements,W=l.padding,K=l.boundary,V=l.rootBoundary,ue=l.altBoundary,ee=l.flipVariations,re=ee===void 0||ee,ne=l.allowedAutoPlacements,ie=r.options.placement,Le=Jt(ie),ke=F||(Le!==ie&&re?function(Ne){if(Jt(Ne)===Cr)return[];var ot=Or(Ne);return[Xa(Ne),ot,Xa(ot)]}(ie):[Or(ie)]),de=[ie].concat(ke).reduce(function(Ne,ot){return Ne.concat(Jt(ot)===Cr?hh(r,{placement:ot,boundary:K,rootBoundary:V,padding:W,flipVariations:re,allowedAutoPlacements:ne}):ot)},[]),Se=r.rects.reference,fe=r.rects.popper,me=new Map,Ae=!0,Ie=de[0],Oe=0;Oe=0,St=it?"width":"height",At=ms(r,{placement:qe,boundary:K,rootBoundary:V,altBoundary:ue,padding:W}),He=it?Dt?gt:rt:Dt?mt:st;Se[St]>fe[St]&&(He=Or(He));var Xt=Or(He),Qt=[];if(v&&Qt.push(At[bt]<=0),L&&Qt.push(At[He]<=0,At[Xt]<=0),Qt.every(function(Ne){return Ne})){Ie=qe,Ae=!1;break}me.set(qe,Qt)}if(Ae)for(var bs=function(Ne){var ot=de.find(function(Ot){var vn=me.get(Ot);if(vn)return vn.slice(0,Ne).every(function(Mr){return Mr})});if(ot)return Ie=ot,"break"},Ge=re?3:1;Ge>0&&bs(Ge)!=="break";Ge--);r.placement!==Ie&&(r.modifiersData[h]._skip=!0,r.placement=Ie,r.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function tl(u,r,l){return l===void 0&&(l={x:0,y:0}),{top:u.top-r.height-l.y,right:u.right-r.width+l.x,bottom:u.bottom-r.height+l.y,left:u.left-r.width-l.x}}function nl(u){return[st,gt,mt,rt].some(function(r){return u[r]>=0})}const sl={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(u){var r=u.state,l=u.name,h=r.rects.reference,b=r.rects.popper,v=r.modifiersData.preventOverflow,C=ms(r,{elementContext:"reference"}),L=ms(r,{altBoundary:!0}),F=tl(C,h),W=tl(L,b,v),K=nl(F),V=nl(W);r.modifiersData[l]={referenceClippingOffsets:F,popperEscapeOffsets:W,isReferenceHidden:K,hasPopperEscaped:V},r.attributes.popper=Object.assign({},r.attributes.popper,{"data-popper-reference-hidden":K,"data-popper-escaped":V})}},rl={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(u){var r=u.state,l=u.options,h=u.name,b=l.offset,v=b===void 0?[0,0]:b,C=Vi.reduce(function(K,V){return K[V]=function(ue,ee,re){var ne=Jt(ue),ie=[rt,st].indexOf(ne)>=0?-1:1,Le=typeof re=="function"?re(Object.assign({},ee,{placement:ue})):re,ke=Le[0],de=Le[1];return ke=ke||0,de=(de||0)*ie,[rt,gt].indexOf(ne)>=0?{x:de,y:ke}:{x:ke,y:de}}(V,r.rects,v),K},{}),L=C[r.placement],F=L.x,W=L.y;r.modifiersData.popperOffsets!=null&&(r.modifiersData.popperOffsets.x+=F,r.modifiersData.popperOffsets.y+=W),r.modifiersData[h]=C}},to={name:"popperOffsets",enabled:!0,phase:"read",fn:function(u){var r=u.state,l=u.name;r.modifiersData[l]=Za({reference:r.rects.reference,element:r.rects.popper,strategy:"absolute",placement:r.placement})},data:{}},il={name:"preventOverflow",enabled:!0,phase:"main",fn:function(u){var r=u.state,l=u.options,h=u.name,b=l.mainAxis,v=b===void 0||b,C=l.altAxis,L=C!==void 0&&C,F=l.boundary,W=l.rootBoundary,K=l.altBoundary,V=l.padding,ue=l.tether,ee=ue===void 0||ue,re=l.tetherOffset,ne=re===void 0?0:re,ie=ms(r,{boundary:F,rootBoundary:W,padding:V,altBoundary:K}),Le=Jt(r.placement),ke=ps(r.placement),de=!ke,Se=Gi(Le),fe=Se==="x"?"y":"x",me=r.modifiersData.popperOffsets,Ae=r.rects.reference,Ie=r.rects.popper,Oe=typeof ne=="function"?ne(Object.assign({},r.rects,{placement:r.placement})):ne,qe=typeof Oe=="number"?{mainAxis:Oe,altAxis:Oe}:Object.assign({mainAxis:0,altAxis:0},Oe),bt=r.modifiersData.offset?r.modifiersData.offset[r.placement]:null,Dt={x:0,y:0};if(me){if(v){var it,St=Se==="y"?st:rt,At=Se==="y"?mt:gt,He=Se==="y"?"height":"width",Xt=me[Se],Qt=Xt+ie[St],bs=Xt-ie[At],Ge=ee?-Ie[He]/2:0,Ne=ke===Fn?Ae[He]:Ie[He],ot=ke===Fn?-Ie[He]:-Ae[He],Ot=r.elements.arrow,vn=ee&&Ot?Ki(Ot):{width:0,height:0},Mr=r.modifiersData["arrow#persistent"]?r.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},zl=Mr[St],Wl=Mr[At],$r=ks(0,Ae[He],vn[He]),Up=de?Ae[He]/2-Ge-$r-zl-qe.mainAxis:Ne-$r-zl-qe.mainAxis,Vp=de?-Ae[He]/2+Ge+$r+Wl+qe.mainAxis:ot+$r+Wl+qe.mainAxis,mo=r.elements.arrow&&Ds(r.elements.arrow),qp=mo?Se==="y"?mo.clientTop||0:mo.clientLeft||0:0,Kl=(it=bt==null?void 0:bt[Se])!=null?it:0,zp=Xt+Vp-Kl,Gl=ks(ee?Tr(Qt,Xt+Up-Kl-qp):Qt,Xt,ee?jn(bs,zp):bs);me[Se]=Gl,Dt[Se]=Gl-Xt}if(L){var Jl,Wp=Se==="x"?st:rt,Kp=Se==="x"?mt:gt,Gn=me[fe],Fr=fe==="y"?"height":"width",Xl=Gn+ie[Wp],Ql=Gn-ie[Kp],go=[st,rt].indexOf(Le)!==-1,Yl=(Jl=bt==null?void 0:bt[fe])!=null?Jl:0,Zl=go?Xl:Gn-Ae[Fr]-Ie[Fr]-Yl+qe.altAxis,ec=go?Gn+Ae[Fr]+Ie[Fr]-Yl-qe.altAxis:Ql,tc=ee&&go?function(Gp,Jp,_o){var nc=ks(Gp,Jp,_o);return nc>_o?_o:nc}(Zl,Gn,ec):ks(ee?Zl:Xl,Gn,ee?ec:Ql);me[fe]=tc,Dt[fe]=tc-Gn}r.modifiersData[h]=Dt}},requiresIfExists:["offset"]};function ph(u,r,l){l===void 0&&(l=!1);var h,b,v=Ct(r),C=Ct(r)&&function(V){var ue=V.getBoundingClientRect(),ee=ds(ue.width)/V.offsetWidth||1,re=ds(ue.height)/V.offsetHeight||1;return ee!==1||re!==1}(r),L=bn(r),F=hs(u,C,l),W={scrollLeft:0,scrollTop:0},K={x:0,y:0};return(v||!v&&!l)&&((Gt(r)!=="body"||Zi(L))&&(W=(h=r)!==_t(h)&&Ct(h)?{scrollLeft:(b=h).scrollLeft,scrollTop:b.scrollTop}:Qi(h)),Ct(r)?((K=hs(r,!0)).x+=r.clientLeft,K.y+=r.clientTop):L&&(K.x=Yi(L))),{x:F.left+W.scrollLeft-K.x,y:F.top+W.scrollTop-K.y,width:F.width,height:F.height}}function mh(u){var r=new Map,l=new Set,h=[];function b(v){l.add(v.name),[].concat(v.requires||[],v.requiresIfExists||[]).forEach(function(C){if(!l.has(C)){var L=r.get(C);L&&b(L)}}),h.push(v)}return u.forEach(function(v){r.set(v.name,v)}),u.forEach(function(v){l.has(v.name)||b(v)}),h}var ol={placement:"bottom",modifiers:[],strategy:"absolute"};function al(){for(var u=arguments.length,r=new Array(u),l=0;lNumber.parseInt(l,10)):typeof r=="function"?l=>r(l,this._element):r}_getPopperConfig(){const r={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(Ze.setDataAttribute(this._menu,"popper","static"),r.modifiers=[{name:"applyStyles",enabled:!1}]),{...r,...B(this._config.popperConfig,[r])}}_selectMenuItem({key:r,target:l}){const h=S.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(b=>p(b));h.length&&se(h,l,r===ul,!h.includes(l)).focus()}static jQueryInterface(r){return this.each(function(){const l=Nt.getOrCreateInstance(this,r);if(typeof r=="string"){if(l[r]===void 0)throw new TypeError(`No method named "${r}"`);l[r]()}})}static clearMenus(r){if(r.button===2||r.type==="keyup"&&r.key!=="Tab")return;const l=S.find(Th);for(const h of l){const b=Nt.getInstance(h);if(!b||b._config.autoClose===!1)continue;const v=r.composedPath(),C=v.includes(b._menu);if(v.includes(b._element)||b._config.autoClose==="inside"&&!C||b._config.autoClose==="outside"&&C||b._menu.contains(r.target)&&(r.type==="keyup"&&r.key==="Tab"||/input|select|option|textarea|form/i.test(r.target.tagName)))continue;const L={relatedTarget:b._element};r.type==="click"&&(L.clickEvent=r),b._completeHide(L)}}static dataApiKeydownHandler(r){const l=/input|textarea/i.test(r.target.tagName),h=r.key==="Escape",b=[bh,ul].includes(r.key);if(!b&&!h||l&&!h)return;r.preventDefault();const v=this.matches(Un)?this:S.prev(this,Un)[0]||S.next(this,Un)[0]||S.findOne(Un,r.delegateTarget.parentNode),C=Nt.getOrCreateInstance(v);if(b)return r.stopPropagation(),C.show(),void C._selectMenuItem(r);C._isShown()&&(r.stopPropagation(),C.hide(),v.focus())}}P.on(document,dl,Un,Nt.dataApiKeydownHandler),P.on(document,dl,Rr,Nt.dataApiKeydownHandler),P.on(document,fl,Nt.clearMenus),P.on(document,Ch,Nt.clearMenus),P.on(document,fl,Un,function(u){u.preventDefault(),Nt.getOrCreateInstance(this).toggle()}),H(Nt);const hl="backdrop",pl="show",ml=`mousedown.bs.${hl}`,Nh={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Dh={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class gl extends Wt{constructor(r){super(),this._config=this._getConfig(r),this._isAppended=!1,this._element=null}static get Default(){return Nh}static get DefaultType(){return Dh}static get NAME(){return hl}show(r){if(!this._config.isVisible)return void B(r);this._append();const l=this._getElement();this._config.isAnimated&&w(l),l.classList.add(pl),this._emulateAnimation(()=>{B(r)})}hide(r){this._config.isVisible?(this._getElement().classList.remove(pl),this._emulateAnimation(()=>{this.dispose(),B(r)})):B(r)}dispose(){this._isAppended&&(P.off(this._element,ml),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const r=document.createElement("div");r.className=this._config.className,this._config.isAnimated&&r.classList.add("fade"),this._element=r}return this._element}_configAfterMerge(r){return r.rootElement=f(r.rootElement),r}_append(){if(this._isAppended)return;const r=this._getElement();this._config.rootElement.append(r),P.on(r,ml,()=>{B(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(r){k(r,this._getElement(),this._config.isAnimated)}}const Pr=".bs.focustrap",kh=`focusin${Pr}`,Mh=`keydown.tab${Pr}`,_l="backward",$h={autofocus:!0,trapElement:null},Fh={autofocus:"boolean",trapElement:"element"};class bl extends Wt{constructor(r){super(),this._config=this._getConfig(r),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return $h}static get DefaultType(){return Fh}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),P.off(document,Pr),P.on(document,kh,r=>this._handleFocusin(r)),P.on(document,Mh,r=>this._handleKeydown(r)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,P.off(document,Pr))}_handleFocusin(r){const{trapElement:l}=this._config;if(r.target===document||r.target===l||l.contains(r.target))return;const h=S.focusableChildren(l);h.length===0?l.focus():this._lastTabNavDirection===_l?h[h.length-1].focus():h[0].focus()}_handleKeydown(r){r.key==="Tab"&&(this._lastTabNavDirection=r.shiftKey?_l:"forward")}}const yl=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",vl=".sticky-top",Lr="padding-right",wl="margin-right";class ro{constructor(){this._element=document.body}getWidth(){const r=document.documentElement.clientWidth;return Math.abs(window.innerWidth-r)}hide(){const r=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Lr,l=>l+r),this._setElementAttributes(yl,Lr,l=>l+r),this._setElementAttributes(vl,wl,l=>l-r)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Lr),this._resetElementAttributes(yl,Lr),this._resetElementAttributes(vl,wl)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(r,l,h){const b=this.getWidth();this._applyManipulationCallback(r,v=>{if(v!==this._element&&window.innerWidth>v.clientWidth+b)return;this._saveInitialAttribute(v,l);const C=window.getComputedStyle(v).getPropertyValue(l);v.style.setProperty(l,`${h(Number.parseFloat(C))}px`)})}_saveInitialAttribute(r,l){const h=r.style.getPropertyValue(l);h&&Ze.setDataAttribute(r,l,h)}_resetElementAttributes(r,l){this._applyManipulationCallback(r,h=>{const b=Ze.getDataAttribute(h,l);b!==null?(Ze.removeDataAttribute(h,l),h.style.setProperty(l,b)):h.style.removeProperty(l)})}_applyManipulationCallback(r,l){if(c(r))l(r);else for(const h of S.find(r,this._element))l(h)}}const Tt=".bs.modal",Bh=`hide${Tt}`,jh=`hidePrevented${Tt}`,El=`hidden${Tt}`,Cl=`show${Tt}`,Hh=`shown${Tt}`,Uh=`resize${Tt}`,Vh=`click.dismiss${Tt}`,qh=`mousedown.dismiss${Tt}`,zh=`keydown.dismiss${Tt}`,Wh=`click${Tt}.data-api`,Tl="modal-open",Sl="show",io="modal-static",Kh={backdrop:!0,focus:!0,keyboard:!0},Gh={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Vn extends Pe{constructor(r,l){super(r,l),this._dialog=S.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new ro,this._addEventListeners()}static get Default(){return Kh}static get DefaultType(){return Gh}static get NAME(){return"modal"}toggle(r){return this._isShown?this.hide():this.show(r)}show(r){this._isShown||this._isTransitioning||P.trigger(this._element,Cl,{relatedTarget:r}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Tl),this._adjustDialog(),this._backdrop.show(()=>this._showElement(r)))}hide(){this._isShown&&!this._isTransitioning&&(P.trigger(this._element,Bh).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Sl),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated())))}dispose(){P.off(window,Tt),P.off(this._dialog,Tt),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new gl({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new bl({trapElement:this._element})}_showElement(r){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const l=S.findOne(".modal-body",this._dialog);l&&(l.scrollTop=0),w(this._element),this._element.classList.add(Sl),this._queueCallback(()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,P.trigger(this._element,Hh,{relatedTarget:r})},this._dialog,this._isAnimated())}_addEventListeners(){P.on(this._element,zh,r=>{r.key==="Escape"&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())}),P.on(window,Uh,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),P.on(this._element,qh,r=>{P.one(this._element,Vh,l=>{this._element===r.target&&this._element===l.target&&(this._config.backdrop!=="static"?this._config.backdrop&&this.hide():this._triggerBackdropTransition())})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(Tl),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,El)})}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,jh).defaultPrevented)return;const r=this._element.scrollHeight>document.documentElement.clientHeight,l=this._element.style.overflowY;l==="hidden"||this._element.classList.contains(io)||(r||(this._element.style.overflowY="hidden"),this._element.classList.add(io),this._queueCallback(()=>{this._element.classList.remove(io),this._queueCallback(()=>{this._element.style.overflowY=l},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const r=this._element.scrollHeight>document.documentElement.clientHeight,l=this._scrollBar.getWidth(),h=l>0;if(h&&!r){const b=q()?"paddingLeft":"paddingRight";this._element.style[b]=`${l}px`}if(!h&&r){const b=q()?"paddingRight":"paddingLeft";this._element.style[b]=`${l}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(r,l){return this.each(function(){const h=Vn.getOrCreateInstance(this,r);if(typeof r=="string"){if(h[r]===void 0)throw new TypeError(`No method named "${r}"`);h[r](l)}})}}P.on(document,Wh,'[data-bs-toggle="modal"]',function(u){const r=S.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&u.preventDefault(),P.one(r,Cl,h=>{h.defaultPrevented||P.one(r,El,()=>{p(this)&&this.focus()})});const l=S.findOne(".modal.show");l&&Vn.getInstance(l).hide(),Vn.getOrCreateInstance(r).toggle(this)}),j(Vn),H(Vn);const an=".bs.offcanvas",Al=".data-api",Jh=`load${an}${Al}`,Ol="show",xl="showing",Rl="hiding",Pl=".offcanvas.show",Xh=`show${an}`,Qh=`shown${an}`,Yh=`hide${an}`,Ll=`hidePrevented${an}`,Il=`hidden${an}`,Zh=`resize${an}`,ep=`click${an}${Al}`,tp=`keydown.dismiss${an}`,np={backdrop:!0,keyboard:!0,scroll:!1},sp={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class ln extends Pe{constructor(r,l){super(r,l),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return np}static get DefaultType(){return sp}static get NAME(){return"offcanvas"}toggle(r){return this._isShown?this.hide():this.show(r)}show(r){this._isShown||P.trigger(this._element,Xh,{relatedTarget:r}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||new ro().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(xl),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Ol),this._element.classList.remove(xl),P.trigger(this._element,Qh,{relatedTarget:r})},this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,Yh).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Rl),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove(Ol,Rl),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new ro().reset(),P.trigger(this._element,Il)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const r=!!this._config.backdrop;return new gl({className:"offcanvas-backdrop",isVisible:r,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:r?()=>{this._config.backdrop!=="static"?this.hide():P.trigger(this._element,Ll)}:null})}_initializeFocusTrap(){return new bl({trapElement:this._element})}_addEventListeners(){P.on(this._element,tp,r=>{r.key==="Escape"&&(this._config.keyboard?this.hide():P.trigger(this._element,Ll))})}static jQueryInterface(r){return this.each(function(){const l=ln.getOrCreateInstance(this,r);if(typeof r=="string"){if(l[r]===void 0||r.startsWith("_")||r==="constructor")throw new TypeError(`No method named "${r}"`);l[r](this)}})}}P.on(document,ep,'[data-bs-toggle="offcanvas"]',function(u){const r=S.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&u.preventDefault(),d(this))return;P.one(r,Il,()=>{p(this)&&this.focus()});const l=S.findOne(Pl);l&&l!==r&&ln.getInstance(l).hide(),ln.getOrCreateInstance(r).toggle(this)}),P.on(window,Jh,()=>{for(const u of S.find(Pl))ln.getOrCreateInstance(u).show()}),P.on(window,Zh,()=>{for(const u of S.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(u).position!=="fixed"&&ln.getOrCreateInstance(u).hide()}),j(ln),H(ln);const Nl={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},rp=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),ip=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,op=(u,r)=>{const l=u.nodeName.toLowerCase();return r.includes(l)?!rp.has(l)||!!ip.test(u.nodeValue):r.filter(h=>h instanceof RegExp).some(h=>h.test(l))},ap={allowList:Nl,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},lp={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},cp={entry:"(string|element|function|null)",selector:"(string|element)"};class up extends Wt{constructor(r){super(),this._config=this._getConfig(r)}static get Default(){return ap}static get DefaultType(){return lp}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map(r=>this._resolvePossibleFunction(r)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(r){return this._checkContent(r),this._config.content={...this._config.content,...r},this}toHtml(){const r=document.createElement("div");r.innerHTML=this._maybeSanitize(this._config.template);for(const[b,v]of Object.entries(this._config.content))this._setContent(r,v,b);const l=r.children[0],h=this._resolvePossibleFunction(this._config.extraClass);return h&&l.classList.add(...h.split(" ")),l}_typeCheckConfig(r){super._typeCheckConfig(r),this._checkContent(r.content)}_checkContent(r){for(const[l,h]of Object.entries(r))super._typeCheckConfig({selector:l,entry:h},cp)}_setContent(r,l,h){const b=S.findOne(h,r);b&&((l=this._resolvePossibleFunction(l))?c(l)?this._putElementInTemplate(f(l),b):this._config.html?b.innerHTML=this._maybeSanitize(l):b.textContent=l:b.remove())}_maybeSanitize(r){return this._config.sanitize?function(l,h,b){if(!l.length)return l;if(b&&typeof b=="function")return b(l);const v=new window.DOMParser().parseFromString(l,"text/html"),C=[].concat(...v.body.querySelectorAll("*"));for(const L of C){const F=L.nodeName.toLowerCase();if(!Object.keys(h).includes(F)){L.remove();continue}const W=[].concat(...L.attributes),K=[].concat(h["*"]||[],h[F]||[]);for(const V of W)op(V,K)||L.removeAttribute(V.nodeName)}return v.body.innerHTML}(r,this._config.allowList,this._config.sanitizeFn):r}_resolvePossibleFunction(r){return B(r,[this])}_putElementInTemplate(r,l){if(this._config.html)return l.innerHTML="",void l.append(r);l.textContent=r.textContent}}const fp=new Set(["sanitize","allowList","sanitizeFn"]),oo="fade",Ir="show",Dl=".modal",kl="hide.bs.modal",$s="hover",ao="focus",dp={AUTO:"auto",TOP:"top",RIGHT:q()?"left":"right",BOTTOM:"bottom",LEFT:q()?"right":"left"},hp={allowList:Nl,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},pp={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class qn extends Pe{constructor(r,l){if(ll===void 0)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(r,l),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return hp}static get DefaultType(){return pp}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(Dl),kl,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const r=P.trigger(this._element,this.constructor.eventName("show")),l=(g(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(r.defaultPrevented||!l)return;this._disposePopper();const h=this._getTipElement();this._element.setAttribute("aria-describedby",h.getAttribute("id"));const{container:b}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(b.append(h),P.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(h),h.classList.add(Ir),"ontouchstart"in document.documentElement)for(const v of[].concat(...document.body.children))P.on(v,"mouseover",y);this._queueCallback(()=>{P.trigger(this._element,this.constructor.eventName("shown")),this._isHovered===!1&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!P.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(Ir),"ontouchstart"in document.documentElement)for(const r of[].concat(...document.body.children))P.off(r,"mouseover",y);this._activeTrigger.click=!1,this._activeTrigger[ao]=!1,this._activeTrigger[$s]=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(r){const l=this._getTemplateFactory(r).toHtml();if(!l)return null;l.classList.remove(oo,Ir),l.classList.add(`bs-${this.constructor.NAME}-auto`);const h=(b=>{do b+=Math.floor(1e6*Math.random());while(document.getElementById(b));return b})(this.constructor.NAME).toString();return l.setAttribute("id",h),this._isAnimated()&&l.classList.add(oo),l}setContent(r){this._newContent=r,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(r){return this._templateFactory?this._templateFactory.changeContent(r):this._templateFactory=new up({...this._config,content:r,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(r){return this.constructor.getOrCreateInstance(r.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(oo)}_isShown(){return this.tip&&this.tip.classList.contains(Ir)}_createPopper(r){const l=B(this._config.placement,[this,r,this._element]),h=dp[l.toUpperCase()];return no(this._element,r,this._getPopperConfig(h))}_getOffset(){const{offset:r}=this._config;return typeof r=="string"?r.split(",").map(l=>Number.parseInt(l,10)):typeof r=="function"?l=>r(l,this._element):r}_resolvePossibleFunction(r){return B(r,[this._element])}_getPopperConfig(r){const l={placement:r,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:h=>{this._getTipElement().setAttribute("data-popper-placement",h.state.placement)}}]};return{...l,...B(this._config.popperConfig,[l])}}_setListeners(){const r=this._config.trigger.split(" ");for(const l of r)if(l==="click")P.on(this._element,this.constructor.eventName("click"),this._config.selector,h=>{this._initializeOnDelegatedTarget(h).toggle()});else if(l!=="manual"){const h=l===$s?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),b=l===$s?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");P.on(this._element,h,this._config.selector,v=>{const C=this._initializeOnDelegatedTarget(v);C._activeTrigger[v.type==="focusin"?ao:$s]=!0,C._enter()}),P.on(this._element,b,this._config.selector,v=>{const C=this._initializeOnDelegatedTarget(v);C._activeTrigger[v.type==="focusout"?ao:$s]=C._element.contains(v.relatedTarget),C._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(Dl),kl,this._hideModalHandler)}_fixTitle(){const r=this._element.getAttribute("title");r&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",r),this._element.setAttribute("data-bs-original-title",r),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(r,l){clearTimeout(this._timeout),this._timeout=setTimeout(r,l)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(r){const l=Ze.getDataAttributes(this._element);for(const h of Object.keys(l))fp.has(h)&&delete l[h];return r={...l,...typeof r=="object"&&r?r:{}},r=this._mergeConfigObj(r),r=this._configAfterMerge(r),this._typeCheckConfig(r),r}_configAfterMerge(r){return r.container=r.container===!1?document.body:f(r.container),typeof r.delay=="number"&&(r.delay={show:r.delay,hide:r.delay}),typeof r.title=="number"&&(r.title=r.title.toString()),typeof r.content=="number"&&(r.content=r.content.toString()),r}_getDelegateConfig(){const r={};for(const[l,h]of Object.entries(this._config))this.constructor.Default[l]!==h&&(r[l]=h);return r.selector=!1,r.trigger="manual",r}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(r){return this.each(function(){const l=qn.getOrCreateInstance(this,r);if(typeof r=="string"){if(l[r]===void 0)throw new TypeError(`No method named "${r}"`);l[r]()}})}}H(qn);const mp={...qn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},gp={...qn.DefaultType,content:"(null|string|element|function)"};class Nr extends qn{static get Default(){return mp}static get DefaultType(){return gp}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(r){return this.each(function(){const l=Nr.getOrCreateInstance(this,r);if(typeof r=="string"){if(l[r]===void 0)throw new TypeError(`No method named "${r}"`);l[r]()}})}}H(Nr);const lo=".bs.scrollspy",_p=`activate${lo}`,Ml=`click${lo}`,bp=`load${lo}.data-api`,_s="active",co="[href]",$l=".nav-link",yp=`${$l}, .nav-item > ${$l}, .list-group-item`,vp={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},wp={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Fs extends Pe{constructor(r,l){super(r,l),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return vp}static get DefaultType(){return wp}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const r of this._observableSections.values())this._observer.observe(r)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(r){return r.target=f(r.target)||document.body,r.rootMargin=r.offset?`${r.offset}px 0px -30%`:r.rootMargin,typeof r.threshold=="string"&&(r.threshold=r.threshold.split(",").map(l=>Number.parseFloat(l))),r}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(P.off(this._config.target,Ml),P.on(this._config.target,Ml,co,r=>{const l=this._observableSections.get(r.target.hash);if(l){r.preventDefault();const h=this._rootElement||window,b=l.offsetTop-this._element.offsetTop;if(h.scrollTo)return void h.scrollTo({top:b,behavior:"smooth"});h.scrollTop=b}}))}_getNewObserver(){const r={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(l=>this._observerCallback(l),r)}_observerCallback(r){const l=C=>this._targetLinks.get(`#${C.target.id}`),h=C=>{this._previousScrollData.visibleEntryTop=C.target.offsetTop,this._process(l(C))},b=(this._rootElement||document.documentElement).scrollTop,v=b>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=b;for(const C of r){if(!C.isIntersecting){this._activeTarget=null,this._clearActiveClass(l(C));continue}const L=C.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(v&&L){if(h(C),!b)return}else v||L||h(C)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const r=S.find(co,this._config.target);for(const l of r){if(!l.hash||d(l))continue;const h=S.findOne(decodeURI(l.hash),this._element);p(h)&&(this._targetLinks.set(decodeURI(l.hash),l),this._observableSections.set(l.hash,h))}}_process(r){this._activeTarget!==r&&(this._clearActiveClass(this._config.target),this._activeTarget=r,r.classList.add(_s),this._activateParents(r),P.trigger(this._element,_p,{relatedTarget:r}))}_activateParents(r){if(r.classList.contains("dropdown-item"))S.findOne(".dropdown-toggle",r.closest(".dropdown")).classList.add(_s);else for(const l of S.parents(r,".nav, .list-group"))for(const h of S.prev(l,yp))h.classList.add(_s)}_clearActiveClass(r){r.classList.remove(_s);const l=S.find(`${co}.${_s}`,r);for(const h of l)h.classList.remove(_s)}static jQueryInterface(r){return this.each(function(){const l=Fs.getOrCreateInstance(this,r);if(typeof r=="string"){if(l[r]===void 0||r.startsWith("_")||r==="constructor")throw new TypeError(`No method named "${r}"`);l[r]()}})}}P.on(window,bp,()=>{for(const u of S.find('[data-bs-spy="scroll"]'))Fs.getOrCreateInstance(u)}),H(Fs);const zn=".bs.tab",Ep=`hide${zn}`,Cp=`hidden${zn}`,Tp=`show${zn}`,Sp=`shown${zn}`,Ap=`click${zn}`,Op=`keydown${zn}`,xp=`load${zn}`,Rp="ArrowLeft",Fl="ArrowRight",Pp="ArrowUp",Bl="ArrowDown",uo="Home",jl="End",Wn="active",Hl="fade",fo="show",Ul=".dropdown-toggle",ho=`:not(${Ul})`,Vl='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',po=`.nav-link${ho}, .list-group-item${ho}, [role="tab"]${ho}, ${Vl}`,Lp=`.${Wn}[data-bs-toggle="tab"], .${Wn}[data-bs-toggle="pill"], .${Wn}[data-bs-toggle="list"]`;class Kn extends Pe{constructor(r){super(r),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),P.on(this._element,Op,l=>this._keydown(l)))}static get NAME(){return"tab"}show(){const r=this._element;if(this._elemIsActive(r))return;const l=this._getActiveElem(),h=l?P.trigger(l,Ep,{relatedTarget:r}):null;P.trigger(r,Tp,{relatedTarget:l}).defaultPrevented||h&&h.defaultPrevented||(this._deactivate(l,r),this._activate(r,l))}_activate(r,l){r&&(r.classList.add(Wn),this._activate(S.getElementFromSelector(r)),this._queueCallback(()=>{r.getAttribute("role")==="tab"?(r.removeAttribute("tabindex"),r.setAttribute("aria-selected",!0),this._toggleDropDown(r,!0),P.trigger(r,Sp,{relatedTarget:l})):r.classList.add(fo)},r,r.classList.contains(Hl)))}_deactivate(r,l){r&&(r.classList.remove(Wn),r.blur(),this._deactivate(S.getElementFromSelector(r)),this._queueCallback(()=>{r.getAttribute("role")==="tab"?(r.setAttribute("aria-selected",!1),r.setAttribute("tabindex","-1"),this._toggleDropDown(r,!1),P.trigger(r,Cp,{relatedTarget:l})):r.classList.remove(fo)},r,r.classList.contains(Hl)))}_keydown(r){if(![Rp,Fl,Pp,Bl,uo,jl].includes(r.key))return;r.stopPropagation(),r.preventDefault();const l=this._getChildren().filter(b=>!d(b));let h;if([uo,jl].includes(r.key))h=l[r.key===uo?0:l.length-1];else{const b=[Fl,Bl].includes(r.key);h=se(l,r.target,b,!0)}h&&(h.focus({preventScroll:!0}),Kn.getOrCreateInstance(h).show())}_getChildren(){return S.find(po,this._parent)}_getActiveElem(){return this._getChildren().find(r=>this._elemIsActive(r))||null}_setInitialAttributes(r,l){this._setAttributeIfNotExists(r,"role","tablist");for(const h of l)this._setInitialAttributesOnChild(h)}_setInitialAttributesOnChild(r){r=this._getInnerElement(r);const l=this._elemIsActive(r),h=this._getOuterElement(r);r.setAttribute("aria-selected",l),h!==r&&this._setAttributeIfNotExists(h,"role","presentation"),l||r.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(r,"role","tab"),this._setInitialAttributesOnTargetPanel(r)}_setInitialAttributesOnTargetPanel(r){const l=S.getElementFromSelector(r);l&&(this._setAttributeIfNotExists(l,"role","tabpanel"),r.id&&this._setAttributeIfNotExists(l,"aria-labelledby",`${r.id}`))}_toggleDropDown(r,l){const h=this._getOuterElement(r);if(!h.classList.contains("dropdown"))return;const b=(v,C)=>{const L=S.findOne(v,h);L&&L.classList.toggle(C,l)};b(Ul,Wn),b(".dropdown-menu",fo),h.setAttribute("aria-expanded",l)}_setAttributeIfNotExists(r,l,h){r.hasAttribute(l)||r.setAttribute(l,h)}_elemIsActive(r){return r.classList.contains(Wn)}_getInnerElement(r){return r.matches(po)?r:S.findOne(po,r)}_getOuterElement(r){return r.closest(".nav-item, .list-group-item")||r}static jQueryInterface(r){return this.each(function(){const l=Kn.getOrCreateInstance(this);if(typeof r=="string"){if(l[r]===void 0||r.startsWith("_")||r==="constructor")throw new TypeError(`No method named "${r}"`);l[r]()}})}}P.on(document,Ap,Vl,function(u){["A","AREA"].includes(this.tagName)&&u.preventDefault(),d(this)||Kn.getOrCreateInstance(this).show()}),P.on(window,xp,()=>{for(const u of S.find(Lp))Kn.getOrCreateInstance(u)}),H(Kn);const yn=".bs.toast",Ip=`mouseover${yn}`,Np=`mouseout${yn}`,Dp=`focusin${yn}`,kp=`focusout${yn}`,Mp=`hide${yn}`,$p=`hidden${yn}`,Fp=`show${yn}`,Bp=`shown${yn}`,ql="hide",Dr="show",kr="showing",jp={animation:"boolean",autohide:"boolean",delay:"number"},Hp={animation:!0,autohide:!0,delay:5e3};class Bs extends Pe{constructor(r,l){super(r,l),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Hp}static get DefaultType(){return jp}static get NAME(){return"toast"}show(){P.trigger(this._element,Fp).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(ql),w(this._element),this._element.classList.add(Dr,kr),this._queueCallback(()=>{this._element.classList.remove(kr),P.trigger(this._element,Bp),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(P.trigger(this._element,Mp).defaultPrevented||(this._element.classList.add(kr),this._queueCallback(()=>{this._element.classList.add(ql),this._element.classList.remove(kr,Dr),P.trigger(this._element,$p)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Dr),super.dispose()}isShown(){return this._element.classList.contains(Dr)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(r,l){switch(r.type){case"mouseover":case"mouseout":this._hasMouseInteraction=l;break;case"focusin":case"focusout":this._hasKeyboardInteraction=l}if(l)return void this._clearTimeout();const h=r.relatedTarget;this._element===h||this._element.contains(h)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,Ip,r=>this._onInteraction(r,!0)),P.on(this._element,Np,r=>this._onInteraction(r,!1)),P.on(this._element,Dp,r=>this._onInteraction(r,!0)),P.on(this._element,kp,r=>this._onInteraction(r,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(r){return this.each(function(){const l=Bs.getOrCreateInstance(this,r);if(typeof r=="string"){if(l[r]===void 0)throw new TypeError(`No method named "${r}"`);l[r](this)}})}}return j(Bs),H(Bs),{Alert:m,Button:E,Carousel:os,Collapse:ls,Dropdown:Nt,Modal:Vn,Offcanvas:ln,Popover:Nr,ScrollSpy:Fs,Tab:Kn,Toast:Bs,Tooltip:qn}})})(sw);var rw={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const _r=Gf(Lb);Ke.defaults.baseURL=rw.VITE_API_URL;_r.config.globalProperties.axios=Ke;_r.use(O_());_r.use(Pd);_r.use(tw,{});_r.mount("#app");export{dw as A,Ke as B,et as F,Bt as a,is as b,$t as c,rn as d,aw as e,mc as f,cw as g,Ue as h,Ye as i,yi as j,ow as k,lw as l,uw as m,Pd as n,pf as o,iw as p,v_ as q,nf as r,Ai as s,Mu as t,pw as u,fw as v,Xr as w,nw as x,mw as y,hw as z}; diff --git a/bin/main/static/assets/repository-DaHnZzAW.js b/bin/main/static/assets/repository-DaHnZzAW.js new file mode 100644 index 0000000..d902cb6 --- /dev/null +++ b/bin/main/static/assets/repository-DaHnZzAW.js @@ -0,0 +1 @@ +import{s}from"./request-B41piC-O.js";const n=e=>s.get(`/oss/v1/repositories/${e}/list`);function i(e,t){return s.delete(`/oss/v1/repositories/${e}/delete/${t}`)}function p(e,t){return s.post(`/oss/v1/repositories/${e}/create`,t)}const a=(e,t)=>s.get(`/oss/v1/repositories/${e}/detail/${t}`),u=(e,t)=>s.put(`/oss/v1/repositories/${e}/update`,t);function c(e,t){return s.delete(`/oss/v1/components/${e}/delete/${t}`)}const $=(e,t)=>s.get(`/oss/v1/components/${e}/list/${t}`),d=(e,t,o)=>s.post(`/oss/v1/components/${e}/create/${t}`,o);export{n as a,c as b,d as c,i as d,$ as e,a as g,p as r,u}; diff --git a/bin/main/static/assets/request-B41piC-O.js b/bin/main/static/assets/request-B41piC-O.js new file mode 100644 index 0000000..ce084c2 --- /dev/null +++ b/bin/main/static/assets/request-B41piC-O.js @@ -0,0 +1 @@ +import{u as t,B as o}from"./index-D8aamcST.js";const i=window.location.host.split(":"),n=window.location.protocol+"//"+i[0]+":18084",c=t(),r=o.create({baseURL:n,timeout:3e5});r.interceptors.request.use(e=>e,e=>(console.log("error ---------- ",e),Promise.reject(e)));r.interceptors.response.use(e=>{const s=e.data;return s.code===200?s:(c.error(s.detail),Promise.reject(new Error(s.message||"Error")))},e=>(console.log("ApiService.Response -> fail",e),o.isCancel(e),Promise.reject(e)));export{r as s}; diff --git a/bin/main/static/favicon.ico b/bin/main/static/favicon.ico new file mode 100644 index 0000000..8e29c71 Binary files /dev/null and b/bin/main/static/favicon.ico differ diff --git a/bin/main/static/images/apache.png b/bin/main/static/images/apache.png new file mode 100644 index 0000000..524d314 Binary files /dev/null and b/bin/main/static/images/apache.png differ diff --git a/bin/main/static/images/grafana.jpg b/bin/main/static/images/grafana.jpg new file mode 100644 index 0000000..87eb195 Binary files /dev/null and b/bin/main/static/images/grafana.jpg differ diff --git a/bin/main/static/images/mariadb.png b/bin/main/static/images/mariadb.png new file mode 100644 index 0000000..434f12f Binary files /dev/null and b/bin/main/static/images/mariadb.png differ diff --git a/bin/main/static/images/nexus.png b/bin/main/static/images/nexus.png new file mode 100644 index 0000000..5f2a03f Binary files /dev/null and b/bin/main/static/images/nexus.png differ diff --git a/bin/main/static/images/nginx.png b/bin/main/static/images/nginx.png new file mode 100644 index 0000000..10df564 Binary files /dev/null and b/bin/main/static/images/nginx.png differ diff --git a/bin/main/static/images/redis.png b/bin/main/static/images/redis.png new file mode 100644 index 0000000..49c74bc Binary files /dev/null and b/bin/main/static/images/redis.png differ diff --git a/bin/main/static/images/tomcat.png b/bin/main/static/images/tomcat.png new file mode 100644 index 0000000..f9710da Binary files /dev/null and b/bin/main/static/images/tomcat.png differ diff --git a/bin/main/static/index.html b/bin/main/static/index.html new file mode 100644 index 0000000..8074ebc --- /dev/null +++ b/bin/main/static/index.html @@ -0,0 +1,14 @@ + + + + + + + App + + + + +
+ + diff --git a/bin/main/static/tabler/dist/css/demo.css b/bin/main/static/tabler/dist/css/demo.css new file mode 100644 index 0000000..6761111 --- /dev/null +++ b/bin/main/static/tabler/dist/css/demo.css @@ -0,0 +1,276 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +/* prettier-ignore */ +/* prettier-ignore */ +pre.highlight, +.highlight pre { + max-height: 30rem; + margin: 1.5rem 0; + overflow: auto; + border-radius: var(--tblr-border-radius); +} +pre.highlight, +.highlight pre { + scrollbar-color: rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.16) transparent; +} +pre.highlight::-webkit-scrollbar, +.highlight pre::-webkit-scrollbar { + width: 1rem; + height: 1rem; + -webkit-transition: background 0.3s; + transition: background 0.3s; +} +@media (prefers-reduced-motion: reduce) { + pre.highlight::-webkit-scrollbar, + .highlight pre::-webkit-scrollbar { + -webkit-transition: none; + transition: none; + } +} +pre.highlight::-webkit-scrollbar-thumb, +.highlight pre::-webkit-scrollbar-thumb { + border-radius: 1rem; + border: 5px solid transparent; + box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.16); +} +pre.highlight::-webkit-scrollbar-track, +.highlight pre::-webkit-scrollbar-track { + background: transparent; +} +pre.highlight:hover::-webkit-scrollbar-thumb, +.highlight pre:hover::-webkit-scrollbar-thumb { + box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.32); +} +pre.highlight::-webkit-scrollbar-corner, +.highlight pre::-webkit-scrollbar-corner { + background: transparent; +} + +.highlight { + margin: 0; +} +.highlight code > * { + margin: 0 !important; + padding: 0 !important; +} +.highlight .c, .highlight .c1 { + color: #a0aec0; +} +.highlight .nt, .highlight .nc, .highlight .nx { + color: #ff8383; +} +.highlight .na, .highlight .p { + color: #ffe484; +} +.highlight .s, .highlight .dl, .highlight .s2 { + color: #b5f4a5; +} +.highlight .k { + color: #93ddfd; +} +.highlight .s1, .highlight .mi { + color: #d9a9ff; +} + +.example { + padding: 2rem; + margin: 1rem 0 2rem; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: 3px 3px 0 0; + position: relative; + min-height: 12rem; + display: flex; + align-items: center; + overflow-x: auto; +} + +.example-centered { + justify-content: center; +} +.example-centered .example-content { + flex: 0 auto; +} + +.example-content { + font-size: 0.875rem; + line-height: 1.4285714286; + color: var(--tblr-body-color); + flex: 1; + max-width: 100%; +} +.example-content .page-header { + margin-bottom: 0; +} + +.example-bg { + background: #f6f8fb; +} + +.example-code { + margin: 2rem 0; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-top: none; +} +.example-code pre { + margin: 0; + border: 0; + border-radius: 0 0 3px 3px; +} +.example + .example-code { + margin-top: -2rem; +} + +.example-column { + margin: 0 auto; +} +.example-column > .card:last-of-type { + margin-bottom: 0; +} + +.example-column-1 { + max-width: 26rem; +} + +.example-column-2 { + max-width: 52rem; +} + +.example-modal-backdrop { + background: #182433; + opacity: 0.24; + position: absolute; + width: 100%; + left: 0; + top: 0; + height: 100%; + border-radius: 2px 2px 0 0; +} + +.card-sponsor { + background: var(--tblr-primary-lt) no-repeat center/100% 100%; + border-color: var(--tblr-primary); + min-height: 316px; +} + +.dropdown-menu-demo { + display: inline-block; + width: 100%; + position: relative; + top: 0; + margin-bottom: 1rem !important; +} + +.demo-icon-preview { + position: -webkit-sticky; + position: sticky; + top: 0; +} +.demo-icon-preview svg, +.demo-icon-preview i { + width: 15rem; + height: 15rem; + font-size: 15rem; + stroke-width: 1.5; + margin: 0 auto; + display: block; +} +@media (max-width: 575.98px) { + .demo-icon-preview svg, + .demo-icon-preview i { + width: 10rem; + height: 10rem; + font-size: 10rem; + } +} + +.demo-icon-preview-icon pre { + margin: 0; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; +} + +.demo-dividers > p { + opacity: 0.2; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.demo-icons-list { + display: flex; + flex-wrap: wrap; + padding: 0; + margin: 0 -2px -1px 0; + list-style: none; +} +.demo-icons-list > * { + flex: 1 0 4rem; +} + +.demo-icons-list-wrap { + overflow: hidden; +} + +.demo-icons-list-item { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + aspect-ratio: 1; + text-align: center; + padding: 0.5rem; + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + color: inherit; + cursor: pointer; +} +.demo-icons-list-item .icon { + width: 1.5rem; + height: 1.5rem; + font-size: 1.5rem; +} +.demo-icons-list-item:hover { + text-decoration: none; +} + +.settings-btn { + position: fixed; + right: -1px; + top: 10rem; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + box-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; +} + +.settings-scheme { + display: inline-block; + border-radius: 50%; + height: 3rem; + width: 3rem; + position: relative; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + box-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; +} +.settings-scheme-light { + background: linear-gradient(135deg, #ffffff 50%, #fcfdfe 50%); +} +.settings-scheme-mixed { + background-image: linear-gradient(135deg, #182433 50%, #fff 50%); +} +.settings-scheme-transparent { + background: #fcfdfe; +} +.settings-scheme-dark { + background: #182433; +} +.settings-scheme-colored { + background-image: linear-gradient(135deg, var(--tblr-primary) 50%, #fcfdfe 50%); +} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/demo.min.css b/bin/main/static/tabler/dist/css/demo.min.css new file mode 100644 index 0000000..0355a16 --- /dev/null +++ b/bin/main/static/tabler/dist/css/demo.min.css @@ -0,0 +1,9 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +.highlight pre,pre.highlight{max-height:30rem;margin:1.5rem 0;overflow:auto;border-radius:var(--tblr-border-radius)}.highlight pre,pre.highlight{scrollbar-color:rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16) transparent}.highlight pre::-webkit-scrollbar,pre.highlight::-webkit-scrollbar{width:1rem;height:1rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){.highlight pre::-webkit-scrollbar,pre.highlight::-webkit-scrollbar{-webkit-transition:none;transition:none}}.highlight pre::-webkit-scrollbar-thumb,pre.highlight::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16)}.highlight pre::-webkit-scrollbar-track,pre.highlight::-webkit-scrollbar-track{background:0 0}.highlight pre:hover::-webkit-scrollbar-thumb,pre.highlight:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.32)}.highlight pre::-webkit-scrollbar-corner,pre.highlight::-webkit-scrollbar-corner{background:0 0}.highlight{margin:0}.highlight code>*{margin:0!important;padding:0!important}.highlight .c,.highlight .c1{color:#a0aec0}.highlight .nc,.highlight .nt,.highlight .nx{color:#ff8383}.highlight .na,.highlight .p{color:#ffe484}.highlight .dl,.highlight .s,.highlight .s2{color:#b5f4a5}.highlight .k{color:#93ddfd}.highlight .mi,.highlight .s1{color:#d9a9ff}.example{padding:2rem;margin:1rem 0 2rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px 3px 0 0;position:relative;min-height:12rem;display:flex;align-items:center;overflow-x:auto}.example-centered{justify-content:center}.example-centered .example-content{flex:0 auto}.example-content{font-size:.875rem;line-height:1.4285714286;color:var(--tblr-body-color);flex:1;max-width:100%}.example-content .page-header{margin-bottom:0}.example-bg{background:#f6f8fb}.example-code{margin:2rem 0;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-top:none}.example-code pre{margin:0;border:0;border-radius:0 0 3px 3px}.example+.example-code{margin-top:-2rem}.example-column{margin:0 auto}.example-column>.card:last-of-type{margin-bottom:0}.example-column-1{max-width:26rem}.example-column-2{max-width:52rem}.example-modal-backdrop{background:#182433;opacity:.24;position:absolute;width:100%;left:0;top:0;height:100%;border-radius:2px 2px 0 0}.card-sponsor{background:var(--tblr-primary-lt) no-repeat center/100% 100%;border-color:var(--tblr-primary);min-height:316px}.dropdown-menu-demo{display:inline-block;width:100%;position:relative;top:0;margin-bottom:1rem!important}.demo-icon-preview{position:-webkit-sticky;position:sticky;top:0}.demo-icon-preview i,.demo-icon-preview svg{width:15rem;height:15rem;font-size:15rem;stroke-width:1.5;margin:0 auto;display:block}@media (max-width:575.98px){.demo-icon-preview i,.demo-icon-preview svg{width:10rem;height:10rem;font-size:10rem}}.demo-icon-preview-icon pre{margin:0;-webkit-user-select:all;-moz-user-select:all;user-select:all}.demo-dividers>p{opacity:.2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.demo-icons-list{display:flex;flex-wrap:wrap;padding:0;margin:0 -2px -1px 0;list-style:none}.demo-icons-list>*{flex:1 0 4rem}.demo-icons-list-wrap{overflow:hidden}.demo-icons-list-item{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;text-align:center;padding:.5rem;border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);color:inherit;cursor:pointer}.demo-icons-list-item .icon{width:1.5rem;height:1.5rem;font-size:1.5rem}.demo-icons-list-item:hover{text-decoration:none}.settings-btn{position:fixed;right:-1px;top:10rem;border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px 0}.settings-scheme{display:inline-block;border-radius:50%;height:3rem;width:3rem;position:relative;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px 0}.settings-scheme-light{background:linear-gradient(135deg,#fff 50%,#fcfdfe 50%)}.settings-scheme-mixed{background-image:linear-gradient(135deg,#182433 50%,#fff 50%)}.settings-scheme-transparent{background:#fcfdfe}.settings-scheme-dark{background:#182433}.settings-scheme-colored{background-image:linear-gradient(135deg,var(--tblr-primary) 50%,#fcfdfe 50%)} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/demo.rtl.css b/bin/main/static/tabler/dist/css/demo.rtl.css new file mode 100644 index 0000000..5b3355f --- /dev/null +++ b/bin/main/static/tabler/dist/css/demo.rtl.css @@ -0,0 +1,276 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +/* prettier-ignore */ +/* prettier-ignore */ +pre.highlight, +.highlight pre { + max-height: 30rem; + margin: 1.5rem 0; + overflow: auto; + border-radius: var(--tblr-border-radius); +} +pre.highlight, +.highlight pre { + scrollbar-color: rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.16) transparent; +} +pre.highlight::-webkit-scrollbar, +.highlight pre::-webkit-scrollbar { + width: 1rem; + height: 1rem; + -webkit-transition: background 0.3s; + transition: background 0.3s; +} +@media (prefers-reduced-motion: reduce) { + pre.highlight::-webkit-scrollbar, + .highlight pre::-webkit-scrollbar { + -webkit-transition: none; + transition: none; + } +} +pre.highlight::-webkit-scrollbar-thumb, +.highlight pre::-webkit-scrollbar-thumb { + border-radius: 1rem; + border: 5px solid transparent; + box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.16); +} +pre.highlight::-webkit-scrollbar-track, +.highlight pre::-webkit-scrollbar-track { + background: transparent; +} +pre.highlight:hover::-webkit-scrollbar-thumb, +.highlight pre:hover::-webkit-scrollbar-thumb { + box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.32); +} +pre.highlight::-webkit-scrollbar-corner, +.highlight pre::-webkit-scrollbar-corner { + background: transparent; +} + +.highlight { + margin: 0; +} +.highlight code > * { + margin: 0 !important; + padding: 0 !important; +} +.highlight .c, .highlight .c1 { + color: #a0aec0; +} +.highlight .nt, .highlight .nc, .highlight .nx { + color: #ff8383; +} +.highlight .na, .highlight .p { + color: #ffe484; +} +.highlight .s, .highlight .dl, .highlight .s2 { + color: #b5f4a5; +} +.highlight .k { + color: #93ddfd; +} +.highlight .s1, .highlight .mi { + color: #d9a9ff; +} + +.example { + padding: 2rem; + margin: 1rem 0 2rem; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: 3px 3px 0 0; + position: relative; + min-height: 12rem; + display: flex; + align-items: center; + overflow-x: auto; +} + +.example-centered { + justify-content: center; +} +.example-centered .example-content { + flex: 0 auto; +} + +.example-content { + font-size: 0.875rem; + line-height: 1.4285714286; + color: var(--tblr-body-color); + flex: 1; + max-width: 100%; +} +.example-content .page-header { + margin-bottom: 0; +} + +.example-bg { + background: #f6f8fb; +} + +.example-code { + margin: 2rem 0; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-top: none; +} +.example-code pre { + margin: 0; + border: 0; + border-radius: 0 0 3px 3px; +} +.example + .example-code { + margin-top: -2rem; +} + +.example-column { + margin: 0 auto; +} +.example-column > .card:last-of-type { + margin-bottom: 0; +} + +.example-column-1 { + max-width: 26rem; +} + +.example-column-2 { + max-width: 52rem; +} + +.example-modal-backdrop { + background: #182433; + opacity: 0.24; + position: absolute; + width: 100%; + right: 0; + top: 0; + height: 100%; + border-radius: 2px 2px 0 0; +} + +.card-sponsor { + background: var(--tblr-primary-lt) no-repeat center/100% 100%; + border-color: var(--tblr-primary); + min-height: 316px; +} + +.dropdown-menu-demo { + display: inline-block; + width: 100%; + position: relative; + top: 0; + margin-bottom: 1rem !important; +} + +.demo-icon-preview { + position: -webkit-sticky; + position: sticky; + top: 0; +} +.demo-icon-preview svg, +.demo-icon-preview i { + width: 15rem; + height: 15rem; + font-size: 15rem; + stroke-width: 1.5; + margin: 0 auto; + display: block; +} +@media (max-width: 575.98px) { + .demo-icon-preview svg, + .demo-icon-preview i { + width: 10rem; + height: 10rem; + font-size: 10rem; + } +} + +.demo-icon-preview-icon pre { + margin: 0; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; +} + +.demo-dividers > p { + opacity: 0.2; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.demo-icons-list { + display: flex; + flex-wrap: wrap; + padding: 0; + margin: 0 0 -1px -2px; + list-style: none; +} +.demo-icons-list > * { + flex: 1 0 4rem; +} + +.demo-icons-list-wrap { + overflow: hidden; +} + +.demo-icons-list-item { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + aspect-ratio: 1; + text-align: center; + padding: 0.5rem; + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + color: inherit; + cursor: pointer; +} +.demo-icons-list-item .icon { + width: 1.5rem; + height: 1.5rem; + font-size: 1.5rem; +} +.demo-icons-list-item:hover { + text-decoration: none; +} + +.settings-btn { + position: fixed; + left: -1px; + top: 10rem; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + box-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; +} + +.settings-scheme { + display: inline-block; + border-radius: 50%; + height: 3rem; + width: 3rem; + position: relative; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + box-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; +} +.settings-scheme-light { + background: linear-gradient(-135deg, #ffffff 50%, #fcfdfe 50%); +} +.settings-scheme-mixed { + background-image: linear-gradient(-135deg, #182433 50%, #fff 50%); +} +.settings-scheme-transparent { + background: #fcfdfe; +} +.settings-scheme-dark { + background: #182433; +} +.settings-scheme-colored { + background-image: linear-gradient(-135deg, var(--tblr-primary) 50%, #fcfdfe 50%); +} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/demo.rtl.min.css b/bin/main/static/tabler/dist/css/demo.rtl.min.css new file mode 100644 index 0000000..41ca679 --- /dev/null +++ b/bin/main/static/tabler/dist/css/demo.rtl.min.css @@ -0,0 +1,9 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +.highlight pre,pre.highlight{max-height:30rem;margin:1.5rem 0;overflow:auto;border-radius:var(--tblr-border-radius)}.highlight pre,pre.highlight{scrollbar-color:rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16) transparent}.highlight pre::-webkit-scrollbar,pre.highlight::-webkit-scrollbar{width:1rem;height:1rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){.highlight pre::-webkit-scrollbar,pre.highlight::-webkit-scrollbar{-webkit-transition:none;transition:none}}.highlight pre::-webkit-scrollbar-thumb,pre.highlight::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16)}.highlight pre::-webkit-scrollbar-track,pre.highlight::-webkit-scrollbar-track{background:0 0}.highlight pre:hover::-webkit-scrollbar-thumb,pre.highlight:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.32)}.highlight pre::-webkit-scrollbar-corner,pre.highlight::-webkit-scrollbar-corner{background:0 0}.highlight{margin:0}.highlight code>*{margin:0!important;padding:0!important}.highlight .c,.highlight .c1{color:#a0aec0}.highlight .nc,.highlight .nt,.highlight .nx{color:#ff8383}.highlight .na,.highlight .p{color:#ffe484}.highlight .dl,.highlight .s,.highlight .s2{color:#b5f4a5}.highlight .k{color:#93ddfd}.highlight .mi,.highlight .s1{color:#d9a9ff}.example{padding:2rem;margin:1rem 0 2rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px 3px 0 0;position:relative;min-height:12rem;display:flex;align-items:center;overflow-x:auto}.example-centered{justify-content:center}.example-centered .example-content{flex:0 auto}.example-content{font-size:.875rem;line-height:1.4285714286;color:var(--tblr-body-color);flex:1;max-width:100%}.example-content .page-header{margin-bottom:0}.example-bg{background:#f6f8fb}.example-code{margin:2rem 0;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-top:none}.example-code pre{margin:0;border:0;border-radius:0 0 3px 3px}.example+.example-code{margin-top:-2rem}.example-column{margin:0 auto}.example-column>.card:last-of-type{margin-bottom:0}.example-column-1{max-width:26rem}.example-column-2{max-width:52rem}.example-modal-backdrop{background:#182433;opacity:.24;position:absolute;width:100%;right:0;top:0;height:100%;border-radius:2px 2px 0 0}.card-sponsor{background:var(--tblr-primary-lt) no-repeat center/100% 100%;border-color:var(--tblr-primary);min-height:316px}.dropdown-menu-demo{display:inline-block;width:100%;position:relative;top:0;margin-bottom:1rem!important}.demo-icon-preview{position:-webkit-sticky;position:sticky;top:0}.demo-icon-preview i,.demo-icon-preview svg{width:15rem;height:15rem;font-size:15rem;stroke-width:1.5;margin:0 auto;display:block}@media (max-width:575.98px){.demo-icon-preview i,.demo-icon-preview svg{width:10rem;height:10rem;font-size:10rem}}.demo-icon-preview-icon pre{margin:0;-webkit-user-select:all;-moz-user-select:all;user-select:all}.demo-dividers>p{opacity:.2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.demo-icons-list{display:flex;flex-wrap:wrap;padding:0;margin:0 0 -1px -2px;list-style:none}.demo-icons-list>*{flex:1 0 4rem}.demo-icons-list-wrap{overflow:hidden}.demo-icons-list-item{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;text-align:center;padding:.5rem;border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);color:inherit;cursor:pointer}.demo-icons-list-item .icon{width:1.5rem;height:1.5rem;font-size:1.5rem}.demo-icons-list-item:hover{text-decoration:none}.settings-btn{position:fixed;left:-1px;top:10rem;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px 0}.settings-scheme{display:inline-block;border-radius:50%;height:3rem;width:3rem;position:relative;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px 0}.settings-scheme-light{background:linear-gradient(-135deg,#fff 50%,#fcfdfe 50%)}.settings-scheme-mixed{background-image:linear-gradient(-135deg,#182433 50%,#fff 50%)}.settings-scheme-transparent{background:#fcfdfe}.settings-scheme-dark{background:#182433}.settings-scheme-colored{background-image:linear-gradient(-135deg,var(--tblr-primary) 50%,#fcfdfe 50%)} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-flags.css b/bin/main/static/tabler/dist/css/tabler-flags.css new file mode 100644 index 0000000..b6d1ebb --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-flags.css @@ -0,0 +1,1076 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +/* prettier-ignore */ +/* prettier-ignore */ +.flag { + position: relative; + display: inline-block; + width: 1.33333em; + height: 1em; + vertical-align: -3px; + background-repeat: no-repeat; + background-position: center; + background-size: cover; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} + +.flag-country-ad { + background-image: url("../img/flags/ad.svg"); +} + +.flag-country-ae { + background-image: url("../img/flags/ae.svg"); +} + +.flag-country-af { + background-image: url("../img/flags/af.svg"); +} + +.flag-country-ag { + background-image: url("../img/flags/ag.svg"); +} + +.flag-country-ai { + background-image: url("../img/flags/ai.svg"); +} + +.flag-country-al { + background-image: url("../img/flags/al.svg"); +} + +.flag-country-am { + background-image: url("../img/flags/am.svg"); +} + +.flag-country-ao { + background-image: url("../img/flags/ao.svg"); +} + +.flag-country-aq { + background-image: url("../img/flags/aq.svg"); +} + +.flag-country-ar { + background-image: url("../img/flags/ar.svg"); +} + +.flag-country-as { + background-image: url("../img/flags/as.svg"); +} + +.flag-country-at { + background-image: url("../img/flags/at.svg"); +} + +.flag-country-au { + background-image: url("../img/flags/au.svg"); +} + +.flag-country-aw { + background-image: url("../img/flags/aw.svg"); +} + +.flag-country-ax { + background-image: url("../img/flags/ax.svg"); +} + +.flag-country-az { + background-image: url("../img/flags/az.svg"); +} + +.flag-country-ba { + background-image: url("../img/flags/ba.svg"); +} + +.flag-country-bb { + background-image: url("../img/flags/bb.svg"); +} + +.flag-country-bd { + background-image: url("../img/flags/bd.svg"); +} + +.flag-country-be { + background-image: url("../img/flags/be.svg"); +} + +.flag-country-bf { + background-image: url("../img/flags/bf.svg"); +} + +.flag-country-bg { + background-image: url("../img/flags/bg.svg"); +} + +.flag-country-bh { + background-image: url("../img/flags/bh.svg"); +} + +.flag-country-bi { + background-image: url("../img/flags/bi.svg"); +} + +.flag-country-bj { + background-image: url("../img/flags/bj.svg"); +} + +.flag-country-bl { + background-image: url("../img/flags/bl.svg"); +} + +.flag-country-bm { + background-image: url("../img/flags/bm.svg"); +} + +.flag-country-bn { + background-image: url("../img/flags/bn.svg"); +} + +.flag-country-bo { + background-image: url("../img/flags/bo.svg"); +} + +.flag-country-bq { + background-image: url("../img/flags/bq.svg"); +} + +.flag-country-br { + background-image: url("../img/flags/br.svg"); +} + +.flag-country-bs { + background-image: url("../img/flags/bs.svg"); +} + +.flag-country-bt { + background-image: url("../img/flags/bt.svg"); +} + +.flag-country-bv { + background-image: url("../img/flags/bv.svg"); +} + +.flag-country-bw { + background-image: url("../img/flags/bw.svg"); +} + +.flag-country-by { + background-image: url("../img/flags/by.svg"); +} + +.flag-country-bz { + background-image: url("../img/flags/bz.svg"); +} + +.flag-country-ca { + background-image: url("../img/flags/ca.svg"); +} + +.flag-country-cc { + background-image: url("../img/flags/cc.svg"); +} + +.flag-country-cd { + background-image: url("../img/flags/cd.svg"); +} + +.flag-country-cf { + background-image: url("../img/flags/cf.svg"); +} + +.flag-country-cg { + background-image: url("../img/flags/cg.svg"); +} + +.flag-country-ch { + background-image: url("../img/flags/ch.svg"); +} + +.flag-country-ci { + background-image: url("../img/flags/ci.svg"); +} + +.flag-country-ck { + background-image: url("../img/flags/ck.svg"); +} + +.flag-country-cl { + background-image: url("../img/flags/cl.svg"); +} + +.flag-country-cm { + background-image: url("../img/flags/cm.svg"); +} + +.flag-country-cn { + background-image: url("../img/flags/cn.svg"); +} + +.flag-country-co { + background-image: url("../img/flags/co.svg"); +} + +.flag-country-cr { + background-image: url("../img/flags/cr.svg"); +} + +.flag-country-cu { + background-image: url("../img/flags/cu.svg"); +} + +.flag-country-cv { + background-image: url("../img/flags/cv.svg"); +} + +.flag-country-cw { + background-image: url("../img/flags/cw.svg"); +} + +.flag-country-cx { + background-image: url("../img/flags/cx.svg"); +} + +.flag-country-cy { + background-image: url("../img/flags/cy.svg"); +} + +.flag-country-cz { + background-image: url("../img/flags/cz.svg"); +} + +.flag-country-de { + background-image: url("../img/flags/de.svg"); +} + +.flag-country-dj { + background-image: url("../img/flags/dj.svg"); +} + +.flag-country-dk { + background-image: url("../img/flags/dk.svg"); +} + +.flag-country-dm { + background-image: url("../img/flags/dm.svg"); +} + +.flag-country-do { + background-image: url("../img/flags/do.svg"); +} + +.flag-country-dz { + background-image: url("../img/flags/dz.svg"); +} + +.flag-country-ec { + background-image: url("../img/flags/ec.svg"); +} + +.flag-country-ee { + background-image: url("../img/flags/ee.svg"); +} + +.flag-country-eg { + background-image: url("../img/flags/eg.svg"); +} + +.flag-country-eh { + background-image: url("../img/flags/eh.svg"); +} + +.flag-country-er { + background-image: url("../img/flags/er.svg"); +} + +.flag-country-es { + background-image: url("../img/flags/es.svg"); +} + +.flag-country-et { + background-image: url("../img/flags/et.svg"); +} + +.flag-country-fi { + background-image: url("../img/flags/fi.svg"); +} + +.flag-country-fj { + background-image: url("../img/flags/fj.svg"); +} + +.flag-country-fk { + background-image: url("../img/flags/fk.svg"); +} + +.flag-country-fm { + background-image: url("../img/flags/fm.svg"); +} + +.flag-country-fo { + background-image: url("../img/flags/fo.svg"); +} + +.flag-country-fr { + background-image: url("../img/flags/fr.svg"); +} + +.flag-country-ga { + background-image: url("../img/flags/ga.svg"); +} + +.flag-country-gb { + background-image: url("../img/flags/gb.svg"); +} + +.flag-country-gd { + background-image: url("../img/flags/gd.svg"); +} + +.flag-country-ge { + background-image: url("../img/flags/ge.svg"); +} + +.flag-country-gf { + background-image: url("../img/flags/gf.svg"); +} + +.flag-country-gg { + background-image: url("../img/flags/gg.svg"); +} + +.flag-country-gh { + background-image: url("../img/flags/gh.svg"); +} + +.flag-country-gi { + background-image: url("../img/flags/gi.svg"); +} + +.flag-country-gl { + background-image: url("../img/flags/gl.svg"); +} + +.flag-country-gm { + background-image: url("../img/flags/gm.svg"); +} + +.flag-country-gn { + background-image: url("../img/flags/gn.svg"); +} + +.flag-country-gp { + background-image: url("../img/flags/gp.svg"); +} + +.flag-country-gq { + background-image: url("../img/flags/gq.svg"); +} + +.flag-country-gr { + background-image: url("../img/flags/gr.svg"); +} + +.flag-country-gs { + background-image: url("../img/flags/gs.svg"); +} + +.flag-country-gt { + background-image: url("../img/flags/gt.svg"); +} + +.flag-country-gu { + background-image: url("../img/flags/gu.svg"); +} + +.flag-country-gw { + background-image: url("../img/flags/gw.svg"); +} + +.flag-country-gy { + background-image: url("../img/flags/gy.svg"); +} + +.flag-country-hk { + background-image: url("../img/flags/hk.svg"); +} + +.flag-country-hm { + background-image: url("../img/flags/hm.svg"); +} + +.flag-country-hn { + background-image: url("../img/flags/hn.svg"); +} + +.flag-country-hr { + background-image: url("../img/flags/hr.svg"); +} + +.flag-country-ht { + background-image: url("../img/flags/ht.svg"); +} + +.flag-country-hu { + background-image: url("../img/flags/hu.svg"); +} + +.flag-country-id { + background-image: url("../img/flags/id.svg"); +} + +.flag-country-ie { + background-image: url("../img/flags/ie.svg"); +} + +.flag-country-il { + background-image: url("../img/flags/il.svg"); +} + +.flag-country-im { + background-image: url("../img/flags/im.svg"); +} + +.flag-country-in { + background-image: url("../img/flags/in.svg"); +} + +.flag-country-io { + background-image: url("../img/flags/io.svg"); +} + +.flag-country-iq { + background-image: url("../img/flags/iq.svg"); +} + +.flag-country-ir { + background-image: url("../img/flags/ir.svg"); +} + +.flag-country-is { + background-image: url("../img/flags/is.svg"); +} + +.flag-country-it { + background-image: url("../img/flags/it.svg"); +} + +.flag-country-je { + background-image: url("../img/flags/je.svg"); +} + +.flag-country-jm { + background-image: url("../img/flags/jm.svg"); +} + +.flag-country-jo { + background-image: url("../img/flags/jo.svg"); +} + +.flag-country-jp { + background-image: url("../img/flags/jp.svg"); +} + +.flag-country-ke { + background-image: url("../img/flags/ke.svg"); +} + +.flag-country-kg { + background-image: url("../img/flags/kg.svg"); +} + +.flag-country-kh { + background-image: url("../img/flags/kh.svg"); +} + +.flag-country-ki { + background-image: url("../img/flags/ki.svg"); +} + +.flag-country-km { + background-image: url("../img/flags/km.svg"); +} + +.flag-country-kn { + background-image: url("../img/flags/kn.svg"); +} + +.flag-country-kp { + background-image: url("../img/flags/kp.svg"); +} + +.flag-country-kr { + background-image: url("../img/flags/kr.svg"); +} + +.flag-country-kw { + background-image: url("../img/flags/kw.svg"); +} + +.flag-country-ky { + background-image: url("../img/flags/ky.svg"); +} + +.flag-country-kz { + background-image: url("../img/flags/kz.svg"); +} + +.flag-country-la { + background-image: url("../img/flags/la.svg"); +} + +.flag-country-lb { + background-image: url("../img/flags/lb.svg"); +} + +.flag-country-lc { + background-image: url("../img/flags/lc.svg"); +} + +.flag-country-li { + background-image: url("../img/flags/li.svg"); +} + +.flag-country-lk { + background-image: url("../img/flags/lk.svg"); +} + +.flag-country-lr { + background-image: url("../img/flags/lr.svg"); +} + +.flag-country-ls { + background-image: url("../img/flags/ls.svg"); +} + +.flag-country-lt { + background-image: url("../img/flags/lt.svg"); +} + +.flag-country-lu { + background-image: url("../img/flags/lu.svg"); +} + +.flag-country-lv { + background-image: url("../img/flags/lv.svg"); +} + +.flag-country-ly { + background-image: url("../img/flags/ly.svg"); +} + +.flag-country-ma { + background-image: url("../img/flags/ma.svg"); +} + +.flag-country-mc { + background-image: url("../img/flags/mc.svg"); +} + +.flag-country-md { + background-image: url("../img/flags/md.svg"); +} + +.flag-country-me { + background-image: url("../img/flags/me.svg"); +} + +.flag-country-mf { + background-image: url("../img/flags/mf.svg"); +} + +.flag-country-mg { + background-image: url("../img/flags/mg.svg"); +} + +.flag-country-mh { + background-image: url("../img/flags/mh.svg"); +} + +.flag-country-mk { + background-image: url("../img/flags/mk.svg"); +} + +.flag-country-ml { + background-image: url("../img/flags/ml.svg"); +} + +.flag-country-mm { + background-image: url("../img/flags/mm.svg"); +} + +.flag-country-mn { + background-image: url("../img/flags/mn.svg"); +} + +.flag-country-mo { + background-image: url("../img/flags/mo.svg"); +} + +.flag-country-mp { + background-image: url("../img/flags/mp.svg"); +} + +.flag-country-mq { + background-image: url("../img/flags/mq.svg"); +} + +.flag-country-mr { + background-image: url("../img/flags/mr.svg"); +} + +.flag-country-ms { + background-image: url("../img/flags/ms.svg"); +} + +.flag-country-mt { + background-image: url("../img/flags/mt.svg"); +} + +.flag-country-mu { + background-image: url("../img/flags/mu.svg"); +} + +.flag-country-mv { + background-image: url("../img/flags/mv.svg"); +} + +.flag-country-mw { + background-image: url("../img/flags/mw.svg"); +} + +.flag-country-mx { + background-image: url("../img/flags/mx.svg"); +} + +.flag-country-my { + background-image: url("../img/flags/my.svg"); +} + +.flag-country-mz { + background-image: url("../img/flags/mz.svg"); +} + +.flag-country-na { + background-image: url("../img/flags/na.svg"); +} + +.flag-country-nc { + background-image: url("../img/flags/nc.svg"); +} + +.flag-country-ne { + background-image: url("../img/flags/ne.svg"); +} + +.flag-country-nf { + background-image: url("../img/flags/nf.svg"); +} + +.flag-country-ng { + background-image: url("../img/flags/ng.svg"); +} + +.flag-country-ni { + background-image: url("../img/flags/ni.svg"); +} + +.flag-country-nl { + background-image: url("../img/flags/nl.svg"); +} + +.flag-country-no { + background-image: url("../img/flags/no.svg"); +} + +.flag-country-np { + background-image: url("../img/flags/np.svg"); +} + +.flag-country-nr { + background-image: url("../img/flags/nr.svg"); +} + +.flag-country-nu { + background-image: url("../img/flags/nu.svg"); +} + +.flag-country-nz { + background-image: url("../img/flags/nz.svg"); +} + +.flag-country-om { + background-image: url("../img/flags/om.svg"); +} + +.flag-country-pa { + background-image: url("../img/flags/pa.svg"); +} + +.flag-country-pe { + background-image: url("../img/flags/pe.svg"); +} + +.flag-country-pf { + background-image: url("../img/flags/pf.svg"); +} + +.flag-country-pg { + background-image: url("../img/flags/pg.svg"); +} + +.flag-country-ph { + background-image: url("../img/flags/ph.svg"); +} + +.flag-country-pk { + background-image: url("../img/flags/pk.svg"); +} + +.flag-country-pl { + background-image: url("../img/flags/pl.svg"); +} + +.flag-country-pm { + background-image: url("../img/flags/pm.svg"); +} + +.flag-country-pn { + background-image: url("../img/flags/pn.svg"); +} + +.flag-country-pr { + background-image: url("../img/flags/pr.svg"); +} + +.flag-country-ps { + background-image: url("../img/flags/ps.svg"); +} + +.flag-country-pt { + background-image: url("../img/flags/pt.svg"); +} + +.flag-country-pw { + background-image: url("../img/flags/pw.svg"); +} + +.flag-country-py { + background-image: url("../img/flags/py.svg"); +} + +.flag-country-qa { + background-image: url("../img/flags/qa.svg"); +} + +.flag-country-re { + background-image: url("../img/flags/re.svg"); +} + +.flag-country-ro { + background-image: url("../img/flags/ro.svg"); +} + +.flag-country-rs { + background-image: url("../img/flags/rs.svg"); +} + +.flag-country-ru { + background-image: url("../img/flags/ru.svg"); +} + +.flag-country-rw { + background-image: url("../img/flags/rw.svg"); +} + +.flag-country-sa { + background-image: url("../img/flags/sa.svg"); +} + +.flag-country-sb { + background-image: url("../img/flags/sb.svg"); +} + +.flag-country-sc { + background-image: url("../img/flags/sc.svg"); +} + +.flag-country-sd { + background-image: url("../img/flags/sd.svg"); +} + +.flag-country-se { + background-image: url("../img/flags/se.svg"); +} + +.flag-country-sg { + background-image: url("../img/flags/sg.svg"); +} + +.flag-country-sh { + background-image: url("../img/flags/sh.svg"); +} + +.flag-country-si { + background-image: url("../img/flags/si.svg"); +} + +.flag-country-sj { + background-image: url("../img/flags/sj.svg"); +} + +.flag-country-sk { + background-image: url("../img/flags/sk.svg"); +} + +.flag-country-sl { + background-image: url("../img/flags/sl.svg"); +} + +.flag-country-sm { + background-image: url("../img/flags/sm.svg"); +} + +.flag-country-sn { + background-image: url("../img/flags/sn.svg"); +} + +.flag-country-so { + background-image: url("../img/flags/so.svg"); +} + +.flag-country-sr { + background-image: url("../img/flags/sr.svg"); +} + +.flag-country-ss { + background-image: url("../img/flags/ss.svg"); +} + +.flag-country-st { + background-image: url("../img/flags/st.svg"); +} + +.flag-country-sv { + background-image: url("../img/flags/sv.svg"); +} + +.flag-country-sx { + background-image: url("../img/flags/sx.svg"); +} + +.flag-country-sy { + background-image: url("../img/flags/sy.svg"); +} + +.flag-country-sz { + background-image: url("../img/flags/sz.svg"); +} + +.flag-country-tc { + background-image: url("../img/flags/tc.svg"); +} + +.flag-country-td { + background-image: url("../img/flags/td.svg"); +} + +.flag-country-tf { + background-image: url("../img/flags/tf.svg"); +} + +.flag-country-tg { + background-image: url("../img/flags/tg.svg"); +} + +.flag-country-th { + background-image: url("../img/flags/th.svg"); +} + +.flag-country-tj { + background-image: url("../img/flags/tj.svg"); +} + +.flag-country-tk { + background-image: url("../img/flags/tk.svg"); +} + +.flag-country-tl { + background-image: url("../img/flags/tl.svg"); +} + +.flag-country-tm { + background-image: url("../img/flags/tm.svg"); +} + +.flag-country-tn { + background-image: url("../img/flags/tn.svg"); +} + +.flag-country-to { + background-image: url("../img/flags/to.svg"); +} + +.flag-country-tr { + background-image: url("../img/flags/tr.svg"); +} + +.flag-country-tt { + background-image: url("../img/flags/tt.svg"); +} + +.flag-country-tv { + background-image: url("../img/flags/tv.svg"); +} + +.flag-country-tw { + background-image: url("../img/flags/tw.svg"); +} + +.flag-country-tz { + background-image: url("../img/flags/tz.svg"); +} + +.flag-country-ua { + background-image: url("../img/flags/ua.svg"); +} + +.flag-country-ug { + background-image: url("../img/flags/ug.svg"); +} + +.flag-country-um { + background-image: url("../img/flags/um.svg"); +} + +.flag-country-us { + background-image: url("../img/flags/us.svg"); +} + +.flag-country-uy { + background-image: url("../img/flags/uy.svg"); +} + +.flag-country-uz { + background-image: url("../img/flags/uz.svg"); +} + +.flag-country-va { + background-image: url("../img/flags/va.svg"); +} + +.flag-country-vc { + background-image: url("../img/flags/vc.svg"); +} + +.flag-country-ve { + background-image: url("../img/flags/ve.svg"); +} + +.flag-country-vg { + background-image: url("../img/flags/vg.svg"); +} + +.flag-country-vi { + background-image: url("../img/flags/vi.svg"); +} + +.flag-country-vn { + background-image: url("../img/flags/vn.svg"); +} + +.flag-country-vu { + background-image: url("../img/flags/vu.svg"); +} + +.flag-country-wf { + background-image: url("../img/flags/wf.svg"); +} + +.flag-country-ws { + background-image: url("../img/flags/ws.svg"); +} + +.flag-country-ye { + background-image: url("../img/flags/ye.svg"); +} + +.flag-country-yt { + background-image: url("../img/flags/yt.svg"); +} + +.flag-country-za { + background-image: url("../img/flags/za.svg"); +} + +.flag-country-zm { + background-image: url("../img/flags/zm.svg"); +} + +.flag-country-zw { + background-image: url("../img/flags/zw.svg"); +} + +.flag-country-es-ct { + background-image: url("../img/flags/es-ct.svg"); +} + +.flag-country-eu { + background-image: url("../img/flags/eu.svg"); +} + +.flag-country-gb-eng { + background-image: url("../img/flags/gb-eng.svg"); +} + +.flag-country-gb-nir { + background-image: url("../img/flags/gb-nir.svg"); +} + +.flag-country-gb-sct { + background-image: url("../img/flags/gb-sct.svg"); +} + +.flag-country-gb-wls { + background-image: url("../img/flags/gb-wls.svg"); +} + +.flag-country-un { + background-image: url("../img/flags/un.svg"); +} + +.flag-xs { + width: 1.5rem; + height: 1.125rem; +} + +.flag-sm { + width: 2rem; + height: 1.5rem; +} + +.flag-md { + width: 4rem; + height: 3rem; +} + +.flag-lg { + width: 5.5rem; + height: 4.125rem; +} + +.flag-xl { + width: 7rem; + height: 5.25rem; +} + +.flag-2xl { + width: 11rem; + height: 8.25rem; +} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-flags.min.css b/bin/main/static/tabler/dist/css/tabler-flags.min.css new file mode 100644 index 0000000..cbf2a86 --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-flags.min.css @@ -0,0 +1,9 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +.flag{position:relative;display:inline-block;width:1.33333em;height:1em;vertical-align:-3px;background-repeat:no-repeat;background-position:center;background-size:cover;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.flag-country-ad{background-image:url(../img/flags/ad.svg)}.flag-country-ae{background-image:url(../img/flags/ae.svg)}.flag-country-af{background-image:url(../img/flags/af.svg)}.flag-country-ag{background-image:url(../img/flags/ag.svg)}.flag-country-ai{background-image:url(../img/flags/ai.svg)}.flag-country-al{background-image:url(../img/flags/al.svg)}.flag-country-am{background-image:url(../img/flags/am.svg)}.flag-country-ao{background-image:url(../img/flags/ao.svg)}.flag-country-aq{background-image:url(../img/flags/aq.svg)}.flag-country-ar{background-image:url(../img/flags/ar.svg)}.flag-country-as{background-image:url(../img/flags/as.svg)}.flag-country-at{background-image:url(../img/flags/at.svg)}.flag-country-au{background-image:url(../img/flags/au.svg)}.flag-country-aw{background-image:url(../img/flags/aw.svg)}.flag-country-ax{background-image:url(../img/flags/ax.svg)}.flag-country-az{background-image:url(../img/flags/az.svg)}.flag-country-ba{background-image:url(../img/flags/ba.svg)}.flag-country-bb{background-image:url(../img/flags/bb.svg)}.flag-country-bd{background-image:url(../img/flags/bd.svg)}.flag-country-be{background-image:url(../img/flags/be.svg)}.flag-country-bf{background-image:url(../img/flags/bf.svg)}.flag-country-bg{background-image:url(../img/flags/bg.svg)}.flag-country-bh{background-image:url(../img/flags/bh.svg)}.flag-country-bi{background-image:url(../img/flags/bi.svg)}.flag-country-bj{background-image:url(../img/flags/bj.svg)}.flag-country-bl{background-image:url(../img/flags/bl.svg)}.flag-country-bm{background-image:url(../img/flags/bm.svg)}.flag-country-bn{background-image:url(../img/flags/bn.svg)}.flag-country-bo{background-image:url(../img/flags/bo.svg)}.flag-country-bq{background-image:url(../img/flags/bq.svg)}.flag-country-br{background-image:url(../img/flags/br.svg)}.flag-country-bs{background-image:url(../img/flags/bs.svg)}.flag-country-bt{background-image:url(../img/flags/bt.svg)}.flag-country-bv{background-image:url(../img/flags/bv.svg)}.flag-country-bw{background-image:url(../img/flags/bw.svg)}.flag-country-by{background-image:url(../img/flags/by.svg)}.flag-country-bz{background-image:url(../img/flags/bz.svg)}.flag-country-ca{background-image:url(../img/flags/ca.svg)}.flag-country-cc{background-image:url(../img/flags/cc.svg)}.flag-country-cd{background-image:url(../img/flags/cd.svg)}.flag-country-cf{background-image:url(../img/flags/cf.svg)}.flag-country-cg{background-image:url(../img/flags/cg.svg)}.flag-country-ch{background-image:url(../img/flags/ch.svg)}.flag-country-ci{background-image:url(../img/flags/ci.svg)}.flag-country-ck{background-image:url(../img/flags/ck.svg)}.flag-country-cl{background-image:url(../img/flags/cl.svg)}.flag-country-cm{background-image:url(../img/flags/cm.svg)}.flag-country-cn{background-image:url(../img/flags/cn.svg)}.flag-country-co{background-image:url(../img/flags/co.svg)}.flag-country-cr{background-image:url(../img/flags/cr.svg)}.flag-country-cu{background-image:url(../img/flags/cu.svg)}.flag-country-cv{background-image:url(../img/flags/cv.svg)}.flag-country-cw{background-image:url(../img/flags/cw.svg)}.flag-country-cx{background-image:url(../img/flags/cx.svg)}.flag-country-cy{background-image:url(../img/flags/cy.svg)}.flag-country-cz{background-image:url(../img/flags/cz.svg)}.flag-country-de{background-image:url(../img/flags/de.svg)}.flag-country-dj{background-image:url(../img/flags/dj.svg)}.flag-country-dk{background-image:url(../img/flags/dk.svg)}.flag-country-dm{background-image:url(../img/flags/dm.svg)}.flag-country-do{background-image:url(../img/flags/do.svg)}.flag-country-dz{background-image:url(../img/flags/dz.svg)}.flag-country-ec{background-image:url(../img/flags/ec.svg)}.flag-country-ee{background-image:url(../img/flags/ee.svg)}.flag-country-eg{background-image:url(../img/flags/eg.svg)}.flag-country-eh{background-image:url(../img/flags/eh.svg)}.flag-country-er{background-image:url(../img/flags/er.svg)}.flag-country-es{background-image:url(../img/flags/es.svg)}.flag-country-et{background-image:url(../img/flags/et.svg)}.flag-country-fi{background-image:url(../img/flags/fi.svg)}.flag-country-fj{background-image:url(../img/flags/fj.svg)}.flag-country-fk{background-image:url(../img/flags/fk.svg)}.flag-country-fm{background-image:url(../img/flags/fm.svg)}.flag-country-fo{background-image:url(../img/flags/fo.svg)}.flag-country-fr{background-image:url(../img/flags/fr.svg)}.flag-country-ga{background-image:url(../img/flags/ga.svg)}.flag-country-gb{background-image:url(../img/flags/gb.svg)}.flag-country-gd{background-image:url(../img/flags/gd.svg)}.flag-country-ge{background-image:url(../img/flags/ge.svg)}.flag-country-gf{background-image:url(../img/flags/gf.svg)}.flag-country-gg{background-image:url(../img/flags/gg.svg)}.flag-country-gh{background-image:url(../img/flags/gh.svg)}.flag-country-gi{background-image:url(../img/flags/gi.svg)}.flag-country-gl{background-image:url(../img/flags/gl.svg)}.flag-country-gm{background-image:url(../img/flags/gm.svg)}.flag-country-gn{background-image:url(../img/flags/gn.svg)}.flag-country-gp{background-image:url(../img/flags/gp.svg)}.flag-country-gq{background-image:url(../img/flags/gq.svg)}.flag-country-gr{background-image:url(../img/flags/gr.svg)}.flag-country-gs{background-image:url(../img/flags/gs.svg)}.flag-country-gt{background-image:url(../img/flags/gt.svg)}.flag-country-gu{background-image:url(../img/flags/gu.svg)}.flag-country-gw{background-image:url(../img/flags/gw.svg)}.flag-country-gy{background-image:url(../img/flags/gy.svg)}.flag-country-hk{background-image:url(../img/flags/hk.svg)}.flag-country-hm{background-image:url(../img/flags/hm.svg)}.flag-country-hn{background-image:url(../img/flags/hn.svg)}.flag-country-hr{background-image:url(../img/flags/hr.svg)}.flag-country-ht{background-image:url(../img/flags/ht.svg)}.flag-country-hu{background-image:url(../img/flags/hu.svg)}.flag-country-id{background-image:url(../img/flags/id.svg)}.flag-country-ie{background-image:url(../img/flags/ie.svg)}.flag-country-il{background-image:url(../img/flags/il.svg)}.flag-country-im{background-image:url(../img/flags/im.svg)}.flag-country-in{background-image:url(../img/flags/in.svg)}.flag-country-io{background-image:url(../img/flags/io.svg)}.flag-country-iq{background-image:url(../img/flags/iq.svg)}.flag-country-ir{background-image:url(../img/flags/ir.svg)}.flag-country-is{background-image:url(../img/flags/is.svg)}.flag-country-it{background-image:url(../img/flags/it.svg)}.flag-country-je{background-image:url(../img/flags/je.svg)}.flag-country-jm{background-image:url(../img/flags/jm.svg)}.flag-country-jo{background-image:url(../img/flags/jo.svg)}.flag-country-jp{background-image:url(../img/flags/jp.svg)}.flag-country-ke{background-image:url(../img/flags/ke.svg)}.flag-country-kg{background-image:url(../img/flags/kg.svg)}.flag-country-kh{background-image:url(../img/flags/kh.svg)}.flag-country-ki{background-image:url(../img/flags/ki.svg)}.flag-country-km{background-image:url(../img/flags/km.svg)}.flag-country-kn{background-image:url(../img/flags/kn.svg)}.flag-country-kp{background-image:url(../img/flags/kp.svg)}.flag-country-kr{background-image:url(../img/flags/kr.svg)}.flag-country-kw{background-image:url(../img/flags/kw.svg)}.flag-country-ky{background-image:url(../img/flags/ky.svg)}.flag-country-kz{background-image:url(../img/flags/kz.svg)}.flag-country-la{background-image:url(../img/flags/la.svg)}.flag-country-lb{background-image:url(../img/flags/lb.svg)}.flag-country-lc{background-image:url(../img/flags/lc.svg)}.flag-country-li{background-image:url(../img/flags/li.svg)}.flag-country-lk{background-image:url(../img/flags/lk.svg)}.flag-country-lr{background-image:url(../img/flags/lr.svg)}.flag-country-ls{background-image:url(../img/flags/ls.svg)}.flag-country-lt{background-image:url(../img/flags/lt.svg)}.flag-country-lu{background-image:url(../img/flags/lu.svg)}.flag-country-lv{background-image:url(../img/flags/lv.svg)}.flag-country-ly{background-image:url(../img/flags/ly.svg)}.flag-country-ma{background-image:url(../img/flags/ma.svg)}.flag-country-mc{background-image:url(../img/flags/mc.svg)}.flag-country-md{background-image:url(../img/flags/md.svg)}.flag-country-me{background-image:url(../img/flags/me.svg)}.flag-country-mf{background-image:url(../img/flags/mf.svg)}.flag-country-mg{background-image:url(../img/flags/mg.svg)}.flag-country-mh{background-image:url(../img/flags/mh.svg)}.flag-country-mk{background-image:url(../img/flags/mk.svg)}.flag-country-ml{background-image:url(../img/flags/ml.svg)}.flag-country-mm{background-image:url(../img/flags/mm.svg)}.flag-country-mn{background-image:url(../img/flags/mn.svg)}.flag-country-mo{background-image:url(../img/flags/mo.svg)}.flag-country-mp{background-image:url(../img/flags/mp.svg)}.flag-country-mq{background-image:url(../img/flags/mq.svg)}.flag-country-mr{background-image:url(../img/flags/mr.svg)}.flag-country-ms{background-image:url(../img/flags/ms.svg)}.flag-country-mt{background-image:url(../img/flags/mt.svg)}.flag-country-mu{background-image:url(../img/flags/mu.svg)}.flag-country-mv{background-image:url(../img/flags/mv.svg)}.flag-country-mw{background-image:url(../img/flags/mw.svg)}.flag-country-mx{background-image:url(../img/flags/mx.svg)}.flag-country-my{background-image:url(../img/flags/my.svg)}.flag-country-mz{background-image:url(../img/flags/mz.svg)}.flag-country-na{background-image:url(../img/flags/na.svg)}.flag-country-nc{background-image:url(../img/flags/nc.svg)}.flag-country-ne{background-image:url(../img/flags/ne.svg)}.flag-country-nf{background-image:url(../img/flags/nf.svg)}.flag-country-ng{background-image:url(../img/flags/ng.svg)}.flag-country-ni{background-image:url(../img/flags/ni.svg)}.flag-country-nl{background-image:url(../img/flags/nl.svg)}.flag-country-no{background-image:url(../img/flags/no.svg)}.flag-country-np{background-image:url(../img/flags/np.svg)}.flag-country-nr{background-image:url(../img/flags/nr.svg)}.flag-country-nu{background-image:url(../img/flags/nu.svg)}.flag-country-nz{background-image:url(../img/flags/nz.svg)}.flag-country-om{background-image:url(../img/flags/om.svg)}.flag-country-pa{background-image:url(../img/flags/pa.svg)}.flag-country-pe{background-image:url(../img/flags/pe.svg)}.flag-country-pf{background-image:url(../img/flags/pf.svg)}.flag-country-pg{background-image:url(../img/flags/pg.svg)}.flag-country-ph{background-image:url(../img/flags/ph.svg)}.flag-country-pk{background-image:url(../img/flags/pk.svg)}.flag-country-pl{background-image:url(../img/flags/pl.svg)}.flag-country-pm{background-image:url(../img/flags/pm.svg)}.flag-country-pn{background-image:url(../img/flags/pn.svg)}.flag-country-pr{background-image:url(../img/flags/pr.svg)}.flag-country-ps{background-image:url(../img/flags/ps.svg)}.flag-country-pt{background-image:url(../img/flags/pt.svg)}.flag-country-pw{background-image:url(../img/flags/pw.svg)}.flag-country-py{background-image:url(../img/flags/py.svg)}.flag-country-qa{background-image:url(../img/flags/qa.svg)}.flag-country-re{background-image:url(../img/flags/re.svg)}.flag-country-ro{background-image:url(../img/flags/ro.svg)}.flag-country-rs{background-image:url(../img/flags/rs.svg)}.flag-country-ru{background-image:url(../img/flags/ru.svg)}.flag-country-rw{background-image:url(../img/flags/rw.svg)}.flag-country-sa{background-image:url(../img/flags/sa.svg)}.flag-country-sb{background-image:url(../img/flags/sb.svg)}.flag-country-sc{background-image:url(../img/flags/sc.svg)}.flag-country-sd{background-image:url(../img/flags/sd.svg)}.flag-country-se{background-image:url(../img/flags/se.svg)}.flag-country-sg{background-image:url(../img/flags/sg.svg)}.flag-country-sh{background-image:url(../img/flags/sh.svg)}.flag-country-si{background-image:url(../img/flags/si.svg)}.flag-country-sj{background-image:url(../img/flags/sj.svg)}.flag-country-sk{background-image:url(../img/flags/sk.svg)}.flag-country-sl{background-image:url(../img/flags/sl.svg)}.flag-country-sm{background-image:url(../img/flags/sm.svg)}.flag-country-sn{background-image:url(../img/flags/sn.svg)}.flag-country-so{background-image:url(../img/flags/so.svg)}.flag-country-sr{background-image:url(../img/flags/sr.svg)}.flag-country-ss{background-image:url(../img/flags/ss.svg)}.flag-country-st{background-image:url(../img/flags/st.svg)}.flag-country-sv{background-image:url(../img/flags/sv.svg)}.flag-country-sx{background-image:url(../img/flags/sx.svg)}.flag-country-sy{background-image:url(../img/flags/sy.svg)}.flag-country-sz{background-image:url(../img/flags/sz.svg)}.flag-country-tc{background-image:url(../img/flags/tc.svg)}.flag-country-td{background-image:url(../img/flags/td.svg)}.flag-country-tf{background-image:url(../img/flags/tf.svg)}.flag-country-tg{background-image:url(../img/flags/tg.svg)}.flag-country-th{background-image:url(../img/flags/th.svg)}.flag-country-tj{background-image:url(../img/flags/tj.svg)}.flag-country-tk{background-image:url(../img/flags/tk.svg)}.flag-country-tl{background-image:url(../img/flags/tl.svg)}.flag-country-tm{background-image:url(../img/flags/tm.svg)}.flag-country-tn{background-image:url(../img/flags/tn.svg)}.flag-country-to{background-image:url(../img/flags/to.svg)}.flag-country-tr{background-image:url(../img/flags/tr.svg)}.flag-country-tt{background-image:url(../img/flags/tt.svg)}.flag-country-tv{background-image:url(../img/flags/tv.svg)}.flag-country-tw{background-image:url(../img/flags/tw.svg)}.flag-country-tz{background-image:url(../img/flags/tz.svg)}.flag-country-ua{background-image:url(../img/flags/ua.svg)}.flag-country-ug{background-image:url(../img/flags/ug.svg)}.flag-country-um{background-image:url(../img/flags/um.svg)}.flag-country-us{background-image:url(../img/flags/us.svg)}.flag-country-uy{background-image:url(../img/flags/uy.svg)}.flag-country-uz{background-image:url(../img/flags/uz.svg)}.flag-country-va{background-image:url(../img/flags/va.svg)}.flag-country-vc{background-image:url(../img/flags/vc.svg)}.flag-country-ve{background-image:url(../img/flags/ve.svg)}.flag-country-vg{background-image:url(../img/flags/vg.svg)}.flag-country-vi{background-image:url(../img/flags/vi.svg)}.flag-country-vn{background-image:url(../img/flags/vn.svg)}.flag-country-vu{background-image:url(../img/flags/vu.svg)}.flag-country-wf{background-image:url(../img/flags/wf.svg)}.flag-country-ws{background-image:url(../img/flags/ws.svg)}.flag-country-ye{background-image:url(../img/flags/ye.svg)}.flag-country-yt{background-image:url(../img/flags/yt.svg)}.flag-country-za{background-image:url(../img/flags/za.svg)}.flag-country-zm{background-image:url(../img/flags/zm.svg)}.flag-country-zw{background-image:url(../img/flags/zw.svg)}.flag-country-es-ct{background-image:url(../img/flags/es-ct.svg)}.flag-country-eu{background-image:url(../img/flags/eu.svg)}.flag-country-gb-eng{background-image:url(../img/flags/gb-eng.svg)}.flag-country-gb-nir{background-image:url(../img/flags/gb-nir.svg)}.flag-country-gb-sct{background-image:url(../img/flags/gb-sct.svg)}.flag-country-gb-wls{background-image:url(../img/flags/gb-wls.svg)}.flag-country-un{background-image:url(../img/flags/un.svg)}.flag-xs{width:1.5rem;height:1.125rem}.flag-sm{width:2rem;height:1.5rem}.flag-md{width:4rem;height:3rem}.flag-lg{width:5.5rem;height:4.125rem}.flag-xl{width:7rem;height:5.25rem}.flag-2xl{width:11rem;height:8.25rem} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-flags.rtl.css b/bin/main/static/tabler/dist/css/tabler-flags.rtl.css new file mode 100644 index 0000000..b6d1ebb --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-flags.rtl.css @@ -0,0 +1,1076 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +/* prettier-ignore */ +/* prettier-ignore */ +.flag { + position: relative; + display: inline-block; + width: 1.33333em; + height: 1em; + vertical-align: -3px; + background-repeat: no-repeat; + background-position: center; + background-size: cover; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} + +.flag-country-ad { + background-image: url("../img/flags/ad.svg"); +} + +.flag-country-ae { + background-image: url("../img/flags/ae.svg"); +} + +.flag-country-af { + background-image: url("../img/flags/af.svg"); +} + +.flag-country-ag { + background-image: url("../img/flags/ag.svg"); +} + +.flag-country-ai { + background-image: url("../img/flags/ai.svg"); +} + +.flag-country-al { + background-image: url("../img/flags/al.svg"); +} + +.flag-country-am { + background-image: url("../img/flags/am.svg"); +} + +.flag-country-ao { + background-image: url("../img/flags/ao.svg"); +} + +.flag-country-aq { + background-image: url("../img/flags/aq.svg"); +} + +.flag-country-ar { + background-image: url("../img/flags/ar.svg"); +} + +.flag-country-as { + background-image: url("../img/flags/as.svg"); +} + +.flag-country-at { + background-image: url("../img/flags/at.svg"); +} + +.flag-country-au { + background-image: url("../img/flags/au.svg"); +} + +.flag-country-aw { + background-image: url("../img/flags/aw.svg"); +} + +.flag-country-ax { + background-image: url("../img/flags/ax.svg"); +} + +.flag-country-az { + background-image: url("../img/flags/az.svg"); +} + +.flag-country-ba { + background-image: url("../img/flags/ba.svg"); +} + +.flag-country-bb { + background-image: url("../img/flags/bb.svg"); +} + +.flag-country-bd { + background-image: url("../img/flags/bd.svg"); +} + +.flag-country-be { + background-image: url("../img/flags/be.svg"); +} + +.flag-country-bf { + background-image: url("../img/flags/bf.svg"); +} + +.flag-country-bg { + background-image: url("../img/flags/bg.svg"); +} + +.flag-country-bh { + background-image: url("../img/flags/bh.svg"); +} + +.flag-country-bi { + background-image: url("../img/flags/bi.svg"); +} + +.flag-country-bj { + background-image: url("../img/flags/bj.svg"); +} + +.flag-country-bl { + background-image: url("../img/flags/bl.svg"); +} + +.flag-country-bm { + background-image: url("../img/flags/bm.svg"); +} + +.flag-country-bn { + background-image: url("../img/flags/bn.svg"); +} + +.flag-country-bo { + background-image: url("../img/flags/bo.svg"); +} + +.flag-country-bq { + background-image: url("../img/flags/bq.svg"); +} + +.flag-country-br { + background-image: url("../img/flags/br.svg"); +} + +.flag-country-bs { + background-image: url("../img/flags/bs.svg"); +} + +.flag-country-bt { + background-image: url("../img/flags/bt.svg"); +} + +.flag-country-bv { + background-image: url("../img/flags/bv.svg"); +} + +.flag-country-bw { + background-image: url("../img/flags/bw.svg"); +} + +.flag-country-by { + background-image: url("../img/flags/by.svg"); +} + +.flag-country-bz { + background-image: url("../img/flags/bz.svg"); +} + +.flag-country-ca { + background-image: url("../img/flags/ca.svg"); +} + +.flag-country-cc { + background-image: url("../img/flags/cc.svg"); +} + +.flag-country-cd { + background-image: url("../img/flags/cd.svg"); +} + +.flag-country-cf { + background-image: url("../img/flags/cf.svg"); +} + +.flag-country-cg { + background-image: url("../img/flags/cg.svg"); +} + +.flag-country-ch { + background-image: url("../img/flags/ch.svg"); +} + +.flag-country-ci { + background-image: url("../img/flags/ci.svg"); +} + +.flag-country-ck { + background-image: url("../img/flags/ck.svg"); +} + +.flag-country-cl { + background-image: url("../img/flags/cl.svg"); +} + +.flag-country-cm { + background-image: url("../img/flags/cm.svg"); +} + +.flag-country-cn { + background-image: url("../img/flags/cn.svg"); +} + +.flag-country-co { + background-image: url("../img/flags/co.svg"); +} + +.flag-country-cr { + background-image: url("../img/flags/cr.svg"); +} + +.flag-country-cu { + background-image: url("../img/flags/cu.svg"); +} + +.flag-country-cv { + background-image: url("../img/flags/cv.svg"); +} + +.flag-country-cw { + background-image: url("../img/flags/cw.svg"); +} + +.flag-country-cx { + background-image: url("../img/flags/cx.svg"); +} + +.flag-country-cy { + background-image: url("../img/flags/cy.svg"); +} + +.flag-country-cz { + background-image: url("../img/flags/cz.svg"); +} + +.flag-country-de { + background-image: url("../img/flags/de.svg"); +} + +.flag-country-dj { + background-image: url("../img/flags/dj.svg"); +} + +.flag-country-dk { + background-image: url("../img/flags/dk.svg"); +} + +.flag-country-dm { + background-image: url("../img/flags/dm.svg"); +} + +.flag-country-do { + background-image: url("../img/flags/do.svg"); +} + +.flag-country-dz { + background-image: url("../img/flags/dz.svg"); +} + +.flag-country-ec { + background-image: url("../img/flags/ec.svg"); +} + +.flag-country-ee { + background-image: url("../img/flags/ee.svg"); +} + +.flag-country-eg { + background-image: url("../img/flags/eg.svg"); +} + +.flag-country-eh { + background-image: url("../img/flags/eh.svg"); +} + +.flag-country-er { + background-image: url("../img/flags/er.svg"); +} + +.flag-country-es { + background-image: url("../img/flags/es.svg"); +} + +.flag-country-et { + background-image: url("../img/flags/et.svg"); +} + +.flag-country-fi { + background-image: url("../img/flags/fi.svg"); +} + +.flag-country-fj { + background-image: url("../img/flags/fj.svg"); +} + +.flag-country-fk { + background-image: url("../img/flags/fk.svg"); +} + +.flag-country-fm { + background-image: url("../img/flags/fm.svg"); +} + +.flag-country-fo { + background-image: url("../img/flags/fo.svg"); +} + +.flag-country-fr { + background-image: url("../img/flags/fr.svg"); +} + +.flag-country-ga { + background-image: url("../img/flags/ga.svg"); +} + +.flag-country-gb { + background-image: url("../img/flags/gb.svg"); +} + +.flag-country-gd { + background-image: url("../img/flags/gd.svg"); +} + +.flag-country-ge { + background-image: url("../img/flags/ge.svg"); +} + +.flag-country-gf { + background-image: url("../img/flags/gf.svg"); +} + +.flag-country-gg { + background-image: url("../img/flags/gg.svg"); +} + +.flag-country-gh { + background-image: url("../img/flags/gh.svg"); +} + +.flag-country-gi { + background-image: url("../img/flags/gi.svg"); +} + +.flag-country-gl { + background-image: url("../img/flags/gl.svg"); +} + +.flag-country-gm { + background-image: url("../img/flags/gm.svg"); +} + +.flag-country-gn { + background-image: url("../img/flags/gn.svg"); +} + +.flag-country-gp { + background-image: url("../img/flags/gp.svg"); +} + +.flag-country-gq { + background-image: url("../img/flags/gq.svg"); +} + +.flag-country-gr { + background-image: url("../img/flags/gr.svg"); +} + +.flag-country-gs { + background-image: url("../img/flags/gs.svg"); +} + +.flag-country-gt { + background-image: url("../img/flags/gt.svg"); +} + +.flag-country-gu { + background-image: url("../img/flags/gu.svg"); +} + +.flag-country-gw { + background-image: url("../img/flags/gw.svg"); +} + +.flag-country-gy { + background-image: url("../img/flags/gy.svg"); +} + +.flag-country-hk { + background-image: url("../img/flags/hk.svg"); +} + +.flag-country-hm { + background-image: url("../img/flags/hm.svg"); +} + +.flag-country-hn { + background-image: url("../img/flags/hn.svg"); +} + +.flag-country-hr { + background-image: url("../img/flags/hr.svg"); +} + +.flag-country-ht { + background-image: url("../img/flags/ht.svg"); +} + +.flag-country-hu { + background-image: url("../img/flags/hu.svg"); +} + +.flag-country-id { + background-image: url("../img/flags/id.svg"); +} + +.flag-country-ie { + background-image: url("../img/flags/ie.svg"); +} + +.flag-country-il { + background-image: url("../img/flags/il.svg"); +} + +.flag-country-im { + background-image: url("../img/flags/im.svg"); +} + +.flag-country-in { + background-image: url("../img/flags/in.svg"); +} + +.flag-country-io { + background-image: url("../img/flags/io.svg"); +} + +.flag-country-iq { + background-image: url("../img/flags/iq.svg"); +} + +.flag-country-ir { + background-image: url("../img/flags/ir.svg"); +} + +.flag-country-is { + background-image: url("../img/flags/is.svg"); +} + +.flag-country-it { + background-image: url("../img/flags/it.svg"); +} + +.flag-country-je { + background-image: url("../img/flags/je.svg"); +} + +.flag-country-jm { + background-image: url("../img/flags/jm.svg"); +} + +.flag-country-jo { + background-image: url("../img/flags/jo.svg"); +} + +.flag-country-jp { + background-image: url("../img/flags/jp.svg"); +} + +.flag-country-ke { + background-image: url("../img/flags/ke.svg"); +} + +.flag-country-kg { + background-image: url("../img/flags/kg.svg"); +} + +.flag-country-kh { + background-image: url("../img/flags/kh.svg"); +} + +.flag-country-ki { + background-image: url("../img/flags/ki.svg"); +} + +.flag-country-km { + background-image: url("../img/flags/km.svg"); +} + +.flag-country-kn { + background-image: url("../img/flags/kn.svg"); +} + +.flag-country-kp { + background-image: url("../img/flags/kp.svg"); +} + +.flag-country-kr { + background-image: url("../img/flags/kr.svg"); +} + +.flag-country-kw { + background-image: url("../img/flags/kw.svg"); +} + +.flag-country-ky { + background-image: url("../img/flags/ky.svg"); +} + +.flag-country-kz { + background-image: url("../img/flags/kz.svg"); +} + +.flag-country-la { + background-image: url("../img/flags/la.svg"); +} + +.flag-country-lb { + background-image: url("../img/flags/lb.svg"); +} + +.flag-country-lc { + background-image: url("../img/flags/lc.svg"); +} + +.flag-country-li { + background-image: url("../img/flags/li.svg"); +} + +.flag-country-lk { + background-image: url("../img/flags/lk.svg"); +} + +.flag-country-lr { + background-image: url("../img/flags/lr.svg"); +} + +.flag-country-ls { + background-image: url("../img/flags/ls.svg"); +} + +.flag-country-lt { + background-image: url("../img/flags/lt.svg"); +} + +.flag-country-lu { + background-image: url("../img/flags/lu.svg"); +} + +.flag-country-lv { + background-image: url("../img/flags/lv.svg"); +} + +.flag-country-ly { + background-image: url("../img/flags/ly.svg"); +} + +.flag-country-ma { + background-image: url("../img/flags/ma.svg"); +} + +.flag-country-mc { + background-image: url("../img/flags/mc.svg"); +} + +.flag-country-md { + background-image: url("../img/flags/md.svg"); +} + +.flag-country-me { + background-image: url("../img/flags/me.svg"); +} + +.flag-country-mf { + background-image: url("../img/flags/mf.svg"); +} + +.flag-country-mg { + background-image: url("../img/flags/mg.svg"); +} + +.flag-country-mh { + background-image: url("../img/flags/mh.svg"); +} + +.flag-country-mk { + background-image: url("../img/flags/mk.svg"); +} + +.flag-country-ml { + background-image: url("../img/flags/ml.svg"); +} + +.flag-country-mm { + background-image: url("../img/flags/mm.svg"); +} + +.flag-country-mn { + background-image: url("../img/flags/mn.svg"); +} + +.flag-country-mo { + background-image: url("../img/flags/mo.svg"); +} + +.flag-country-mp { + background-image: url("../img/flags/mp.svg"); +} + +.flag-country-mq { + background-image: url("../img/flags/mq.svg"); +} + +.flag-country-mr { + background-image: url("../img/flags/mr.svg"); +} + +.flag-country-ms { + background-image: url("../img/flags/ms.svg"); +} + +.flag-country-mt { + background-image: url("../img/flags/mt.svg"); +} + +.flag-country-mu { + background-image: url("../img/flags/mu.svg"); +} + +.flag-country-mv { + background-image: url("../img/flags/mv.svg"); +} + +.flag-country-mw { + background-image: url("../img/flags/mw.svg"); +} + +.flag-country-mx { + background-image: url("../img/flags/mx.svg"); +} + +.flag-country-my { + background-image: url("../img/flags/my.svg"); +} + +.flag-country-mz { + background-image: url("../img/flags/mz.svg"); +} + +.flag-country-na { + background-image: url("../img/flags/na.svg"); +} + +.flag-country-nc { + background-image: url("../img/flags/nc.svg"); +} + +.flag-country-ne { + background-image: url("../img/flags/ne.svg"); +} + +.flag-country-nf { + background-image: url("../img/flags/nf.svg"); +} + +.flag-country-ng { + background-image: url("../img/flags/ng.svg"); +} + +.flag-country-ni { + background-image: url("../img/flags/ni.svg"); +} + +.flag-country-nl { + background-image: url("../img/flags/nl.svg"); +} + +.flag-country-no { + background-image: url("../img/flags/no.svg"); +} + +.flag-country-np { + background-image: url("../img/flags/np.svg"); +} + +.flag-country-nr { + background-image: url("../img/flags/nr.svg"); +} + +.flag-country-nu { + background-image: url("../img/flags/nu.svg"); +} + +.flag-country-nz { + background-image: url("../img/flags/nz.svg"); +} + +.flag-country-om { + background-image: url("../img/flags/om.svg"); +} + +.flag-country-pa { + background-image: url("../img/flags/pa.svg"); +} + +.flag-country-pe { + background-image: url("../img/flags/pe.svg"); +} + +.flag-country-pf { + background-image: url("../img/flags/pf.svg"); +} + +.flag-country-pg { + background-image: url("../img/flags/pg.svg"); +} + +.flag-country-ph { + background-image: url("../img/flags/ph.svg"); +} + +.flag-country-pk { + background-image: url("../img/flags/pk.svg"); +} + +.flag-country-pl { + background-image: url("../img/flags/pl.svg"); +} + +.flag-country-pm { + background-image: url("../img/flags/pm.svg"); +} + +.flag-country-pn { + background-image: url("../img/flags/pn.svg"); +} + +.flag-country-pr { + background-image: url("../img/flags/pr.svg"); +} + +.flag-country-ps { + background-image: url("../img/flags/ps.svg"); +} + +.flag-country-pt { + background-image: url("../img/flags/pt.svg"); +} + +.flag-country-pw { + background-image: url("../img/flags/pw.svg"); +} + +.flag-country-py { + background-image: url("../img/flags/py.svg"); +} + +.flag-country-qa { + background-image: url("../img/flags/qa.svg"); +} + +.flag-country-re { + background-image: url("../img/flags/re.svg"); +} + +.flag-country-ro { + background-image: url("../img/flags/ro.svg"); +} + +.flag-country-rs { + background-image: url("../img/flags/rs.svg"); +} + +.flag-country-ru { + background-image: url("../img/flags/ru.svg"); +} + +.flag-country-rw { + background-image: url("../img/flags/rw.svg"); +} + +.flag-country-sa { + background-image: url("../img/flags/sa.svg"); +} + +.flag-country-sb { + background-image: url("../img/flags/sb.svg"); +} + +.flag-country-sc { + background-image: url("../img/flags/sc.svg"); +} + +.flag-country-sd { + background-image: url("../img/flags/sd.svg"); +} + +.flag-country-se { + background-image: url("../img/flags/se.svg"); +} + +.flag-country-sg { + background-image: url("../img/flags/sg.svg"); +} + +.flag-country-sh { + background-image: url("../img/flags/sh.svg"); +} + +.flag-country-si { + background-image: url("../img/flags/si.svg"); +} + +.flag-country-sj { + background-image: url("../img/flags/sj.svg"); +} + +.flag-country-sk { + background-image: url("../img/flags/sk.svg"); +} + +.flag-country-sl { + background-image: url("../img/flags/sl.svg"); +} + +.flag-country-sm { + background-image: url("../img/flags/sm.svg"); +} + +.flag-country-sn { + background-image: url("../img/flags/sn.svg"); +} + +.flag-country-so { + background-image: url("../img/flags/so.svg"); +} + +.flag-country-sr { + background-image: url("../img/flags/sr.svg"); +} + +.flag-country-ss { + background-image: url("../img/flags/ss.svg"); +} + +.flag-country-st { + background-image: url("../img/flags/st.svg"); +} + +.flag-country-sv { + background-image: url("../img/flags/sv.svg"); +} + +.flag-country-sx { + background-image: url("../img/flags/sx.svg"); +} + +.flag-country-sy { + background-image: url("../img/flags/sy.svg"); +} + +.flag-country-sz { + background-image: url("../img/flags/sz.svg"); +} + +.flag-country-tc { + background-image: url("../img/flags/tc.svg"); +} + +.flag-country-td { + background-image: url("../img/flags/td.svg"); +} + +.flag-country-tf { + background-image: url("../img/flags/tf.svg"); +} + +.flag-country-tg { + background-image: url("../img/flags/tg.svg"); +} + +.flag-country-th { + background-image: url("../img/flags/th.svg"); +} + +.flag-country-tj { + background-image: url("../img/flags/tj.svg"); +} + +.flag-country-tk { + background-image: url("../img/flags/tk.svg"); +} + +.flag-country-tl { + background-image: url("../img/flags/tl.svg"); +} + +.flag-country-tm { + background-image: url("../img/flags/tm.svg"); +} + +.flag-country-tn { + background-image: url("../img/flags/tn.svg"); +} + +.flag-country-to { + background-image: url("../img/flags/to.svg"); +} + +.flag-country-tr { + background-image: url("../img/flags/tr.svg"); +} + +.flag-country-tt { + background-image: url("../img/flags/tt.svg"); +} + +.flag-country-tv { + background-image: url("../img/flags/tv.svg"); +} + +.flag-country-tw { + background-image: url("../img/flags/tw.svg"); +} + +.flag-country-tz { + background-image: url("../img/flags/tz.svg"); +} + +.flag-country-ua { + background-image: url("../img/flags/ua.svg"); +} + +.flag-country-ug { + background-image: url("../img/flags/ug.svg"); +} + +.flag-country-um { + background-image: url("../img/flags/um.svg"); +} + +.flag-country-us { + background-image: url("../img/flags/us.svg"); +} + +.flag-country-uy { + background-image: url("../img/flags/uy.svg"); +} + +.flag-country-uz { + background-image: url("../img/flags/uz.svg"); +} + +.flag-country-va { + background-image: url("../img/flags/va.svg"); +} + +.flag-country-vc { + background-image: url("../img/flags/vc.svg"); +} + +.flag-country-ve { + background-image: url("../img/flags/ve.svg"); +} + +.flag-country-vg { + background-image: url("../img/flags/vg.svg"); +} + +.flag-country-vi { + background-image: url("../img/flags/vi.svg"); +} + +.flag-country-vn { + background-image: url("../img/flags/vn.svg"); +} + +.flag-country-vu { + background-image: url("../img/flags/vu.svg"); +} + +.flag-country-wf { + background-image: url("../img/flags/wf.svg"); +} + +.flag-country-ws { + background-image: url("../img/flags/ws.svg"); +} + +.flag-country-ye { + background-image: url("../img/flags/ye.svg"); +} + +.flag-country-yt { + background-image: url("../img/flags/yt.svg"); +} + +.flag-country-za { + background-image: url("../img/flags/za.svg"); +} + +.flag-country-zm { + background-image: url("../img/flags/zm.svg"); +} + +.flag-country-zw { + background-image: url("../img/flags/zw.svg"); +} + +.flag-country-es-ct { + background-image: url("../img/flags/es-ct.svg"); +} + +.flag-country-eu { + background-image: url("../img/flags/eu.svg"); +} + +.flag-country-gb-eng { + background-image: url("../img/flags/gb-eng.svg"); +} + +.flag-country-gb-nir { + background-image: url("../img/flags/gb-nir.svg"); +} + +.flag-country-gb-sct { + background-image: url("../img/flags/gb-sct.svg"); +} + +.flag-country-gb-wls { + background-image: url("../img/flags/gb-wls.svg"); +} + +.flag-country-un { + background-image: url("../img/flags/un.svg"); +} + +.flag-xs { + width: 1.5rem; + height: 1.125rem; +} + +.flag-sm { + width: 2rem; + height: 1.5rem; +} + +.flag-md { + width: 4rem; + height: 3rem; +} + +.flag-lg { + width: 5.5rem; + height: 4.125rem; +} + +.flag-xl { + width: 7rem; + height: 5.25rem; +} + +.flag-2xl { + width: 11rem; + height: 8.25rem; +} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-flags.rtl.min.css b/bin/main/static/tabler/dist/css/tabler-flags.rtl.min.css new file mode 100644 index 0000000..cbf2a86 --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-flags.rtl.min.css @@ -0,0 +1,9 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +.flag{position:relative;display:inline-block;width:1.33333em;height:1em;vertical-align:-3px;background-repeat:no-repeat;background-position:center;background-size:cover;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.flag-country-ad{background-image:url(../img/flags/ad.svg)}.flag-country-ae{background-image:url(../img/flags/ae.svg)}.flag-country-af{background-image:url(../img/flags/af.svg)}.flag-country-ag{background-image:url(../img/flags/ag.svg)}.flag-country-ai{background-image:url(../img/flags/ai.svg)}.flag-country-al{background-image:url(../img/flags/al.svg)}.flag-country-am{background-image:url(../img/flags/am.svg)}.flag-country-ao{background-image:url(../img/flags/ao.svg)}.flag-country-aq{background-image:url(../img/flags/aq.svg)}.flag-country-ar{background-image:url(../img/flags/ar.svg)}.flag-country-as{background-image:url(../img/flags/as.svg)}.flag-country-at{background-image:url(../img/flags/at.svg)}.flag-country-au{background-image:url(../img/flags/au.svg)}.flag-country-aw{background-image:url(../img/flags/aw.svg)}.flag-country-ax{background-image:url(../img/flags/ax.svg)}.flag-country-az{background-image:url(../img/flags/az.svg)}.flag-country-ba{background-image:url(../img/flags/ba.svg)}.flag-country-bb{background-image:url(../img/flags/bb.svg)}.flag-country-bd{background-image:url(../img/flags/bd.svg)}.flag-country-be{background-image:url(../img/flags/be.svg)}.flag-country-bf{background-image:url(../img/flags/bf.svg)}.flag-country-bg{background-image:url(../img/flags/bg.svg)}.flag-country-bh{background-image:url(../img/flags/bh.svg)}.flag-country-bi{background-image:url(../img/flags/bi.svg)}.flag-country-bj{background-image:url(../img/flags/bj.svg)}.flag-country-bl{background-image:url(../img/flags/bl.svg)}.flag-country-bm{background-image:url(../img/flags/bm.svg)}.flag-country-bn{background-image:url(../img/flags/bn.svg)}.flag-country-bo{background-image:url(../img/flags/bo.svg)}.flag-country-bq{background-image:url(../img/flags/bq.svg)}.flag-country-br{background-image:url(../img/flags/br.svg)}.flag-country-bs{background-image:url(../img/flags/bs.svg)}.flag-country-bt{background-image:url(../img/flags/bt.svg)}.flag-country-bv{background-image:url(../img/flags/bv.svg)}.flag-country-bw{background-image:url(../img/flags/bw.svg)}.flag-country-by{background-image:url(../img/flags/by.svg)}.flag-country-bz{background-image:url(../img/flags/bz.svg)}.flag-country-ca{background-image:url(../img/flags/ca.svg)}.flag-country-cc{background-image:url(../img/flags/cc.svg)}.flag-country-cd{background-image:url(../img/flags/cd.svg)}.flag-country-cf{background-image:url(../img/flags/cf.svg)}.flag-country-cg{background-image:url(../img/flags/cg.svg)}.flag-country-ch{background-image:url(../img/flags/ch.svg)}.flag-country-ci{background-image:url(../img/flags/ci.svg)}.flag-country-ck{background-image:url(../img/flags/ck.svg)}.flag-country-cl{background-image:url(../img/flags/cl.svg)}.flag-country-cm{background-image:url(../img/flags/cm.svg)}.flag-country-cn{background-image:url(../img/flags/cn.svg)}.flag-country-co{background-image:url(../img/flags/co.svg)}.flag-country-cr{background-image:url(../img/flags/cr.svg)}.flag-country-cu{background-image:url(../img/flags/cu.svg)}.flag-country-cv{background-image:url(../img/flags/cv.svg)}.flag-country-cw{background-image:url(../img/flags/cw.svg)}.flag-country-cx{background-image:url(../img/flags/cx.svg)}.flag-country-cy{background-image:url(../img/flags/cy.svg)}.flag-country-cz{background-image:url(../img/flags/cz.svg)}.flag-country-de{background-image:url(../img/flags/de.svg)}.flag-country-dj{background-image:url(../img/flags/dj.svg)}.flag-country-dk{background-image:url(../img/flags/dk.svg)}.flag-country-dm{background-image:url(../img/flags/dm.svg)}.flag-country-do{background-image:url(../img/flags/do.svg)}.flag-country-dz{background-image:url(../img/flags/dz.svg)}.flag-country-ec{background-image:url(../img/flags/ec.svg)}.flag-country-ee{background-image:url(../img/flags/ee.svg)}.flag-country-eg{background-image:url(../img/flags/eg.svg)}.flag-country-eh{background-image:url(../img/flags/eh.svg)}.flag-country-er{background-image:url(../img/flags/er.svg)}.flag-country-es{background-image:url(../img/flags/es.svg)}.flag-country-et{background-image:url(../img/flags/et.svg)}.flag-country-fi{background-image:url(../img/flags/fi.svg)}.flag-country-fj{background-image:url(../img/flags/fj.svg)}.flag-country-fk{background-image:url(../img/flags/fk.svg)}.flag-country-fm{background-image:url(../img/flags/fm.svg)}.flag-country-fo{background-image:url(../img/flags/fo.svg)}.flag-country-fr{background-image:url(../img/flags/fr.svg)}.flag-country-ga{background-image:url(../img/flags/ga.svg)}.flag-country-gb{background-image:url(../img/flags/gb.svg)}.flag-country-gd{background-image:url(../img/flags/gd.svg)}.flag-country-ge{background-image:url(../img/flags/ge.svg)}.flag-country-gf{background-image:url(../img/flags/gf.svg)}.flag-country-gg{background-image:url(../img/flags/gg.svg)}.flag-country-gh{background-image:url(../img/flags/gh.svg)}.flag-country-gi{background-image:url(../img/flags/gi.svg)}.flag-country-gl{background-image:url(../img/flags/gl.svg)}.flag-country-gm{background-image:url(../img/flags/gm.svg)}.flag-country-gn{background-image:url(../img/flags/gn.svg)}.flag-country-gp{background-image:url(../img/flags/gp.svg)}.flag-country-gq{background-image:url(../img/flags/gq.svg)}.flag-country-gr{background-image:url(../img/flags/gr.svg)}.flag-country-gs{background-image:url(../img/flags/gs.svg)}.flag-country-gt{background-image:url(../img/flags/gt.svg)}.flag-country-gu{background-image:url(../img/flags/gu.svg)}.flag-country-gw{background-image:url(../img/flags/gw.svg)}.flag-country-gy{background-image:url(../img/flags/gy.svg)}.flag-country-hk{background-image:url(../img/flags/hk.svg)}.flag-country-hm{background-image:url(../img/flags/hm.svg)}.flag-country-hn{background-image:url(../img/flags/hn.svg)}.flag-country-hr{background-image:url(../img/flags/hr.svg)}.flag-country-ht{background-image:url(../img/flags/ht.svg)}.flag-country-hu{background-image:url(../img/flags/hu.svg)}.flag-country-id{background-image:url(../img/flags/id.svg)}.flag-country-ie{background-image:url(../img/flags/ie.svg)}.flag-country-il{background-image:url(../img/flags/il.svg)}.flag-country-im{background-image:url(../img/flags/im.svg)}.flag-country-in{background-image:url(../img/flags/in.svg)}.flag-country-io{background-image:url(../img/flags/io.svg)}.flag-country-iq{background-image:url(../img/flags/iq.svg)}.flag-country-ir{background-image:url(../img/flags/ir.svg)}.flag-country-is{background-image:url(../img/flags/is.svg)}.flag-country-it{background-image:url(../img/flags/it.svg)}.flag-country-je{background-image:url(../img/flags/je.svg)}.flag-country-jm{background-image:url(../img/flags/jm.svg)}.flag-country-jo{background-image:url(../img/flags/jo.svg)}.flag-country-jp{background-image:url(../img/flags/jp.svg)}.flag-country-ke{background-image:url(../img/flags/ke.svg)}.flag-country-kg{background-image:url(../img/flags/kg.svg)}.flag-country-kh{background-image:url(../img/flags/kh.svg)}.flag-country-ki{background-image:url(../img/flags/ki.svg)}.flag-country-km{background-image:url(../img/flags/km.svg)}.flag-country-kn{background-image:url(../img/flags/kn.svg)}.flag-country-kp{background-image:url(../img/flags/kp.svg)}.flag-country-kr{background-image:url(../img/flags/kr.svg)}.flag-country-kw{background-image:url(../img/flags/kw.svg)}.flag-country-ky{background-image:url(../img/flags/ky.svg)}.flag-country-kz{background-image:url(../img/flags/kz.svg)}.flag-country-la{background-image:url(../img/flags/la.svg)}.flag-country-lb{background-image:url(../img/flags/lb.svg)}.flag-country-lc{background-image:url(../img/flags/lc.svg)}.flag-country-li{background-image:url(../img/flags/li.svg)}.flag-country-lk{background-image:url(../img/flags/lk.svg)}.flag-country-lr{background-image:url(../img/flags/lr.svg)}.flag-country-ls{background-image:url(../img/flags/ls.svg)}.flag-country-lt{background-image:url(../img/flags/lt.svg)}.flag-country-lu{background-image:url(../img/flags/lu.svg)}.flag-country-lv{background-image:url(../img/flags/lv.svg)}.flag-country-ly{background-image:url(../img/flags/ly.svg)}.flag-country-ma{background-image:url(../img/flags/ma.svg)}.flag-country-mc{background-image:url(../img/flags/mc.svg)}.flag-country-md{background-image:url(../img/flags/md.svg)}.flag-country-me{background-image:url(../img/flags/me.svg)}.flag-country-mf{background-image:url(../img/flags/mf.svg)}.flag-country-mg{background-image:url(../img/flags/mg.svg)}.flag-country-mh{background-image:url(../img/flags/mh.svg)}.flag-country-mk{background-image:url(../img/flags/mk.svg)}.flag-country-ml{background-image:url(../img/flags/ml.svg)}.flag-country-mm{background-image:url(../img/flags/mm.svg)}.flag-country-mn{background-image:url(../img/flags/mn.svg)}.flag-country-mo{background-image:url(../img/flags/mo.svg)}.flag-country-mp{background-image:url(../img/flags/mp.svg)}.flag-country-mq{background-image:url(../img/flags/mq.svg)}.flag-country-mr{background-image:url(../img/flags/mr.svg)}.flag-country-ms{background-image:url(../img/flags/ms.svg)}.flag-country-mt{background-image:url(../img/flags/mt.svg)}.flag-country-mu{background-image:url(../img/flags/mu.svg)}.flag-country-mv{background-image:url(../img/flags/mv.svg)}.flag-country-mw{background-image:url(../img/flags/mw.svg)}.flag-country-mx{background-image:url(../img/flags/mx.svg)}.flag-country-my{background-image:url(../img/flags/my.svg)}.flag-country-mz{background-image:url(../img/flags/mz.svg)}.flag-country-na{background-image:url(../img/flags/na.svg)}.flag-country-nc{background-image:url(../img/flags/nc.svg)}.flag-country-ne{background-image:url(../img/flags/ne.svg)}.flag-country-nf{background-image:url(../img/flags/nf.svg)}.flag-country-ng{background-image:url(../img/flags/ng.svg)}.flag-country-ni{background-image:url(../img/flags/ni.svg)}.flag-country-nl{background-image:url(../img/flags/nl.svg)}.flag-country-no{background-image:url(../img/flags/no.svg)}.flag-country-np{background-image:url(../img/flags/np.svg)}.flag-country-nr{background-image:url(../img/flags/nr.svg)}.flag-country-nu{background-image:url(../img/flags/nu.svg)}.flag-country-nz{background-image:url(../img/flags/nz.svg)}.flag-country-om{background-image:url(../img/flags/om.svg)}.flag-country-pa{background-image:url(../img/flags/pa.svg)}.flag-country-pe{background-image:url(../img/flags/pe.svg)}.flag-country-pf{background-image:url(../img/flags/pf.svg)}.flag-country-pg{background-image:url(../img/flags/pg.svg)}.flag-country-ph{background-image:url(../img/flags/ph.svg)}.flag-country-pk{background-image:url(../img/flags/pk.svg)}.flag-country-pl{background-image:url(../img/flags/pl.svg)}.flag-country-pm{background-image:url(../img/flags/pm.svg)}.flag-country-pn{background-image:url(../img/flags/pn.svg)}.flag-country-pr{background-image:url(../img/flags/pr.svg)}.flag-country-ps{background-image:url(../img/flags/ps.svg)}.flag-country-pt{background-image:url(../img/flags/pt.svg)}.flag-country-pw{background-image:url(../img/flags/pw.svg)}.flag-country-py{background-image:url(../img/flags/py.svg)}.flag-country-qa{background-image:url(../img/flags/qa.svg)}.flag-country-re{background-image:url(../img/flags/re.svg)}.flag-country-ro{background-image:url(../img/flags/ro.svg)}.flag-country-rs{background-image:url(../img/flags/rs.svg)}.flag-country-ru{background-image:url(../img/flags/ru.svg)}.flag-country-rw{background-image:url(../img/flags/rw.svg)}.flag-country-sa{background-image:url(../img/flags/sa.svg)}.flag-country-sb{background-image:url(../img/flags/sb.svg)}.flag-country-sc{background-image:url(../img/flags/sc.svg)}.flag-country-sd{background-image:url(../img/flags/sd.svg)}.flag-country-se{background-image:url(../img/flags/se.svg)}.flag-country-sg{background-image:url(../img/flags/sg.svg)}.flag-country-sh{background-image:url(../img/flags/sh.svg)}.flag-country-si{background-image:url(../img/flags/si.svg)}.flag-country-sj{background-image:url(../img/flags/sj.svg)}.flag-country-sk{background-image:url(../img/flags/sk.svg)}.flag-country-sl{background-image:url(../img/flags/sl.svg)}.flag-country-sm{background-image:url(../img/flags/sm.svg)}.flag-country-sn{background-image:url(../img/flags/sn.svg)}.flag-country-so{background-image:url(../img/flags/so.svg)}.flag-country-sr{background-image:url(../img/flags/sr.svg)}.flag-country-ss{background-image:url(../img/flags/ss.svg)}.flag-country-st{background-image:url(../img/flags/st.svg)}.flag-country-sv{background-image:url(../img/flags/sv.svg)}.flag-country-sx{background-image:url(../img/flags/sx.svg)}.flag-country-sy{background-image:url(../img/flags/sy.svg)}.flag-country-sz{background-image:url(../img/flags/sz.svg)}.flag-country-tc{background-image:url(../img/flags/tc.svg)}.flag-country-td{background-image:url(../img/flags/td.svg)}.flag-country-tf{background-image:url(../img/flags/tf.svg)}.flag-country-tg{background-image:url(../img/flags/tg.svg)}.flag-country-th{background-image:url(../img/flags/th.svg)}.flag-country-tj{background-image:url(../img/flags/tj.svg)}.flag-country-tk{background-image:url(../img/flags/tk.svg)}.flag-country-tl{background-image:url(../img/flags/tl.svg)}.flag-country-tm{background-image:url(../img/flags/tm.svg)}.flag-country-tn{background-image:url(../img/flags/tn.svg)}.flag-country-to{background-image:url(../img/flags/to.svg)}.flag-country-tr{background-image:url(../img/flags/tr.svg)}.flag-country-tt{background-image:url(../img/flags/tt.svg)}.flag-country-tv{background-image:url(../img/flags/tv.svg)}.flag-country-tw{background-image:url(../img/flags/tw.svg)}.flag-country-tz{background-image:url(../img/flags/tz.svg)}.flag-country-ua{background-image:url(../img/flags/ua.svg)}.flag-country-ug{background-image:url(../img/flags/ug.svg)}.flag-country-um{background-image:url(../img/flags/um.svg)}.flag-country-us{background-image:url(../img/flags/us.svg)}.flag-country-uy{background-image:url(../img/flags/uy.svg)}.flag-country-uz{background-image:url(../img/flags/uz.svg)}.flag-country-va{background-image:url(../img/flags/va.svg)}.flag-country-vc{background-image:url(../img/flags/vc.svg)}.flag-country-ve{background-image:url(../img/flags/ve.svg)}.flag-country-vg{background-image:url(../img/flags/vg.svg)}.flag-country-vi{background-image:url(../img/flags/vi.svg)}.flag-country-vn{background-image:url(../img/flags/vn.svg)}.flag-country-vu{background-image:url(../img/flags/vu.svg)}.flag-country-wf{background-image:url(../img/flags/wf.svg)}.flag-country-ws{background-image:url(../img/flags/ws.svg)}.flag-country-ye{background-image:url(../img/flags/ye.svg)}.flag-country-yt{background-image:url(../img/flags/yt.svg)}.flag-country-za{background-image:url(../img/flags/za.svg)}.flag-country-zm{background-image:url(../img/flags/zm.svg)}.flag-country-zw{background-image:url(../img/flags/zw.svg)}.flag-country-es-ct{background-image:url(../img/flags/es-ct.svg)}.flag-country-eu{background-image:url(../img/flags/eu.svg)}.flag-country-gb-eng{background-image:url(../img/flags/gb-eng.svg)}.flag-country-gb-nir{background-image:url(../img/flags/gb-nir.svg)}.flag-country-gb-sct{background-image:url(../img/flags/gb-sct.svg)}.flag-country-gb-wls{background-image:url(../img/flags/gb-wls.svg)}.flag-country-un{background-image:url(../img/flags/un.svg)}.flag-xs{width:1.5rem;height:1.125rem}.flag-sm{width:2rem;height:1.5rem}.flag-md{width:4rem;height:3rem}.flag-lg{width:5.5rem;height:4.125rem}.flag-xl{width:7rem;height:5.25rem}.flag-2xl{width:11rem;height:8.25rem} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-payments.css b/bin/main/static/tabler/dist/css/tabler-payments.css new file mode 100644 index 0000000..75a9e37 --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-payments.css @@ -0,0 +1,530 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +/* prettier-ignore */ +/* prettier-ignore */ +.payment { + width: 3.33332rem; + height: 2rem; + display: inline-block; + background: no-repeat center/100% 100%; + vertical-align: bottom; + font-style: normal; + box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1); + border-radius: 2px; +} + +.payment-provider-2checkout { + background-image: url("../img/payments/2checkout.svg"); +} + +.payment-provider-2checkout-dark { + background-image: url("../img/payments/2checkout-dark.svg"); +} + +.payment-provider-alipay { + background-image: url("../img/payments/alipay.svg"); +} + +.payment-provider-alipay-dark { + background-image: url("../img/payments/alipay-dark.svg"); +} + +.payment-provider-amazon { + background-image: url("../img/payments/amazon.svg"); +} + +.payment-provider-amazon-dark { + background-image: url("../img/payments/amazon-dark.svg"); +} + +.payment-provider-americanexpress { + background-image: url("../img/payments/americanexpress.svg"); +} + +.payment-provider-americanexpress-dark { + background-image: url("../img/payments/americanexpress-dark.svg"); +} + +.payment-provider-applepay { + background-image: url("../img/payments/applepay.svg"); +} + +.payment-provider-applepay-dark { + background-image: url("../img/payments/applepay-dark.svg"); +} + +.payment-provider-bancontact { + background-image: url("../img/payments/bancontact.svg"); +} + +.payment-provider-bancontact-dark { + background-image: url("../img/payments/bancontact-dark.svg"); +} + +.payment-provider-bitcoin { + background-image: url("../img/payments/bitcoin.svg"); +} + +.payment-provider-bitcoin-dark { + background-image: url("../img/payments/bitcoin-dark.svg"); +} + +.payment-provider-bitpay { + background-image: url("../img/payments/bitpay.svg"); +} + +.payment-provider-bitpay-dark { + background-image: url("../img/payments/bitpay-dark.svg"); +} + +.payment-provider-blik { + background-image: url("../img/payments/blik.svg"); +} + +.payment-provider-blik-dark { + background-image: url("../img/payments/blik-dark.svg"); +} + +.payment-provider-cirrus { + background-image: url("../img/payments/cirrus.svg"); +} + +.payment-provider-cirrus-dark { + background-image: url("../img/payments/cirrus-dark.svg"); +} + +.payment-provider-clickandbuy { + background-image: url("../img/payments/clickandbuy.svg"); +} + +.payment-provider-clickandbuy-dark { + background-image: url("../img/payments/clickandbuy-dark.svg"); +} + +.payment-provider-coinkite { + background-image: url("../img/payments/coinkite.svg"); +} + +.payment-provider-coinkite-dark { + background-image: url("../img/payments/coinkite-dark.svg"); +} + +.payment-provider-dinersclub { + background-image: url("../img/payments/dinersclub.svg"); +} + +.payment-provider-dinersclub-dark { + background-image: url("../img/payments/dinersclub-dark.svg"); +} + +.payment-provider-directdebit { + background-image: url("../img/payments/directdebit.svg"); +} + +.payment-provider-directdebit-dark { + background-image: url("../img/payments/directdebit-dark.svg"); +} + +.payment-provider-discover { + background-image: url("../img/payments/discover.svg"); +} + +.payment-provider-discover-dark { + background-image: url("../img/payments/discover-dark.svg"); +} + +.payment-provider-dotpay { + background-image: url("../img/payments/dotpay.svg"); +} + +.payment-provider-dotpay-dark { + background-image: url("../img/payments/dotpay-dark.svg"); +} + +.payment-provider-dwolla { + background-image: url("../img/payments/dwolla.svg"); +} + +.payment-provider-dwolla-dark { + background-image: url("../img/payments/dwolla-dark.svg"); +} + +.payment-provider-ebay { + background-image: url("../img/payments/ebay.svg"); +} + +.payment-provider-ebay-dark { + background-image: url("../img/payments/ebay-dark.svg"); +} + +.payment-provider-epayco { + background-image: url("../img/payments/epayco.svg"); +} + +.payment-provider-epayco-dark { + background-image: url("../img/payments/epayco-dark.svg"); +} + +.payment-provider-eway { + background-image: url("../img/payments/eway.svg"); +} + +.payment-provider-eway-dark { + background-image: url("../img/payments/eway-dark.svg"); +} + +.payment-provider-giropay { + background-image: url("../img/payments/giropay.svg"); +} + +.payment-provider-giropay-dark { + background-image: url("../img/payments/giropay-dark.svg"); +} + +.payment-provider-googlewallet { + background-image: url("../img/payments/googlewallet.svg"); +} + +.payment-provider-googlewallet-dark { + background-image: url("../img/payments/googlewallet-dark.svg"); +} + +.payment-provider-ingenico { + background-image: url("../img/payments/ingenico.svg"); +} + +.payment-provider-ingenico-dark { + background-image: url("../img/payments/ingenico-dark.svg"); +} + +.payment-provider-jcb { + background-image: url("../img/payments/jcb.svg"); +} + +.payment-provider-jcb-dark { + background-image: url("../img/payments/jcb-dark.svg"); +} + +.payment-provider-klarna { + background-image: url("../img/payments/klarna.svg"); +} + +.payment-provider-klarna-dark { + background-image: url("../img/payments/klarna-dark.svg"); +} + +.payment-provider-laser { + background-image: url("../img/payments/laser.svg"); +} + +.payment-provider-laser-dark { + background-image: url("../img/payments/laser-dark.svg"); +} + +.payment-provider-maestro { + background-image: url("../img/payments/maestro.svg"); +} + +.payment-provider-maestro-dark { + background-image: url("../img/payments/maestro-dark.svg"); +} + +.payment-provider-mastercard { + background-image: url("../img/payments/mastercard.svg"); +} + +.payment-provider-mastercard-dark { + background-image: url("../img/payments/mastercard-dark.svg"); +} + +.payment-provider-mir { + background-image: url("../img/payments/mir.svg"); +} + +.payment-provider-mir-dark { + background-image: url("../img/payments/mir-dark.svg"); +} + +.payment-provider-monero { + background-image: url("../img/payments/monero.svg"); +} + +.payment-provider-monero-dark { + background-image: url("../img/payments/monero-dark.svg"); +} + +.payment-provider-neteller { + background-image: url("../img/payments/neteller.svg"); +} + +.payment-provider-neteller-dark { + background-image: url("../img/payments/neteller-dark.svg"); +} + +.payment-provider-ogone { + background-image: url("../img/payments/ogone.svg"); +} + +.payment-provider-ogone-dark { + background-image: url("../img/payments/ogone-dark.svg"); +} + +.payment-provider-okpay { + background-image: url("../img/payments/okpay.svg"); +} + +.payment-provider-okpay-dark { + background-image: url("../img/payments/okpay-dark.svg"); +} + +.payment-provider-paybox { + background-image: url("../img/payments/paybox.svg"); +} + +.payment-provider-paybox-dark { + background-image: url("../img/payments/paybox-dark.svg"); +} + +.payment-provider-paymill { + background-image: url("../img/payments/paymill.svg"); +} + +.payment-provider-paymill-dark { + background-image: url("../img/payments/paymill-dark.svg"); +} + +.payment-provider-payone { + background-image: url("../img/payments/payone.svg"); +} + +.payment-provider-payone-dark { + background-image: url("../img/payments/payone-dark.svg"); +} + +.payment-provider-payoneer { + background-image: url("../img/payments/payoneer.svg"); +} + +.payment-provider-payoneer-dark { + background-image: url("../img/payments/payoneer-dark.svg"); +} + +.payment-provider-paypal { + background-image: url("../img/payments/paypal.svg"); +} + +.payment-provider-paypal-dark { + background-image: url("../img/payments/paypal-dark.svg"); +} + +.payment-provider-paysafecard { + background-image: url("../img/payments/paysafecard.svg"); +} + +.payment-provider-paysafecard-dark { + background-image: url("../img/payments/paysafecard-dark.svg"); +} + +.payment-provider-payu { + background-image: url("../img/payments/payu.svg"); +} + +.payment-provider-payu-dark { + background-image: url("../img/payments/payu-dark.svg"); +} + +.payment-provider-payza { + background-image: url("../img/payments/payza.svg"); +} + +.payment-provider-payza-dark { + background-image: url("../img/payments/payza-dark.svg"); +} + +.payment-provider-przelewy24 { + background-image: url("../img/payments/przelewy24.svg"); +} + +.payment-provider-przelewy24-dark { + background-image: url("../img/payments/przelewy24-dark.svg"); +} + +.payment-provider-ripple { + background-image: url("../img/payments/ripple.svg"); +} + +.payment-provider-ripple-dark { + background-image: url("../img/payments/ripple-dark.svg"); +} + +.payment-provider-sage { + background-image: url("../img/payments/sage.svg"); +} + +.payment-provider-sage-dark { + background-image: url("../img/payments/sage-dark.svg"); +} + +.payment-provider-sepa { + background-image: url("../img/payments/sepa.svg"); +} + +.payment-provider-sepa-dark { + background-image: url("../img/payments/sepa-dark.svg"); +} + +.payment-provider-shopify { + background-image: url("../img/payments/shopify.svg"); +} + +.payment-provider-shopify-dark { + background-image: url("../img/payments/shopify-dark.svg"); +} + +.payment-provider-skrill { + background-image: url("../img/payments/skrill.svg"); +} + +.payment-provider-skrill-dark { + background-image: url("../img/payments/skrill-dark.svg"); +} + +.payment-provider-solo { + background-image: url("../img/payments/solo.svg"); +} + +.payment-provider-solo-dark { + background-image: url("../img/payments/solo-dark.svg"); +} + +.payment-provider-square { + background-image: url("../img/payments/square.svg"); +} + +.payment-provider-square-dark { + background-image: url("../img/payments/square-dark.svg"); +} + +.payment-provider-stripe { + background-image: url("../img/payments/stripe.svg"); +} + +.payment-provider-stripe-dark { + background-image: url("../img/payments/stripe-dark.svg"); +} + +.payment-provider-switch { + background-image: url("../img/payments/switch.svg"); +} + +.payment-provider-switch-dark { + background-image: url("../img/payments/switch-dark.svg"); +} + +.payment-provider-tpay { + background-image: url("../img/payments/tpay.svg"); +} + +.payment-provider-tpay-dark { + background-image: url("../img/payments/tpay-dark.svg"); +} + +.payment-provider-ukash { + background-image: url("../img/payments/ukash.svg"); +} + +.payment-provider-ukash-dark { + background-image: url("../img/payments/ukash-dark.svg"); +} + +.payment-provider-unionpay { + background-image: url("../img/payments/unionpay.svg"); +} + +.payment-provider-unionpay-dark { + background-image: url("../img/payments/unionpay-dark.svg"); +} + +.payment-provider-verifone { + background-image: url("../img/payments/verifone.svg"); +} + +.payment-provider-verifone-dark { + background-image: url("../img/payments/verifone-dark.svg"); +} + +.payment-provider-verisign { + background-image: url("../img/payments/verisign.svg"); +} + +.payment-provider-verisign-dark { + background-image: url("../img/payments/verisign-dark.svg"); +} + +.payment-provider-visa { + background-image: url("../img/payments/visa.svg"); +} + +.payment-provider-visa-dark { + background-image: url("../img/payments/visa-dark.svg"); +} + +.payment-provider-webmoney { + background-image: url("../img/payments/webmoney.svg"); +} + +.payment-provider-webmoney-dark { + background-image: url("../img/payments/webmoney-dark.svg"); +} + +.payment-provider-westernunion { + background-image: url("../img/payments/westernunion.svg"); +} + +.payment-provider-westernunion-dark { + background-image: url("../img/payments/westernunion-dark.svg"); +} + +.payment-provider-worldpay { + background-image: url("../img/payments/worldpay.svg"); +} + +.payment-provider-worldpay-dark { + background-image: url("../img/payments/worldpay-dark.svg"); +} + +.payment-xs { + width: 2.49999rem; + height: 1.5rem; +} + +.payment-sm { + width: 3.33332rem; + height: 2rem; +} + +.payment-md { + width: 6.66664rem; + height: 4rem; +} + +.payment-lg { + width: 9.16663rem; + height: 5.5rem; +} + +.payment-xl { + width: 11.66662rem; + height: 7rem; +} + +.payment-2xl { + width: 18.33326rem; + height: 11rem; +} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-payments.min.css b/bin/main/static/tabler/dist/css/tabler-payments.min.css new file mode 100644 index 0000000..0094536 --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-payments.min.css @@ -0,0 +1,9 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +.payment{width:3.33332rem;height:2rem;display:inline-block;background:no-repeat center/100% 100%;vertical-align:bottom;font-style:normal;box-shadow:0 0 1px 1px rgba(0,0,0,.1);border-radius:2px}.payment-provider-2checkout{background-image:url(../img/payments/2checkout.svg)}.payment-provider-2checkout-dark{background-image:url(../img/payments/2checkout-dark.svg)}.payment-provider-alipay{background-image:url(../img/payments/alipay.svg)}.payment-provider-alipay-dark{background-image:url(../img/payments/alipay-dark.svg)}.payment-provider-amazon{background-image:url(../img/payments/amazon.svg)}.payment-provider-amazon-dark{background-image:url(../img/payments/amazon-dark.svg)}.payment-provider-americanexpress{background-image:url(../img/payments/americanexpress.svg)}.payment-provider-americanexpress-dark{background-image:url(../img/payments/americanexpress-dark.svg)}.payment-provider-applepay{background-image:url(../img/payments/applepay.svg)}.payment-provider-applepay-dark{background-image:url(../img/payments/applepay-dark.svg)}.payment-provider-bancontact{background-image:url(../img/payments/bancontact.svg)}.payment-provider-bancontact-dark{background-image:url(../img/payments/bancontact-dark.svg)}.payment-provider-bitcoin{background-image:url(../img/payments/bitcoin.svg)}.payment-provider-bitcoin-dark{background-image:url(../img/payments/bitcoin-dark.svg)}.payment-provider-bitpay{background-image:url(../img/payments/bitpay.svg)}.payment-provider-bitpay-dark{background-image:url(../img/payments/bitpay-dark.svg)}.payment-provider-blik{background-image:url(../img/payments/blik.svg)}.payment-provider-blik-dark{background-image:url(../img/payments/blik-dark.svg)}.payment-provider-cirrus{background-image:url(../img/payments/cirrus.svg)}.payment-provider-cirrus-dark{background-image:url(../img/payments/cirrus-dark.svg)}.payment-provider-clickandbuy{background-image:url(../img/payments/clickandbuy.svg)}.payment-provider-clickandbuy-dark{background-image:url(../img/payments/clickandbuy-dark.svg)}.payment-provider-coinkite{background-image:url(../img/payments/coinkite.svg)}.payment-provider-coinkite-dark{background-image:url(../img/payments/coinkite-dark.svg)}.payment-provider-dinersclub{background-image:url(../img/payments/dinersclub.svg)}.payment-provider-dinersclub-dark{background-image:url(../img/payments/dinersclub-dark.svg)}.payment-provider-directdebit{background-image:url(../img/payments/directdebit.svg)}.payment-provider-directdebit-dark{background-image:url(../img/payments/directdebit-dark.svg)}.payment-provider-discover{background-image:url(../img/payments/discover.svg)}.payment-provider-discover-dark{background-image:url(../img/payments/discover-dark.svg)}.payment-provider-dotpay{background-image:url(../img/payments/dotpay.svg)}.payment-provider-dotpay-dark{background-image:url(../img/payments/dotpay-dark.svg)}.payment-provider-dwolla{background-image:url(../img/payments/dwolla.svg)}.payment-provider-dwolla-dark{background-image:url(../img/payments/dwolla-dark.svg)}.payment-provider-ebay{background-image:url(../img/payments/ebay.svg)}.payment-provider-ebay-dark{background-image:url(../img/payments/ebay-dark.svg)}.payment-provider-epayco{background-image:url(../img/payments/epayco.svg)}.payment-provider-epayco-dark{background-image:url(../img/payments/epayco-dark.svg)}.payment-provider-eway{background-image:url(../img/payments/eway.svg)}.payment-provider-eway-dark{background-image:url(../img/payments/eway-dark.svg)}.payment-provider-giropay{background-image:url(../img/payments/giropay.svg)}.payment-provider-giropay-dark{background-image:url(../img/payments/giropay-dark.svg)}.payment-provider-googlewallet{background-image:url(../img/payments/googlewallet.svg)}.payment-provider-googlewallet-dark{background-image:url(../img/payments/googlewallet-dark.svg)}.payment-provider-ingenico{background-image:url(../img/payments/ingenico.svg)}.payment-provider-ingenico-dark{background-image:url(../img/payments/ingenico-dark.svg)}.payment-provider-jcb{background-image:url(../img/payments/jcb.svg)}.payment-provider-jcb-dark{background-image:url(../img/payments/jcb-dark.svg)}.payment-provider-klarna{background-image:url(../img/payments/klarna.svg)}.payment-provider-klarna-dark{background-image:url(../img/payments/klarna-dark.svg)}.payment-provider-laser{background-image:url(../img/payments/laser.svg)}.payment-provider-laser-dark{background-image:url(../img/payments/laser-dark.svg)}.payment-provider-maestro{background-image:url(../img/payments/maestro.svg)}.payment-provider-maestro-dark{background-image:url(../img/payments/maestro-dark.svg)}.payment-provider-mastercard{background-image:url(../img/payments/mastercard.svg)}.payment-provider-mastercard-dark{background-image:url(../img/payments/mastercard-dark.svg)}.payment-provider-mir{background-image:url(../img/payments/mir.svg)}.payment-provider-mir-dark{background-image:url(../img/payments/mir-dark.svg)}.payment-provider-monero{background-image:url(../img/payments/monero.svg)}.payment-provider-monero-dark{background-image:url(../img/payments/monero-dark.svg)}.payment-provider-neteller{background-image:url(../img/payments/neteller.svg)}.payment-provider-neteller-dark{background-image:url(../img/payments/neteller-dark.svg)}.payment-provider-ogone{background-image:url(../img/payments/ogone.svg)}.payment-provider-ogone-dark{background-image:url(../img/payments/ogone-dark.svg)}.payment-provider-okpay{background-image:url(../img/payments/okpay.svg)}.payment-provider-okpay-dark{background-image:url(../img/payments/okpay-dark.svg)}.payment-provider-paybox{background-image:url(../img/payments/paybox.svg)}.payment-provider-paybox-dark{background-image:url(../img/payments/paybox-dark.svg)}.payment-provider-paymill{background-image:url(../img/payments/paymill.svg)}.payment-provider-paymill-dark{background-image:url(../img/payments/paymill-dark.svg)}.payment-provider-payone{background-image:url(../img/payments/payone.svg)}.payment-provider-payone-dark{background-image:url(../img/payments/payone-dark.svg)}.payment-provider-payoneer{background-image:url(../img/payments/payoneer.svg)}.payment-provider-payoneer-dark{background-image:url(../img/payments/payoneer-dark.svg)}.payment-provider-paypal{background-image:url(../img/payments/paypal.svg)}.payment-provider-paypal-dark{background-image:url(../img/payments/paypal-dark.svg)}.payment-provider-paysafecard{background-image:url(../img/payments/paysafecard.svg)}.payment-provider-paysafecard-dark{background-image:url(../img/payments/paysafecard-dark.svg)}.payment-provider-payu{background-image:url(../img/payments/payu.svg)}.payment-provider-payu-dark{background-image:url(../img/payments/payu-dark.svg)}.payment-provider-payza{background-image:url(../img/payments/payza.svg)}.payment-provider-payza-dark{background-image:url(../img/payments/payza-dark.svg)}.payment-provider-przelewy24{background-image:url(../img/payments/przelewy24.svg)}.payment-provider-przelewy24-dark{background-image:url(../img/payments/przelewy24-dark.svg)}.payment-provider-ripple{background-image:url(../img/payments/ripple.svg)}.payment-provider-ripple-dark{background-image:url(../img/payments/ripple-dark.svg)}.payment-provider-sage{background-image:url(../img/payments/sage.svg)}.payment-provider-sage-dark{background-image:url(../img/payments/sage-dark.svg)}.payment-provider-sepa{background-image:url(../img/payments/sepa.svg)}.payment-provider-sepa-dark{background-image:url(../img/payments/sepa-dark.svg)}.payment-provider-shopify{background-image:url(../img/payments/shopify.svg)}.payment-provider-shopify-dark{background-image:url(../img/payments/shopify-dark.svg)}.payment-provider-skrill{background-image:url(../img/payments/skrill.svg)}.payment-provider-skrill-dark{background-image:url(../img/payments/skrill-dark.svg)}.payment-provider-solo{background-image:url(../img/payments/solo.svg)}.payment-provider-solo-dark{background-image:url(../img/payments/solo-dark.svg)}.payment-provider-square{background-image:url(../img/payments/square.svg)}.payment-provider-square-dark{background-image:url(../img/payments/square-dark.svg)}.payment-provider-stripe{background-image:url(../img/payments/stripe.svg)}.payment-provider-stripe-dark{background-image:url(../img/payments/stripe-dark.svg)}.payment-provider-switch{background-image:url(../img/payments/switch.svg)}.payment-provider-switch-dark{background-image:url(../img/payments/switch-dark.svg)}.payment-provider-tpay{background-image:url(../img/payments/tpay.svg)}.payment-provider-tpay-dark{background-image:url(../img/payments/tpay-dark.svg)}.payment-provider-ukash{background-image:url(../img/payments/ukash.svg)}.payment-provider-ukash-dark{background-image:url(../img/payments/ukash-dark.svg)}.payment-provider-unionpay{background-image:url(../img/payments/unionpay.svg)}.payment-provider-unionpay-dark{background-image:url(../img/payments/unionpay-dark.svg)}.payment-provider-verifone{background-image:url(../img/payments/verifone.svg)}.payment-provider-verifone-dark{background-image:url(../img/payments/verifone-dark.svg)}.payment-provider-verisign{background-image:url(../img/payments/verisign.svg)}.payment-provider-verisign-dark{background-image:url(../img/payments/verisign-dark.svg)}.payment-provider-visa{background-image:url(../img/payments/visa.svg)}.payment-provider-visa-dark{background-image:url(../img/payments/visa-dark.svg)}.payment-provider-webmoney{background-image:url(../img/payments/webmoney.svg)}.payment-provider-webmoney-dark{background-image:url(../img/payments/webmoney-dark.svg)}.payment-provider-westernunion{background-image:url(../img/payments/westernunion.svg)}.payment-provider-westernunion-dark{background-image:url(../img/payments/westernunion-dark.svg)}.payment-provider-worldpay{background-image:url(../img/payments/worldpay.svg)}.payment-provider-worldpay-dark{background-image:url(../img/payments/worldpay-dark.svg)}.payment-xs{width:2.49999rem;height:1.5rem}.payment-sm{width:3.33332rem;height:2rem}.payment-md{width:6.66664rem;height:4rem}.payment-lg{width:9.16663rem;height:5.5rem}.payment-xl{width:11.66662rem;height:7rem}.payment-2xl{width:18.33326rem;height:11rem} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-payments.rtl.css b/bin/main/static/tabler/dist/css/tabler-payments.rtl.css new file mode 100644 index 0000000..75a9e37 --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-payments.rtl.css @@ -0,0 +1,530 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +/* prettier-ignore */ +/* prettier-ignore */ +.payment { + width: 3.33332rem; + height: 2rem; + display: inline-block; + background: no-repeat center/100% 100%; + vertical-align: bottom; + font-style: normal; + box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1); + border-radius: 2px; +} + +.payment-provider-2checkout { + background-image: url("../img/payments/2checkout.svg"); +} + +.payment-provider-2checkout-dark { + background-image: url("../img/payments/2checkout-dark.svg"); +} + +.payment-provider-alipay { + background-image: url("../img/payments/alipay.svg"); +} + +.payment-provider-alipay-dark { + background-image: url("../img/payments/alipay-dark.svg"); +} + +.payment-provider-amazon { + background-image: url("../img/payments/amazon.svg"); +} + +.payment-provider-amazon-dark { + background-image: url("../img/payments/amazon-dark.svg"); +} + +.payment-provider-americanexpress { + background-image: url("../img/payments/americanexpress.svg"); +} + +.payment-provider-americanexpress-dark { + background-image: url("../img/payments/americanexpress-dark.svg"); +} + +.payment-provider-applepay { + background-image: url("../img/payments/applepay.svg"); +} + +.payment-provider-applepay-dark { + background-image: url("../img/payments/applepay-dark.svg"); +} + +.payment-provider-bancontact { + background-image: url("../img/payments/bancontact.svg"); +} + +.payment-provider-bancontact-dark { + background-image: url("../img/payments/bancontact-dark.svg"); +} + +.payment-provider-bitcoin { + background-image: url("../img/payments/bitcoin.svg"); +} + +.payment-provider-bitcoin-dark { + background-image: url("../img/payments/bitcoin-dark.svg"); +} + +.payment-provider-bitpay { + background-image: url("../img/payments/bitpay.svg"); +} + +.payment-provider-bitpay-dark { + background-image: url("../img/payments/bitpay-dark.svg"); +} + +.payment-provider-blik { + background-image: url("../img/payments/blik.svg"); +} + +.payment-provider-blik-dark { + background-image: url("../img/payments/blik-dark.svg"); +} + +.payment-provider-cirrus { + background-image: url("../img/payments/cirrus.svg"); +} + +.payment-provider-cirrus-dark { + background-image: url("../img/payments/cirrus-dark.svg"); +} + +.payment-provider-clickandbuy { + background-image: url("../img/payments/clickandbuy.svg"); +} + +.payment-provider-clickandbuy-dark { + background-image: url("../img/payments/clickandbuy-dark.svg"); +} + +.payment-provider-coinkite { + background-image: url("../img/payments/coinkite.svg"); +} + +.payment-provider-coinkite-dark { + background-image: url("../img/payments/coinkite-dark.svg"); +} + +.payment-provider-dinersclub { + background-image: url("../img/payments/dinersclub.svg"); +} + +.payment-provider-dinersclub-dark { + background-image: url("../img/payments/dinersclub-dark.svg"); +} + +.payment-provider-directdebit { + background-image: url("../img/payments/directdebit.svg"); +} + +.payment-provider-directdebit-dark { + background-image: url("../img/payments/directdebit-dark.svg"); +} + +.payment-provider-discover { + background-image: url("../img/payments/discover.svg"); +} + +.payment-provider-discover-dark { + background-image: url("../img/payments/discover-dark.svg"); +} + +.payment-provider-dotpay { + background-image: url("../img/payments/dotpay.svg"); +} + +.payment-provider-dotpay-dark { + background-image: url("../img/payments/dotpay-dark.svg"); +} + +.payment-provider-dwolla { + background-image: url("../img/payments/dwolla.svg"); +} + +.payment-provider-dwolla-dark { + background-image: url("../img/payments/dwolla-dark.svg"); +} + +.payment-provider-ebay { + background-image: url("../img/payments/ebay.svg"); +} + +.payment-provider-ebay-dark { + background-image: url("../img/payments/ebay-dark.svg"); +} + +.payment-provider-epayco { + background-image: url("../img/payments/epayco.svg"); +} + +.payment-provider-epayco-dark { + background-image: url("../img/payments/epayco-dark.svg"); +} + +.payment-provider-eway { + background-image: url("../img/payments/eway.svg"); +} + +.payment-provider-eway-dark { + background-image: url("../img/payments/eway-dark.svg"); +} + +.payment-provider-giropay { + background-image: url("../img/payments/giropay.svg"); +} + +.payment-provider-giropay-dark { + background-image: url("../img/payments/giropay-dark.svg"); +} + +.payment-provider-googlewallet { + background-image: url("../img/payments/googlewallet.svg"); +} + +.payment-provider-googlewallet-dark { + background-image: url("../img/payments/googlewallet-dark.svg"); +} + +.payment-provider-ingenico { + background-image: url("../img/payments/ingenico.svg"); +} + +.payment-provider-ingenico-dark { + background-image: url("../img/payments/ingenico-dark.svg"); +} + +.payment-provider-jcb { + background-image: url("../img/payments/jcb.svg"); +} + +.payment-provider-jcb-dark { + background-image: url("../img/payments/jcb-dark.svg"); +} + +.payment-provider-klarna { + background-image: url("../img/payments/klarna.svg"); +} + +.payment-provider-klarna-dark { + background-image: url("../img/payments/klarna-dark.svg"); +} + +.payment-provider-laser { + background-image: url("../img/payments/laser.svg"); +} + +.payment-provider-laser-dark { + background-image: url("../img/payments/laser-dark.svg"); +} + +.payment-provider-maestro { + background-image: url("../img/payments/maestro.svg"); +} + +.payment-provider-maestro-dark { + background-image: url("../img/payments/maestro-dark.svg"); +} + +.payment-provider-mastercard { + background-image: url("../img/payments/mastercard.svg"); +} + +.payment-provider-mastercard-dark { + background-image: url("../img/payments/mastercard-dark.svg"); +} + +.payment-provider-mir { + background-image: url("../img/payments/mir.svg"); +} + +.payment-provider-mir-dark { + background-image: url("../img/payments/mir-dark.svg"); +} + +.payment-provider-monero { + background-image: url("../img/payments/monero.svg"); +} + +.payment-provider-monero-dark { + background-image: url("../img/payments/monero-dark.svg"); +} + +.payment-provider-neteller { + background-image: url("../img/payments/neteller.svg"); +} + +.payment-provider-neteller-dark { + background-image: url("../img/payments/neteller-dark.svg"); +} + +.payment-provider-ogone { + background-image: url("../img/payments/ogone.svg"); +} + +.payment-provider-ogone-dark { + background-image: url("../img/payments/ogone-dark.svg"); +} + +.payment-provider-okpay { + background-image: url("../img/payments/okpay.svg"); +} + +.payment-provider-okpay-dark { + background-image: url("../img/payments/okpay-dark.svg"); +} + +.payment-provider-paybox { + background-image: url("../img/payments/paybox.svg"); +} + +.payment-provider-paybox-dark { + background-image: url("../img/payments/paybox-dark.svg"); +} + +.payment-provider-paymill { + background-image: url("../img/payments/paymill.svg"); +} + +.payment-provider-paymill-dark { + background-image: url("../img/payments/paymill-dark.svg"); +} + +.payment-provider-payone { + background-image: url("../img/payments/payone.svg"); +} + +.payment-provider-payone-dark { + background-image: url("../img/payments/payone-dark.svg"); +} + +.payment-provider-payoneer { + background-image: url("../img/payments/payoneer.svg"); +} + +.payment-provider-payoneer-dark { + background-image: url("../img/payments/payoneer-dark.svg"); +} + +.payment-provider-paypal { + background-image: url("../img/payments/paypal.svg"); +} + +.payment-provider-paypal-dark { + background-image: url("../img/payments/paypal-dark.svg"); +} + +.payment-provider-paysafecard { + background-image: url("../img/payments/paysafecard.svg"); +} + +.payment-provider-paysafecard-dark { + background-image: url("../img/payments/paysafecard-dark.svg"); +} + +.payment-provider-payu { + background-image: url("../img/payments/payu.svg"); +} + +.payment-provider-payu-dark { + background-image: url("../img/payments/payu-dark.svg"); +} + +.payment-provider-payza { + background-image: url("../img/payments/payza.svg"); +} + +.payment-provider-payza-dark { + background-image: url("../img/payments/payza-dark.svg"); +} + +.payment-provider-przelewy24 { + background-image: url("../img/payments/przelewy24.svg"); +} + +.payment-provider-przelewy24-dark { + background-image: url("../img/payments/przelewy24-dark.svg"); +} + +.payment-provider-ripple { + background-image: url("../img/payments/ripple.svg"); +} + +.payment-provider-ripple-dark { + background-image: url("../img/payments/ripple-dark.svg"); +} + +.payment-provider-sage { + background-image: url("../img/payments/sage.svg"); +} + +.payment-provider-sage-dark { + background-image: url("../img/payments/sage-dark.svg"); +} + +.payment-provider-sepa { + background-image: url("../img/payments/sepa.svg"); +} + +.payment-provider-sepa-dark { + background-image: url("../img/payments/sepa-dark.svg"); +} + +.payment-provider-shopify { + background-image: url("../img/payments/shopify.svg"); +} + +.payment-provider-shopify-dark { + background-image: url("../img/payments/shopify-dark.svg"); +} + +.payment-provider-skrill { + background-image: url("../img/payments/skrill.svg"); +} + +.payment-provider-skrill-dark { + background-image: url("../img/payments/skrill-dark.svg"); +} + +.payment-provider-solo { + background-image: url("../img/payments/solo.svg"); +} + +.payment-provider-solo-dark { + background-image: url("../img/payments/solo-dark.svg"); +} + +.payment-provider-square { + background-image: url("../img/payments/square.svg"); +} + +.payment-provider-square-dark { + background-image: url("../img/payments/square-dark.svg"); +} + +.payment-provider-stripe { + background-image: url("../img/payments/stripe.svg"); +} + +.payment-provider-stripe-dark { + background-image: url("../img/payments/stripe-dark.svg"); +} + +.payment-provider-switch { + background-image: url("../img/payments/switch.svg"); +} + +.payment-provider-switch-dark { + background-image: url("../img/payments/switch-dark.svg"); +} + +.payment-provider-tpay { + background-image: url("../img/payments/tpay.svg"); +} + +.payment-provider-tpay-dark { + background-image: url("../img/payments/tpay-dark.svg"); +} + +.payment-provider-ukash { + background-image: url("../img/payments/ukash.svg"); +} + +.payment-provider-ukash-dark { + background-image: url("../img/payments/ukash-dark.svg"); +} + +.payment-provider-unionpay { + background-image: url("../img/payments/unionpay.svg"); +} + +.payment-provider-unionpay-dark { + background-image: url("../img/payments/unionpay-dark.svg"); +} + +.payment-provider-verifone { + background-image: url("../img/payments/verifone.svg"); +} + +.payment-provider-verifone-dark { + background-image: url("../img/payments/verifone-dark.svg"); +} + +.payment-provider-verisign { + background-image: url("../img/payments/verisign.svg"); +} + +.payment-provider-verisign-dark { + background-image: url("../img/payments/verisign-dark.svg"); +} + +.payment-provider-visa { + background-image: url("../img/payments/visa.svg"); +} + +.payment-provider-visa-dark { + background-image: url("../img/payments/visa-dark.svg"); +} + +.payment-provider-webmoney { + background-image: url("../img/payments/webmoney.svg"); +} + +.payment-provider-webmoney-dark { + background-image: url("../img/payments/webmoney-dark.svg"); +} + +.payment-provider-westernunion { + background-image: url("../img/payments/westernunion.svg"); +} + +.payment-provider-westernunion-dark { + background-image: url("../img/payments/westernunion-dark.svg"); +} + +.payment-provider-worldpay { + background-image: url("../img/payments/worldpay.svg"); +} + +.payment-provider-worldpay-dark { + background-image: url("../img/payments/worldpay-dark.svg"); +} + +.payment-xs { + width: 2.49999rem; + height: 1.5rem; +} + +.payment-sm { + width: 3.33332rem; + height: 2rem; +} + +.payment-md { + width: 6.66664rem; + height: 4rem; +} + +.payment-lg { + width: 9.16663rem; + height: 5.5rem; +} + +.payment-xl { + width: 11.66662rem; + height: 7rem; +} + +.payment-2xl { + width: 18.33326rem; + height: 11rem; +} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-payments.rtl.min.css b/bin/main/static/tabler/dist/css/tabler-payments.rtl.min.css new file mode 100644 index 0000000..0094536 --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-payments.rtl.min.css @@ -0,0 +1,9 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +.payment{width:3.33332rem;height:2rem;display:inline-block;background:no-repeat center/100% 100%;vertical-align:bottom;font-style:normal;box-shadow:0 0 1px 1px rgba(0,0,0,.1);border-radius:2px}.payment-provider-2checkout{background-image:url(../img/payments/2checkout.svg)}.payment-provider-2checkout-dark{background-image:url(../img/payments/2checkout-dark.svg)}.payment-provider-alipay{background-image:url(../img/payments/alipay.svg)}.payment-provider-alipay-dark{background-image:url(../img/payments/alipay-dark.svg)}.payment-provider-amazon{background-image:url(../img/payments/amazon.svg)}.payment-provider-amazon-dark{background-image:url(../img/payments/amazon-dark.svg)}.payment-provider-americanexpress{background-image:url(../img/payments/americanexpress.svg)}.payment-provider-americanexpress-dark{background-image:url(../img/payments/americanexpress-dark.svg)}.payment-provider-applepay{background-image:url(../img/payments/applepay.svg)}.payment-provider-applepay-dark{background-image:url(../img/payments/applepay-dark.svg)}.payment-provider-bancontact{background-image:url(../img/payments/bancontact.svg)}.payment-provider-bancontact-dark{background-image:url(../img/payments/bancontact-dark.svg)}.payment-provider-bitcoin{background-image:url(../img/payments/bitcoin.svg)}.payment-provider-bitcoin-dark{background-image:url(../img/payments/bitcoin-dark.svg)}.payment-provider-bitpay{background-image:url(../img/payments/bitpay.svg)}.payment-provider-bitpay-dark{background-image:url(../img/payments/bitpay-dark.svg)}.payment-provider-blik{background-image:url(../img/payments/blik.svg)}.payment-provider-blik-dark{background-image:url(../img/payments/blik-dark.svg)}.payment-provider-cirrus{background-image:url(../img/payments/cirrus.svg)}.payment-provider-cirrus-dark{background-image:url(../img/payments/cirrus-dark.svg)}.payment-provider-clickandbuy{background-image:url(../img/payments/clickandbuy.svg)}.payment-provider-clickandbuy-dark{background-image:url(../img/payments/clickandbuy-dark.svg)}.payment-provider-coinkite{background-image:url(../img/payments/coinkite.svg)}.payment-provider-coinkite-dark{background-image:url(../img/payments/coinkite-dark.svg)}.payment-provider-dinersclub{background-image:url(../img/payments/dinersclub.svg)}.payment-provider-dinersclub-dark{background-image:url(../img/payments/dinersclub-dark.svg)}.payment-provider-directdebit{background-image:url(../img/payments/directdebit.svg)}.payment-provider-directdebit-dark{background-image:url(../img/payments/directdebit-dark.svg)}.payment-provider-discover{background-image:url(../img/payments/discover.svg)}.payment-provider-discover-dark{background-image:url(../img/payments/discover-dark.svg)}.payment-provider-dotpay{background-image:url(../img/payments/dotpay.svg)}.payment-provider-dotpay-dark{background-image:url(../img/payments/dotpay-dark.svg)}.payment-provider-dwolla{background-image:url(../img/payments/dwolla.svg)}.payment-provider-dwolla-dark{background-image:url(../img/payments/dwolla-dark.svg)}.payment-provider-ebay{background-image:url(../img/payments/ebay.svg)}.payment-provider-ebay-dark{background-image:url(../img/payments/ebay-dark.svg)}.payment-provider-epayco{background-image:url(../img/payments/epayco.svg)}.payment-provider-epayco-dark{background-image:url(../img/payments/epayco-dark.svg)}.payment-provider-eway{background-image:url(../img/payments/eway.svg)}.payment-provider-eway-dark{background-image:url(../img/payments/eway-dark.svg)}.payment-provider-giropay{background-image:url(../img/payments/giropay.svg)}.payment-provider-giropay-dark{background-image:url(../img/payments/giropay-dark.svg)}.payment-provider-googlewallet{background-image:url(../img/payments/googlewallet.svg)}.payment-provider-googlewallet-dark{background-image:url(../img/payments/googlewallet-dark.svg)}.payment-provider-ingenico{background-image:url(../img/payments/ingenico.svg)}.payment-provider-ingenico-dark{background-image:url(../img/payments/ingenico-dark.svg)}.payment-provider-jcb{background-image:url(../img/payments/jcb.svg)}.payment-provider-jcb-dark{background-image:url(../img/payments/jcb-dark.svg)}.payment-provider-klarna{background-image:url(../img/payments/klarna.svg)}.payment-provider-klarna-dark{background-image:url(../img/payments/klarna-dark.svg)}.payment-provider-laser{background-image:url(../img/payments/laser.svg)}.payment-provider-laser-dark{background-image:url(../img/payments/laser-dark.svg)}.payment-provider-maestro{background-image:url(../img/payments/maestro.svg)}.payment-provider-maestro-dark{background-image:url(../img/payments/maestro-dark.svg)}.payment-provider-mastercard{background-image:url(../img/payments/mastercard.svg)}.payment-provider-mastercard-dark{background-image:url(../img/payments/mastercard-dark.svg)}.payment-provider-mir{background-image:url(../img/payments/mir.svg)}.payment-provider-mir-dark{background-image:url(../img/payments/mir-dark.svg)}.payment-provider-monero{background-image:url(../img/payments/monero.svg)}.payment-provider-monero-dark{background-image:url(../img/payments/monero-dark.svg)}.payment-provider-neteller{background-image:url(../img/payments/neteller.svg)}.payment-provider-neteller-dark{background-image:url(../img/payments/neteller-dark.svg)}.payment-provider-ogone{background-image:url(../img/payments/ogone.svg)}.payment-provider-ogone-dark{background-image:url(../img/payments/ogone-dark.svg)}.payment-provider-okpay{background-image:url(../img/payments/okpay.svg)}.payment-provider-okpay-dark{background-image:url(../img/payments/okpay-dark.svg)}.payment-provider-paybox{background-image:url(../img/payments/paybox.svg)}.payment-provider-paybox-dark{background-image:url(../img/payments/paybox-dark.svg)}.payment-provider-paymill{background-image:url(../img/payments/paymill.svg)}.payment-provider-paymill-dark{background-image:url(../img/payments/paymill-dark.svg)}.payment-provider-payone{background-image:url(../img/payments/payone.svg)}.payment-provider-payone-dark{background-image:url(../img/payments/payone-dark.svg)}.payment-provider-payoneer{background-image:url(../img/payments/payoneer.svg)}.payment-provider-payoneer-dark{background-image:url(../img/payments/payoneer-dark.svg)}.payment-provider-paypal{background-image:url(../img/payments/paypal.svg)}.payment-provider-paypal-dark{background-image:url(../img/payments/paypal-dark.svg)}.payment-provider-paysafecard{background-image:url(../img/payments/paysafecard.svg)}.payment-provider-paysafecard-dark{background-image:url(../img/payments/paysafecard-dark.svg)}.payment-provider-payu{background-image:url(../img/payments/payu.svg)}.payment-provider-payu-dark{background-image:url(../img/payments/payu-dark.svg)}.payment-provider-payza{background-image:url(../img/payments/payza.svg)}.payment-provider-payza-dark{background-image:url(../img/payments/payza-dark.svg)}.payment-provider-przelewy24{background-image:url(../img/payments/przelewy24.svg)}.payment-provider-przelewy24-dark{background-image:url(../img/payments/przelewy24-dark.svg)}.payment-provider-ripple{background-image:url(../img/payments/ripple.svg)}.payment-provider-ripple-dark{background-image:url(../img/payments/ripple-dark.svg)}.payment-provider-sage{background-image:url(../img/payments/sage.svg)}.payment-provider-sage-dark{background-image:url(../img/payments/sage-dark.svg)}.payment-provider-sepa{background-image:url(../img/payments/sepa.svg)}.payment-provider-sepa-dark{background-image:url(../img/payments/sepa-dark.svg)}.payment-provider-shopify{background-image:url(../img/payments/shopify.svg)}.payment-provider-shopify-dark{background-image:url(../img/payments/shopify-dark.svg)}.payment-provider-skrill{background-image:url(../img/payments/skrill.svg)}.payment-provider-skrill-dark{background-image:url(../img/payments/skrill-dark.svg)}.payment-provider-solo{background-image:url(../img/payments/solo.svg)}.payment-provider-solo-dark{background-image:url(../img/payments/solo-dark.svg)}.payment-provider-square{background-image:url(../img/payments/square.svg)}.payment-provider-square-dark{background-image:url(../img/payments/square-dark.svg)}.payment-provider-stripe{background-image:url(../img/payments/stripe.svg)}.payment-provider-stripe-dark{background-image:url(../img/payments/stripe-dark.svg)}.payment-provider-switch{background-image:url(../img/payments/switch.svg)}.payment-provider-switch-dark{background-image:url(../img/payments/switch-dark.svg)}.payment-provider-tpay{background-image:url(../img/payments/tpay.svg)}.payment-provider-tpay-dark{background-image:url(../img/payments/tpay-dark.svg)}.payment-provider-ukash{background-image:url(../img/payments/ukash.svg)}.payment-provider-ukash-dark{background-image:url(../img/payments/ukash-dark.svg)}.payment-provider-unionpay{background-image:url(../img/payments/unionpay.svg)}.payment-provider-unionpay-dark{background-image:url(../img/payments/unionpay-dark.svg)}.payment-provider-verifone{background-image:url(../img/payments/verifone.svg)}.payment-provider-verifone-dark{background-image:url(../img/payments/verifone-dark.svg)}.payment-provider-verisign{background-image:url(../img/payments/verisign.svg)}.payment-provider-verisign-dark{background-image:url(../img/payments/verisign-dark.svg)}.payment-provider-visa{background-image:url(../img/payments/visa.svg)}.payment-provider-visa-dark{background-image:url(../img/payments/visa-dark.svg)}.payment-provider-webmoney{background-image:url(../img/payments/webmoney.svg)}.payment-provider-webmoney-dark{background-image:url(../img/payments/webmoney-dark.svg)}.payment-provider-westernunion{background-image:url(../img/payments/westernunion.svg)}.payment-provider-westernunion-dark{background-image:url(../img/payments/westernunion-dark.svg)}.payment-provider-worldpay{background-image:url(../img/payments/worldpay.svg)}.payment-provider-worldpay-dark{background-image:url(../img/payments/worldpay-dark.svg)}.payment-xs{width:2.49999rem;height:1.5rem}.payment-sm{width:3.33332rem;height:2rem}.payment-md{width:6.66664rem;height:4rem}.payment-lg{width:9.16663rem;height:5.5rem}.payment-xl{width:11.66662rem;height:7rem}.payment-2xl{width:18.33326rem;height:11rem} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-social.css b/bin/main/static/tabler/dist/css/tabler-social.css new file mode 100644 index 0000000..eba8118 --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-social.css @@ -0,0 +1,10 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +/* prettier-ignore */ +/* prettier-ignore */ \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-social.min.css b/bin/main/static/tabler/dist/css/tabler-social.min.css new file mode 100644 index 0000000..65aabf0 --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-social.min.css @@ -0,0 +1,8 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ diff --git a/bin/main/static/tabler/dist/css/tabler-social.rtl.css b/bin/main/static/tabler/dist/css/tabler-social.rtl.css new file mode 100644 index 0000000..eba8118 --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-social.rtl.css @@ -0,0 +1,10 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +/* prettier-ignore */ +/* prettier-ignore */ \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-social.rtl.min.css b/bin/main/static/tabler/dist/css/tabler-social.rtl.min.css new file mode 100644 index 0000000..65aabf0 --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-social.rtl.min.css @@ -0,0 +1,8 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ diff --git a/bin/main/static/tabler/dist/css/tabler-vendors.css b/bin/main/static/tabler/dist/css/tabler-vendors.css new file mode 100644 index 0000000..827adb2 --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-vendors.css @@ -0,0 +1,1438 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +/* prettier-ignore */ +/* prettier-ignore */ +/* Functional styling; + * These styles are required for noUiSlider to function. + * You don't need to change these rules to apply your design. + */ +.noUi-target, +.noUi-target * { + -webkit-touch-callout: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-user-select: none; + touch-action: none; + -ms-user-select: none; + -moz-user-select: none; + user-select: none; + box-sizing: border-box; +} + +.noUi-target { + position: relative; +} + +.noUi-base, +.noUi-connects { + width: 100%; + height: 100%; + position: relative; + z-index: 1; +} + +/* Wrapper for all connect elements. + */ +.noUi-connects { + overflow: hidden; + z-index: 0; +} + +.noUi-connect, +.noUi-origin { + will-change: transform; + position: absolute; + z-index: 1; + top: 0; + right: 0; + height: 100%; + width: 100%; + -ms-transform-origin: 0 0; + -webkit-transform-origin: 0 0; + -webkit-transform-style: preserve-3d; + transform-origin: 0 0; + transform-style: flat; +} + +/* Offset direction + */ +.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin { + left: 0; + right: auto; +} + +/* Give origins 0 height/width so they don't interfere with clicking the + * connect elements. + */ +.noUi-vertical .noUi-origin { + top: -100%; + width: 0; +} + +.noUi-horizontal .noUi-origin { + height: 0; +} + +.noUi-handle { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + position: absolute; +} + +.noUi-touch-area { + height: 100%; + width: 100%; +} + +.noUi-state-tap .noUi-connect, +.noUi-state-tap .noUi-origin { + transition: transform 0.3s; +} + +.noUi-state-drag * { + cursor: inherit !important; +} + +/* Slider size and handle placement; + */ +.noUi-horizontal { + height: 18px; +} + +.noUi-horizontal .noUi-handle { + width: 34px; + height: 28px; + right: -17px; + top: -6px; +} + +.noUi-vertical { + width: 18px; +} + +.noUi-vertical .noUi-handle { + width: 28px; + height: 34px; + right: -6px; + bottom: -17px; +} + +.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle { + left: -17px; + right: auto; +} + +/* Styling; + * Giving the connect element a border radius causes issues with using transform: scale + */ +.noUi-target { + background: #FAFAFA; + border-radius: 4px; + border: 1px solid #D3D3D3; + box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB; +} + +.noUi-connects { + border-radius: 3px; +} + +.noUi-connect { + background: #3FB8AF; +} + +/* Handles and cursors; + */ +.noUi-draggable { + cursor: ew-resize; +} + +.noUi-vertical .noUi-draggable { + cursor: ns-resize; +} + +.noUi-handle { + border: 1px solid #D9D9D9; + border-radius: 3px; + background: #FFF; + cursor: default; + box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB; +} + +.noUi-active { + box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB; +} + +/* Handle stripes; + */ +.noUi-handle:before, +.noUi-handle:after { + content: ""; + display: block; + position: absolute; + height: 14px; + width: 1px; + background: #E8E7E6; + left: 14px; + top: 6px; +} + +.noUi-handle:after { + left: 17px; +} + +.noUi-vertical .noUi-handle:before, +.noUi-vertical .noUi-handle:after { + width: 14px; + height: 1px; + left: 6px; + top: 14px; +} + +.noUi-vertical .noUi-handle:after { + top: 17px; +} + +/* Disabled state; + */ +[disabled] .noUi-connect { + background: #B8B8B8; +} + +[disabled].noUi-target, +[disabled].noUi-handle, +[disabled] .noUi-handle { + cursor: not-allowed; +} + +/* Base; + * + */ +.noUi-pips, +.noUi-pips * { + box-sizing: border-box; +} + +.noUi-pips { + position: absolute; + color: #999; +} + +/* Values; + * + */ +.noUi-value { + position: absolute; + white-space: nowrap; + text-align: center; +} + +.noUi-value-sub { + color: #ccc; + font-size: 10px; +} + +/* Markings; + * + */ +.noUi-marker { + position: absolute; + background: #CCC; +} + +.noUi-marker-sub { + background: #AAA; +} + +.noUi-marker-large { + background: #AAA; +} + +/* Horizontal layout; + * + */ +.noUi-pips-horizontal { + padding: 10px 0; + height: 80px; + top: 100%; + left: 0; + width: 100%; +} + +.noUi-value-horizontal { + transform: translate(-50%, 50%); +} + +.noUi-rtl .noUi-value-horizontal { + transform: translate(50%, 50%); +} + +.noUi-marker-horizontal.noUi-marker { + margin-left: -1px; + width: 2px; + height: 5px; +} + +.noUi-marker-horizontal.noUi-marker-sub { + height: 10px; +} + +.noUi-marker-horizontal.noUi-marker-large { + height: 15px; +} + +/* Vertical layout; + * + */ +.noUi-pips-vertical { + padding: 0 10px; + height: 100%; + top: 0; + left: 100%; +} + +.noUi-value-vertical { + transform: translate(0, -50%); + padding-left: 25px; +} + +.noUi-rtl .noUi-value-vertical { + transform: translate(0, 50%); +} + +.noUi-marker-vertical.noUi-marker { + width: 5px; + height: 2px; + margin-top: -1px; +} + +.noUi-marker-vertical.noUi-marker-sub { + width: 10px; +} + +.noUi-marker-vertical.noUi-marker-large { + width: 15px; +} + +.noUi-tooltip { + display: block; + position: absolute; + border: 1px solid #D9D9D9; + border-radius: 3px; + background: #fff; + color: #000; + padding: 5px; + text-align: center; + white-space: nowrap; +} + +.noUi-horizontal .noUi-tooltip { + transform: translate(-50%, 0); + left: 50%; + bottom: 120%; +} + +.noUi-vertical .noUi-tooltip { + transform: translate(0, -50%); + top: 50%; + right: 120%; +} + +.noUi-horizontal .noUi-origin > .noUi-tooltip { + transform: translate(50%, 0); + left: auto; + bottom: 10px; +} + +.noUi-vertical .noUi-origin > .noUi-tooltip { + transform: translate(0, -18px); + top: auto; + right: 28px; +} + +.noUi-target { + border: 0; + box-shadow: none; + background: none; + border-radius: 0; + color: var(--tblr-primary); +} + +.noUi-horizontal { + height: 1.25rem; + padding: 0.5rem 0; +} + +.noUi-base { + background: var(--tblr-border-color); + border-radius: 1rem; +} + +.noUi-handle { + width: 1rem; + height: 1rem; + border: 2px var(--tblr-border-style) #ffffff; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + border-radius: 1rem; + background: currentColor; + outline: 0; +} +.noUi-handle:before, .noUi-handle:after { + content: none; +} +.noUi-horizontal .noUi-handle { + width: 1rem; + height: 1rem; + top: -0.5rem; + right: -0.5rem; + margin: 1px 1px 0 0; +} +.noUi-handle.noUi-active, .noUi-handle:focus { + box-shadow: 0 0 0 1px #f6f8fb, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} + +.noUi-connect { + background: currentColor; +} + +.litepicker { + --litepicker-month-weekday-color: var(--tblr-muted); + --litepicker-button-prev-month-color: var(--tblr-muted); + --litepicker-button-next-month-color: var(--tblr-muted); + --litepicker-button-prev-month-color-hover: var(--tblr-primary); + --litepicker-button-next-month-color-hover: var(--tblr-primary); + --litepicker-day-color: var(--tblr-body-color); + --litepicker-day-color-hover: var(--tblr-primary); + --litepicker-is-end-color-bg: var(--tblr-primary); + --litepicker-is-today-color: var(--tblr-primary); + --litepicker-month-header-color: var(--tblr-body-color); + --litepicker-container-months-color-bg: var(--tblr-bg-surface); + font: inherit; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.litepicker svg { + fill: none !important; +} +.litepicker .container__main { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); + box-shadow: none; +} +.litepicker .container__months .month-item-name, +.litepicker .container__months .month-item-year { + font-weight: var(--tblr-font-weight-medium) !important; +} +.litepicker .container__months .button-next-month, +.litepicker .container__months .button-prev-month { + cursor: pointer !important; +} +.litepicker .container__months .month-item-weekdays-row > div { + padding: 0.5rem 0 !important; + font-size: 0.75rem; +} +.litepicker .container__days .day-item { + cursor: pointer !important; + padding: 0.5rem 0 !important; + transition: color 0.3s, background-color 0.3s, border-color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .litepicker .container__days .day-item { + transition: none; + } +} +.datepicker-inline .litepicker .container__months { + box-shadow: none; + background-color: var(--tblr-bg-forms); +} + +/** + * Tom Select bootstrap 5 + */ +/** + * tom-select.css (v//@@version) + * Copyright (c) contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF + * ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + * + */ +:root { + --ts-pr-clear-button: 0; + --ts-pr-caret: 0; + --ts-pr-min: .75rem; +} + +.ts-wrapper.single .ts-control, .ts-wrapper.single .ts-control input { + cursor: pointer; +} + +.ts-control { + padding-right: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important; +} + +.ts-wrapper.plugin-drag_drop.multi > .ts-control > div.ui-sortable-placeholder { + visibility: visible !important; + background: #f2f2f2 !important; + background: rgba(0, 0, 0, 0.06) !important; + border: 0 none !important; + box-shadow: inset 0 0 12px 4px #fff; +} +.ts-wrapper.plugin-drag_drop .ui-sortable-placeholder::after { + content: "!"; + visibility: hidden; +} +.ts-wrapper.plugin-drag_drop .ui-sortable-helper { + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); +} + +.plugin-checkbox_options .option input { + margin-right: 0.5rem; +} + +.plugin-clear_button { + --ts-pr-clear-button: 1em; +} +.plugin-clear_button .clear-button { + opacity: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); + right: calc(0.75rem - 5px); + margin-right: 0 !important; + background: transparent !important; + transition: opacity 0.5s; + cursor: pointer; +} +.plugin-clear_button.form-select .clear-button, .plugin-clear_button.single .clear-button { + right: max( var(--ts-pr-caret), 0.75rem); +} +.plugin-clear_button.focus.has-items .clear-button, .plugin-clear_button:not(.disabled):hover.has-items .clear-button { + opacity: 1; +} + +.ts-wrapper .dropdown-header { + position: relative; + padding: 6px 0.75rem; + border-bottom: 1px solid #d0d0d0; + background: #f8f8f8; + border-radius: var(--tblr-border-radius) var(--tblr-border-radius) 0 0; +} +.ts-wrapper .dropdown-header-close { + position: absolute; + right: 0.75rem; + top: 50%; + color: #182433; + opacity: 0.4; + margin-top: -12px; + line-height: 20px; + font-size: 20px !important; +} +.ts-wrapper .dropdown-header-close:hover { + color: black; +} + +.plugin-dropdown_input.focus.dropdown-active .ts-control { + box-shadow: none; + border: 1px solid var(--tblr-border-color); + box-shadow: 0 0 transparent; +} +.plugin-dropdown_input .dropdown-input { + border: 1px solid #d0d0d0; + border-width: 0 0 1px 0; + display: block; + padding: 0.4375rem 0.75rem; + box-shadow: none; + width: 100%; + background: transparent; +} +.plugin-dropdown_input.focus .ts-dropdown .dropdown-input { + border-color: #90b5e2; + outline: 0; + box-shadow: 0 0 transparent, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.plugin-dropdown_input .items-placeholder { + border: 0 none !important; + box-shadow: none !important; + width: 100%; +} +.plugin-dropdown_input.has-items .items-placeholder, .plugin-dropdown_input.dropdown-active .items-placeholder { + display: none !important; +} + +.ts-wrapper.plugin-input_autogrow.has-items .ts-control > input { + min-width: 0; +} +.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input { + flex: none; + min-width: 4px; +} +.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-webkit-input-placeholder { + color: transparent; +} +.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input:-ms-input-placeholder { + color: transparent; +} +.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-ms-input-placeholder { + color: transparent; +} +.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder { + color: transparent; +} + +.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content { + display: flex; +} +.ts-dropdown.plugin-optgroup_columns .optgroup { + border-right: 1px solid #f2f2f2; + border-top: 0 none; + flex-grow: 1; + flex-basis: 0; + min-width: 0; +} +.ts-dropdown.plugin-optgroup_columns .optgroup:last-child { + border-right: 0 none; +} +.ts-dropdown.plugin-optgroup_columns .optgroup:before { + display: none; +} +.ts-dropdown.plugin-optgroup_columns .optgroup-header { + border-top: 0 none; +} + +.ts-wrapper.plugin-remove_button .item { + display: inline-flex; + align-items: center; + padding-right: 0 !important; +} +.ts-wrapper.plugin-remove_button .item .remove { + color: inherit; + text-decoration: none; + vertical-align: middle; + display: inline-block; + padding: 0 5px; + border-radius: 0 2px 2px 0; + box-sizing: border-box; +} +.ts-wrapper.plugin-remove_button .item .remove:hover { + background: rgba(0, 0, 0, 0.05); +} +.ts-wrapper.plugin-remove_button.disabled .item .remove:hover { + background: none; +} +.ts-wrapper.plugin-remove_button .remove-single { + position: absolute; + right: 0; + top: 0; + font-size: 23px; +} + +.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove { + border-left: 1px solid #dadfe5; + margin-left: 5px; +} +.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove { + border-left-color: rgba(0, 0, 0, 0); +} +.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove { + border-left-color: white; +} + +.ts-wrapper.plugin-remove_button.rtl .item .remove { + border-right: 1px solid #dadfe5; + margin-right: 5px; +} +.ts-wrapper.plugin-remove_button.rtl .item.active .remove { + border-right-color: rgba(0, 0, 0, 0); +} +.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove { + border-right-color: white; +} + +.ts-wrapper { + position: relative; +} + +.ts-dropdown, +.ts-control, +.ts-control input { + color: #182433; + font-family: inherit; + font-size: inherit; + line-height: 1.4285714286; + font-smoothing: inherit; +} + +.ts-control, +.ts-wrapper.single.input-active .ts-control { + background: var(--tblr-bg-forms); + cursor: text; +} + +.ts-control { + border: 1px solid var(--tblr-border-color); + padding: 0.4375rem 0.75rem; + width: 100%; + overflow: hidden; + position: relative; + z-index: 1; + box-sizing: border-box; + box-shadow: none; + border-radius: var(--tblr-border-radius); + display: flex; + flex-wrap: wrap; +} +.ts-wrapper.multi.has-items .ts-control { + padding: calc( 0.4375rem - 1px - 0px) 0.75rem calc( 0.4375rem - 1px - 3px - 0px); +} +.full .ts-control { + background-color: var(--tblr-bg-forms); +} +.disabled .ts-control, .disabled .ts-control * { + cursor: default !important; +} +.focus .ts-control { + box-shadow: none; +} +.ts-control > * { + vertical-align: baseline; + display: inline-block; +} +.ts-wrapper.multi .ts-control > div { + cursor: pointer; + margin: 0 3px 3px 0; + padding: 1px 5px; + background: #efefef; + color: #182433; + border: 0px solid #dadfe5; +} +.ts-wrapper.multi .ts-control > div.active { + background: #206bc4; + color: #fff; + border: 0px solid rgba(0, 0, 0, 0); +} +.ts-wrapper.multi.disabled .ts-control > div, .ts-wrapper.multi.disabled .ts-control > div.active { + color: #727272; + background: white; + border: 0px solid white; +} +.ts-control > input { + flex: 1 1 auto; + min-width: 7rem; + display: inline-block !important; + padding: 0 !important; + min-height: 0 !important; + max-height: none !important; + max-width: 100% !important; + margin: 0 !important; + text-indent: 0 !important; + border: 0 none !important; + background: none !important; + line-height: inherit !important; + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + -ms-user-select: auto !important; + user-select: auto !important; + box-shadow: none !important; +} +.ts-control > input::-ms-clear { + display: none; +} +.ts-control > input:focus { + outline: none !important; +} +.has-items .ts-control > input { + margin: 0px 4px !important; +} +.ts-control.rtl { + text-align: right; +} +.ts-control.rtl.single .ts-control:after { + left: calc(0.75rem + 5px); + right: auto; +} +.ts-control.rtl .ts-control > input { + margin: 0px 4px 0px -2px !important; +} +.disabled .ts-control { + opacity: 0.5; + background-color: var(--tblr-bg-surface-secondary); +} +.input-hidden .ts-control > input { + opacity: 0; + position: absolute; + left: -10000px; +} + +.ts-dropdown { + position: absolute; + top: 100%; + left: 0; + width: 100%; + z-index: 10; + border: 1px solid #d0d0d0; + background: #fff; + margin: 0.25rem 0 0 0; + border-top: 0 none; + box-sizing: border-box; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + border-radius: 0 0 var(--tblr-border-radius) var(--tblr-border-radius); +} +.ts-dropdown [data-selectable] { + cursor: pointer; + overflow: hidden; +} +.ts-dropdown [data-selectable] .highlight { + background: rgba(255, 237, 40, 0.4); + border-radius: 1px; +} +.ts-dropdown .option, +.ts-dropdown .optgroup-header, +.ts-dropdown .no-results, +.ts-dropdown .create { + padding: 3px 0.75rem; +} +.ts-dropdown .option, .ts-dropdown [data-disabled], .ts-dropdown [data-disabled] [data-selectable].option { + cursor: inherit; + opacity: 0.5; +} +.ts-dropdown [data-selectable].option { + opacity: 1; + cursor: pointer; +} +.ts-dropdown .optgroup:first-child .optgroup-header { + border-top: 0 none; +} +.ts-dropdown .optgroup-header { + color: #667382; + background: var(--tblr-bg-surface); + cursor: default; +} +.ts-dropdown .active { + background-color: rgba(var(--tblr-muted-rgb), 0.04); + color: inherit; +} +.ts-dropdown .active.create { + color: inherit; +} +.ts-dropdown .create { + color: rgba(24, 36, 51, 0.5); +} +.ts-dropdown .spinner { + display: inline-block; + width: 30px; + height: 30px; + margin: 3px 0.75rem; +} +.ts-dropdown .spinner:after { + content: " "; + display: block; + width: 24px; + height: 24px; + margin: 3px; + border-radius: 50%; + border: 5px solid #d0d0d0; + border-color: #d0d0d0 transparent #d0d0d0 transparent; + animation: lds-dual-ring 1.2s linear infinite; +} +@keyframes lds-dual-ring { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +.ts-dropdown-content { + overflow-y: auto; + overflow-x: hidden; + max-height: 200px; + overflow-scrolling: touch; + scroll-behavior: smooth; +} + +.ts-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(50%) !important; + clip-path: inset(50%) !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + white-space: nowrap !important; +} + +.ts-wrapper.form-control, +.ts-wrapper.form-select { + padding: 0 !important; + height: auto; + box-shadow: none; + display: flex; +} + +.ts-dropdown, +.ts-dropdown.form-control, +.ts-dropdown.form-select { + height: auto; + padding: 0; + z-index: 1000; + background: #fff; + border: 1px solid var(--tblr-border-color-translucent); + border-radius: 4px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); +} + +.ts-dropdown .optgroup-header { + font-size: 0.765625rem; + line-height: 1.4285714286; +} +.ts-dropdown .optgroup:first-child:before { + display: none; +} +.ts-dropdown .optgroup:before { + content: " "; + display: block; + height: 0; + margin: var(--tblr-spacer) 0; + overflow: hidden; + border-top: 1px solid var(--tblr-border-color-translucent); + margin-left: -0.75rem; + margin-right: -0.75rem; +} +.ts-dropdown .create { + padding-left: 0.75rem; +} + +.ts-dropdown-content { + padding: 5px 0; +} + +.ts-control { + box-shadow: 0 0 transparent; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + display: flex; + align-items: center; +} +@media (prefers-reduced-motion: reduce) { + .ts-control { + transition: none; + } +} +.ts-control.dropdown -active { + border-radius: var(--tblr-border-radius); +} +.focus .ts-control { + border-color: #90b5e2; + outline: 0; + box-shadow: 0 0 transparent, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.ts-control .item { + display: flex; + align-items: center; +} + +.ts-wrapper.is-invalid, +.was-validated .invalid, +.was-validated :invalid + .ts-wrapper { + border-color: var(--tblr-form-invalid-color); +} +.ts-wrapper.is-invalid:not(.single), +.was-validated .invalid:not(.single), +.was-validated :invalid + .ts-wrapper:not(.single) { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); + background-position: right calc(0.3571428572em + 0.21875rem) center; + background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); + background-repeat: no-repeat; +} +.ts-wrapper.is-invalid.single, +.was-validated .invalid.single, +.was-validated :invalid + .ts-wrapper.single { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); + background-repeat: no-repeat; +} +.ts-wrapper.is-invalid.focus .ts-control, +.was-validated .invalid.focus .ts-control, +.was-validated :invalid + .ts-wrapper.focus .ts-control { + border-color: var(--tblr-form-invalid-color); + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-form-invalid-color), 0.25); +} + +.ts-wrapper.is-valid, +.was-validated .valid, +.was-validated :valid + .ts-wrapper { + border-color: var(--tblr-form-valid-color); +} +.ts-wrapper.is-valid:not(.single), +.was-validated .valid:not(.single), +.was-validated :valid + .ts-wrapper:not(.single) { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); + background-position: right calc(0.3571428572em + 0.21875rem) center; + background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); + background-repeat: no-repeat; +} +.ts-wrapper.is-valid.single, +.was-validated .valid.single, +.was-validated :valid + .ts-wrapper.single { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); + background-repeat: no-repeat; +} +.ts-wrapper.is-valid.focus .ts-control, +.was-validated .valid.focus .ts-control, +.was-validated :valid + .ts-wrapper.focus .ts-control { + border-color: var(--tblr-form-valid-color); + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-form-valid-color), 0.25); +} + +.ts-wrapper { + min-height: calc(1.4285714286em + 0.875rem + calc(var(--tblr-border-width) * 2)); + display: flex; +} +.input-group-sm > .ts-wrapper, .ts-wrapper.form-select-sm, .ts-wrapper.form-control-sm { + min-height: calc(1.4285714286em + 0.25rem + calc(var(--tblr-border-width) * 2)); +} +.input-group-sm > .ts-wrapper .ts-control, .ts-wrapper.form-select-sm .ts-control, .ts-wrapper.form-control-sm .ts-control { + border-radius: var(--tblr-border-radius-sm); + font-size: 0.75rem; +} +.input-group-sm > .ts-wrapper.has-items .ts-control, .ts-wrapper.form-select-sm.has-items .ts-control, .ts-wrapper.form-control-sm.has-items .ts-control { + font-size: 0.75rem; + padding-bottom: 0; +} +.input-group-sm > .ts-wrapper.multi.has-items .ts-control, .ts-wrapper.form-select-sm.multi.has-items .ts-control, .ts-wrapper.form-control-sm.multi.has-items .ts-control { + padding-top: calc((calc(1.4285714286em + 0.25rem + calc(var(--tblr-border-width) * 2)) - (1.4285714286 * 0.75rem) - 4px) / 2) !important; +} +.ts-wrapper.multi.has-items .ts-control { + padding-left: calc(0.75rem - 5px); + --ts-pr-min: calc(0.75rem - 5px); +} +.ts-wrapper.multi .ts-control > div { + border-radius: calc(var(--tblr-border-radius) - 1px); +} +.input-group-lg > .ts-wrapper, .ts-wrapper.form-control-lg, .ts-wrapper.form-select-lg { + min-height: calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2)); +} +.input-group-lg > .ts-wrapper .ts-control, .ts-wrapper.form-control-lg .ts-control, .ts-wrapper.form-select-lg .ts-control { + border-radius: var(--tblr-border-radius-lg); + font-size: 1.25rem; +} + +.ts-wrapper:not(.form-control):not(.form-select) { + padding: 0; + border: none; + height: auto; + box-shadow: none; + background: none; +} +.ts-wrapper:not(.form-control):not(.form-select).single .ts-control { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; +} +.ts-wrapper.form-select, .ts-wrapper.single { + --ts-pr-caret: 2.25rem; +} + +.ts-wrapper.form-control .ts-control, .ts-wrapper.form-control.single.input-active .ts-control, +.ts-wrapper.form-select .ts-control, +.ts-wrapper.form-select.single.input-active .ts-control { + border: none !important; +} +.ts-wrapper.form-control:not(.disabled) .ts-control, .ts-wrapper.form-control:not(.disabled).single.input-active .ts-control, +.ts-wrapper.form-select:not(.disabled) .ts-control, +.ts-wrapper.form-select:not(.disabled).single.input-active .ts-control { + background: transparent !important; +} + +.input-group > .ts-wrapper { + flex-grow: 1; +} +.input-group > .ts-wrapper:not(:nth-child(2)) > .ts-control { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group > .ts-wrapper:not(:last-child) > .ts-control { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +:root { + --ts-pr-clear-button: 0rem; + --ts-pr-caret: 0rem; +} + +.ts-input { + color: inherit; +} + +.ts-control { + color: inherit; +} +.ts-control .dropdown-menu { + width: 100%; + height: auto; +} + +.ts-wrapper.is-invalid .ts-control, .ts-wrapper.is-valid .ts-control { + --ts-pr-clear-button: 1.5rem; +} + +.ts-dropdown { + background: var(--tblr-bg-surface); + color: var(--tblr-body-color); + box-shadow: var(--tblr-shadow-dropdown); +} +.ts-dropdown .option { + padding: 0.5rem 0.75rem; +} + +.ts-control, +.ts-control input { + color: var(--tblr-body-color); +} + +.ts-control input::-webkit-input-placeholder { + color: #929dab; +} + +.ts-control input:-ms-input-placeholder { + color: #929dab; +} + +.ts-control input::-ms-input-placeholder { + color: #929dab; +} + +.ts-control input::placeholder { + color: #929dab; +} + +.ts-wrapper.multi .ts-control > div { + background: var(--tblr-bg-surface-secondary); + border: 1px solid var(--tblr-border-color); + color: var(--tblr-body-color); +} + +.apexcharts-tooltip { + color: var(--tblr-light) !important; + background: var(--tblr-bg-surface-dark) !important; + font-size: 0.765625rem !important; + padding: 0.25rem !important; + box-shadow: none !important; +} + +.apexcharts-tooltip-title { + background: transparent !important; + border: 0 !important; + margin: 0 !important; + font-weight: var(--tblr-font-weight-bold); + padding: 0.25rem 0.5rem !important; +} + +.apexcharts-tooltip-y-group { + padding: 2px 0 !important; +} + +.apexcharts-tooltip-series-group { + padding: 0 0.5rem 0 !important; +} + +.apexcharts-tooltip-marker { + width: 10px !important; + height: 10px !important; +} + +.apexcharts-text { + fill: var(--tblr-body-color) !important; +} + +.apexcharts-gridline { + stroke: var(--tblr-border-color) !important; +} + +.apexcharts-legend-text { + color: inherit !important; +} + +.apexcharts-radialbar-area { + stroke: var(--tblr-border-color-dark) !important; +} + +svg { + touch-action: none; +} + +image, text, .jvm-zoomin, .jvm-zoomout { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.jvm-container { + touch-action: none; + position: relative; + overflow: hidden; + height: 100%; + width: 100%; +} + +.jvm-tooltip { + border-radius: 3px; + background-color: #5c5cff; + font-family: sans-serif, Verdana; + font-size: smaller; + box-shadow: 1px 2px 12px rgba(0, 0, 0, 0.2); + padding: 3px 5px; + white-space: nowrap; + position: absolute; + display: none; + color: #FFF; +} + +.jvm-tooltip.active { + display: block; +} + +.jvm-zoom-btn { + border-radius: 3px; + background-color: #292929; + padding: 3px; + box-sizing: border-box; + position: absolute; + line-height: 10px; + cursor: pointer; + color: #FFF; + height: 15px; + width: 15px; + left: 10px; +} + +.jvm-zoom-btn.jvm-zoomout { + top: 30px; +} + +.jvm-zoom-btn.jvm-zoomin { + top: 10px; +} + +.jvm-series-container { + right: 15px; + position: absolute; +} + +.jvm-series-container.jvm-series-h { + bottom: 15px; +} + +.jvm-series-container.jvm-series-v { + top: 15px; +} + +.jvm-series-container .jvm-legend { + background-color: #FFF; + border: 1px solid #e5e7eb; + margin-left: 0.75rem; + border-radius: 0.25rem; + border-color: #e5e7eb; + padding: 0.6rem; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + float: left; +} + +.jvm-series-container .jvm-legend .jvm-legend-title { + line-height: 1; + border-bottom: 1px solid #e5e7eb; + padding-bottom: 0.5rem; + margin-bottom: 0.575rem; + text-align: left; +} + +.jvm-series-container .jvm-legend .jvm-legend-inner { + overflow: hidden; +} + +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick { + overflow: hidden; + min-width: 40px; +} + +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick:not(:first-child) { + margin-top: 0.575rem; +} + +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample { + border-radius: 4px; + margin-right: 0.65rem; + height: 16px; + width: 16px; + float: left; +} + +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-text { + font-size: 12px; + text-align: center; + float: left; +} + +.jvm-line[animation=true] { + animation: jvm-line-animation 10s linear forwards infinite; +} +@keyframes jvm-line-animation { + from { + stroke-dashoffset: 250; + } +} +.jvm-tooltip { + background: #182433; + font-family: inherit; + font-size: 0.75rem; + box-shadow: var(--tblr-shadow-card); +} + +.jvm-series-container .jvm-legend .jvm-legend-title { + border-bottom: 0; + font-weight: var(--tblr-font-weight-medium); +} + +.jvm-series-container .jvm-legend { + background-color: var(--tblr-card-bg, var(--tblr-bg-surface)); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + min-width: 8rem; +} +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick { + display: flex; + align-items: center; +} +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample { + width: 0.75rem; + height: 0.75rem; +} + +.jvm-zoom-btn { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + background: var(--tblr-card-bg, var(--tblr-bg-surface)); + color: var(--tblr-body-color); + padding: 0; + display: flex; + align-items: center; + justify-content: center; + line-height: 1; + width: 1.5rem; + height: 1.5rem; + font-size: 1rem; + box-shadow: var(--tblr-shadow-card); +} +.jvm-zoom-btn.jvm-zoomout { + top: 2.5rem; +} + +.dropzone { + border: var(--tblr-border-width) dashed var(--tblr-border-color); + color: var(--tblr-muted); + padding: 1rem; +} +.dropzone.dz-drag-hover { + border: var(--tblr-border-width) dashed var(--tblr-primary); + background: rgba(var(--tblr-primary-rgb), 0.01); + color: var(--tblr-primary); +} +.dropzone.dz-drag-hover .dz-message { + opacity: 1; +} +.dropzone .dz-preview { + margin: 0.5rem; +} +.dropzone .dz-preview .dz-image { + border-radius: var(--tblr-border-radius); +} +.dropzone .dz-preview .dz-success-mark { + height: 54px; +} + +.fslightbox-container { + font-family: inherit !important; + background: rgba(24, 36, 51, 0.24) !important; + -webkit-backdrop-filter: blur(4px) !important; + backdrop-filter: blur(4px) !important; +} + +.fslightbox-slide-number-container { + color: inherit !important; +} + +.fslightbox-slash { + background: currentColor !important; +} + +body { + --plyr-color-main: var(--tblr-primary); +} + +.tox-tinymce { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; + border-radius: 4px !important; + font-family: var(--tblr-font-sans-serif) !important; +} + +.tox-toolbar__group { + padding: 0 0.5rem 0; +} + +.tox .tox-toolbar__primary { + background: transparent !important; +} + +.tox:not(.tox-tinymce-inline) .tox-editor-header { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; + box-shadow: none !important; + padding: 0 !important; +} + +.tox-tbtn { + margin: 0 !important; +} + +.tox-statusbar { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; +} + +.tox .tox-toolbar-overlord, +.tox:not(.tox-tinymce-inline) .tox-editor-header { + background: transparent !important; +} + +:root { + --gl-star-size: auto; + --gl-star-color: var(--tblr-yellow); + --gl-star-color-inactive: var(--tblr-border-color); +} + +[data-star-rating] svg { + width: var(--tblr-icon-size, --gl-star-size); + height: var(--tblr-icon-size, --gl-star-size); +} +[data-star-rating] :not(.gl-active) > .gl-star-full { + color: var(--gl-star-color-inactive) !important; +} +[data-star-rating] .gl-active > .gl-star-full { + color: var(--gl-star-color); +} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-vendors.min.css b/bin/main/static/tabler/dist/css/tabler-vendors.min.css new file mode 100644 index 0000000..895095e --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-vendors.min.css @@ -0,0 +1,9 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.noUi-target{position:relative}.noUi-base,.noUi-connects{width:100%;height:100%;position:relative;z-index:1}.noUi-connects{overflow:hidden;z-index:0}.noUi-connect,.noUi-origin{will-change:transform;position:absolute;z-index:1;top:0;right:0;height:100%;width:100%;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;-webkit-transform-style:preserve-3d;transform-origin:0 0;transform-style:flat}.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin{left:0;right:auto}.noUi-vertical .noUi-origin{top:-100%;width:0}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute}.noUi-touch-area{height:100%;width:100%}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{transition:transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;right:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;right:-6px;bottom:-17px}.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle{left:-17px;right:auto}.noUi-target{background:#fafafa;border-radius:4px;border:1px solid #d3d3d3;box-shadow:inset 0 1px 1px #f0f0f0,0 3px 6px -5px #bbb}.noUi-connects{border-radius:3px}.noUi-connect{background:#3fb8af}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #d9d9d9;border-radius:3px;background:#fff;cursor:default;box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ebebeb,0 3px 6px -3px #bbb}.noUi-active{box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ddd,0 3px 6px -3px #bbb}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#e8e7e6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#b8b8b8}[disabled] .noUi-handle,[disabled].noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;white-space:nowrap;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#ccc}.noUi-marker-sub{background:#aaa}.noUi-marker-large{background:#aaa}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{transform:translate(-50%,50%)}.noUi-rtl .noUi-value-horizontal{transform:translate(50%,50%)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{transform:translate(0,-50%);padding-left:25px}.noUi-rtl .noUi-value-vertical{transform:translate(0,50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #d9d9d9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.noUi-horizontal .noUi-tooltip{transform:translate(-50%,0);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{transform:translate(0,-50%);top:50%;right:120%}.noUi-horizontal .noUi-origin>.noUi-tooltip{transform:translate(50%,0);left:auto;bottom:10px}.noUi-vertical .noUi-origin>.noUi-tooltip{transform:translate(0,-18px);top:auto;right:28px}.noUi-target{border:0;box-shadow:none;background:0 0;border-radius:0;color:var(--tblr-primary)}.noUi-horizontal{height:1.25rem;padding:.5rem 0}.noUi-base{background:var(--tblr-border-color);border-radius:1rem}.noUi-handle{width:1rem;height:1rem;border:2px var(--tblr-border-style) #fff;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);border-radius:1rem;background:currentColor;outline:0}.noUi-handle:after,.noUi-handle:before{content:none}.noUi-horizontal .noUi-handle{width:1rem;height:1rem;top:-.5rem;right:-.5rem;margin:1px 1px 0 0}.noUi-handle.noUi-active,.noUi-handle:focus{box-shadow:0 0 0 1px #f6f8fb,0 0 0 .25rem rgba(32,107,196,.25)}.noUi-connect{background:currentColor}.litepicker{--litepicker-month-weekday-color:var(--tblr-muted);--litepicker-button-prev-month-color:var(--tblr-muted);--litepicker-button-next-month-color:var(--tblr-muted);--litepicker-button-prev-month-color-hover:var(--tblr-primary);--litepicker-button-next-month-color-hover:var(--tblr-primary);--litepicker-day-color:var(--tblr-body-color);--litepicker-day-color-hover:var(--tblr-primary);--litepicker-is-end-color-bg:var(--tblr-primary);--litepicker-is-today-color:var(--tblr-primary);--litepicker-month-header-color:var(--tblr-body-color);--litepicker-container-months-color-bg:var(--tblr-bg-surface);font:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.litepicker svg{fill:none!important}.litepicker .container__main{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:none}.litepicker .container__months .month-item-name,.litepicker .container__months .month-item-year{font-weight:var(--tblr-font-weight-medium)!important}.litepicker .container__months .button-next-month,.litepicker .container__months .button-prev-month{cursor:pointer!important}.litepicker .container__months .month-item-weekdays-row>div{padding:.5rem 0!important;font-size:.75rem}.litepicker .container__days .day-item{cursor:pointer!important;padding:.5rem 0!important;transition:color .3s,background-color .3s,border-color .3s}@media (prefers-reduced-motion:reduce){.litepicker .container__days .day-item{transition:none}}.datepicker-inline .litepicker .container__months{box-shadow:none;background-color:var(--tblr-bg-forms)}:root{--ts-pr-clear-button:0;--ts-pr-caret:0;--ts-pr-min:.75rem}.ts-wrapper.single .ts-control,.ts-wrapper.single .ts-control input{cursor:pointer}.ts-control{padding-right:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-wrapper.plugin-drag_drop.multi>.ts-control>div.ui-sortable-placeholder{visibility:visible!important;background:#f2f2f2!important;background:rgba(0,0,0,.06)!important;border:0 none!important;box-shadow:inset 0 0 12px 4px #fff}.ts-wrapper.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.ts-wrapper.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,.2)}.plugin-checkbox_options .option input{margin-right:.5rem}.plugin-clear_button{--ts-pr-clear-button:1em}.plugin-clear_button .clear-button{opacity:0;position:absolute;top:50%;transform:translateY(-50%);right:calc(.75rem - 5px);margin-right:0!important;background:0 0!important;transition:opacity .5s;cursor:pointer}.plugin-clear_button.form-select .clear-button,.plugin-clear_button.single .clear-button{right:max(var(--ts-pr-caret),.75rem)}.plugin-clear_button.focus.has-items .clear-button,.plugin-clear_button:not(.disabled):hover.has-items .clear-button{opacity:1}.ts-wrapper .dropdown-header{position:relative;padding:6px .75rem;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:var(--tblr-border-radius) var(--tblr-border-radius) 0 0}.ts-wrapper .dropdown-header-close{position:absolute;right:.75rem;top:50%;color:#182433;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.ts-wrapper .dropdown-header-close:hover{color:#000}.plugin-dropdown_input.focus.dropdown-active .ts-control{box-shadow:none;border:1px solid var(--tblr-border-color);box-shadow:0 0 transparent}.plugin-dropdown_input .dropdown-input{border:1px solid #d0d0d0;border-width:0 0 1px 0;display:block;padding:.4375rem .75rem;box-shadow:none;width:100%;background:0 0}.plugin-dropdown_input.focus .ts-dropdown .dropdown-input{border-color:#90b5e2;outline:0;box-shadow:0 0 transparent,0 0 0 .25rem rgba(32,107,196,.25)}.plugin-dropdown_input .items-placeholder{border:0 none!important;box-shadow:none!important;width:100%}.plugin-dropdown_input.dropdown-active .items-placeholder,.plugin-dropdown_input.has-items .items-placeholder{display:none!important}.ts-wrapper.plugin-input_autogrow.has-items .ts-control>input{min-width:0}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input{flex:none;min-width:4px}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::-webkit-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input:-ms-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::-ms-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::placeholder{color:transparent}.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content{display:flex}.ts-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.ts-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.ts-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.ts-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.ts-wrapper.plugin-remove_button .item{display:inline-flex;align-items:center;padding-right:0!important}.ts-wrapper.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:0 5px;border-radius:0 2px 2px 0;box-sizing:border-box}.ts-wrapper.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,.05)}.ts-wrapper.plugin-remove_button.disabled .item .remove:hover{background:0 0}.ts-wrapper.plugin-remove_button .remove-single{position:absolute;right:0;top:0;font-size:23px}.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove{border-left:1px solid #dadfe5;margin-left:5px}.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove{border-left-color:transparent}.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove{border-left-color:#fff}.ts-wrapper.plugin-remove_button.rtl .item .remove{border-right:1px solid #dadfe5;margin-right:5px}.ts-wrapper.plugin-remove_button.rtl .item.active .remove{border-right-color:transparent}.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove{border-right-color:#fff}.ts-wrapper{position:relative}.ts-control,.ts-control input,.ts-dropdown{color:#182433;font-family:inherit;font-size:inherit;line-height:1.4285714286;font-smoothing:inherit}.ts-control,.ts-wrapper.single.input-active .ts-control{background:var(--tblr-bg-forms);cursor:text}.ts-control{border:1px solid var(--tblr-border-color);padding:.4375rem .75rem;width:100%;overflow:hidden;position:relative;z-index:1;box-sizing:border-box;box-shadow:none;border-radius:var(--tblr-border-radius);display:flex;flex-wrap:wrap}.ts-wrapper.multi.has-items .ts-control{padding:calc(.4375rem - 1px - 0px) .75rem calc(.4375rem - 1px - 3px - 0px)}.full .ts-control{background-color:var(--tblr-bg-forms)}.disabled .ts-control,.disabled .ts-control *{cursor:default!important}.focus .ts-control{box-shadow:none}.ts-control>*{vertical-align:baseline;display:inline-block}.ts-wrapper.multi .ts-control>div{cursor:pointer;margin:0 3px 3px 0;padding:1px 5px;background:#efefef;color:#182433;border:0 solid #dadfe5}.ts-wrapper.multi .ts-control>div.active{background:#206bc4;color:#fff;border:0 solid transparent}.ts-wrapper.multi.disabled .ts-control>div,.ts-wrapper.multi.disabled .ts-control>div.active{color:#727272;background:#fff;border:0 solid #fff}.ts-control>input{flex:1 1 auto;min-width:7rem;display:inline-block!important;padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0!important;text-indent:0!important;border:0 none!important;background:0 0!important;line-height:inherit!important;-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important;box-shadow:none!important}.ts-control>input::-ms-clear{display:none}.ts-control>input:focus{outline:0!important}.has-items .ts-control>input{margin:0 4px!important}.ts-control.rtl{text-align:right}.ts-control.rtl.single .ts-control:after{left:calc(.75rem + 5px);right:auto}.ts-control.rtl .ts-control>input{margin:0 4px 0 -2px!important}.disabled .ts-control{opacity:.5;background-color:var(--tblr-bg-surface-secondary)}.input-hidden .ts-control>input{opacity:0;position:absolute;left:-10000px}.ts-dropdown{position:absolute;top:100%;left:0;width:100%;z-index:10;border:1px solid #d0d0d0;background:#fff;margin:.25rem 0 0 0;border-top:0 none;box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,.1);border-radius:0 0 var(--tblr-border-radius) var(--tblr-border-radius)}.ts-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.ts-dropdown [data-selectable] .highlight{background:rgba(255,237,40,.4);border-radius:1px}.ts-dropdown .create,.ts-dropdown .no-results,.ts-dropdown .optgroup-header,.ts-dropdown .option{padding:3px .75rem}.ts-dropdown .option,.ts-dropdown [data-disabled],.ts-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.ts-dropdown [data-selectable].option{opacity:1;cursor:pointer}.ts-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.ts-dropdown .optgroup-header{color:#667382;background:var(--tblr-bg-surface);cursor:default}.ts-dropdown .active{background-color:rgba(var(--tblr-muted-rgb),.04);color:inherit}.ts-dropdown .active.create{color:inherit}.ts-dropdown .create{color:rgba(24,36,51,.5)}.ts-dropdown .spinner{display:inline-block;width:30px;height:30px;margin:3px .75rem}.ts-dropdown .spinner:after{content:" ";display:block;width:24px;height:24px;margin:3px;border-radius:50%;border:5px solid #d0d0d0;border-color:#d0d0d0 transparent #d0d0d0 transparent;animation:lds-dual-ring 1.2s linear infinite}@keyframes lds-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.ts-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;overflow-scrolling:touch;scroll-behavior:smooth}.ts-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.ts-wrapper.form-control,.ts-wrapper.form-select{padding:0!important;height:auto;box-shadow:none;display:flex}.ts-dropdown,.ts-dropdown.form-control,.ts-dropdown.form-select{height:auto;padding:0;z-index:1000;background:#fff;border:1px solid var(--tblr-border-color-translucent);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175)}.ts-dropdown .optgroup-header{font-size:.765625rem;line-height:1.4285714286}.ts-dropdown .optgroup:first-child:before{display:none}.ts-dropdown .optgroup:before{content:" ";display:block;height:0;margin:var(--tblr-spacer) 0;overflow:hidden;border-top:1px solid var(--tblr-border-color-translucent);margin-left:-.75rem;margin-right:-.75rem}.ts-dropdown .create{padding-left:.75rem}.ts-dropdown-content{padding:5px 0}.ts-control{box-shadow:0 0 transparent;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:flex;align-items:center}@media (prefers-reduced-motion:reduce){.ts-control{transition:none}}.ts-control.dropdown -active{border-radius:var(--tblr-border-radius)}.focus .ts-control{border-color:#90b5e2;outline:0;box-shadow:0 0 transparent,0 0 0 .25rem rgba(32,107,196,.25)}.ts-control .item{display:flex;align-items:center}.ts-wrapper.is-invalid,.was-validated .invalid,.was-validated :invalid+.ts-wrapper{border-color:var(--tblr-form-invalid-color)}.ts-wrapper.is-invalid:not(.single),.was-validated .invalid:not(.single),.was-validated :invalid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:right calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-invalid.single,.was-validated .invalid.single,.was-validated :invalid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-invalid.focus .ts-control,.was-validated .invalid.focus .ts-control,.was-validated :invalid+.ts-wrapper.focus .ts-control{border-color:var(--tblr-form-invalid-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-form-invalid-color),.25)}.ts-wrapper.is-valid,.was-validated .valid,.was-validated :valid+.ts-wrapper{border-color:var(--tblr-form-valid-color)}.ts-wrapper.is-valid:not(.single),.was-validated .valid:not(.single),.was-validated :valid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:right calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-valid.single,.was-validated .valid.single,.was-validated :valid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-valid.focus .ts-control,.was-validated .valid.focus .ts-control,.was-validated :valid+.ts-wrapper.focus .ts-control{border-color:var(--tblr-form-valid-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-form-valid-color),.25)}.ts-wrapper{min-height:calc(1.4285714286em + .875rem + calc(var(--tblr-border-width) * 2));display:flex}.input-group-sm>.ts-wrapper,.ts-wrapper.form-control-sm,.ts-wrapper.form-select-sm{min-height:calc(1.4285714286em + .25rem + calc(var(--tblr-border-width) * 2))}.input-group-sm>.ts-wrapper .ts-control,.ts-wrapper.form-control-sm .ts-control,.ts-wrapper.form-select-sm .ts-control{border-radius:var(--tblr-border-radius-sm);font-size:.75rem}.input-group-sm>.ts-wrapper.has-items .ts-control,.ts-wrapper.form-control-sm.has-items .ts-control,.ts-wrapper.form-select-sm.has-items .ts-control{font-size:.75rem;padding-bottom:0}.input-group-sm>.ts-wrapper.multi.has-items .ts-control,.ts-wrapper.form-control-sm.multi.has-items .ts-control,.ts-wrapper.form-select-sm.multi.has-items .ts-control{padding-top:calc((calc(1.4285714286em + .25rem + calc(var(--tblr-border-width) * 2)) - (1.4285714286 * .75rem) - 4px)/ 2)!important}.ts-wrapper.multi.has-items .ts-control{padding-left:calc(.75rem - 5px);--ts-pr-min:calc(0.75rem - 5px)}.ts-wrapper.multi .ts-control>div{border-radius:calc(var(--tblr-border-radius) - 1px)}.input-group-lg>.ts-wrapper,.ts-wrapper.form-control-lg,.ts-wrapper.form-select-lg{min-height:calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2))}.input-group-lg>.ts-wrapper .ts-control,.ts-wrapper.form-control-lg .ts-control,.ts-wrapper.form-select-lg .ts-control{border-radius:var(--tblr-border-radius-lg);font-size:1.25rem}.ts-wrapper:not(.form-control):not(.form-select){padding:0;border:none;height:auto;box-shadow:none;background:0 0}.ts-wrapper:not(.form-control):not(.form-select).single .ts-control{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px}.ts-wrapper.form-select,.ts-wrapper.single{--ts-pr-caret:2.25rem}.ts-wrapper.form-control .ts-control,.ts-wrapper.form-control.single.input-active .ts-control,.ts-wrapper.form-select .ts-control,.ts-wrapper.form-select.single.input-active .ts-control{border:none!important}.ts-wrapper.form-control:not(.disabled) .ts-control,.ts-wrapper.form-control:not(.disabled).single.input-active .ts-control,.ts-wrapper.form-select:not(.disabled) .ts-control,.ts-wrapper.form-select:not(.disabled).single.input-active .ts-control{background:0 0!important}.input-group>.ts-wrapper{flex-grow:1}.input-group>.ts-wrapper:not(:nth-child(2))>.ts-control{border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.ts-wrapper:not(:last-child)>.ts-control{border-top-right-radius:0;border-bottom-right-radius:0}:root{--ts-pr-clear-button:0rem;--ts-pr-caret:0rem}.ts-input{color:inherit}.ts-control{color:inherit}.ts-control .dropdown-menu{width:100%;height:auto}.ts-wrapper.is-invalid .ts-control,.ts-wrapper.is-valid .ts-control{--ts-pr-clear-button:1.5rem}.ts-dropdown{background:var(--tblr-bg-surface);color:var(--tblr-body-color);box-shadow:var(--tblr-shadow-dropdown)}.ts-dropdown .option{padding:.5rem .75rem}.ts-control,.ts-control input{color:var(--tblr-body-color)}.ts-control input::-webkit-input-placeholder{color:#929dab}.ts-control input:-ms-input-placeholder{color:#929dab}.ts-control input::-ms-input-placeholder{color:#929dab}.ts-control input::placeholder{color:#929dab}.ts-wrapper.multi .ts-control>div{background:var(--tblr-bg-surface-secondary);border:1px solid var(--tblr-border-color);color:var(--tblr-body-color)}.apexcharts-tooltip{color:var(--tblr-light)!important;background:var(--tblr-bg-surface-dark)!important;font-size:.765625rem!important;padding:.25rem!important;box-shadow:none!important}.apexcharts-tooltip-title{background:0 0!important;border:0!important;margin:0!important;font-weight:var(--tblr-font-weight-bold);padding:.25rem .5rem!important}.apexcharts-tooltip-y-group{padding:2px 0!important}.apexcharts-tooltip-series-group{padding:0 .5rem 0!important}.apexcharts-tooltip-marker{width:10px!important;height:10px!important}.apexcharts-text{fill:var(--tblr-body-color)!important}.apexcharts-gridline{stroke:var(--tblr-border-color)!important}.apexcharts-legend-text{color:inherit!important}.apexcharts-radialbar-area{stroke:var(--tblr-border-color-dark)!important}svg{touch-action:none}.jvm-zoomin,.jvm-zoomout,image,text{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jvm-container{touch-action:none;position:relative;overflow:hidden;height:100%;width:100%}.jvm-tooltip{border-radius:3px;background-color:#5c5cff;font-family:sans-serif,Verdana;font-size:smaller;box-shadow:1px 2px 12px rgba(0,0,0,.2);padding:3px 5px;white-space:nowrap;position:absolute;display:none;color:#fff}.jvm-tooltip.active{display:block}.jvm-zoom-btn{border-radius:3px;background-color:#292929;padding:3px;box-sizing:border-box;position:absolute;line-height:10px;cursor:pointer;color:#fff;height:15px;width:15px;left:10px}.jvm-zoom-btn.jvm-zoomout{top:30px}.jvm-zoom-btn.jvm-zoomin{top:10px}.jvm-series-container{right:15px;position:absolute}.jvm-series-container.jvm-series-h{bottom:15px}.jvm-series-container.jvm-series-v{top:15px}.jvm-series-container .jvm-legend{background-color:#fff;border:1px solid #e5e7eb;margin-left:.75rem;border-radius:.25rem;border-color:#e5e7eb;padding:.6rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);float:left}.jvm-series-container .jvm-legend .jvm-legend-title{line-height:1;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem;margin-bottom:.575rem;text-align:left}.jvm-series-container .jvm-legend .jvm-legend-inner{overflow:hidden}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick{overflow:hidden;min-width:40px}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick:not(:first-child){margin-top:.575rem}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample{border-radius:4px;margin-right:.65rem;height:16px;width:16px;float:left}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-text{font-size:12px;text-align:center;float:left}.jvm-line[animation=true]{animation:jvm-line-animation 10s linear forwards infinite}@keyframes jvm-line-animation{from{stroke-dashoffset:250}}.jvm-tooltip{background:#182433;font-family:inherit;font-size:.75rem;box-shadow:var(--tblr-shadow-card)}.jvm-series-container .jvm-legend .jvm-legend-title{border-bottom:0;font-weight:var(--tblr-font-weight-medium)}.jvm-series-container .jvm-legend{background-color:var(--tblr-card-bg,var(--tblr-bg-surface));border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);min-width:8rem}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick{display:flex;align-items:center}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample{width:.75rem;height:.75rem}.jvm-zoom-btn{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background:var(--tblr-card-bg,var(--tblr-bg-surface));color:var(--tblr-body-color);padding:0;display:flex;align-items:center;justify-content:center;line-height:1;width:1.5rem;height:1.5rem;font-size:1rem;box-shadow:var(--tblr-shadow-card)}.jvm-zoom-btn.jvm-zoomout{top:2.5rem}.dropzone{border:var(--tblr-border-width) dashed var(--tblr-border-color);color:var(--tblr-muted);padding:1rem}.dropzone.dz-drag-hover{border:var(--tblr-border-width) dashed var(--tblr-primary);background:rgba(var(--tblr-primary-rgb),.01);color:var(--tblr-primary)}.dropzone.dz-drag-hover .dz-message{opacity:1}.dropzone .dz-preview{margin:.5rem}.dropzone .dz-preview .dz-image{border-radius:var(--tblr-border-radius)}.dropzone .dz-preview .dz-success-mark{height:54px}.fslightbox-container{font-family:inherit!important;background:rgba(24,36,51,.24)!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}.fslightbox-slide-number-container{color:inherit!important}.fslightbox-slash{background:currentColor!important}body{--plyr-color-main:var(--tblr-primary)}.tox-tinymce{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;border-radius:4px!important;font-family:var(--tblr-font-sans-serif)!important}.tox-toolbar__group{padding:0 .5rem 0}.tox .tox-toolbar__primary{background:0 0!important}.tox:not(.tox-tinymce-inline) .tox-editor-header{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;box-shadow:none!important;padding:0!important}.tox-tbtn{margin:0!important}.tox-statusbar{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important}.tox .tox-toolbar-overlord,.tox:not(.tox-tinymce-inline) .tox-editor-header{background:0 0!important}:root{--gl-star-size:auto;--gl-star-color:var(--tblr-yellow);--gl-star-color-inactive:var(--tblr-border-color)}[data-star-rating] svg{width:var(--tblr-icon-size,--gl-star-size);height:var(--tblr-icon-size,--gl-star-size)}[data-star-rating] :not(.gl-active)>.gl-star-full{color:var(--gl-star-color-inactive)!important}[data-star-rating] .gl-active>.gl-star-full{color:var(--gl-star-color)} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-vendors.rtl.css b/bin/main/static/tabler/dist/css/tabler-vendors.rtl.css new file mode 100644 index 0000000..7e34a5e --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-vendors.rtl.css @@ -0,0 +1,1438 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +/* prettier-ignore */ +/* prettier-ignore */ +/* Functional styling; + * These styles are required for noUiSlider to function. + * You don't need to change these rules to apply your design. + */ +.noUi-target, +.noUi-target * { + -webkit-touch-callout: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-user-select: none; + touch-action: none; + -ms-user-select: none; + -moz-user-select: none; + user-select: none; + box-sizing: border-box; +} + +.noUi-target { + position: relative; +} + +.noUi-base, +.noUi-connects { + width: 100%; + height: 100%; + position: relative; + z-index: 1; +} + +/* Wrapper for all connect elements. + */ +.noUi-connects { + overflow: hidden; + z-index: 0; +} + +.noUi-connect, +.noUi-origin { + will-change: transform; + position: absolute; + z-index: 1; + top: 0; + left: 0; + height: 100%; + width: 100%; + -ms-transform-origin: 100% 0; + -webkit-transform-origin: 100% 0; + -webkit-transform-style: preserve-3d; + transform-origin: 100% 0; + transform-style: flat; +} + +/* Offset direction + */ +.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin { + right: 0; + left: auto; +} + +/* Give origins 0 height/width so they don't interfere with clicking the + * connect elements. + */ +.noUi-vertical .noUi-origin { + top: -100%; + width: 0; +} + +.noUi-horizontal .noUi-origin { + height: 0; +} + +.noUi-handle { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + position: absolute; +} + +.noUi-touch-area { + height: 100%; + width: 100%; +} + +.noUi-state-tap .noUi-connect, +.noUi-state-tap .noUi-origin { + transition: transform 0.3s; +} + +.noUi-state-drag * { + cursor: inherit !important; +} + +/* Slider size and handle placement; + */ +.noUi-horizontal { + height: 18px; +} + +.noUi-horizontal .noUi-handle { + width: 34px; + height: 28px; + left: -17px; + top: -6px; +} + +.noUi-vertical { + width: 18px; +} + +.noUi-vertical .noUi-handle { + width: 28px; + height: 34px; + left: -6px; + bottom: -17px; +} + +.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle { + right: -17px; + left: auto; +} + +/* Styling; + * Giving the connect element a border radius causes issues with using transform: scale + */ +.noUi-target { + background: #FAFAFA; + border-radius: 4px; + border: 1px solid #D3D3D3; + box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB; +} + +.noUi-connects { + border-radius: 3px; +} + +.noUi-connect { + background: #3FB8AF; +} + +/* Handles and cursors; + */ +.noUi-draggable { + cursor: ew-resize; +} + +.noUi-vertical .noUi-draggable { + cursor: ns-resize; +} + +.noUi-handle { + border: 1px solid #D9D9D9; + border-radius: 3px; + background: #FFF; + cursor: default; + box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB; +} + +.noUi-active { + box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB; +} + +/* Handle stripes; + */ +.noUi-handle:before, +.noUi-handle:after { + content: ""; + display: block; + position: absolute; + height: 14px; + width: 1px; + background: #E8E7E6; + right: 14px; + top: 6px; +} + +.noUi-handle:after { + right: 17px; +} + +.noUi-vertical .noUi-handle:before, +.noUi-vertical .noUi-handle:after { + width: 14px; + height: 1px; + right: 6px; + top: 14px; +} + +.noUi-vertical .noUi-handle:after { + top: 17px; +} + +/* Disabled state; + */ +[disabled] .noUi-connect { + background: #B8B8B8; +} + +[disabled].noUi-target, +[disabled].noUi-handle, +[disabled] .noUi-handle { + cursor: not-allowed; +} + +/* Base; + * + */ +.noUi-pips, +.noUi-pips * { + box-sizing: border-box; +} + +.noUi-pips { + position: absolute; + color: #999; +} + +/* Values; + * + */ +.noUi-value { + position: absolute; + white-space: nowrap; + text-align: center; +} + +.noUi-value-sub { + color: #ccc; + font-size: 10px; +} + +/* Markings; + * + */ +.noUi-marker { + position: absolute; + background: #CCC; +} + +.noUi-marker-sub { + background: #AAA; +} + +.noUi-marker-large { + background: #AAA; +} + +/* Horizontal layout; + * + */ +.noUi-pips-horizontal { + padding: 10px 0; + height: 80px; + top: 100%; + right: 0; + width: 100%; +} + +.noUi-value-horizontal { + transform: translate(50%, 50%); +} + +.noUi-rtl .noUi-value-horizontal { + transform: translate(-50%, 50%); +} + +.noUi-marker-horizontal.noUi-marker { + margin-right: -1px; + width: 2px; + height: 5px; +} + +.noUi-marker-horizontal.noUi-marker-sub { + height: 10px; +} + +.noUi-marker-horizontal.noUi-marker-large { + height: 15px; +} + +/* Vertical layout; + * + */ +.noUi-pips-vertical { + padding: 0 10px; + height: 100%; + top: 0; + right: 100%; +} + +.noUi-value-vertical { + transform: translate(0, -50%); + padding-right: 25px; +} + +.noUi-rtl .noUi-value-vertical { + transform: translate(0, 50%); +} + +.noUi-marker-vertical.noUi-marker { + width: 5px; + height: 2px; + margin-top: -1px; +} + +.noUi-marker-vertical.noUi-marker-sub { + width: 10px; +} + +.noUi-marker-vertical.noUi-marker-large { + width: 15px; +} + +.noUi-tooltip { + display: block; + position: absolute; + border: 1px solid #D9D9D9; + border-radius: 3px; + background: #fff; + color: #000; + padding: 5px; + text-align: center; + white-space: nowrap; +} + +.noUi-horizontal .noUi-tooltip { + transform: translate(50%, 0); + right: 50%; + bottom: 120%; +} + +.noUi-vertical .noUi-tooltip { + transform: translate(0, -50%); + top: 50%; + left: 120%; +} + +.noUi-horizontal .noUi-origin > .noUi-tooltip { + transform: translate(-50%, 0); + right: auto; + bottom: 10px; +} + +.noUi-vertical .noUi-origin > .noUi-tooltip { + transform: translate(0, -18px); + top: auto; + left: 28px; +} + +.noUi-target { + border: 0; + box-shadow: none; + background: none; + border-radius: 0; + color: var(--tblr-primary); +} + +.noUi-horizontal { + height: 1.25rem; + padding: 0.5rem 0; +} + +.noUi-base { + background: var(--tblr-border-color); + border-radius: 1rem; +} + +.noUi-handle { + width: 1rem; + height: 1rem; + border: 2px var(--tblr-border-style) #ffffff; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + border-radius: 1rem; + background: currentColor; + outline: 0; +} +.noUi-handle:before, .noUi-handle:after { + content: none; +} +.noUi-horizontal .noUi-handle { + width: 1rem; + height: 1rem; + top: -0.5rem; + left: -0.5rem; + margin: 1px 0 0 1px; +} +.noUi-handle.noUi-active, .noUi-handle:focus { + box-shadow: 0 0 0 1px #f6f8fb, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} + +.noUi-connect { + background: currentColor; +} + +.litepicker { + --litepicker-month-weekday-color: var(--tblr-muted); + --litepicker-button-prev-month-color: var(--tblr-muted); + --litepicker-button-next-month-color: var(--tblr-muted); + --litepicker-button-prev-month-color-hover: var(--tblr-primary); + --litepicker-button-next-month-color-hover: var(--tblr-primary); + --litepicker-day-color: var(--tblr-body-color); + --litepicker-day-color-hover: var(--tblr-primary); + --litepicker-is-end-color-bg: var(--tblr-primary); + --litepicker-is-today-color: var(--tblr-primary); + --litepicker-month-header-color: var(--tblr-body-color); + --litepicker-container-months-color-bg: var(--tblr-bg-surface); + font: inherit; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.litepicker svg { + fill: none !important; +} +.litepicker .container__main { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); + box-shadow: none; +} +.litepicker .container__months .month-item-name, +.litepicker .container__months .month-item-year { + font-weight: var(--tblr-font-weight-medium) !important; +} +.litepicker .container__months .button-next-month, +.litepicker .container__months .button-prev-month { + cursor: pointer !important; +} +.litepicker .container__months .month-item-weekdays-row > div { + padding: 0.5rem 0 !important; + font-size: 0.75rem; +} +.litepicker .container__days .day-item { + cursor: pointer !important; + padding: 0.5rem 0 !important; + transition: color 0.3s, background-color 0.3s, border-color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .litepicker .container__days .day-item { + transition: none; + } +} +.datepicker-inline .litepicker .container__months { + box-shadow: none; + background-color: var(--tblr-bg-forms); +} + +/** + * Tom Select bootstrap 5 + */ +/** + * tom-select.css (v//@@version) + * Copyright (c) contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF + * ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + * + */ +:root { + --ts-pr-clear-button: 0; + --ts-pr-caret: 0; + --ts-pr-min: .75rem; +} + +.ts-wrapper.single .ts-control, .ts-wrapper.single .ts-control input { + cursor: pointer; +} + +.ts-control { + padding-left: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important; +} + +.ts-wrapper.plugin-drag_drop.multi > .ts-control > div.ui-sortable-placeholder { + visibility: visible !important; + background: #f2f2f2 !important; + background: rgba(0, 0, 0, 0.06) !important; + border: 0 none !important; + box-shadow: inset 0 0 12px 4px #fff; +} +.ts-wrapper.plugin-drag_drop .ui-sortable-placeholder::after { + content: "!"; + visibility: hidden; +} +.ts-wrapper.plugin-drag_drop .ui-sortable-helper { + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); +} + +.plugin-checkbox_options .option input { + margin-left: 0.5rem; +} + +.plugin-clear_button { + --ts-pr-clear-button: 1em; +} +.plugin-clear_button .clear-button { + opacity: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); + left: calc(0.75rem - 5px); + margin-left: 0 !important; + background: transparent !important; + transition: opacity 0.5s; + cursor: pointer; +} +.plugin-clear_button.form-select .clear-button, .plugin-clear_button.single .clear-button { + left: max( var(--ts-pr-caret), 0.75rem); +} +.plugin-clear_button.focus.has-items .clear-button, .plugin-clear_button:not(.disabled):hover.has-items .clear-button { + opacity: 1; +} + +.ts-wrapper .dropdown-header { + position: relative; + padding: 6px 0.75rem; + border-bottom: 1px solid #d0d0d0; + background: #f8f8f8; + border-radius: var(--tblr-border-radius) var(--tblr-border-radius) 0 0; +} +.ts-wrapper .dropdown-header-close { + position: absolute; + left: 0.75rem; + top: 50%; + color: #182433; + opacity: 0.4; + margin-top: -12px; + line-height: 20px; + font-size: 20px !important; +} +.ts-wrapper .dropdown-header-close:hover { + color: black; +} + +.plugin-dropdown_input.focus.dropdown-active .ts-control { + box-shadow: none; + border: 1px solid var(--tblr-border-color); + box-shadow: 0 0 transparent; +} +.plugin-dropdown_input .dropdown-input { + border: 1px solid #d0d0d0; + border-width: 0 0 1px 0; + display: block; + padding: 0.4375rem 0.75rem; + box-shadow: none; + width: 100%; + background: transparent; +} +.plugin-dropdown_input.focus .ts-dropdown .dropdown-input { + border-color: #90b5e2; + outline: 0; + box-shadow: 0 0 transparent, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.plugin-dropdown_input .items-placeholder { + border: 0 none !important; + box-shadow: none !important; + width: 100%; +} +.plugin-dropdown_input.has-items .items-placeholder, .plugin-dropdown_input.dropdown-active .items-placeholder { + display: none !important; +} + +.ts-wrapper.plugin-input_autogrow.has-items .ts-control > input { + min-width: 0; +} +.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input { + flex: none; + min-width: 4px; +} +.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-webkit-input-placeholder { + color: transparent; +} +.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input:-ms-input-placeholder { + color: transparent; +} +.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-ms-input-placeholder { + color: transparent; +} +.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder { + color: transparent; +} + +.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content { + display: flex; +} +.ts-dropdown.plugin-optgroup_columns .optgroup { + border-left: 1px solid #f2f2f2; + border-top: 0 none; + flex-grow: 1; + flex-basis: 0; + min-width: 0; +} +.ts-dropdown.plugin-optgroup_columns .optgroup:last-child { + border-left: 0 none; +} +.ts-dropdown.plugin-optgroup_columns .optgroup:before { + display: none; +} +.ts-dropdown.plugin-optgroup_columns .optgroup-header { + border-top: 0 none; +} + +.ts-wrapper.plugin-remove_button .item { + display: inline-flex; + align-items: center; + padding-left: 0 !important; +} +.ts-wrapper.plugin-remove_button .item .remove { + color: inherit; + text-decoration: none; + vertical-align: middle; + display: inline-block; + padding: 0 5px; + border-radius: 2px 0 0 2px; + box-sizing: border-box; +} +.ts-wrapper.plugin-remove_button .item .remove:hover { + background: rgba(0, 0, 0, 0.05); +} +.ts-wrapper.plugin-remove_button.disabled .item .remove:hover { + background: none; +} +.ts-wrapper.plugin-remove_button .remove-single { + position: absolute; + left: 0; + top: 0; + font-size: 23px; +} + +.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove { + border-right: 1px solid #dadfe5; + margin-right: 5px; +} +.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove { + border-right-color: rgba(0, 0, 0, 0); +} +.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove { + border-right-color: white; +} + +.ts-wrapper.plugin-remove_button.rtl .item .remove { + border-left: 1px solid #dadfe5; + margin-left: 5px; +} +.ts-wrapper.plugin-remove_button.rtl .item.active .remove { + border-left-color: rgba(0, 0, 0, 0); +} +.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove { + border-left-color: white; +} + +.ts-wrapper { + position: relative; +} + +.ts-dropdown, +.ts-control, +.ts-control input { + color: #182433; + font-family: inherit; + font-size: inherit; + line-height: 1.4285714286; + font-smoothing: inherit; +} + +.ts-control, +.ts-wrapper.single.input-active .ts-control { + background: var(--tblr-bg-forms); + cursor: text; +} + +.ts-control { + border: 1px solid var(--tblr-border-color); + padding: 0.4375rem 0.75rem; + width: 100%; + overflow: hidden; + position: relative; + z-index: 1; + box-sizing: border-box; + box-shadow: none; + border-radius: var(--tblr-border-radius); + display: flex; + flex-wrap: wrap; +} +.ts-wrapper.multi.has-items .ts-control { + padding: calc( 0.4375rem - 1px - 0px) 0.75rem calc( 0.4375rem - 1px - 3px - 0px); +} +.full .ts-control { + background-color: var(--tblr-bg-forms); +} +.disabled .ts-control, .disabled .ts-control * { + cursor: default !important; +} +.focus .ts-control { + box-shadow: none; +} +.ts-control > * { + vertical-align: baseline; + display: inline-block; +} +.ts-wrapper.multi .ts-control > div { + cursor: pointer; + margin: 0 0 3px 3px; + padding: 1px 5px; + background: #efefef; + color: #182433; + border: 0px solid #dadfe5; +} +.ts-wrapper.multi .ts-control > div.active { + background: #206bc4; + color: #fff; + border: 0px solid rgba(0, 0, 0, 0); +} +.ts-wrapper.multi.disabled .ts-control > div, .ts-wrapper.multi.disabled .ts-control > div.active { + color: #727272; + background: white; + border: 0px solid white; +} +.ts-control > input { + flex: 1 1 auto; + min-width: 7rem; + display: inline-block !important; + padding: 0 !important; + min-height: 0 !important; + max-height: none !important; + max-width: 100% !important; + margin: 0 !important; + text-indent: 0 !important; + border: 0 none !important; + background: none !important; + line-height: inherit !important; + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + -ms-user-select: auto !important; + user-select: auto !important; + box-shadow: none !important; +} +.ts-control > input::-ms-clear { + display: none; +} +.ts-control > input:focus { + outline: none !important; +} +.has-items .ts-control > input { + margin: 0px 4px !important; +} +.ts-control.rtl { + text-align: left; +} +.ts-control.rtl.single .ts-control:after { + right: calc(0.75rem + 5px); + left: auto; +} +.ts-control.rtl .ts-control > input { + margin: 0px -2px 0px 4px !important; +} +.disabled .ts-control { + opacity: 0.5; + background-color: var(--tblr-bg-surface-secondary); +} +.input-hidden .ts-control > input { + opacity: 0; + position: absolute; + right: -10000px; +} + +.ts-dropdown { + position: absolute; + top: 100%; + right: 0; + width: 100%; + z-index: 10; + border: 1px solid #d0d0d0; + background: #fff; + margin: 0.25rem 0 0 0; + border-top: 0 none; + box-sizing: border-box; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + border-radius: 0 0 var(--tblr-border-radius) var(--tblr-border-radius); +} +.ts-dropdown [data-selectable] { + cursor: pointer; + overflow: hidden; +} +.ts-dropdown [data-selectable] .highlight { + background: rgba(255, 237, 40, 0.4); + border-radius: 1px; +} +.ts-dropdown .option, +.ts-dropdown .optgroup-header, +.ts-dropdown .no-results, +.ts-dropdown .create { + padding: 3px 0.75rem; +} +.ts-dropdown .option, .ts-dropdown [data-disabled], .ts-dropdown [data-disabled] [data-selectable].option { + cursor: inherit; + opacity: 0.5; +} +.ts-dropdown [data-selectable].option { + opacity: 1; + cursor: pointer; +} +.ts-dropdown .optgroup:first-child .optgroup-header { + border-top: 0 none; +} +.ts-dropdown .optgroup-header { + color: #667382; + background: var(--tblr-bg-surface); + cursor: default; +} +.ts-dropdown .active { + background-color: rgba(var(--tblr-muted-rgb), 0.04); + color: inherit; +} +.ts-dropdown .active.create { + color: inherit; +} +.ts-dropdown .create { + color: rgba(24, 36, 51, 0.5); +} +.ts-dropdown .spinner { + display: inline-block; + width: 30px; + height: 30px; + margin: 3px 0.75rem; +} +.ts-dropdown .spinner:after { + content: " "; + display: block; + width: 24px; + height: 24px; + margin: 3px; + border-radius: 50%; + border: 5px solid #d0d0d0; + border-color: #d0d0d0 transparent #d0d0d0 transparent; + animation: lds-dual-ring 1.2s linear infinite; +} +@keyframes lds-dual-ring { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(-360deg); + } +} + +.ts-dropdown-content { + overflow-y: auto; + overflow-x: hidden; + max-height: 200px; + overflow-scrolling: touch; + scroll-behavior: smooth; +} + +.ts-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(50%) !important; + clip-path: inset(50%) !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + white-space: nowrap !important; +} + +.ts-wrapper.form-control, +.ts-wrapper.form-select { + padding: 0 !important; + height: auto; + box-shadow: none; + display: flex; +} + +.ts-dropdown, +.ts-dropdown.form-control, +.ts-dropdown.form-select { + height: auto; + padding: 0; + z-index: 1000; + background: #fff; + border: 1px solid var(--tblr-border-color-translucent); + border-radius: 4px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); +} + +.ts-dropdown .optgroup-header { + font-size: 0.765625rem; + line-height: 1.4285714286; +} +.ts-dropdown .optgroup:first-child:before { + display: none; +} +.ts-dropdown .optgroup:before { + content: " "; + display: block; + height: 0; + margin: var(--tblr-spacer) 0; + overflow: hidden; + border-top: 1px solid var(--tblr-border-color-translucent); + margin-right: -0.75rem; + margin-left: -0.75rem; +} +.ts-dropdown .create { + padding-right: 0.75rem; +} + +.ts-dropdown-content { + padding: 5px 0; +} + +.ts-control { + box-shadow: 0 0 transparent; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + display: flex; + align-items: center; +} +@media (prefers-reduced-motion: reduce) { + .ts-control { + transition: none; + } +} +.ts-control.dropdown -active { + border-radius: var(--tblr-border-radius); +} +.focus .ts-control { + border-color: #90b5e2; + outline: 0; + box-shadow: 0 0 transparent, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.ts-control .item { + display: flex; + align-items: center; +} + +.ts-wrapper.is-invalid, +.was-validated .invalid, +.was-validated :invalid + .ts-wrapper { + border-color: var(--tblr-form-invalid-color); +} +.ts-wrapper.is-invalid:not(.single), +.was-validated .invalid:not(.single), +.was-validated :invalid + .ts-wrapper:not(.single) { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); + background-position: left calc(0.3571428572em + 0.21875rem) center; + background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); + background-repeat: no-repeat; +} +.ts-wrapper.is-invalid.single, +.was-validated .invalid.single, +.was-validated :invalid + .ts-wrapper.single { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); + background-position: left 0.75rem center, center left 2.25rem; + background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); + background-repeat: no-repeat; +} +.ts-wrapper.is-invalid.focus .ts-control, +.was-validated .invalid.focus .ts-control, +.was-validated :invalid + .ts-wrapper.focus .ts-control { + border-color: var(--tblr-form-invalid-color); + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-form-invalid-color), 0.25); +} + +.ts-wrapper.is-valid, +.was-validated .valid, +.was-validated :valid + .ts-wrapper { + border-color: var(--tblr-form-valid-color); +} +.ts-wrapper.is-valid:not(.single), +.was-validated .valid:not(.single), +.was-validated :valid + .ts-wrapper:not(.single) { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); + background-position: left calc(0.3571428572em + 0.21875rem) center; + background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); + background-repeat: no-repeat; +} +.ts-wrapper.is-valid.single, +.was-validated .valid.single, +.was-validated :valid + .ts-wrapper.single { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); + background-position: left 0.75rem center, center left 2.25rem; + background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); + background-repeat: no-repeat; +} +.ts-wrapper.is-valid.focus .ts-control, +.was-validated .valid.focus .ts-control, +.was-validated :valid + .ts-wrapper.focus .ts-control { + border-color: var(--tblr-form-valid-color); + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-form-valid-color), 0.25); +} + +.ts-wrapper { + min-height: calc(1.4285714286em + 0.875rem + calc(var(--tblr-border-width) * 2)); + display: flex; +} +.input-group-sm > .ts-wrapper, .ts-wrapper.form-select-sm, .ts-wrapper.form-control-sm { + min-height: calc(1.4285714286em + 0.25rem + calc(var(--tblr-border-width) * 2)); +} +.input-group-sm > .ts-wrapper .ts-control, .ts-wrapper.form-select-sm .ts-control, .ts-wrapper.form-control-sm .ts-control { + border-radius: var(--tblr-border-radius-sm); + font-size: 0.75rem; +} +.input-group-sm > .ts-wrapper.has-items .ts-control, .ts-wrapper.form-select-sm.has-items .ts-control, .ts-wrapper.form-control-sm.has-items .ts-control { + font-size: 0.75rem; + padding-bottom: 0; +} +.input-group-sm > .ts-wrapper.multi.has-items .ts-control, .ts-wrapper.form-select-sm.multi.has-items .ts-control, .ts-wrapper.form-control-sm.multi.has-items .ts-control { + padding-top: calc((calc(1.4285714286em + 0.25rem + calc(var(--tblr-border-width) * 2)) - (1.4285714286 * 0.75rem) - 4px) / 2) !important; +} +.ts-wrapper.multi.has-items .ts-control { + padding-right: calc(0.75rem - 5px); + --ts-pr-min: calc(0.75rem - 5px); +} +.ts-wrapper.multi .ts-control > div { + border-radius: calc(var(--tblr-border-radius) - 1px); +} +.input-group-lg > .ts-wrapper, .ts-wrapper.form-control-lg, .ts-wrapper.form-select-lg { + min-height: calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2)); +} +.input-group-lg > .ts-wrapper .ts-control, .ts-wrapper.form-control-lg .ts-control, .ts-wrapper.form-select-lg .ts-control { + border-radius: var(--tblr-border-radius-lg); + font-size: 1.25rem; +} + +.ts-wrapper:not(.form-control):not(.form-select) { + padding: 0; + border: none; + height: auto; + box-shadow: none; + background: none; +} +.ts-wrapper:not(.form-control):not(.form-select).single .ts-control { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: left 0.75rem center; + background-size: 16px 12px; +} +.ts-wrapper.form-select, .ts-wrapper.single { + --ts-pr-caret: 2.25rem; +} + +.ts-wrapper.form-control .ts-control, .ts-wrapper.form-control.single.input-active .ts-control, +.ts-wrapper.form-select .ts-control, +.ts-wrapper.form-select.single.input-active .ts-control { + border: none !important; +} +.ts-wrapper.form-control:not(.disabled) .ts-control, .ts-wrapper.form-control:not(.disabled).single.input-active .ts-control, +.ts-wrapper.form-select:not(.disabled) .ts-control, +.ts-wrapper.form-select:not(.disabled).single.input-active .ts-control { + background: transparent !important; +} + +.input-group > .ts-wrapper { + flex-grow: 1; +} +.input-group > .ts-wrapper:not(:nth-child(2)) > .ts-control { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > .ts-wrapper:not(:last-child) > .ts-control { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +:root { + --ts-pr-clear-button: 0rem; + --ts-pr-caret: 0rem; +} + +.ts-input { + color: inherit; +} + +.ts-control { + color: inherit; +} +.ts-control .dropdown-menu { + width: 100%; + height: auto; +} + +.ts-wrapper.is-invalid .ts-control, .ts-wrapper.is-valid .ts-control { + --ts-pr-clear-button: 1.5rem; +} + +.ts-dropdown { + background: var(--tblr-bg-surface); + color: var(--tblr-body-color); + box-shadow: var(--tblr-shadow-dropdown); +} +.ts-dropdown .option { + padding: 0.5rem 0.75rem; +} + +.ts-control, +.ts-control input { + color: var(--tblr-body-color); +} + +.ts-control input::-webkit-input-placeholder { + color: #929dab; +} + +.ts-control input:-ms-input-placeholder { + color: #929dab; +} + +.ts-control input::-ms-input-placeholder { + color: #929dab; +} + +.ts-control input::placeholder { + color: #929dab; +} + +.ts-wrapper.multi .ts-control > div { + background: var(--tblr-bg-surface-secondary); + border: 1px solid var(--tblr-border-color); + color: var(--tblr-body-color); +} + +.apexcharts-tooltip { + color: var(--tblr-light) !important; + background: var(--tblr-bg-surface-dark) !important; + font-size: 0.765625rem !important; + padding: 0.25rem !important; + box-shadow: none !important; +} + +.apexcharts-tooltip-title { + background: transparent !important; + border: 0 !important; + margin: 0 !important; + font-weight: var(--tblr-font-weight-bold); + padding: 0.25rem 0.5rem !important; +} + +.apexcharts-tooltip-y-group { + padding: 2px 0 !important; +} + +.apexcharts-tooltip-series-group { + padding: 0 0.5rem 0 !important; +} + +.apexcharts-tooltip-marker { + width: 10px !important; + height: 10px !important; +} + +.apexcharts-text { + fill: var(--tblr-body-color) !important; +} + +.apexcharts-gridline { + stroke: var(--tblr-border-color) !important; +} + +.apexcharts-legend-text { + color: inherit !important; +} + +.apexcharts-radialbar-area { + stroke: var(--tblr-border-color-dark) !important; +} + +svg { + touch-action: none; +} + +image, text, .jvm-zoomin, .jvm-zoomout { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.jvm-container { + touch-action: none; + position: relative; + overflow: hidden; + height: 100%; + width: 100%; +} + +.jvm-tooltip { + border-radius: 3px; + background-color: #5c5cff; + font-family: sans-serif, Verdana; + font-size: smaller; + box-shadow: -1px 2px 12px rgba(0, 0, 0, 0.2); + padding: 3px 5px; + white-space: nowrap; + position: absolute; + display: none; + color: #FFF; +} + +.jvm-tooltip.active { + display: block; +} + +.jvm-zoom-btn { + border-radius: 3px; + background-color: #292929; + padding: 3px; + box-sizing: border-box; + position: absolute; + line-height: 10px; + cursor: pointer; + color: #FFF; + height: 15px; + width: 15px; + right: 10px; +} + +.jvm-zoom-btn.jvm-zoomout { + top: 30px; +} + +.jvm-zoom-btn.jvm-zoomin { + top: 10px; +} + +.jvm-series-container { + left: 15px; + position: absolute; +} + +.jvm-series-container.jvm-series-h { + bottom: 15px; +} + +.jvm-series-container.jvm-series-v { + top: 15px; +} + +.jvm-series-container .jvm-legend { + background-color: #FFF; + border: 1px solid #e5e7eb; + margin-right: 0.75rem; + border-radius: 0.25rem; + border-color: #e5e7eb; + padding: 0.6rem; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + float: right; +} + +.jvm-series-container .jvm-legend .jvm-legend-title { + line-height: 1; + border-bottom: 1px solid #e5e7eb; + padding-bottom: 0.5rem; + margin-bottom: 0.575rem; + text-align: right; +} + +.jvm-series-container .jvm-legend .jvm-legend-inner { + overflow: hidden; +} + +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick { + overflow: hidden; + min-width: 40px; +} + +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick:not(:first-child) { + margin-top: 0.575rem; +} + +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample { + border-radius: 4px; + margin-left: 0.65rem; + height: 16px; + width: 16px; + float: right; +} + +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-text { + font-size: 12px; + text-align: center; + float: right; +} + +.jvm-line[animation=true] { + animation: jvm-line-animation 10s linear forwards infinite; +} +@keyframes jvm-line-animation { + from { + stroke-dashoffset: 250; + } +} +.jvm-tooltip { + background: #182433; + font-family: inherit; + font-size: 0.75rem; + box-shadow: var(--tblr-shadow-card); +} + +.jvm-series-container .jvm-legend .jvm-legend-title { + border-bottom: 0; + font-weight: var(--tblr-font-weight-medium); +} + +.jvm-series-container .jvm-legend { + background-color: var(--tblr-card-bg, var(--tblr-bg-surface)); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + min-width: 8rem; +} +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick { + display: flex; + align-items: center; +} +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample { + width: 0.75rem; + height: 0.75rem; +} + +.jvm-zoom-btn { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + background: var(--tblr-card-bg, var(--tblr-bg-surface)); + color: var(--tblr-body-color); + padding: 0; + display: flex; + align-items: center; + justify-content: center; + line-height: 1; + width: 1.5rem; + height: 1.5rem; + font-size: 1rem; + box-shadow: var(--tblr-shadow-card); +} +.jvm-zoom-btn.jvm-zoomout { + top: 2.5rem; +} + +.dropzone { + border: var(--tblr-border-width) dashed var(--tblr-border-color); + color: var(--tblr-muted); + padding: 1rem; +} +.dropzone.dz-drag-hover { + border: var(--tblr-border-width) dashed var(--tblr-primary); + background: rgba(var(--tblr-primary-rgb), 0.01); + color: var(--tblr-primary); +} +.dropzone.dz-drag-hover .dz-message { + opacity: 1; +} +.dropzone .dz-preview { + margin: 0.5rem; +} +.dropzone .dz-preview .dz-image { + border-radius: var(--tblr-border-radius); +} +.dropzone .dz-preview .dz-success-mark { + height: 54px; +} + +.fslightbox-container { + font-family: inherit !important; + background: rgba(24, 36, 51, 0.24) !important; + -webkit-backdrop-filter: blur(4px) !important; + backdrop-filter: blur(4px) !important; +} + +.fslightbox-slide-number-container { + color: inherit !important; +} + +.fslightbox-slash { + background: currentColor !important; +} + +body { + --plyr-color-main: var(--tblr-primary); +} + +.tox-tinymce { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; + border-radius: 4px !important; + font-family: var(--tblr-font-sans-serif) !important; +} + +.tox-toolbar__group { + padding: 0 0.5rem 0; +} + +.tox .tox-toolbar__primary { + background: transparent !important; +} + +.tox:not(.tox-tinymce-inline) .tox-editor-header { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; + box-shadow: none !important; + padding: 0 !important; +} + +.tox-tbtn { + margin: 0 !important; +} + +.tox-statusbar { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; +} + +.tox .tox-toolbar-overlord, +.tox:not(.tox-tinymce-inline) .tox-editor-header { + background: transparent !important; +} + +:root { + --gl-star-size: auto; + --gl-star-color: var(--tblr-yellow); + --gl-star-color-inactive: var(--tblr-border-color); +} + +[data-star-rating] svg { + width: var(--tblr-icon-size, --gl-star-size); + height: var(--tblr-icon-size, --gl-star-size); +} +[data-star-rating] :not(.gl-active) > .gl-star-full { + color: var(--gl-star-color-inactive) !important; +} +[data-star-rating] .gl-active > .gl-star-full { + color: var(--gl-star-color); +} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler-vendors.rtl.min.css b/bin/main/static/tabler/dist/css/tabler-vendors.rtl.min.css new file mode 100644 index 0000000..5cf5822 --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler-vendors.rtl.min.css @@ -0,0 +1,9 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.noUi-target{position:relative}.noUi-base,.noUi-connects{width:100%;height:100%;position:relative;z-index:1}.noUi-connects{overflow:hidden;z-index:0}.noUi-connect,.noUi-origin{will-change:transform;position:absolute;z-index:1;top:0;left:0;height:100%;width:100%;-ms-transform-origin:100% 0;-webkit-transform-origin:100% 0;-webkit-transform-style:preserve-3d;transform-origin:100% 0;transform-style:flat}.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin{right:0;left:auto}.noUi-vertical .noUi-origin{top:-100%;width:0}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute}.noUi-touch-area{height:100%;width:100%}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{transition:transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;bottom:-17px}.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle{right:-17px;left:auto}.noUi-target{background:#fafafa;border-radius:4px;border:1px solid #d3d3d3;box-shadow:inset 0 1px 1px #f0f0f0,0 3px 6px -5px #bbb}.noUi-connects{border-radius:3px}.noUi-connect{background:#3fb8af}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #d9d9d9;border-radius:3px;background:#fff;cursor:default;box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ebebeb,0 3px 6px -3px #bbb}.noUi-active{box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ddd,0 3px 6px -3px #bbb}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#e8e7e6;right:14px;top:6px}.noUi-handle:after{right:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;right:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#b8b8b8}[disabled] .noUi-handle,[disabled].noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;white-space:nowrap;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#ccc}.noUi-marker-sub{background:#aaa}.noUi-marker-large{background:#aaa}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;right:0;width:100%}.noUi-value-horizontal{transform:translate(50%,50%)}.noUi-rtl .noUi-value-horizontal{transform:translate(-50%,50%)}.noUi-marker-horizontal.noUi-marker{margin-right:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;right:100%}.noUi-value-vertical{transform:translate(0,-50%);padding-right:25px}.noUi-rtl .noUi-value-vertical{transform:translate(0,50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #d9d9d9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.noUi-horizontal .noUi-tooltip{transform:translate(50%,0);right:50%;bottom:120%}.noUi-vertical .noUi-tooltip{transform:translate(0,-50%);top:50%;left:120%}.noUi-horizontal .noUi-origin>.noUi-tooltip{transform:translate(-50%,0);right:auto;bottom:10px}.noUi-vertical .noUi-origin>.noUi-tooltip{transform:translate(0,-18px);top:auto;left:28px}.noUi-target{border:0;box-shadow:none;background:0 0;border-radius:0;color:var(--tblr-primary)}.noUi-horizontal{height:1.25rem;padding:.5rem 0}.noUi-base{background:var(--tblr-border-color);border-radius:1rem}.noUi-handle{width:1rem;height:1rem;border:2px var(--tblr-border-style) #fff;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);border-radius:1rem;background:currentColor;outline:0}.noUi-handle:after,.noUi-handle:before{content:none}.noUi-horizontal .noUi-handle{width:1rem;height:1rem;top:-.5rem;left:-.5rem;margin:1px 0 0 1px}.noUi-handle.noUi-active,.noUi-handle:focus{box-shadow:0 0 0 1px #f6f8fb,0 0 0 .25rem rgba(32,107,196,.25)}.noUi-connect{background:currentColor}.litepicker{--litepicker-month-weekday-color:var(--tblr-muted);--litepicker-button-prev-month-color:var(--tblr-muted);--litepicker-button-next-month-color:var(--tblr-muted);--litepicker-button-prev-month-color-hover:var(--tblr-primary);--litepicker-button-next-month-color-hover:var(--tblr-primary);--litepicker-day-color:var(--tblr-body-color);--litepicker-day-color-hover:var(--tblr-primary);--litepicker-is-end-color-bg:var(--tblr-primary);--litepicker-is-today-color:var(--tblr-primary);--litepicker-month-header-color:var(--tblr-body-color);--litepicker-container-months-color-bg:var(--tblr-bg-surface);font:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.litepicker svg{fill:none!important}.litepicker .container__main{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:none}.litepicker .container__months .month-item-name,.litepicker .container__months .month-item-year{font-weight:var(--tblr-font-weight-medium)!important}.litepicker .container__months .button-next-month,.litepicker .container__months .button-prev-month{cursor:pointer!important}.litepicker .container__months .month-item-weekdays-row>div{padding:.5rem 0!important;font-size:.75rem}.litepicker .container__days .day-item{cursor:pointer!important;padding:.5rem 0!important;transition:color .3s,background-color .3s,border-color .3s}@media (prefers-reduced-motion:reduce){.litepicker .container__days .day-item{transition:none}}.datepicker-inline .litepicker .container__months{box-shadow:none;background-color:var(--tblr-bg-forms)}:root{--ts-pr-clear-button:0;--ts-pr-caret:0;--ts-pr-min:.75rem}.ts-wrapper.single .ts-control,.ts-wrapper.single .ts-control input{cursor:pointer}.ts-control{padding-left:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-wrapper.plugin-drag_drop.multi>.ts-control>div.ui-sortable-placeholder{visibility:visible!important;background:#f2f2f2!important;background:rgba(0,0,0,.06)!important;border:0 none!important;box-shadow:inset 0 0 12px 4px #fff}.ts-wrapper.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.ts-wrapper.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,.2)}.plugin-checkbox_options .option input{margin-left:.5rem}.plugin-clear_button{--ts-pr-clear-button:1em}.plugin-clear_button .clear-button{opacity:0;position:absolute;top:50%;transform:translateY(-50%);left:calc(.75rem - 5px);margin-left:0!important;background:0 0!important;transition:opacity .5s;cursor:pointer}.plugin-clear_button.form-select .clear-button,.plugin-clear_button.single .clear-button{left:max(var(--ts-pr-caret),.75rem)}.plugin-clear_button.focus.has-items .clear-button,.plugin-clear_button:not(.disabled):hover.has-items .clear-button{opacity:1}.ts-wrapper .dropdown-header{position:relative;padding:6px .75rem;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:var(--tblr-border-radius) var(--tblr-border-radius) 0 0}.ts-wrapper .dropdown-header-close{position:absolute;left:.75rem;top:50%;color:#182433;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.ts-wrapper .dropdown-header-close:hover{color:#000}.plugin-dropdown_input.focus.dropdown-active .ts-control{box-shadow:none;border:1px solid var(--tblr-border-color);box-shadow:0 0 transparent}.plugin-dropdown_input .dropdown-input{border:1px solid #d0d0d0;border-width:0 0 1px 0;display:block;padding:.4375rem .75rem;box-shadow:none;width:100%;background:0 0}.plugin-dropdown_input.focus .ts-dropdown .dropdown-input{border-color:#90b5e2;outline:0;box-shadow:0 0 transparent,0 0 0 .25rem rgba(32,107,196,.25)}.plugin-dropdown_input .items-placeholder{border:0 none!important;box-shadow:none!important;width:100%}.plugin-dropdown_input.dropdown-active .items-placeholder,.plugin-dropdown_input.has-items .items-placeholder{display:none!important}.ts-wrapper.plugin-input_autogrow.has-items .ts-control>input{min-width:0}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input{flex:none;min-width:4px}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::-webkit-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input:-ms-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::-ms-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::placeholder{color:transparent}.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content{display:flex}.ts-dropdown.plugin-optgroup_columns .optgroup{border-left:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.ts-dropdown.plugin-optgroup_columns .optgroup:last-child{border-left:0 none}.ts-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.ts-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.ts-wrapper.plugin-remove_button .item{display:inline-flex;align-items:center;padding-left:0!important}.ts-wrapper.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:0 5px;border-radius:2px 0 0 2px;box-sizing:border-box}.ts-wrapper.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,.05)}.ts-wrapper.plugin-remove_button.disabled .item .remove:hover{background:0 0}.ts-wrapper.plugin-remove_button .remove-single{position:absolute;left:0;top:0;font-size:23px}.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove{border-right:1px solid #dadfe5;margin-right:5px}.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove{border-right-color:transparent}.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove{border-right-color:#fff}.ts-wrapper.plugin-remove_button.rtl .item .remove{border-left:1px solid #dadfe5;margin-left:5px}.ts-wrapper.plugin-remove_button.rtl .item.active .remove{border-left-color:transparent}.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove{border-left-color:#fff}.ts-wrapper{position:relative}.ts-control,.ts-control input,.ts-dropdown{color:#182433;font-family:inherit;font-size:inherit;line-height:1.4285714286;font-smoothing:inherit}.ts-control,.ts-wrapper.single.input-active .ts-control{background:var(--tblr-bg-forms);cursor:text}.ts-control{border:1px solid var(--tblr-border-color);padding:.4375rem .75rem;width:100%;overflow:hidden;position:relative;z-index:1;box-sizing:border-box;box-shadow:none;border-radius:var(--tblr-border-radius);display:flex;flex-wrap:wrap}.ts-wrapper.multi.has-items .ts-control{padding:calc(.4375rem - 1px - 0px) .75rem calc(.4375rem - 1px - 3px - 0px)}.full .ts-control{background-color:var(--tblr-bg-forms)}.disabled .ts-control,.disabled .ts-control *{cursor:default!important}.focus .ts-control{box-shadow:none}.ts-control>*{vertical-align:baseline;display:inline-block}.ts-wrapper.multi .ts-control>div{cursor:pointer;margin:0 0 3px 3px;padding:1px 5px;background:#efefef;color:#182433;border:0 solid #dadfe5}.ts-wrapper.multi .ts-control>div.active{background:#206bc4;color:#fff;border:0 solid transparent}.ts-wrapper.multi.disabled .ts-control>div,.ts-wrapper.multi.disabled .ts-control>div.active{color:#727272;background:#fff;border:0 solid #fff}.ts-control>input{flex:1 1 auto;min-width:7rem;display:inline-block!important;padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0!important;text-indent:0!important;border:0 none!important;background:0 0!important;line-height:inherit!important;-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important;box-shadow:none!important}.ts-control>input::-ms-clear{display:none}.ts-control>input:focus{outline:0!important}.has-items .ts-control>input{margin:0 4px!important}.ts-control.rtl{text-align:left}.ts-control.rtl.single .ts-control:after{right:calc(.75rem + 5px);left:auto}.ts-control.rtl .ts-control>input{margin:0 -2px 0 4px!important}.disabled .ts-control{opacity:.5;background-color:var(--tblr-bg-surface-secondary)}.input-hidden .ts-control>input{opacity:0;position:absolute;right:-10000px}.ts-dropdown{position:absolute;top:100%;right:0;width:100%;z-index:10;border:1px solid #d0d0d0;background:#fff;margin:.25rem 0 0 0;border-top:0 none;box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,.1);border-radius:0 0 var(--tblr-border-radius) var(--tblr-border-radius)}.ts-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.ts-dropdown [data-selectable] .highlight{background:rgba(255,237,40,.4);border-radius:1px}.ts-dropdown .create,.ts-dropdown .no-results,.ts-dropdown .optgroup-header,.ts-dropdown .option{padding:3px .75rem}.ts-dropdown .option,.ts-dropdown [data-disabled],.ts-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.ts-dropdown [data-selectable].option{opacity:1;cursor:pointer}.ts-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.ts-dropdown .optgroup-header{color:#667382;background:var(--tblr-bg-surface);cursor:default}.ts-dropdown .active{background-color:rgba(var(--tblr-muted-rgb),.04);color:inherit}.ts-dropdown .active.create{color:inherit}.ts-dropdown .create{color:rgba(24,36,51,.5)}.ts-dropdown .spinner{display:inline-block;width:30px;height:30px;margin:3px .75rem}.ts-dropdown .spinner:after{content:" ";display:block;width:24px;height:24px;margin:3px;border-radius:50%;border:5px solid #d0d0d0;border-color:#d0d0d0 transparent #d0d0d0 transparent;animation:lds-dual-ring 1.2s linear infinite}@keyframes lds-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}.ts-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;overflow-scrolling:touch;scroll-behavior:smooth}.ts-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.ts-wrapper.form-control,.ts-wrapper.form-select{padding:0!important;height:auto;box-shadow:none;display:flex}.ts-dropdown,.ts-dropdown.form-control,.ts-dropdown.form-select{height:auto;padding:0;z-index:1000;background:#fff;border:1px solid var(--tblr-border-color-translucent);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175)}.ts-dropdown .optgroup-header{font-size:.765625rem;line-height:1.4285714286}.ts-dropdown .optgroup:first-child:before{display:none}.ts-dropdown .optgroup:before{content:" ";display:block;height:0;margin:var(--tblr-spacer) 0;overflow:hidden;border-top:1px solid var(--tblr-border-color-translucent);margin-right:-.75rem;margin-left:-.75rem}.ts-dropdown .create{padding-right:.75rem}.ts-dropdown-content{padding:5px 0}.ts-control{box-shadow:0 0 transparent;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:flex;align-items:center}@media (prefers-reduced-motion:reduce){.ts-control{transition:none}}.ts-control.dropdown -active{border-radius:var(--tblr-border-radius)}.focus .ts-control{border-color:#90b5e2;outline:0;box-shadow:0 0 transparent,0 0 0 .25rem rgba(32,107,196,.25)}.ts-control .item{display:flex;align-items:center}.ts-wrapper.is-invalid,.was-validated .invalid,.was-validated :invalid+.ts-wrapper{border-color:var(--tblr-form-invalid-color)}.ts-wrapper.is-invalid:not(.single),.was-validated .invalid:not(.single),.was-validated :invalid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:left calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-invalid.single,.was-validated .invalid.single,.was-validated :invalid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:left .75rem center,center left 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-invalid.focus .ts-control,.was-validated .invalid.focus .ts-control,.was-validated :invalid+.ts-wrapper.focus .ts-control{border-color:var(--tblr-form-invalid-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-form-invalid-color),.25)}.ts-wrapper.is-valid,.was-validated .valid,.was-validated :valid+.ts-wrapper{border-color:var(--tblr-form-valid-color)}.ts-wrapper.is-valid:not(.single),.was-validated .valid:not(.single),.was-validated :valid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:left calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-valid.single,.was-validated .valid.single,.was-validated :valid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:left .75rem center,center left 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-valid.focus .ts-control,.was-validated .valid.focus .ts-control,.was-validated :valid+.ts-wrapper.focus .ts-control{border-color:var(--tblr-form-valid-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-form-valid-color),.25)}.ts-wrapper{min-height:calc(1.4285714286em + .875rem + calc(var(--tblr-border-width) * 2));display:flex}.input-group-sm>.ts-wrapper,.ts-wrapper.form-control-sm,.ts-wrapper.form-select-sm{min-height:calc(1.4285714286em + .25rem + calc(var(--tblr-border-width) * 2))}.input-group-sm>.ts-wrapper .ts-control,.ts-wrapper.form-control-sm .ts-control,.ts-wrapper.form-select-sm .ts-control{border-radius:var(--tblr-border-radius-sm);font-size:.75rem}.input-group-sm>.ts-wrapper.has-items .ts-control,.ts-wrapper.form-control-sm.has-items .ts-control,.ts-wrapper.form-select-sm.has-items .ts-control{font-size:.75rem;padding-bottom:0}.input-group-sm>.ts-wrapper.multi.has-items .ts-control,.ts-wrapper.form-control-sm.multi.has-items .ts-control,.ts-wrapper.form-select-sm.multi.has-items .ts-control{padding-top:calc((calc(1.4285714286em + .25rem + calc(var(--tblr-border-width) * 2)) - (1.4285714286 * .75rem) - 4px)/ 2)!important}.ts-wrapper.multi.has-items .ts-control{padding-right:calc(.75rem - 5px);--ts-pr-min:calc(0.75rem - 5px)}.ts-wrapper.multi .ts-control>div{border-radius:calc(var(--tblr-border-radius) - 1px)}.input-group-lg>.ts-wrapper,.ts-wrapper.form-control-lg,.ts-wrapper.form-select-lg{min-height:calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2))}.input-group-lg>.ts-wrapper .ts-control,.ts-wrapper.form-control-lg .ts-control,.ts-wrapper.form-select-lg .ts-control{border-radius:var(--tblr-border-radius-lg);font-size:1.25rem}.ts-wrapper:not(.form-control):not(.form-select){padding:0;border:none;height:auto;box-shadow:none;background:0 0}.ts-wrapper:not(.form-control):not(.form-select).single .ts-control{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left .75rem center;background-size:16px 12px}.ts-wrapper.form-select,.ts-wrapper.single{--ts-pr-caret:2.25rem}.ts-wrapper.form-control .ts-control,.ts-wrapper.form-control.single.input-active .ts-control,.ts-wrapper.form-select .ts-control,.ts-wrapper.form-select.single.input-active .ts-control{border:none!important}.ts-wrapper.form-control:not(.disabled) .ts-control,.ts-wrapper.form-control:not(.disabled).single.input-active .ts-control,.ts-wrapper.form-select:not(.disabled) .ts-control,.ts-wrapper.form-select:not(.disabled).single.input-active .ts-control{background:0 0!important}.input-group>.ts-wrapper{flex-grow:1}.input-group>.ts-wrapper:not(:nth-child(2))>.ts-control{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.ts-wrapper:not(:last-child)>.ts-control{border-top-left-radius:0;border-bottom-left-radius:0}:root{--ts-pr-clear-button:0rem;--ts-pr-caret:0rem}.ts-input{color:inherit}.ts-control{color:inherit}.ts-control .dropdown-menu{width:100%;height:auto}.ts-wrapper.is-invalid .ts-control,.ts-wrapper.is-valid .ts-control{--ts-pr-clear-button:1.5rem}.ts-dropdown{background:var(--tblr-bg-surface);color:var(--tblr-body-color);box-shadow:var(--tblr-shadow-dropdown)}.ts-dropdown .option{padding:.5rem .75rem}.ts-control,.ts-control input{color:var(--tblr-body-color)}.ts-control input::-webkit-input-placeholder{color:#929dab}.ts-control input:-ms-input-placeholder{color:#929dab}.ts-control input::-ms-input-placeholder{color:#929dab}.ts-control input::placeholder{color:#929dab}.ts-wrapper.multi .ts-control>div{background:var(--tblr-bg-surface-secondary);border:1px solid var(--tblr-border-color);color:var(--tblr-body-color)}.apexcharts-tooltip{color:var(--tblr-light)!important;background:var(--tblr-bg-surface-dark)!important;font-size:.765625rem!important;padding:.25rem!important;box-shadow:none!important}.apexcharts-tooltip-title{background:0 0!important;border:0!important;margin:0!important;font-weight:var(--tblr-font-weight-bold);padding:.25rem .5rem!important}.apexcharts-tooltip-y-group{padding:2px 0!important}.apexcharts-tooltip-series-group{padding:0 .5rem 0!important}.apexcharts-tooltip-marker{width:10px!important;height:10px!important}.apexcharts-text{fill:var(--tblr-body-color)!important}.apexcharts-gridline{stroke:var(--tblr-border-color)!important}.apexcharts-legend-text{color:inherit!important}.apexcharts-radialbar-area{stroke:var(--tblr-border-color-dark)!important}svg{touch-action:none}.jvm-zoomin,.jvm-zoomout,image,text{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jvm-container{touch-action:none;position:relative;overflow:hidden;height:100%;width:100%}.jvm-tooltip{border-radius:3px;background-color:#5c5cff;font-family:sans-serif,Verdana;font-size:smaller;box-shadow:-1px 2px 12px rgba(0,0,0,.2);padding:3px 5px;white-space:nowrap;position:absolute;display:none;color:#fff}.jvm-tooltip.active{display:block}.jvm-zoom-btn{border-radius:3px;background-color:#292929;padding:3px;box-sizing:border-box;position:absolute;line-height:10px;cursor:pointer;color:#fff;height:15px;width:15px;right:10px}.jvm-zoom-btn.jvm-zoomout{top:30px}.jvm-zoom-btn.jvm-zoomin{top:10px}.jvm-series-container{left:15px;position:absolute}.jvm-series-container.jvm-series-h{bottom:15px}.jvm-series-container.jvm-series-v{top:15px}.jvm-series-container .jvm-legend{background-color:#fff;border:1px solid #e5e7eb;margin-right:.75rem;border-radius:.25rem;border-color:#e5e7eb;padding:.6rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);float:right}.jvm-series-container .jvm-legend .jvm-legend-title{line-height:1;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem;margin-bottom:.575rem;text-align:right}.jvm-series-container .jvm-legend .jvm-legend-inner{overflow:hidden}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick{overflow:hidden;min-width:40px}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick:not(:first-child){margin-top:.575rem}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample{border-radius:4px;margin-left:.65rem;height:16px;width:16px;float:right}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-text{font-size:12px;text-align:center;float:right}.jvm-line[animation=true]{animation:jvm-line-animation 10s linear forwards infinite}@keyframes jvm-line-animation{from{stroke-dashoffset:250}}.jvm-tooltip{background:#182433;font-family:inherit;font-size:.75rem;box-shadow:var(--tblr-shadow-card)}.jvm-series-container .jvm-legend .jvm-legend-title{border-bottom:0;font-weight:var(--tblr-font-weight-medium)}.jvm-series-container .jvm-legend{background-color:var(--tblr-card-bg,var(--tblr-bg-surface));border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);min-width:8rem}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick{display:flex;align-items:center}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample{width:.75rem;height:.75rem}.jvm-zoom-btn{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background:var(--tblr-card-bg,var(--tblr-bg-surface));color:var(--tblr-body-color);padding:0;display:flex;align-items:center;justify-content:center;line-height:1;width:1.5rem;height:1.5rem;font-size:1rem;box-shadow:var(--tblr-shadow-card)}.jvm-zoom-btn.jvm-zoomout{top:2.5rem}.dropzone{border:var(--tblr-border-width) dashed var(--tblr-border-color);color:var(--tblr-muted);padding:1rem}.dropzone.dz-drag-hover{border:var(--tblr-border-width) dashed var(--tblr-primary);background:rgba(var(--tblr-primary-rgb),.01);color:var(--tblr-primary)}.dropzone.dz-drag-hover .dz-message{opacity:1}.dropzone .dz-preview{margin:.5rem}.dropzone .dz-preview .dz-image{border-radius:var(--tblr-border-radius)}.dropzone .dz-preview .dz-success-mark{height:54px}.fslightbox-container{font-family:inherit!important;background:rgba(24,36,51,.24)!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}.fslightbox-slide-number-container{color:inherit!important}.fslightbox-slash{background:currentColor!important}body{--plyr-color-main:var(--tblr-primary)}.tox-tinymce{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;border-radius:4px!important;font-family:var(--tblr-font-sans-serif)!important}.tox-toolbar__group{padding:0 .5rem 0}.tox .tox-toolbar__primary{background:0 0!important}.tox:not(.tox-tinymce-inline) .tox-editor-header{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;box-shadow:none!important;padding:0!important}.tox-tbtn{margin:0!important}.tox-statusbar{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important}.tox .tox-toolbar-overlord,.tox:not(.tox-tinymce-inline) .tox-editor-header{background:0 0!important}:root{--gl-star-size:auto;--gl-star-color:var(--tblr-yellow);--gl-star-color-inactive:var(--tblr-border-color)}[data-star-rating] svg{width:var(--tblr-icon-size,--gl-star-size);height:var(--tblr-icon-size,--gl-star-size)}[data-star-rating] :not(.gl-active)>.gl-star-full{color:var(--gl-star-color-inactive)!important}[data-star-rating] .gl-active>.gl-star-full{color:var(--gl-star-color)} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler.css b/bin/main/static/tabler/dist/css/tabler.css new file mode 100644 index 0000000..400b93b --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler.css @@ -0,0 +1,25650 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +@charset "UTF-8"; +/* prettier-ignore */ +/* prettier-ignore */ +:root, +[data-bs-theme=light] { + --tblr-blue: #206bc4; + --tblr-indigo: #4263eb; + --tblr-purple: #ae3ec9; + --tblr-pink: #d6336c; + --tblr-red: #d63939; + --tblr-orange: #f76707; + --tblr-yellow: #f59f00; + --tblr-green: #2fb344; + --tblr-teal: #0ca678; + --tblr-cyan: #17a2b8; + --tblr-black: #000000; + --tblr-white: #ffffff; + --tblr-gray: #667382; + --tblr-gray-dark: #182433; + --tblr-gray-100: #f6f8fb; + --tblr-gray-200: #eef1f4; + --tblr-gray-300: #dadfe5; + --tblr-gray-400: #bbc3cd; + --tblr-gray-500: #929dab; + --tblr-gray-600: #667382; + --tblr-gray-700: #3a4859; + --tblr-gray-800: #182433; + --tblr-gray-900: #040a11; + --tblr-primary: #206bc4; + --tblr-secondary: #667382; + --tblr-success: #2fb344; + --tblr-info: #4299e1; + --tblr-warning: #f76707; + --tblr-danger: #d63939; + --tblr-light: #fcfdfe; + --tblr-dark: #182433; + --tblr-muted: #667382; + --tblr-blue: #206bc4; + --tblr-azure: #4299e1; + --tblr-indigo: #4263eb; + --tblr-purple: #ae3ec9; + --tblr-pink: #d6336c; + --tblr-red: #d63939; + --tblr-orange: #f76707; + --tblr-yellow: #f59f00; + --tblr-lime: #74b816; + --tblr-green: #2fb344; + --tblr-teal: #0ca678; + --tblr-cyan: #17a2b8; + --tblr-facebook: #1877f2; + --tblr-twitter: #1da1f2; + --tblr-linkedin: #0a66c2; + --tblr-google: #dc4e41; + --tblr-youtube: #ff0000; + --tblr-vimeo: #1ab7ea; + --tblr-dribbble: #ea4c89; + --tblr-github: #181717; + --tblr-instagram: #e4405f; + --tblr-pinterest: #bd081c; + --tblr-vk: #6383a8; + --tblr-rss: #ffa500; + --tblr-flickr: #0063dc; + --tblr-bitbucket: #0052cc; + --tblr-tabler: #206bc4; + --tblr-primary-rgb: 32, 107, 196; + --tblr-secondary-rgb: 102, 115, 130; + --tblr-success-rgb: 47, 179, 68; + --tblr-info-rgb: 66, 153, 225; + --tblr-warning-rgb: 247, 103, 7; + --tblr-danger-rgb: 214, 57, 57; + --tblr-light-rgb: 252, 253, 254; + --tblr-dark-rgb: 24, 36, 51; + --tblr-muted-rgb: 102, 115, 130; + --tblr-blue-rgb: 32, 107, 196; + --tblr-azure-rgb: 66, 153, 225; + --tblr-indigo-rgb: 66, 99, 235; + --tblr-purple-rgb: 174, 62, 201; + --tblr-pink-rgb: 214, 51, 108; + --tblr-red-rgb: 214, 57, 57; + --tblr-orange-rgb: 247, 103, 7; + --tblr-yellow-rgb: 245, 159, 0; + --tblr-lime-rgb: 116, 184, 22; + --tblr-green-rgb: 47, 179, 68; + --tblr-teal-rgb: 12, 166, 120; + --tblr-cyan-rgb: 23, 162, 184; + --tblr-facebook-rgb: 24, 119, 242; + --tblr-twitter-rgb: 29, 161, 242; + --tblr-linkedin-rgb: 10, 102, 194; + --tblr-google-rgb: 220, 78, 65; + --tblr-youtube-rgb: 255, 0, 0; + --tblr-vimeo-rgb: 26, 183, 234; + --tblr-dribbble-rgb: 234, 76, 137; + --tblr-github-rgb: 24, 23, 23; + --tblr-instagram-rgb: 228, 64, 95; + --tblr-pinterest-rgb: 189, 8, 28; + --tblr-vk-rgb: 99, 131, 168; + --tblr-rss-rgb: 255, 165, 0; + --tblr-flickr-rgb: 0, 99, 220; + --tblr-bitbucket-rgb: 0, 82, 204; + --tblr-tabler-rgb: 32, 107, 196; + --tblr-primary-text-emphasis: #0d2b4e; + --tblr-secondary-text-emphasis: #292e34; + --tblr-success-text-emphasis: #13481b; + --tblr-info-text-emphasis: #1a3d5a; + --tblr-warning-text-emphasis: #632903; + --tblr-danger-text-emphasis: #561717; + --tblr-light-text-emphasis: #3a4859; + --tblr-dark-text-emphasis: #3a4859; + --tblr-primary-bg-subtle: #d2e1f3; + --tblr-secondary-bg-subtle: #e0e3e6; + --tblr-success-bg-subtle: #d5f0da; + --tblr-info-bg-subtle: #d9ebf9; + --tblr-warning-bg-subtle: #fde1cd; + --tblr-danger-bg-subtle: #f7d7d7; + --tblr-light-bg-subtle: #fbfcfd; + --tblr-dark-bg-subtle: #bbc3cd; + --tblr-primary-border-subtle: #a6c4e7; + --tblr-secondary-border-subtle: #c2c7cd; + --tblr-success-border-subtle: #ace1b4; + --tblr-info-border-subtle: #b3d6f3; + --tblr-warning-border-subtle: #fcc29c; + --tblr-danger-border-subtle: #efb0b0; + --tblr-light-border-subtle: #eef1f4; + --tblr-dark-border-subtle: #929dab; + --tblr-white-rgb: 255, 255, 255; + --tblr-black-rgb: 0, 0, 0; + --tblr-font-sans-serif: -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif; + --tblr-font-monospace: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; + --tblr-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --tblr-body-font-family: var(--tblr-font-sans-serif); + --tblr-body-font-size: 0.875rem; + --tblr-body-font-weight: 400; + --tblr-body-line-height: 1.4285714286; + --tblr-body-color: #182433; + --tblr-body-color-rgb: 24, 36, 51; + --tblr-body-bg: #f6f8fb; + --tblr-body-bg-rgb: 246, 248, 251; + --tblr-emphasis-color: #182433; + --tblr-emphasis-color-rgb: 24, 36, 51; + --tblr-secondary-color: rgba(24, 36, 51, 0.75); + --tblr-secondary-color-rgb: 24, 36, 51; + --tblr-secondary-bg: #eef1f4; + --tblr-secondary-bg-rgb: 238, 241, 244; + --tblr-tertiary-color: rgba(24, 36, 51, 0.5); + --tblr-tertiary-color-rgb: 24, 36, 51; + --tblr-tertiary-bg: #f6f8fb; + --tblr-tertiary-bg-rgb: 246, 248, 251; + --tblr-link-color: #206bc4; + --tblr-link-color-rgb: 32, 107, 196; + --tblr-link-decoration: none; + --tblr-link-hover-color: #1a569d; + --tblr-link-hover-color-rgb: 26, 86, 157; + --tblr-link-hover-decoration: underline; + --tblr-code-color: var(--tblr-gray-600); + --tblr-highlight-bg: #fdeccc; + --tblr-border-width: 1px; + --tblr-border-style: solid; + --tblr-border-color: #dadfe5; + --tblr-border-color-translucent: rgba(4, 32, 69, 0.14); + --tblr-border-radius: 4px; + --tblr-border-radius-sm: 2px; + --tblr-border-radius-lg: 8px; + --tblr-border-radius-xl: 1rem; + --tblr-border-radius-xxl: 2rem; + --tblr-border-radius-2xl: var(--tblr-border-radius-xxl); + --tblr-border-radius-pill: 100rem; + --tblr-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --tblr-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --tblr-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); + --tblr-box-shadow-inset: 0 0 transparent; + --tblr-focus-ring-width: 0.25rem; + --tblr-focus-ring-opacity: 0.25; + --tblr-focus-ring-color: rgba(32, 107, 196, 0.25); + --tblr-form-valid-color: #2fb344; + --tblr-form-valid-border-color: #2fb344; + --tblr-form-invalid-color: #d63939; + --tblr-form-invalid-border-color: #d63939; +} + +[data-bs-theme=dark] { + color-scheme: dark; + --tblr-body-color: #fcfdfe; + --tblr-body-color-rgb: 252, 253, 254; + --tblr-body-bg: #040a11; + --tblr-body-bg-rgb: 4, 10, 17; + --tblr-emphasis-color: #ffffff; + --tblr-emphasis-color-rgb: 255, 255, 255; + --tblr-secondary-color: rgba(252, 253, 254, 0.75); + --tblr-secondary-color-rgb: 252, 253, 254; + --tblr-secondary-bg: #182433; + --tblr-secondary-bg-rgb: 24, 36, 51; + --tblr-tertiary-color: rgba(252, 253, 254, 0.5); + --tblr-tertiary-color-rgb: 252, 253, 254; + --tblr-tertiary-bg: #0e1722; + --tblr-tertiary-bg-rgb: 14, 23, 34; + --tblr-primary-text-emphasis: #79a6dc; + --tblr-secondary-text-emphasis: #a3abb4; + --tblr-success-text-emphasis: #82d18f; + --tblr-info-text-emphasis: #8ec2ed; + --tblr-warning-text-emphasis: #faa46a; + --tblr-danger-text-emphasis: #e68888; + --tblr-light-text-emphasis: #f6f8fb; + --tblr-dark-text-emphasis: #dadfe5; + --tblr-primary-bg-subtle: #061527; + --tblr-secondary-bg-subtle: #14171a; + --tblr-success-bg-subtle: #09240e; + --tblr-info-bg-subtle: #0d1f2d; + --tblr-warning-bg-subtle: #311501; + --tblr-danger-bg-subtle: #2b0b0b; + --tblr-light-bg-subtle: #182433; + --tblr-dark-bg-subtle: #0c121a; + --tblr-primary-border-subtle: #134076; + --tblr-secondary-border-subtle: #3d454e; + --tblr-success-border-subtle: #1c6b29; + --tblr-info-border-subtle: #285c87; + --tblr-warning-border-subtle: #943e04; + --tblr-danger-border-subtle: #802222; + --tblr-light-border-subtle: #3a4859; + --tblr-dark-border-subtle: #182433; + --tblr-link-color: #79a6dc; + --tblr-link-hover-color: #94b8e3; + --tblr-link-color-rgb: 121, 166, 220; + --tblr-link-hover-color-rgb: 148, 184, 227; + --tblr-code-color: var(--tblr-gray-300); + --tblr-border-color: #1f2e41; + --tblr-border-color-translucent: rgba(72, 110, 149, 0.14); + --tblr-form-valid-color: #82d18f; + --tblr-form-valid-border-color: #82d18f; + --tblr-form-invalid-color: #e68888; + --tblr-form-invalid-border-color: #e68888; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--tblr-body-font-family); + font-size: var(--tblr-body-font-size); + font-weight: var(--tblr-body-font-weight); + line-height: var(--tblr-body-line-height); + color: var(--tblr-body-color); + text-align: var(--tblr-body-text-align); + background-color: var(--tblr-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr, .hr { + margin: 2rem 0; + color: inherit; + border: 0; + border-top: var(--tblr-border-width) solid; + opacity: 0.16; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: var(--tblr-spacer); + font-weight: var(--tblr-font-weight-bold); + line-height: 1.2; + color: var(--tblr-heading-color, inherit); +} + +h1, .h1 { + font-size: 1.5rem; +} + +h2, .h2 { + font-size: 1.25rem; +} + +h3, .h3 { + font-size: 1rem; +} + +h4, .h4 { + font-size: 0.875rem; +} + +h5, .h5 { + font-size: 0.75rem; +} + +h6, .h6 { + font-size: 0.625rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 600; +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small, .small { + font-size: 85.714285%; +} + +mark, .mark { + padding: 0.1875em; + background-color: var(--tblr-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: rgba(var(--tblr-link-color-rgb), var(--tblr-link-opacity, 1)); + text-decoration: none; +} +a:hover { + --tblr-link-color-rgb: var(--tblr-link-hover-color-rgb); + text-decoration: underline; +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--tblr-font-monospace); + font-size: 1em; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 85.714285%; + color: var(--tblr-light); +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 85.714285%; + color: var(--tblr-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.25rem 0.5rem; + font-size: var(--tblr-font-size-h5); + color: var(--tblr-muted-dark); + background-color: var(--tblr-code-bg); + border-radius: 2px; +} +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: var(--tblr-secondary-color); + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: 1.5rem; + line-height: inherit; +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: textfield; +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +.lead { + font-size: 0.875rem; + font-weight: var(--tblr-font-weight-normal); +} + +.display-1 { + font-size: 5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-5 { + font-size: 3rem; + font-weight: 300; + line-height: 1.2; +} + +.display-6 { + font-size: 2rem; + font-weight: 300; + line-height: 1.2; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 85.714285%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 0.875rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 85.714285%; + color: #667382; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: var(--tblr-body-bg); + border: var(--tblr-border-width) solid var(--tblr-border-color); + border-radius: var(--tblr-border-radius); + box-shadow: var(--tblr-box-shadow-sm); + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 85.714285%; + color: var(--tblr-secondary-color); +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --tblr-gutter-x: calc(var(--tblr-page-padding) * 2); + --tblr-gutter-y: 0; + width: 100%; + padding-right: calc(var(--tblr-gutter-x) * 0.5); + padding-left: calc(var(--tblr-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --tblr-breakpoint-xs: 0; + --tblr-breakpoint-sm: 576px; + --tblr-breakpoint-md: 768px; + --tblr-breakpoint-lg: 992px; + --tblr-breakpoint-xl: 1200px; + --tblr-breakpoint-xxl: 1400px; +} + +.row { + --tblr-gutter-x: var(--tblr-page-padding); + --tblr-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--tblr-gutter-y)); + margin-right: calc(-0.5 * var(--tblr-gutter-x)); + margin-left: calc(-0.5 * var(--tblr-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--tblr-gutter-x) * 0.5); + padding-left: calc(var(--tblr-gutter-x) * 0.5); + margin-top: var(--tblr-gutter-y); +} + +.grid { + display: grid; + grid-template-rows: repeat(var(--tblr-rows, 1), 1fr); + grid-template-columns: repeat(var(--tblr-columns, 12), 1fr); + gap: var(--tblr-gap, var(--tblr-page-padding)); +} +.grid .g-col-1 { + grid-column: auto/span 1; +} +.grid .g-col-2 { + grid-column: auto/span 2; +} +.grid .g-col-3 { + grid-column: auto/span 3; +} +.grid .g-col-4 { + grid-column: auto/span 4; +} +.grid .g-col-5 { + grid-column: auto/span 5; +} +.grid .g-col-6 { + grid-column: auto/span 6; +} +.grid .g-col-7 { + grid-column: auto/span 7; +} +.grid .g-col-8 { + grid-column: auto/span 8; +} +.grid .g-col-9 { + grid-column: auto/span 9; +} +.grid .g-col-10 { + grid-column: auto/span 10; +} +.grid .g-col-11 { + grid-column: auto/span 11; +} +.grid .g-col-12 { + grid-column: auto/span 12; +} +.grid .g-start-1 { + grid-column-start: 1; +} +.grid .g-start-2 { + grid-column-start: 2; +} +.grid .g-start-3 { + grid-column-start: 3; +} +.grid .g-start-4 { + grid-column-start: 4; +} +.grid .g-start-5 { + grid-column-start: 5; +} +.grid .g-start-6 { + grid-column-start: 6; +} +.grid .g-start-7 { + grid-column-start: 7; +} +.grid .g-start-8 { + grid-column-start: 8; +} +.grid .g-start-9 { + grid-column-start: 9; +} +.grid .g-start-10 { + grid-column-start: 10; +} +.grid .g-start-11 { + grid-column-start: 11; +} +@media (min-width: 576px) { + .grid .g-col-sm-1 { + grid-column: auto/span 1; + } + .grid .g-col-sm-2 { + grid-column: auto/span 2; + } + .grid .g-col-sm-3 { + grid-column: auto/span 3; + } + .grid .g-col-sm-4 { + grid-column: auto/span 4; + } + .grid .g-col-sm-5 { + grid-column: auto/span 5; + } + .grid .g-col-sm-6 { + grid-column: auto/span 6; + } + .grid .g-col-sm-7 { + grid-column: auto/span 7; + } + .grid .g-col-sm-8 { + grid-column: auto/span 8; + } + .grid .g-col-sm-9 { + grid-column: auto/span 9; + } + .grid .g-col-sm-10 { + grid-column: auto/span 10; + } + .grid .g-col-sm-11 { + grid-column: auto/span 11; + } + .grid .g-col-sm-12 { + grid-column: auto/span 12; + } + .grid .g-start-sm-1 { + grid-column-start: 1; + } + .grid .g-start-sm-2 { + grid-column-start: 2; + } + .grid .g-start-sm-3 { + grid-column-start: 3; + } + .grid .g-start-sm-4 { + grid-column-start: 4; + } + .grid .g-start-sm-5 { + grid-column-start: 5; + } + .grid .g-start-sm-6 { + grid-column-start: 6; + } + .grid .g-start-sm-7 { + grid-column-start: 7; + } + .grid .g-start-sm-8 { + grid-column-start: 8; + } + .grid .g-start-sm-9 { + grid-column-start: 9; + } + .grid .g-start-sm-10 { + grid-column-start: 10; + } + .grid .g-start-sm-11 { + grid-column-start: 11; + } +} +@media (min-width: 768px) { + .grid .g-col-md-1 { + grid-column: auto/span 1; + } + .grid .g-col-md-2 { + grid-column: auto/span 2; + } + .grid .g-col-md-3 { + grid-column: auto/span 3; + } + .grid .g-col-md-4 { + grid-column: auto/span 4; + } + .grid .g-col-md-5 { + grid-column: auto/span 5; + } + .grid .g-col-md-6 { + grid-column: auto/span 6; + } + .grid .g-col-md-7 { + grid-column: auto/span 7; + } + .grid .g-col-md-8 { + grid-column: auto/span 8; + } + .grid .g-col-md-9 { + grid-column: auto/span 9; + } + .grid .g-col-md-10 { + grid-column: auto/span 10; + } + .grid .g-col-md-11 { + grid-column: auto/span 11; + } + .grid .g-col-md-12 { + grid-column: auto/span 12; + } + .grid .g-start-md-1 { + grid-column-start: 1; + } + .grid .g-start-md-2 { + grid-column-start: 2; + } + .grid .g-start-md-3 { + grid-column-start: 3; + } + .grid .g-start-md-4 { + grid-column-start: 4; + } + .grid .g-start-md-5 { + grid-column-start: 5; + } + .grid .g-start-md-6 { + grid-column-start: 6; + } + .grid .g-start-md-7 { + grid-column-start: 7; + } + .grid .g-start-md-8 { + grid-column-start: 8; + } + .grid .g-start-md-9 { + grid-column-start: 9; + } + .grid .g-start-md-10 { + grid-column-start: 10; + } + .grid .g-start-md-11 { + grid-column-start: 11; + } +} +@media (min-width: 992px) { + .grid .g-col-lg-1 { + grid-column: auto/span 1; + } + .grid .g-col-lg-2 { + grid-column: auto/span 2; + } + .grid .g-col-lg-3 { + grid-column: auto/span 3; + } + .grid .g-col-lg-4 { + grid-column: auto/span 4; + } + .grid .g-col-lg-5 { + grid-column: auto/span 5; + } + .grid .g-col-lg-6 { + grid-column: auto/span 6; + } + .grid .g-col-lg-7 { + grid-column: auto/span 7; + } + .grid .g-col-lg-8 { + grid-column: auto/span 8; + } + .grid .g-col-lg-9 { + grid-column: auto/span 9; + } + .grid .g-col-lg-10 { + grid-column: auto/span 10; + } + .grid .g-col-lg-11 { + grid-column: auto/span 11; + } + .grid .g-col-lg-12 { + grid-column: auto/span 12; + } + .grid .g-start-lg-1 { + grid-column-start: 1; + } + .grid .g-start-lg-2 { + grid-column-start: 2; + } + .grid .g-start-lg-3 { + grid-column-start: 3; + } + .grid .g-start-lg-4 { + grid-column-start: 4; + } + .grid .g-start-lg-5 { + grid-column-start: 5; + } + .grid .g-start-lg-6 { + grid-column-start: 6; + } + .grid .g-start-lg-7 { + grid-column-start: 7; + } + .grid .g-start-lg-8 { + grid-column-start: 8; + } + .grid .g-start-lg-9 { + grid-column-start: 9; + } + .grid .g-start-lg-10 { + grid-column-start: 10; + } + .grid .g-start-lg-11 { + grid-column-start: 11; + } +} +@media (min-width: 1200px) { + .grid .g-col-xl-1 { + grid-column: auto/span 1; + } + .grid .g-col-xl-2 { + grid-column: auto/span 2; + } + .grid .g-col-xl-3 { + grid-column: auto/span 3; + } + .grid .g-col-xl-4 { + grid-column: auto/span 4; + } + .grid .g-col-xl-5 { + grid-column: auto/span 5; + } + .grid .g-col-xl-6 { + grid-column: auto/span 6; + } + .grid .g-col-xl-7 { + grid-column: auto/span 7; + } + .grid .g-col-xl-8 { + grid-column: auto/span 8; + } + .grid .g-col-xl-9 { + grid-column: auto/span 9; + } + .grid .g-col-xl-10 { + grid-column: auto/span 10; + } + .grid .g-col-xl-11 { + grid-column: auto/span 11; + } + .grid .g-col-xl-12 { + grid-column: auto/span 12; + } + .grid .g-start-xl-1 { + grid-column-start: 1; + } + .grid .g-start-xl-2 { + grid-column-start: 2; + } + .grid .g-start-xl-3 { + grid-column-start: 3; + } + .grid .g-start-xl-4 { + grid-column-start: 4; + } + .grid .g-start-xl-5 { + grid-column-start: 5; + } + .grid .g-start-xl-6 { + grid-column-start: 6; + } + .grid .g-start-xl-7 { + grid-column-start: 7; + } + .grid .g-start-xl-8 { + grid-column-start: 8; + } + .grid .g-start-xl-9 { + grid-column-start: 9; + } + .grid .g-start-xl-10 { + grid-column-start: 10; + } + .grid .g-start-xl-11 { + grid-column-start: 11; + } +} +@media (min-width: 1400px) { + .grid .g-col-xxl-1 { + grid-column: auto/span 1; + } + .grid .g-col-xxl-2 { + grid-column: auto/span 2; + } + .grid .g-col-xxl-3 { + grid-column: auto/span 3; + } + .grid .g-col-xxl-4 { + grid-column: auto/span 4; + } + .grid .g-col-xxl-5 { + grid-column: auto/span 5; + } + .grid .g-col-xxl-6 { + grid-column: auto/span 6; + } + .grid .g-col-xxl-7 { + grid-column: auto/span 7; + } + .grid .g-col-xxl-8 { + grid-column: auto/span 8; + } + .grid .g-col-xxl-9 { + grid-column: auto/span 9; + } + .grid .g-col-xxl-10 { + grid-column: auto/span 10; + } + .grid .g-col-xxl-11 { + grid-column: auto/span 11; + } + .grid .g-col-xxl-12 { + grid-column: auto/span 12; + } + .grid .g-start-xxl-1 { + grid-column-start: 1; + } + .grid .g-start-xxl-2 { + grid-column-start: 2; + } + .grid .g-start-xxl-3 { + grid-column-start: 3; + } + .grid .g-start-xxl-4 { + grid-column-start: 4; + } + .grid .g-start-xxl-5 { + grid-column-start: 5; + } + .grid .g-start-xxl-6 { + grid-column-start: 6; + } + .grid .g-start-xxl-7 { + grid-column-start: 7; + } + .grid .g-start-xxl-8 { + grid-column-start: 8; + } + .grid .g-start-xxl-9 { + grid-column-start: 9; + } + .grid .g-start-xxl-10 { + grid-column-start: 10; + } + .grid .g-start-xxl-11 { + grid-column-start: 11; + } +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --tblr-gutter-x: 0; +} + +.g-0, +.gy-0 { + --tblr-gutter-y: 0; +} + +.g-1, +.gx-1 { + --tblr-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --tblr-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --tblr-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --tblr-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --tblr-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --tblr-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --tblr-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --tblr-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --tblr-gutter-x: 2rem; +} + +.g-5, +.gy-5 { + --tblr-gutter-y: 2rem; +} + +.g-6, +.gx-6 { + --tblr-gutter-x: 3rem; +} + +.g-6, +.gy-6 { + --tblr-gutter-y: 3rem; +} + +.g-7, +.gx-7 { + --tblr-gutter-x: 5rem; +} + +.g-7, +.gy-7 { + --tblr-gutter-y: 5rem; +} + +.g-8, +.gx-8 { + --tblr-gutter-x: 8rem; +} + +.g-8, +.gy-8 { + --tblr-gutter-y: 8rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --tblr-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --tblr-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --tblr-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --tblr-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --tblr-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --tblr-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --tblr-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --tblr-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --tblr-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --tblr-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --tblr-gutter-x: 2rem; + } + .g-sm-5, + .gy-sm-5 { + --tblr-gutter-y: 2rem; + } + .g-sm-6, + .gx-sm-6 { + --tblr-gutter-x: 3rem; + } + .g-sm-6, + .gy-sm-6 { + --tblr-gutter-y: 3rem; + } + .g-sm-7, + .gx-sm-7 { + --tblr-gutter-x: 5rem; + } + .g-sm-7, + .gy-sm-7 { + --tblr-gutter-y: 5rem; + } + .g-sm-8, + .gx-sm-8 { + --tblr-gutter-x: 8rem; + } + .g-sm-8, + .gy-sm-8 { + --tblr-gutter-y: 8rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --tblr-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --tblr-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --tblr-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --tblr-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --tblr-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --tblr-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --tblr-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --tblr-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --tblr-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --tblr-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --tblr-gutter-x: 2rem; + } + .g-md-5, + .gy-md-5 { + --tblr-gutter-y: 2rem; + } + .g-md-6, + .gx-md-6 { + --tblr-gutter-x: 3rem; + } + .g-md-6, + .gy-md-6 { + --tblr-gutter-y: 3rem; + } + .g-md-7, + .gx-md-7 { + --tblr-gutter-x: 5rem; + } + .g-md-7, + .gy-md-7 { + --tblr-gutter-y: 5rem; + } + .g-md-8, + .gx-md-8 { + --tblr-gutter-x: 8rem; + } + .g-md-8, + .gy-md-8 { + --tblr-gutter-y: 8rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --tblr-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --tblr-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --tblr-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --tblr-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --tblr-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --tblr-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --tblr-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --tblr-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --tblr-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --tblr-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --tblr-gutter-x: 2rem; + } + .g-lg-5, + .gy-lg-5 { + --tblr-gutter-y: 2rem; + } + .g-lg-6, + .gx-lg-6 { + --tblr-gutter-x: 3rem; + } + .g-lg-6, + .gy-lg-6 { + --tblr-gutter-y: 3rem; + } + .g-lg-7, + .gx-lg-7 { + --tblr-gutter-x: 5rem; + } + .g-lg-7, + .gy-lg-7 { + --tblr-gutter-y: 5rem; + } + .g-lg-8, + .gx-lg-8 { + --tblr-gutter-x: 8rem; + } + .g-lg-8, + .gy-lg-8 { + --tblr-gutter-y: 8rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --tblr-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --tblr-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --tblr-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --tblr-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --tblr-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --tblr-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --tblr-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --tblr-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --tblr-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --tblr-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --tblr-gutter-x: 2rem; + } + .g-xl-5, + .gy-xl-5 { + --tblr-gutter-y: 2rem; + } + .g-xl-6, + .gx-xl-6 { + --tblr-gutter-x: 3rem; + } + .g-xl-6, + .gy-xl-6 { + --tblr-gutter-y: 3rem; + } + .g-xl-7, + .gx-xl-7 { + --tblr-gutter-x: 5rem; + } + .g-xl-7, + .gy-xl-7 { + --tblr-gutter-y: 5rem; + } + .g-xl-8, + .gx-xl-8 { + --tblr-gutter-x: 8rem; + } + .g-xl-8, + .gy-xl-8 { + --tblr-gutter-y: 8rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --tblr-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --tblr-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --tblr-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --tblr-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --tblr-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --tblr-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --tblr-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --tblr-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --tblr-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --tblr-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --tblr-gutter-x: 2rem; + } + .g-xxl-5, + .gy-xxl-5 { + --tblr-gutter-y: 2rem; + } + .g-xxl-6, + .gx-xxl-6 { + --tblr-gutter-x: 3rem; + } + .g-xxl-6, + .gy-xxl-6 { + --tblr-gutter-y: 3rem; + } + .g-xxl-7, + .gx-xxl-7 { + --tblr-gutter-x: 5rem; + } + .g-xxl-7, + .gy-xxl-7 { + --tblr-gutter-y: 5rem; + } + .g-xxl-8, + .gx-xxl-8 { + --tblr-gutter-x: 8rem; + } + .g-xxl-8, + .gy-xxl-8 { + --tblr-gutter-y: 8rem; + } +} +.table, .markdown > table { + --tblr-table-color: inherit; + --tblr-table-bg: transparent; + --tblr-table-border-color: var(--tblr-border-color-translucent); + --tblr-table-accent-bg: transparent; + --tblr-table-striped-color: inherit; + --tblr-table-striped-bg: var(--tblr-bg-surface-tertiary); + --tblr-table-active-color: inherit; + --tblr-table-active-bg: rgba(0, 0, 0, 0.1); + --tblr-table-hover-color: inherit; + --tblr-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: var(--tblr-table-color); + vertical-align: top; + border-color: var(--tblr-table-border-color); +} +.table > :not(caption) > * > *, .markdown > table > :not(caption) > * > * { + padding: 0.75rem 0.75rem; + background-color: var(--tblr-table-bg); + border-bottom-width: var(--tblr-border-width); + box-shadow: inset 0 0 0 9999px var(--tblr-table-accent-bg); +} +.table > tbody, .markdown > table > tbody { + vertical-align: inherit; +} +.table > thead, .markdown > table > thead { + vertical-align: bottom; +} + +.table-group-divider { + border-top: calc(var(--tblr-border-width) * 2) solid var(--tblr-border-color-translucent); +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.table-bordered > :not(caption) > *, .markdown > table > :not(caption) > * { + border-width: var(--tblr-border-width) 0; +} +.table-bordered > :not(caption) > * > *, .markdown > table > :not(caption) > * > * { + border-width: 0 var(--tblr-border-width); +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(even) > * { + --tblr-table-accent-bg: var(--tblr-table-striped-bg); + color: var(--tblr-table-striped-color); +} + +.table-striped-columns > :not(caption) > tr > :nth-child(even) { + --tblr-table-accent-bg: var(--tblr-table-striped-bg); + color: var(--tblr-table-striped-color); +} + +.table-active { + --tblr-table-accent-bg: var(--tblr-table-active-bg); + color: var(--tblr-table-active-color); +} + +.table-hover > tbody > tr:hover > * { + --tblr-table-accent-bg: var(--tblr-table-hover-bg); + color: var(--tblr-table-hover-color); +} + +.table-primary { + --tblr-table-color: #182433; + --tblr-table-bg: #d2e1f3; + --tblr-table-border-color: #bfcee0; + --tblr-table-striped-bg: #c9d8e9; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #bfcee0; + --tblr-table-active-color: #fcfdfe; + --tblr-table-hover-bg: #c4d3e5; + --tblr-table-hover-color: #182433; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-secondary { + --tblr-table-color: #182433; + --tblr-table-bg: #e0e3e6; + --tblr-table-border-color: #ccd0d4; + --tblr-table-striped-bg: #d6d9dd; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #ccd0d4; + --tblr-table-active-color: #fcfdfe; + --tblr-table-hover-bg: #d1d5d9; + --tblr-table-hover-color: #182433; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-success { + --tblr-table-color: #182433; + --tblr-table-bg: #d5f0da; + --tblr-table-border-color: #c2dcc9; + --tblr-table-striped-bg: #cce6d2; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #c2dcc9; + --tblr-table-active-color: #182433; + --tblr-table-hover-bg: #c7e1cd; + --tblr-table-hover-color: #182433; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-info { + --tblr-table-color: #182433; + --tblr-table-bg: #d9ebf9; + --tblr-table-border-color: #c6d7e5; + --tblr-table-striped-bg: #cfe1ef; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #c6d7e5; + --tblr-table-active-color: #182433; + --tblr-table-hover-bg: #cbdcea; + --tblr-table-hover-color: #182433; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-warning { + --tblr-table-color: #182433; + --tblr-table-bg: #fde1cd; + --tblr-table-border-color: #e6cebe; + --tblr-table-striped-bg: #f2d8c5; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #e6cebe; + --tblr-table-active-color: #182433; + --tblr-table-hover-bg: #ecd3c1; + --tblr-table-hover-color: #182433; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-danger { + --tblr-table-color: #182433; + --tblr-table-bg: #f7d7d7; + --tblr-table-border-color: #e1c5c7; + --tblr-table-striped-bg: #eccecf; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #e1c5c7; + --tblr-table-active-color: #fcfdfe; + --tblr-table-hover-bg: #e6cacb; + --tblr-table-hover-color: #fcfdfe; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-light { + --tblr-table-color: #182433; + --tblr-table-bg: #fcfdfe; + --tblr-table-border-color: #e5e7ea; + --tblr-table-striped-bg: #f1f2f4; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #e5e7ea; + --tblr-table-active-color: #182433; + --tblr-table-hover-bg: #ebedef; + --tblr-table-hover-color: #182433; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-dark { + --tblr-table-color: #fcfdfe; + --tblr-table-bg: #182433; + --tblr-table-border-color: #2f3a47; + --tblr-table-striped-bg: #232f3d; + --tblr-table-striped-color: #fcfdfe; + --tblr-table-active-bg: #2f3a47; + --tblr-table-active-color: #fcfdfe; + --tblr-table-hover-bg: #293442; + --tblr-table-hover-color: #fcfdfe; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; + font-size: 0.875rem; + font-weight: var(--tblr-font-weight-medium); +} + +.col-form-label { + padding-top: calc(0.4375rem + var(--tblr-border-width)); + padding-bottom: calc(0.4375rem + var(--tblr-border-width)); + margin-bottom: 0; + font-size: inherit; + font-weight: var(--tblr-font-weight-medium); + line-height: 1.4285714286; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + var(--tblr-border-width)); + padding-bottom: calc(0.5rem + var(--tblr-border-width)); + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: calc(0.125rem + var(--tblr-border-width)); + padding-bottom: calc(0.125rem + var(--tblr-border-width)); + font-size: 0.75rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 85.714285%; + color: var(--tblr-secondary-color); +} + +.form-control { + display: block; + width: 100%; + padding: 0.4375rem 0.75rem; + font-family: var(--tblr-font-sans-serif); + font-size: 0.875rem; + font-weight: 400; + line-height: 1.4285714286; + color: inherit; + background-color: var(--tblr-bg-forms); + background-clip: padding-box; + border: var(--tblr-border-width) solid var(--tblr-border-color); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: var(--tblr-border-radius); + box-shadow: 0 0 transparent; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type=file] { + overflow: hidden; +} +.form-control[type=file]:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: inherit; + background-color: var(--tblr-bg-forms); + border-color: #90b5e2; + outline: 0; + box-shadow: 0 0 transparent, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-control::-webkit-date-and-time-value { + min-width: 85px; + height: 1.4285714286em; + margin: 0; +} +.form-control::-webkit-datetime-edit { + display: block; + padding: 0; +} +.form-control::-webkit-input-placeholder { + color: #929dab; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #929dab; + opacity: 1; +} +.form-control::-ms-input-placeholder { + color: #929dab; + opacity: 1; +} +.form-control::placeholder { + color: #929dab; + opacity: 1; +} +.form-control:disabled { + background-color: var(--tblr-bg-surface-secondary); + opacity: 1; +} +.form-control::-webkit-file-upload-button { + padding: 0.4375rem 0.75rem; + margin: -0.4375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: inherit; + background-color: var(--tblr-tertiary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--tblr-border-width); + border-radius: 0; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +.form-control::file-selector-button { + padding: 0.4375rem 0.75rem; + margin: -0.4375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: inherit; + background-color: var(--tblr-tertiary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--tblr-border-width); + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: var(--tblr-secondary-bg); +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--tblr-secondary-bg); +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.4375rem 0; + margin-bottom: 0; + line-height: 1.4285714286; + color: var(--tblr-body-color); + background-color: transparent; + border: solid transparent; + border-width: var(--tblr-border-width) 0; +} +.form-control-plaintext:focus { + outline: 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(1.4285714286em + 0.25rem + calc(var(--tblr-border-width) * 2)); + padding: 0.125rem 0.25rem; + font-size: 0.75rem; + border-radius: var(--tblr-border-radius-sm); +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.125rem 0.25rem; + margin: -0.125rem -0.25rem; + -webkit-margin-end: 0.25rem; + margin-inline-end: 0.25rem; +} +.form-control-sm::file-selector-button { + padding: 0.125rem 0.25rem; + margin: -0.125rem -0.25rem; + -webkit-margin-end: 0.25rem; + margin-inline-end: 0.25rem; +} + +.form-control-lg { + min-height: calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2)); + padding: 0.5rem 0.75rem; + font-size: 1.25rem; + border-radius: var(--tblr-border-radius-lg); +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 0.75rem; + margin: -0.5rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; +} +.form-control-lg::file-selector-button { + padding: 0.5rem 0.75rem; + margin: -0.5rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; +} + +textarea.form-control { + min-height: calc(1.4285714286em + 0.875rem + calc(var(--tblr-border-width) * 2)); +} +textarea.form-control-sm { + min-height: calc(1.4285714286em + 0.25rem + calc(var(--tblr-border-width) * 2)); +} +textarea.form-control-lg { + min-height: calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2)); +} + +.form-control-color { + width: 3rem; + height: calc(1.4285714286em + 0.875rem + calc(var(--tblr-border-width) * 2)); + padding: 0.4375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: var(--tblr-border-radius); +} +.form-control-color::-webkit-color-swatch { + border: 0 !important; + border-radius: var(--tblr-border-radius); +} +.form-control-color.form-control-sm { + height: calc(1.4285714286em + 0.25rem + calc(var(--tblr-border-width) * 2)); +} +.form-control-color.form-control-lg { + height: calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2)); +} + +.form-select { + --tblr-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + display: block; + width: 100%; + padding: 0.4375rem 2.25rem 0.4375rem 0.75rem; + font-family: var(--tblr-font-sans-serif); + font-size: 0.875rem; + font-weight: 400; + line-height: 1.4285714286; + color: inherit; + background-color: var(--tblr-bg-forms); + background-image: var(--tblr-form-select-bg-img), var(--tblr-form-select-bg-icon, none); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: var(--tblr-border-width) solid var(--tblr-border-color); + border-radius: var(--tblr-border-radius); + box-shadow: 0 0 transparent; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: #90b5e2; + outline: 0; + box-shadow: 0 0 transparent, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 0.75rem; + background-image: none; +} +.form-select:disabled { + background-color: var(--tblr-bg-surface-secondary); +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 inherit; +} + +.form-select-sm { + padding-top: 0.125rem; + padding-bottom: 0.125rem; + padding-left: 0.25rem; + font-size: 0.75rem; + border-radius: var(--tblr-border-radius-sm); +} + +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 0.75rem; + font-size: 1.25rem; + border-radius: var(--tblr-border-radius-lg); +} + +[data-bs-theme=dark] .form-select { + --tblr-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fcfdfe' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); +} + +.form-check { + display: block; + min-height: 1.25rem; + padding-left: 1.5rem; + margin-bottom: 0.5rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5rem; +} + +.form-check-reverse { + padding-right: 1.5rem; + padding-left: 0; + text-align: right; +} +.form-check-reverse .form-check-input { + float: right; + margin-right: -1.5rem; + margin-left: 0; +} + +.form-check-input { + --tblr-form-check-bg: var(--tblr-bg-forms); + width: 1rem; + height: 1rem; + margin-top: 0.2142857143rem; + vertical-align: top; + background-color: var(--tblr-form-check-bg); + background-image: var(--tblr-form-check-bg-image); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; + print-color-adjust: exact; +} +.form-check-input[type=checkbox] { + border-radius: var(--tblr-border-radius); +} +.form-check-input[type=radio] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #90b5e2; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-check-input:checked { + background-color: var(--tblr-primary); + border-color: var(--tblr-border-color-translucent); +} +.form-check-input:checked[type=checkbox] { + --tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type=radio] { + --tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); +} +.form-check-input[type=checkbox]:indeterminate { + background-color: var(--tblr-primary); + border-color: var(--tblr-primary); + --tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + cursor: default; + opacity: 0.7; +} + +.form-switch { + padding-left: 2.5rem; +} +.form-switch .form-check-input { + --tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23dadfe5'/%3e%3c/svg%3e"); + width: 2rem; + margin-left: -2.5rem; + background-image: var(--tblr-form-switch-bg); + background-position: left center; + border-radius: 2rem; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + --tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2390b5e2'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + --tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e"); +} +.form-switch.form-check-reverse { + padding-right: 2.5rem; + padding-left: 0; +} +.form-switch.form-check-reverse .form-check-input { + margin-right: -2.5rem; + margin-left: 0; +} + +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check[disabled] + .btn, .btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.4; +} + +[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) { + --tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e"); +} + +.form-range { + width: 100%; + height: 1.25rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #f6f8fb, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #f6f8fb, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.375rem; + background-color: var(--tblr-primary); + border: 2px var(--tblr-border-style) #ffffff; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #bcd3ed; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.25rem; + color: transparent; + cursor: pointer; + background-color: var(--tblr-border-color); + border-color: transparent; + border-radius: 1rem; + box-shadow: 0 0 transparent; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: var(--tblr-primary); + border: 2px var(--tblr-border-style) #ffffff; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #bcd3ed; +} +.form-range::-moz-range-track { + width: 100%; + height: 0.25rem; + color: transparent; + cursor: pointer; + background-color: var(--tblr-border-color); + border-color: transparent; + border-radius: 1rem; + box-shadow: 0 0 transparent; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: var(--tblr-secondary-color); +} +.form-range:disabled::-moz-range-thumb { + background-color: var(--tblr-secondary-color); +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + calc(var(--tblr-border-width) * 2)); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + z-index: 2; + height: 100%; + padding: 1rem 0.75rem; + overflow: hidden; + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + border: var(--tblr-border-width) solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 0.75rem; +} +.form-floating > .form-control::-webkit-input-placeholder, .form-floating > .form-control-plaintext::-webkit-input-placeholder { + color: transparent; +} +.form-floating > .form-control:-ms-input-placeholder, .form-floating > .form-control-plaintext:-ms-input-placeholder { + color: transparent; +} +.form-floating > .form-control::-ms-input-placeholder, .form-floating > .form-control-plaintext::-ms-input-placeholder { + color: transparent; +} +.form-floating > .form-control::placeholder, +.form-floating > .form-control-plaintext::placeholder { + color: transparent; +} +.form-floating > .form-control:not(:-ms-input-placeholder), .form-floating > .form-control-plaintext:not(:-ms-input-placeholder) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill, +.form-floating > .form-control-plaintext:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-ms-input-placeholder) ~ label { + color: rgba(var(--tblr-body-color-rgb), 0.65); + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-select ~ label { + color: rgba(var(--tblr-body-color-rgb), 0.65); + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:not(:-ms-input-placeholder) ~ label::after { + position: absolute; + inset: 1rem 0.375rem; + z-index: -1; + height: 1.5em; + content: ""; + background-color: var(--tblr-bg-forms); + border-radius: var(--tblr-border-radius); +} +.form-floating > .form-control:focus ~ label::after, +.form-floating > .form-control:not(:placeholder-shown) ~ label::after, +.form-floating > .form-control-plaintext ~ label::after, +.form-floating > .form-select ~ label::after { + position: absolute; + inset: 1rem 0.375rem; + z-index: -1; + height: 1.5em; + content: ""; + background-color: var(--tblr-bg-forms); + border-radius: var(--tblr-border-radius); +} +.form-floating > .form-control:-webkit-autofill ~ label { + color: rgba(var(--tblr-body-color-rgb), 0.65); + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control-plaintext ~ label { + border-width: var(--tblr-border-width) 0; +} +.form-floating > :disabled ~ label { + color: #667382; +} +.form-floating > :disabled ~ label::after { + background-color: var(--tblr-bg-surface-secondary); +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select, +.input-group > .form-floating { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus, +.input-group > .form-floating:focus-within { + z-index: 5; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 5; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.4375rem 0.75rem; + font-size: 0.875rem; + font-weight: 400; + line-height: 1.4285714286; + color: var(--tblr-muted); + text-align: center; + white-space: nowrap; + background-color: var(--tblr-bg-surface-secondary); + border: var(--tblr-border-width) solid var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.5rem 0.75rem; + font-size: 1.25rem; + border-radius: var(--tblr-border-radius-lg); +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.125rem 0.25rem; + font-size: 0.75rem; + border-radius: var(--tblr-border-radius-sm); +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4), +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control, +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: calc(var(--tblr-border-width) * -1); + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 85.714285%; + color: var(--tblr-form-valid-color); +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: var(--tblr-spacer-2) var(--tblr-spacer-2); + margin-top: 0.1rem; + font-size: 0.765625rem; + color: #fff; + background-color: var(--tblr-success); + border-radius: var(--tblr-border-radius); +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: var(--tblr-form-valid-border-color); + padding-right: calc(1.4285714286em + 0.875rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.3571428572em + 0.21875rem) center; + background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: var(--tblr-form-valid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-success-rgb), 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.4285714286em + 0.875rem); + background-position: top calc(0.3571428572em + 0.21875rem) right calc(0.3571428572em + 0.21875rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: var(--tblr-form-valid-border-color); +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + --tblr-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); + padding-right: 4.125rem; + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: var(--tblr-form-valid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-success-rgb), 0.25); +} + +.was-validated .form-control-color:valid, .form-control-color.is-valid { + width: calc(3rem + calc(1.4285714286em + 0.875rem)); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: var(--tblr-form-valid-border-color); +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: var(--tblr-form-valid-color); +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-success-rgb), 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: var(--tblr-form-valid-color); +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, +.was-validated .input-group > .form-select:not(:focus):valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.input-group > .form-floating:not(:focus-within).is-valid { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 85.714285%; + color: var(--tblr-form-invalid-color); +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: var(--tblr-spacer-2) var(--tblr-spacer-2); + margin-top: 0.1rem; + font-size: 0.765625rem; + color: #fff; + background-color: var(--tblr-danger); + border-radius: var(--tblr-border-radius); +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: var(--tblr-form-invalid-border-color); + padding-right: calc(1.4285714286em + 0.875rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.3571428572em + 0.21875rem) center; + background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: var(--tblr-form-invalid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-danger-rgb), 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.4285714286em + 0.875rem); + background-position: top calc(0.3571428572em + 0.21875rem) right calc(0.3571428572em + 0.21875rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: var(--tblr-form-invalid-border-color); +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + --tblr-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); + padding-right: 4.125rem; + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: var(--tblr-form-invalid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-danger-rgb), 0.25); +} + +.was-validated .form-control-color:invalid, .form-control-color.is-invalid { + width: calc(3rem + calc(1.4285714286em + 0.875rem)); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: var(--tblr-form-invalid-border-color); +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: var(--tblr-form-invalid-color); +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-danger-rgb), 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: var(--tblr-form-invalid-color); +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, +.was-validated .input-group > .form-select:not(:focus):invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.input-group > .form-floating:not(:focus-within).is-invalid { + z-index: 4; +} + +.btn { + --tblr-btn-padding-x: 1rem; + --tblr-btn-padding-y: 0.4375rem; + --tblr-btn-font-family: var(--tblr-font-sans-serif); + --tblr-btn-font-size: 0.875rem; + --tblr-btn-font-weight: var(--tblr-font-weight-medium); + --tblr-btn-line-height: 1.4285714286; + --tblr-btn-color: var(--tblr-body-color); + --tblr-btn-bg: transparent; + --tblr-btn-border-width: var(--tblr-border-width); + --tblr-btn-border-color: transparent; + --tblr-btn-border-radius: var(--tblr-border-radius); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --tblr-btn-disabled-opacity: 0.4; + --tblr-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--tblr-btn-padding-y) var(--tblr-btn-padding-x); + font-family: var(--tblr-btn-font-family); + font-size: var(--tblr-btn-font-size); + font-weight: var(--tblr-btn-font-weight); + line-height: var(--tblr-btn-line-height); + color: var(--tblr-btn-color); + text-align: center; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: var(--tblr-btn-border-width) solid var(--tblr-btn-border-color); + border-radius: var(--tblr-btn-border-radius); + background-color: var(--tblr-btn-bg); + box-shadow: var(--tblr-btn-box-shadow); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: var(--tblr-btn-hover-color); + text-decoration: none; + background-color: var(--tblr-btn-hover-bg); + border-color: var(--tblr-btn-hover-border-color); +} +.btn-check + .btn:hover { + color: var(--tblr-btn-color); + background-color: var(--tblr-btn-bg); + border-color: var(--tblr-btn-border-color); +} +.btn:focus-visible { + color: var(--tblr-btn-hover-color); + background-color: var(--tblr-btn-hover-bg); + border-color: var(--tblr-btn-hover-border-color); + outline: 0; + box-shadow: var(--tblr-btn-box-shadow), var(--tblr-btn-focus-box-shadow); +} +.btn-check:focus-visible + .btn { + border-color: var(--tblr-btn-hover-border-color); + outline: 0; + box-shadow: var(--tblr-btn-box-shadow), var(--tblr-btn-focus-box-shadow); +} +.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show { + color: var(--tblr-btn-active-color); + background-color: var(--tblr-btn-active-bg); + border-color: var(--tblr-btn-active-border-color); + box-shadow: var(--tblr-btn-active-shadow); +} +.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { + box-shadow: var(--tblr-btn-active-shadow), var(--tblr-btn-focus-box-shadow); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + color: var(--tblr-btn-disabled-color); + pointer-events: none; + background-color: var(--tblr-btn-disabled-bg); + border-color: var(--tblr-btn-disabled-border-color); + opacity: var(--tblr-btn-disabled-opacity); + box-shadow: none; +} + +.btn-link { + --tblr-btn-font-weight: 400; + --tblr-btn-color: var(--tblr-link-color); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-link-hover-color); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-color: var(--tblr-link-hover-color); + --tblr-btn-active-border-color: transparent; + --tblr-btn-disabled-color: #667382; + --tblr-btn-disabled-border-color: transparent; + --tblr-btn-box-shadow: 0 0 0 #000; + --tblr-btn-focus-shadow-rgb: 65, 129, 205; + text-decoration: none; +} +.btn-link:hover, .btn-link:focus-visible { + text-decoration: underline; +} +.btn-link:focus-visible { + color: var(--tblr-btn-color); +} +.btn-link:hover { + color: var(--tblr-btn-hover-color); +} + +.btn-lg, .btn-group-lg > .btn { + --tblr-btn-padding-y: 0.5rem; + --tblr-btn-padding-x: 0.75rem; + --tblr-btn-font-size: 1.25rem; + --tblr-btn-border-radius: var(--tblr-border-radius-lg); +} + +.btn-sm, .btn-group-sm > .btn { + --tblr-btn-padding-y: 0.125rem; + --tblr-btn-padding-x: 0.25rem; + --tblr-btn-font-size: 0.75rem; + --tblr-btn-border-radius: var(--tblr-border-radius-sm); +} + +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.306em; + width: 0.36em; + height: 0.36em; + border-bottom: 1px var(--tblr-border-style); + border-left: 1px var(--tblr-border-style); + margin-right: 0.1em; + margin-left: 0.4em; + transform: rotate(-45deg); +} + +.dropdown-menu { + --tblr-dropdown-zindex: 1000; + --tblr-dropdown-min-width: 11rem; + --tblr-dropdown-padding-x: 0; + --tblr-dropdown-padding-y: 0.25rem; + --tblr-dropdown-spacer: 1px; + --tblr-dropdown-font-size: 0.875rem; + --tblr-dropdown-color: var(--tblr-body-color); + --tblr-dropdown-bg: var(--tblr-bg-surface); + --tblr-dropdown-border-color: var(--tblr-border-color-translucent); + --tblr-dropdown-border-radius: var(--tblr-border-radius); + --tblr-dropdown-border-width: var(--tblr-border-width); + --tblr-dropdown-inner-border-radius: calc(var(--tblr-border-radius) - var(--tblr-border-width)); + --tblr-dropdown-divider-bg: var(--tblr-border-color-translucent); + --tblr-dropdown-divider-margin-y: var(--tblr-spacer); + --tblr-dropdown-box-shadow: var(--tblr-shadow-dropdown); + --tblr-dropdown-link-color: inherit; + --tblr-dropdown-link-hover-color: inherit; + --tblr-dropdown-link-hover-bg: rgba(var(--tblr-muted-rgb), 0.04); + --tblr-dropdown-link-active-color: var(--tblr-primary); + --tblr-dropdown-link-active-bg: var(--tblr-active-bg); + --tblr-dropdown-link-disabled-color: var(--tblr-tertiary-color); + --tblr-dropdown-item-padding-x: 0.75rem; + --tblr-dropdown-item-padding-y: 0.5rem; + --tblr-dropdown-header-color: #667382; + --tblr-dropdown-header-padding-x: 0.75rem; + --tblr-dropdown-header-padding-y: 0.25rem; + position: absolute; + z-index: var(--tblr-dropdown-zindex); + display: none; + min-width: var(--tblr-dropdown-min-width); + padding: var(--tblr-dropdown-padding-y) var(--tblr-dropdown-padding-x); + margin: 0; + font-size: var(--tblr-dropdown-font-size); + color: var(--tblr-dropdown-color); + text-align: left; + list-style: none; + background-color: var(--tblr-dropdown-bg); + background-clip: padding-box; + border: var(--tblr-dropdown-border-width) solid var(--tblr-dropdown-border-color); + border-radius: var(--tblr-dropdown-border-radius); + box-shadow: var(--tblr-dropdown-box-shadow); +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: var(--tblr-dropdown-spacer); +} + +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--tblr-dropdown-spacer); +} +.dropup .dropdown-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.306em; + width: 0.36em; + height: 0.36em; + border-bottom: 1px var(--tblr-border-style); + border-left: 1px var(--tblr-border-style); + margin-right: 0.1em; + margin-left: 0.4em; + transform: rotate(135deg); +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--tblr-dropdown-spacer); +} +.dropend .dropdown-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.306em; + width: 0.36em; + height: 0.36em; + border-bottom: 1px var(--tblr-border-style); + border-left: 1px var(--tblr-border-style); + margin-right: 0.1em; + margin-left: 0.4em; + transform: rotate(-135deg); +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--tblr-dropdown-spacer); +} +.dropstart .dropdown-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.306em; + width: 0.36em; + height: 0.36em; + border-bottom: 1px var(--tblr-border-style); + border-left: 1px var(--tblr-border-style); + margin-right: 0.1em; + margin-left: 0.4em; + transform: rotate(45deg); +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: var(--tblr-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--tblr-dropdown-divider-bg); + opacity: 1; +} + +.dropdown-item { + display: block; + width: 100%; + padding: var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x); + clear: both; + font-weight: 400; + color: var(--tblr-dropdown-link-color); + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; + border-radius: var(--tblr-dropdown-item-border-radius, 0); +} +.dropdown-item:hover, .dropdown-item:focus { + color: var(--tblr-dropdown-link-hover-color); + text-decoration: none; + background-color: var(--tblr-dropdown-link-hover-bg); +} +.dropdown-item.active, .dropdown-item:active { + color: var(--tblr-dropdown-link-active-color); + text-decoration: none; + background-color: var(--tblr-dropdown-link-active-bg); +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: var(--tblr-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: var(--tblr-dropdown-header-padding-y) var(--tblr-dropdown-header-padding-x); + margin-bottom: 0; + font-size: 0.765625rem; + color: var(--tblr-dropdown-header-color); + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x); + color: var(--tblr-dropdown-link-color); +} + +.dropdown-menu-dark { + --tblr-dropdown-color: #dadfe5; + --tblr-dropdown-bg: #182433; + --tblr-dropdown-border-color: var(--tblr-border-color-translucent); + --tblr-dropdown-box-shadow: ; + --tblr-dropdown-link-color: #dadfe5; + --tblr-dropdown-link-hover-color: #ffffff; + --tblr-dropdown-divider-bg: var(--tblr-border-color-translucent); + --tblr-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); + --tblr-dropdown-link-active-color: var(--tblr-primary); + --tblr-dropdown-link-active-bg: var(--tblr-active-bg); + --tblr-dropdown-link-disabled-color: #929dab; + --tblr-dropdown-header-color: #929dab; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.btn-group { + border-radius: var(--tblr-border-radius); +} +.btn-group > :not(.btn-check:first-child) + .btn, +.btn-group > .btn-group:not(:first-child) { + margin-left: calc(var(--tblr-border-width) * -1); +} +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn.dropdown-toggle-split:first-child, +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:nth-child(n+3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.1875rem; + padding-left: 0.1875rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.btn-group.show .dropdown-toggle { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.show .dropdown-toggle.btn-link { + box-shadow: none; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: calc(var(--tblr-border-width) * -1); +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn ~ .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav { + --tblr-nav-link-padding-x: 0.75rem; + --tblr-nav-link-padding-y: 0.5rem; + --tblr-nav-link-font-weight: ; + --tblr-nav-link-color: var(--tblr-muted); + --tblr-nav-link-hover-color: var(--tblr-link-hover-color); + --tblr-nav-link-disabled-color: var(--tblr-disabled-color); + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: var(--tblr-nav-link-padding-y) var(--tblr-nav-link-padding-x); + font-size: var(--tblr-nav-link-font-size); + font-weight: var(--tblr-nav-link-font-weight); + color: var(--tblr-nav-link-color); + background: none; + border: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:hover, .nav-link:focus { + color: var(--tblr-nav-link-hover-color); + text-decoration: none; +} +.nav-link:focus-visible { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.nav-link.disabled { + color: var(--tblr-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} + +.nav-tabs { + --tblr-nav-tabs-border-width: var(--tblr-border-width); + --tblr-nav-tabs-border-color: var(--tblr-border-color); + --tblr-nav-tabs-border-radius: var(--tblr-border-radius); + --tblr-nav-tabs-link-hover-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color); + --tblr-nav-tabs-link-active-color: var(--tblr-body-color); + --tblr-nav-tabs-link-active-bg: var(--tblr-body-bg); + --tblr-nav-tabs-link-active-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color); + border-bottom: var(--tblr-nav-tabs-border-width) solid var(--tblr-nav-tabs-border-color); +} +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--tblr-nav-tabs-border-width)); + border: var(--tblr-nav-tabs-border-width) solid transparent; + border-top-left-radius: var(--tblr-nav-tabs-border-radius); + border-top-right-radius: var(--tblr-nav-tabs-border-radius); +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + isolation: isolate; + border-color: var(--tblr-nav-tabs-link-hover-border-color); +} +.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled { + color: var(--tblr-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: var(--tblr-nav-tabs-link-active-color); + background-color: var(--tblr-nav-tabs-link-active-bg); + border-color: var(--tblr-nav-tabs-link-active-border-color); +} +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--tblr-nav-tabs-border-width)); + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills { + --tblr-nav-pills-border-radius: var(--tblr-border-radius); + --tblr-nav-pills-link-active-color: var(--tblr-primary); + --tblr-nav-pills-link-active-bg: var(--tblr-active-bg); +} +.nav-pills .nav-link { + border-radius: var(--tblr-nav-pills-border-radius); +} +.nav-pills .nav-link:disabled { + color: var(--tblr-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--tblr-nav-pills-link-active-color); + background-color: var(--tblr-nav-pills-link-active-bg); +} + +.nav-underline { + --tblr-nav-underline-gap: 1rem; + --tblr-nav-underline-border-width: 0.125rem; + --tblr-nav-underline-link-active-color: var(--tblr-emphasis-color); + gap: var(--tblr-nav-underline-gap); +} +.nav-underline .nav-link { + padding-right: 0; + padding-left: 0; + border-bottom: var(--tblr-nav-underline-border-width) solid transparent; +} +.nav-underline .nav-link:hover, .nav-underline .nav-link:focus { + border-bottom-color: currentcolor; +} +.nav-underline .nav-link.active, +.nav-underline .show > .nav-link { + font-weight: 600; + color: var(--tblr-nav-underline-link-active-color); + border-bottom-color: currentcolor; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} + +.navbar { + --tblr-navbar-padding-x: 0; + --tblr-navbar-padding-y: 0.25rem; + --tblr-navbar-color: var(--tblr-body-color); + --tblr-navbar-hover-color: rgba(var(--tblr-emphasis-color-rgb), 0.8); + --tblr-navbar-disabled-color: var(--tblr-disabled-color); + --tblr-navbar-active-color: var(--tblr-body-color) color; + --tblr-navbar-brand-padding-y: 0.5rem; + --tblr-navbar-brand-margin-end: 1rem; + --tblr-navbar-brand-font-size: 1.25rem; + --tblr-navbar-brand-color: var(--tblr-body-color); + --tblr-navbar-brand-hover-color: var(--tblr-body-color) color; + --tblr-navbar-nav-link-padding-x: 0.75rem; + --tblr-navbar-toggler-padding-y: 0; + --tblr-navbar-toggler-padding-x: 0; + --tblr-navbar-toggler-font-size: 1rem; + --tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2824, 36, 51, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --tblr-navbar-toggler-border-color: rgba(var(--tblr-emphasis-color-rgb), 0.15); + --tblr-navbar-toggler-border-radius: var(--tblr-border-radius); + --tblr-navbar-toggler-focus-width: 0; + --tblr-navbar-toggler-transition: box-shadow 0.15s ease-in-out; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: var(--tblr-navbar-padding-y) var(--tblr-navbar-padding-x); +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: var(--tblr-navbar-brand-padding-y); + padding-bottom: var(--tblr-navbar-brand-padding-y); + margin-right: var(--tblr-navbar-brand-margin-end); + font-size: var(--tblr-navbar-brand-font-size); + color: var(--tblr-navbar-brand-color); + white-space: nowrap; +} +.navbar-brand:hover, .navbar-brand:focus { + color: var(--tblr-navbar-brand-hover-color); + text-decoration: none; +} + +.navbar-nav { + --tblr-nav-link-padding-x: 0; + --tblr-nav-link-padding-y: 0.5rem; + --tblr-nav-link-font-weight: ; + --tblr-nav-link-color: var(--tblr-navbar-color); + --tblr-nav-link-hover-color: var(--tblr-navbar-hover-color); + --tblr-nav-link-disabled-color: var(--tblr-navbar-disabled-color); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link.active, .navbar-nav .nav-link.show { + color: var(--tblr-navbar-active-color); +} +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--tblr-navbar-color); +} +.navbar-text a, +.navbar-text a:hover, +.navbar-text a:focus { + color: var(--tblr-navbar-active-color); +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: var(--tblr-navbar-toggler-padding-y) var(--tblr-navbar-toggler-padding-x); + font-size: var(--tblr-navbar-toggler-font-size); + line-height: 1; + color: var(--tblr-navbar-color); + background-color: transparent; + border: var(--tblr-border-width) solid var(--tblr-navbar-toggler-border-color); + border-radius: var(--tblr-navbar-toggler-border-radius); + transition: var(--tblr-navbar-toggler-transition); +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--tblr-navbar-toggler-focus-width); +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--tblr-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--tblr-scroll-height, 75vh); + overflow-y: auto; +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: var(--tblr-navbar-nav-link-padding-x); + padding-left: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: var(--tblr-navbar-nav-link-padding-x); + padding-left: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: var(--tblr-navbar-nav-link-padding-x); + padding-left: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: var(--tblr-navbar-nav-link-padding-x); + padding-left: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: var(--tblr-navbar-nav-link-padding-x); + padding-left: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: var(--tblr-navbar-nav-link-padding-x); + padding-left: var(--tblr-navbar-nav-link-padding-x); +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; +} +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.navbar-dark { + --tblr-navbar-color: rgba(255, 255, 255, 0.7); + --tblr-navbar-hover-color: rgba(255, 255, 255, 0.75); + --tblr-navbar-disabled-color: var(--tblr-disabled-color); + --tblr-navbar-active-color: #ffffff; + --tblr-navbar-brand-color: #ffffff; + --tblr-navbar-brand-hover-color: #ffffff; + --tblr-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); + --tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +[data-bs-theme=dark] .navbar-toggler-icon { + --tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.card { + --tblr-card-spacer-y: 1rem; + --tblr-card-spacer-x: 1.5rem; + --tblr-card-title-spacer-y: 1.25rem; + --tblr-card-title-color: ; + --tblr-card-subtitle-color: ; + --tblr-card-border-width: var(--tblr-border-width); + --tblr-card-border-color: var(--tblr-border-color-translucent); + --tblr-card-border-radius: var(--tblr-border-radius); + --tblr-card-box-shadow: var(--tblr-shadow-card); + --tblr-card-inner-border-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); + --tblr-card-cap-padding-y: 1rem; + --tblr-card-cap-padding-x: 1.5rem; + --tblr-card-cap-bg: var(--tblr-bg-surface-tertiary); + --tblr-card-cap-color: inherit; + --tblr-card-height: ; + --tblr-card-color: inherit; + --tblr-card-bg: var(--tblr-bg-surface); + --tblr-card-img-overlay-padding: 1rem; + --tblr-card-group-margin: 1.5rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--tblr-card-height); + color: var(--tblr-body-color); + word-wrap: break-word; + background-color: var(--tblr-card-bg); + background-clip: border-box; + border: var(--tblr-card-border-width) solid var(--tblr-card-border-color); + border-radius: var(--tblr-card-border-radius); + box-shadow: var(--tblr-card-box-shadow); +} +.card > hr, .card > .hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: var(--tblr-card-inner-border-radius); + border-top-right-radius: var(--tblr-card-inner-border-radius); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: var(--tblr-card-inner-border-radius); + border-bottom-left-radius: var(--tblr-card-inner-border-radius); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: var(--tblr-card-spacer-y) var(--tblr-card-spacer-x); + color: var(--tblr-card-color); +} + +.card-title { + margin-bottom: var(--tblr-card-title-spacer-y); + color: var(--tblr-card-title-color); +} + +.card-subtitle { + margin-top: calc(-0.5 * var(--tblr-card-title-spacer-y)); + margin-bottom: 0; + color: var(--tblr-card-subtitle-color); +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} +.card-link + .card-link { + margin-left: var(--tblr-card-spacer-x); +} + +.card-header { + padding: var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x); + margin-bottom: 0; + color: var(--tblr-card-cap-color); + background-color: var(--tblr-card-cap-bg); + border-bottom: var(--tblr-card-border-width) solid var(--tblr-card-border-color); +} +.card-header:first-child { + border-radius: var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0; +} + +.card-footer { + padding: var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x); + color: var(--tblr-card-cap-color); + background-color: var(--tblr-card-cap-bg); + border-top: var(--tblr-card-border-width) solid var(--tblr-card-border-color); +} +.card-footer:last-child { + border-radius: 0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius); +} + +.card-header-tabs { + margin-right: calc(-0.5 * var(--tblr-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--tblr-card-cap-padding-y)); + margin-left: calc(-0.5 * var(--tblr-card-cap-padding-x)); + border-bottom: 0; +} +.card-header-tabs .nav-link.active { + background-color: var(--tblr-card-bg); + border-bottom-color: var(--tblr-card-bg); +} + +.card-header-pills { + margin-right: calc(-0.5 * var(--tblr-card-cap-padding-x)); + margin-left: calc(-0.5 * var(--tblr-card-cap-padding-x)); +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--tblr-card-img-overlay-padding); + border-radius: var(--tblr-card-inner-border-radius); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: var(--tblr-card-inner-border-radius); + border-top-right-radius: var(--tblr-card-inner-border-radius); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: var(--tblr-card-inner-border-radius); + border-bottom-left-radius: var(--tblr-card-inner-border-radius); +} + +.card-group > .card { + margin-bottom: var(--tblr-card-group-margin); +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.accordion { + --tblr-accordion-color: var(--tblr-body-color); + --tblr-accordion-bg: transparent; + --tblr-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; + --tblr-accordion-border-color: var(--tblr-border-color-translucent); + --tblr-accordion-border-width: var(--tblr-border-width); + --tblr-accordion-border-radius: var(--tblr-border-radius); + --tblr-accordion-inner-border-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); + --tblr-accordion-btn-padding-x: 1.25rem; + --tblr-accordion-btn-padding-y: 1rem; + --tblr-accordion-btn-color: var(--tblr-body-color); + --tblr-accordion-btn-bg: transparent; + --tblr-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23182433'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --tblr-accordion-btn-icon-width: 1rem; + --tblr-accordion-btn-icon-transform: rotate(-180deg); + --tblr-accordion-btn-icon-transition: transform 0.2s ease-in-out; + --tblr-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230d2b4e'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --tblr-accordion-btn-focus-border-color: var(--tblr-border-color-translucent); + --tblr-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); + --tblr-accordion-body-padding-x: 1.25rem; + --tblr-accordion-body-padding-y: 1rem; + --tblr-accordion-active-color: inherit; + --tblr-accordion-active-bg: transparent; +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--tblr-accordion-btn-padding-y) var(--tblr-accordion-btn-padding-x); + font-size: 0.875rem; + color: var(--tblr-accordion-btn-color); + text-align: left; + background-color: var(--tblr-accordion-btn-bg); + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: var(--tblr-accordion-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: var(--tblr-accordion-active-color); + background-color: var(--tblr-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--tblr-accordion-border-width)) 0 var(--tblr-accordion-border-color); +} +.accordion-button:not(.collapsed)::after { + background-image: var(--tblr-accordion-btn-active-icon); + transform: var(--tblr-accordion-btn-icon-transform); +} +.accordion-button::after { + flex-shrink: 0; + width: var(--tblr-accordion-btn-icon-width); + height: var(--tblr-accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--tblr-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--tblr-accordion-btn-icon-width); + transition: var(--tblr-accordion-btn-icon-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + border-color: var(--tblr-accordion-btn-focus-border-color); + outline: 0; + box-shadow: var(--tblr-accordion-btn-focus-box-shadow); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--tblr-accordion-color); + background-color: var(--tblr-accordion-bg); + border: var(--tblr-accordion-border-width) solid var(--tblr-accordion-border-color); +} +.accordion-item:first-of-type { + border-top-left-radius: var(--tblr-accordion-border-radius); + border-top-right-radius: var(--tblr-accordion-border-radius); +} +.accordion-item:first-of-type .accordion-button { + border-top-left-radius: var(--tblr-accordion-inner-border-radius); + border-top-right-radius: var(--tblr-accordion-inner-border-radius); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: var(--tblr-accordion-border-radius); + border-bottom-left-radius: var(--tblr-accordion-border-radius); +} +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: var(--tblr-accordion-inner-border-radius); + border-bottom-left-radius: var(--tblr-accordion-inner-border-radius); +} +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: var(--tblr-accordion-border-radius); + border-bottom-left-radius: var(--tblr-accordion-border-radius); +} + +.accordion-body { + padding: var(--tblr-accordion-body-padding-y) var(--tblr-accordion-body-padding-x); +} + +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed { + border-radius: 0; +} + +[data-bs-theme=dark] .accordion-button::after { + --tblr-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2379a6dc'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --tblr-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2379a6dc'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} + +.breadcrumb { + --tblr-breadcrumb-padding-x: 0; + --tblr-breadcrumb-padding-y: 0; + --tblr-breadcrumb-margin-bottom: 1rem; + --tblr-breadcrumb-bg: ; + --tblr-breadcrumb-border-radius: ; + --tblr-breadcrumb-divider-color: var(--tblr-muted); + --tblr-breadcrumb-item-padding-x: 0.5rem; + --tblr-breadcrumb-item-active-color: inherit; + display: flex; + flex-wrap: wrap; + padding: var(--tblr-breadcrumb-padding-y) var(--tblr-breadcrumb-padding-x); + margin-bottom: var(--tblr-breadcrumb-margin-bottom); + font-size: var(--tblr-breadcrumb-font-size); + list-style: none; + background-color: var(--tblr-breadcrumb-bg); + border-radius: var(--tblr-breadcrumb-border-radius); +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: var(--tblr-breadcrumb-item-padding-x); +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: var(--tblr-breadcrumb-item-padding-x); + color: var(--tblr-breadcrumb-divider-color); + content: var(--tblr-breadcrumb-divider, "/") /* rtl: var(--tblr-breadcrumb-divider, "/") */; +} +.breadcrumb-item.active { + color: var(--tblr-breadcrumb-item-active-color); +} + +.pagination { + --tblr-pagination-padding-x: 0.25rem; + --tblr-pagination-padding-y: 0.25rem; + --tblr-pagination-font-size: 0.875rem; + --tblr-pagination-color: var(--tblr-muted); + --tblr-pagination-bg: transparent; + --tblr-pagination-border-width: 0; + --tblr-pagination-border-color: var(--tblr-border-color); + --tblr-pagination-border-radius: var(--tblr-border-radius); + --tblr-pagination-hover-color: var(--tblr-link-hover-color); + --tblr-pagination-hover-bg: var(--tblr-tertiary-bg); + --tblr-pagination-hover-border-color: var(--tblr-border-color); + --tblr-pagination-focus-color: var(--tblr-link-hover-color); + --tblr-pagination-focus-bg: var(--tblr-secondary-bg); + --tblr-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); + --tblr-pagination-active-color: #ffffff; + --tblr-pagination-active-bg: var(--tblr-primary); + --tblr-pagination-active-border-color: var(--tblr-primary); + --tblr-pagination-disabled-color: var(--tblr-disabled-color); + --tblr-pagination-disabled-bg: transparent; + --tblr-pagination-disabled-border-color: var(--tblr-border-color); + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + padding: var(--tblr-pagination-padding-y) var(--tblr-pagination-padding-x); + font-size: var(--tblr-pagination-font-size); + color: var(--tblr-pagination-color); + background-color: var(--tblr-pagination-bg); + border: var(--tblr-pagination-border-width) solid var(--tblr-pagination-border-color); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: var(--tblr-pagination-hover-color); + text-decoration: none; + background-color: var(--tblr-pagination-hover-bg); + border-color: var(--tblr-pagination-hover-border-color); +} +.page-link:focus { + z-index: 3; + color: var(--tblr-pagination-focus-color); + background-color: var(--tblr-pagination-focus-bg); + outline: 0; + box-shadow: var(--tblr-pagination-focus-box-shadow); +} +.page-link.active, .active > .page-link { + z-index: 3; + color: var(--tblr-pagination-active-color); + background-color: var(--tblr-pagination-active-bg); + border-color: var(--tblr-pagination-active-border-color); +} +.page-link.disabled, .disabled > .page-link { + color: var(--tblr-pagination-disabled-color); + pointer-events: none; + background-color: var(--tblr-pagination-disabled-bg); + border-color: var(--tblr-pagination-disabled-border-color); +} + +.page-item:not(:first-child) .page-link { + margin-left: calc(0 * -1); +} +.page-item:first-child .page-link { + border-top-left-radius: var(--tblr-pagination-border-radius); + border-bottom-left-radius: var(--tblr-pagination-border-radius); +} +.page-item:last-child .page-link { + border-top-right-radius: var(--tblr-pagination-border-radius); + border-bottom-right-radius: var(--tblr-pagination-border-radius); +} + +.pagination-lg { + --tblr-pagination-padding-x: 1.5rem; + --tblr-pagination-padding-y: 0.75rem; + --tblr-pagination-font-size: 1.09375rem; + --tblr-pagination-border-radius: var(--tblr-border-radius-lg); +} + +.pagination-sm { + --tblr-pagination-padding-x: 0.5rem; + --tblr-pagination-padding-y: 0.25rem; + --tblr-pagination-font-size: 0.765625rem; + --tblr-pagination-border-radius: var(--tblr-border-radius-sm); +} + +.badge { + --tblr-badge-padding-x: 0.5em; + --tblr-badge-padding-y: 0.25em; + --tblr-badge-font-size: 85.714285%; + --tblr-badge-font-weight: var(--tblr-font-weight-medium); + --tblr-badge-color: #ffffff; + --tblr-badge-border-radius: var(--tblr-border-radius); + display: inline-block; + padding: var(--tblr-badge-padding-y) var(--tblr-badge-padding-x); + font-size: var(--tblr-badge-font-size); + font-weight: var(--tblr-badge-font-weight); + line-height: 1; + color: var(--tblr-badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: var(--tblr-badge-border-radius); +} +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.alert { + --tblr-alert-bg: transparent; + --tblr-alert-padding-x: 1rem; + --tblr-alert-padding-y: 1rem; + --tblr-alert-margin-bottom: 1rem; + --tblr-alert-color: inherit; + --tblr-alert-border-color: transparent; + --tblr-alert-border: var(--tblr-border-width) solid var(--tblr-alert-border-color); + --tblr-alert-border-radius: var(--tblr-border-radius); + --tblr-alert-link-color: inherit; + position: relative; + padding: var(--tblr-alert-padding-y) var(--tblr-alert-padding-x); + margin-bottom: var(--tblr-alert-margin-bottom); + color: var(--tblr-alert-color); + background-color: var(--tblr-alert-bg); + border: var(--tblr-alert-border); + border-radius: var(--tblr-alert-border-radius); +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: var(--tblr-font-weight-bold); + color: var(--tblr-alert-link-color); +} + +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} + +.alert-primary { + --tblr-alert-color: var(--tblr-primary-text-emphasis); + --tblr-alert-bg: var(--tblr-primary-bg-subtle); + --tblr-alert-border-color: var(--tblr-primary-border-subtle); + --tblr-alert-link-color: var(--tblr-primary-text-emphasis); +} + +.alert-secondary { + --tblr-alert-color: var(--tblr-secondary-text-emphasis); + --tblr-alert-bg: var(--tblr-secondary-bg-subtle); + --tblr-alert-border-color: var(--tblr-secondary-border-subtle); + --tblr-alert-link-color: var(--tblr-secondary-text-emphasis); +} + +.alert-success { + --tblr-alert-color: var(--tblr-success-text-emphasis); + --tblr-alert-bg: var(--tblr-success-bg-subtle); + --tblr-alert-border-color: var(--tblr-success-border-subtle); + --tblr-alert-link-color: var(--tblr-success-text-emphasis); +} + +.alert-info { + --tblr-alert-color: var(--tblr-info-text-emphasis); + --tblr-alert-bg: var(--tblr-info-bg-subtle); + --tblr-alert-border-color: var(--tblr-info-border-subtle); + --tblr-alert-link-color: var(--tblr-info-text-emphasis); +} + +.alert-warning { + --tblr-alert-color: var(--tblr-warning-text-emphasis); + --tblr-alert-bg: var(--tblr-warning-bg-subtle); + --tblr-alert-border-color: var(--tblr-warning-border-subtle); + --tblr-alert-link-color: var(--tblr-warning-text-emphasis); +} + +.alert-danger { + --tblr-alert-color: var(--tblr-danger-text-emphasis); + --tblr-alert-bg: var(--tblr-danger-bg-subtle); + --tblr-alert-border-color: var(--tblr-danger-border-subtle); + --tblr-alert-link-color: var(--tblr-danger-text-emphasis); +} + +.alert-light { + --tblr-alert-color: var(--tblr-light-text-emphasis); + --tblr-alert-bg: var(--tblr-light-bg-subtle); + --tblr-alert-border-color: var(--tblr-light-border-subtle); + --tblr-alert-link-color: var(--tblr-light-text-emphasis); +} + +.alert-dark { + --tblr-alert-color: var(--tblr-dark-text-emphasis); + --tblr-alert-bg: var(--tblr-dark-bg-subtle); + --tblr-alert-border-color: var(--tblr-dark-border-subtle); + --tblr-alert-link-color: var(--tblr-dark-text-emphasis); +} + +.alert-muted { + --tblr-alert-color: var(--tblr-muted-text-emphasis); + --tblr-alert-bg: var(--tblr-muted-bg-subtle); + --tblr-alert-border-color: var(--tblr-muted-border-subtle); + --tblr-alert-link-color: var(--tblr-muted-text-emphasis); +} + +.alert-blue { + --tblr-alert-color: var(--tblr-blue-text-emphasis); + --tblr-alert-bg: var(--tblr-blue-bg-subtle); + --tblr-alert-border-color: var(--tblr-blue-border-subtle); + --tblr-alert-link-color: var(--tblr-blue-text-emphasis); +} + +.alert-azure { + --tblr-alert-color: var(--tblr-azure-text-emphasis); + --tblr-alert-bg: var(--tblr-azure-bg-subtle); + --tblr-alert-border-color: var(--tblr-azure-border-subtle); + --tblr-alert-link-color: var(--tblr-azure-text-emphasis); +} + +.alert-indigo { + --tblr-alert-color: var(--tblr-indigo-text-emphasis); + --tblr-alert-bg: var(--tblr-indigo-bg-subtle); + --tblr-alert-border-color: var(--tblr-indigo-border-subtle); + --tblr-alert-link-color: var(--tblr-indigo-text-emphasis); +} + +.alert-purple { + --tblr-alert-color: var(--tblr-purple-text-emphasis); + --tblr-alert-bg: var(--tblr-purple-bg-subtle); + --tblr-alert-border-color: var(--tblr-purple-border-subtle); + --tblr-alert-link-color: var(--tblr-purple-text-emphasis); +} + +.alert-pink { + --tblr-alert-color: var(--tblr-pink-text-emphasis); + --tblr-alert-bg: var(--tblr-pink-bg-subtle); + --tblr-alert-border-color: var(--tblr-pink-border-subtle); + --tblr-alert-link-color: var(--tblr-pink-text-emphasis); +} + +.alert-red { + --tblr-alert-color: var(--tblr-red-text-emphasis); + --tblr-alert-bg: var(--tblr-red-bg-subtle); + --tblr-alert-border-color: var(--tblr-red-border-subtle); + --tblr-alert-link-color: var(--tblr-red-text-emphasis); +} + +.alert-orange { + --tblr-alert-color: var(--tblr-orange-text-emphasis); + --tblr-alert-bg: var(--tblr-orange-bg-subtle); + --tblr-alert-border-color: var(--tblr-orange-border-subtle); + --tblr-alert-link-color: var(--tblr-orange-text-emphasis); +} + +.alert-yellow { + --tblr-alert-color: var(--tblr-yellow-text-emphasis); + --tblr-alert-bg: var(--tblr-yellow-bg-subtle); + --tblr-alert-border-color: var(--tblr-yellow-border-subtle); + --tblr-alert-link-color: var(--tblr-yellow-text-emphasis); +} + +.alert-lime { + --tblr-alert-color: var(--tblr-lime-text-emphasis); + --tblr-alert-bg: var(--tblr-lime-bg-subtle); + --tblr-alert-border-color: var(--tblr-lime-border-subtle); + --tblr-alert-link-color: var(--tblr-lime-text-emphasis); +} + +.alert-green { + --tblr-alert-color: var(--tblr-green-text-emphasis); + --tblr-alert-bg: var(--tblr-green-bg-subtle); + --tblr-alert-border-color: var(--tblr-green-border-subtle); + --tblr-alert-link-color: var(--tblr-green-text-emphasis); +} + +.alert-teal { + --tblr-alert-color: var(--tblr-teal-text-emphasis); + --tblr-alert-bg: var(--tblr-teal-bg-subtle); + --tblr-alert-border-color: var(--tblr-teal-border-subtle); + --tblr-alert-link-color: var(--tblr-teal-text-emphasis); +} + +.alert-cyan { + --tblr-alert-color: var(--tblr-cyan-text-emphasis); + --tblr-alert-bg: var(--tblr-cyan-bg-subtle); + --tblr-alert-border-color: var(--tblr-cyan-border-subtle); + --tblr-alert-link-color: var(--tblr-cyan-text-emphasis); +} + +.alert-facebook { + --tblr-alert-color: var(--tblr-facebook-text-emphasis); + --tblr-alert-bg: var(--tblr-facebook-bg-subtle); + --tblr-alert-border-color: var(--tblr-facebook-border-subtle); + --tblr-alert-link-color: var(--tblr-facebook-text-emphasis); +} + +.alert-twitter { + --tblr-alert-color: var(--tblr-twitter-text-emphasis); + --tblr-alert-bg: var(--tblr-twitter-bg-subtle); + --tblr-alert-border-color: var(--tblr-twitter-border-subtle); + --tblr-alert-link-color: var(--tblr-twitter-text-emphasis); +} + +.alert-linkedin { + --tblr-alert-color: var(--tblr-linkedin-text-emphasis); + --tblr-alert-bg: var(--tblr-linkedin-bg-subtle); + --tblr-alert-border-color: var(--tblr-linkedin-border-subtle); + --tblr-alert-link-color: var(--tblr-linkedin-text-emphasis); +} + +.alert-google { + --tblr-alert-color: var(--tblr-google-text-emphasis); + --tblr-alert-bg: var(--tblr-google-bg-subtle); + --tblr-alert-border-color: var(--tblr-google-border-subtle); + --tblr-alert-link-color: var(--tblr-google-text-emphasis); +} + +.alert-youtube { + --tblr-alert-color: var(--tblr-youtube-text-emphasis); + --tblr-alert-bg: var(--tblr-youtube-bg-subtle); + --tblr-alert-border-color: var(--tblr-youtube-border-subtle); + --tblr-alert-link-color: var(--tblr-youtube-text-emphasis); +} + +.alert-vimeo { + --tblr-alert-color: var(--tblr-vimeo-text-emphasis); + --tblr-alert-bg: var(--tblr-vimeo-bg-subtle); + --tblr-alert-border-color: var(--tblr-vimeo-border-subtle); + --tblr-alert-link-color: var(--tblr-vimeo-text-emphasis); +} + +.alert-dribbble { + --tblr-alert-color: var(--tblr-dribbble-text-emphasis); + --tblr-alert-bg: var(--tblr-dribbble-bg-subtle); + --tblr-alert-border-color: var(--tblr-dribbble-border-subtle); + --tblr-alert-link-color: var(--tblr-dribbble-text-emphasis); +} + +.alert-github { + --tblr-alert-color: var(--tblr-github-text-emphasis); + --tblr-alert-bg: var(--tblr-github-bg-subtle); + --tblr-alert-border-color: var(--tblr-github-border-subtle); + --tblr-alert-link-color: var(--tblr-github-text-emphasis); +} + +.alert-instagram { + --tblr-alert-color: var(--tblr-instagram-text-emphasis); + --tblr-alert-bg: var(--tblr-instagram-bg-subtle); + --tblr-alert-border-color: var(--tblr-instagram-border-subtle); + --tblr-alert-link-color: var(--tblr-instagram-text-emphasis); +} + +.alert-pinterest { + --tblr-alert-color: var(--tblr-pinterest-text-emphasis); + --tblr-alert-bg: var(--tblr-pinterest-bg-subtle); + --tblr-alert-border-color: var(--tblr-pinterest-border-subtle); + --tblr-alert-link-color: var(--tblr-pinterest-text-emphasis); +} + +.alert-vk { + --tblr-alert-color: var(--tblr-vk-text-emphasis); + --tblr-alert-bg: var(--tblr-vk-bg-subtle); + --tblr-alert-border-color: var(--tblr-vk-border-subtle); + --tblr-alert-link-color: var(--tblr-vk-text-emphasis); +} + +.alert-rss { + --tblr-alert-color: var(--tblr-rss-text-emphasis); + --tblr-alert-bg: var(--tblr-rss-bg-subtle); + --tblr-alert-border-color: var(--tblr-rss-border-subtle); + --tblr-alert-link-color: var(--tblr-rss-text-emphasis); +} + +.alert-flickr { + --tblr-alert-color: var(--tblr-flickr-text-emphasis); + --tblr-alert-bg: var(--tblr-flickr-bg-subtle); + --tblr-alert-border-color: var(--tblr-flickr-border-subtle); + --tblr-alert-link-color: var(--tblr-flickr-text-emphasis); +} + +.alert-bitbucket { + --tblr-alert-color: var(--tblr-bitbucket-text-emphasis); + --tblr-alert-bg: var(--tblr-bitbucket-bg-subtle); + --tblr-alert-border-color: var(--tblr-bitbucket-border-subtle); + --tblr-alert-link-color: var(--tblr-bitbucket-text-emphasis); +} + +.alert-tabler { + --tblr-alert-color: var(--tblr-tabler-text-emphasis); + --tblr-alert-bg: var(--tblr-tabler-bg-subtle); + --tblr-alert-border-color: var(--tblr-tabler-border-subtle); + --tblr-alert-link-color: var(--tblr-tabler-text-emphasis); +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 0.5rem; + } +} +.progress, +.progress-stacked { + --tblr-progress-height: 0.5rem; + --tblr-progress-font-size: 0.65625rem; + --tblr-progress-bg: var(--tblr-border-color); + --tblr-progress-border-radius: var(--tblr-border-radius); + --tblr-progress-box-shadow: var(--tblr-box-shadow-inset); + --tblr-progress-bar-color: #ffffff; + --tblr-progress-bar-bg: var(--tblr-primary); + --tblr-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--tblr-progress-height); + overflow: hidden; + font-size: var(--tblr-progress-font-size); + background-color: var(--tblr-progress-bg); + border-radius: var(--tblr-progress-border-radius); + box-shadow: var(--tblr-progress-box-shadow); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--tblr-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--tblr-progress-bar-bg); + transition: var(--tblr-progress-bar-transition); +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: var(--tblr-progress-height) var(--tblr-progress-height); +} + +.progress-stacked > .progress { + overflow: visible; +} + +.progress-stacked > .progress > .progress-bar { + width: 100%; +} + +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +.list-group { + --tblr-list-group-color: var(--tblr-body-color); + --tblr-list-group-bg: inherit; + --tblr-list-group-border-color: var(--tblr-border-color); + --tblr-list-group-border-width: var(--tblr-border-width); + --tblr-list-group-border-radius: var(--tblr-border-radius); + --tblr-list-group-item-padding-x: 1.5rem; + --tblr-list-group-item-padding-y: 1rem; + --tblr-list-group-action-color: inherit; + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: rgba(var(--tblr-muted-rgb), 0.04); + --tblr-list-group-action-active-color: var(--tblr-body-color); + --tblr-list-group-action-active-bg: var(--tblr-secondary-bg); + --tblr-list-group-disabled-color: var(--tblr-secondary-color); + --tblr-list-group-disabled-bg: inherit; + --tblr-list-group-active-color: inherit; + --tblr-list-group-active-bg: var(--tblr-active-bg); + --tblr-list-group-active-border-color: var(--tblr-border-color); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: var(--tblr-list-group-border-radius); +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > .list-group-item::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item-action { + width: 100%; + color: var(--tblr-list-group-action-color); + text-align: inherit; +} +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: var(--tblr-list-group-action-hover-color); + text-decoration: none; + background-color: var(--tblr-list-group-action-hover-bg); +} +.list-group-item-action:active { + color: var(--tblr-list-group-action-active-color); + background-color: var(--tblr-list-group-action-active-bg); +} + +.list-group-item { + position: relative; + display: block; + padding: var(--tblr-list-group-item-padding-y) var(--tblr-list-group-item-padding-x); + color: var(--tblr-list-group-color); + background-color: var(--tblr-list-group-bg); + border: var(--tblr-list-group-border-width) solid var(--tblr-list-group-border-color); +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} +.list-group-item.disabled, .list-group-item:disabled { + color: var(--tblr-list-group-disabled-color); + pointer-events: none; + background-color: var(--tblr-list-group-disabled-bg); +} +.list-group-item.active { + z-index: 2; + color: var(--tblr-list-group-active-color); + background-color: var(--tblr-list-group-active-bg); + border-color: var(--tblr-list-group-active-border-color); +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: calc(-1 * var(--tblr-list-group-border-width)); + border-top-width: var(--tblr-list-group-border-width); +} + +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--tblr-list-group-border-radius); + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--tblr-list-group-border-radius); + border-bottom-left-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--tblr-list-group-border-width)); + border-left-width: var(--tblr-list-group-border-width); +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--tblr-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--tblr-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--tblr-list-group-border-width)); + border-left-width: var(--tblr-list-group-border-width); + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--tblr-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--tblr-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--tblr-list-group-border-width)); + border-left-width: var(--tblr-list-group-border-width); + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--tblr-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--tblr-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--tblr-list-group-border-width)); + border-left-width: var(--tblr-list-group-border-width); + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--tblr-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--tblr-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--tblr-list-group-border-width)); + border-left-width: var(--tblr-list-group-border-width); + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--tblr-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--tblr-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--tblr-list-group-border-width)); + border-left-width: var(--tblr-list-group-border-width); + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 var(--tblr-list-group-border-width); +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + --tblr-list-group-color: var(--tblr-primary-text-emphasis); + --tblr-list-group-bg: var(--tblr-primary-bg-subtle); + --tblr-list-group-border-color: var(--tblr-primary-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-primary-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-primary-border-subtle); + --tblr-list-group-active-color: var(--tblr-primary-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-primary-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-primary-text-emphasis); +} + +.list-group-item-secondary { + --tblr-list-group-color: var(--tblr-secondary-text-emphasis); + --tblr-list-group-bg: var(--tblr-secondary-bg-subtle); + --tblr-list-group-border-color: var(--tblr-secondary-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-secondary-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-secondary-border-subtle); + --tblr-list-group-active-color: var(--tblr-secondary-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-secondary-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-secondary-text-emphasis); +} + +.list-group-item-success { + --tblr-list-group-color: var(--tblr-success-text-emphasis); + --tblr-list-group-bg: var(--tblr-success-bg-subtle); + --tblr-list-group-border-color: var(--tblr-success-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-success-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-success-border-subtle); + --tblr-list-group-active-color: var(--tblr-success-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-success-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-success-text-emphasis); +} + +.list-group-item-info { + --tblr-list-group-color: var(--tblr-info-text-emphasis); + --tblr-list-group-bg: var(--tblr-info-bg-subtle); + --tblr-list-group-border-color: var(--tblr-info-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-info-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-info-border-subtle); + --tblr-list-group-active-color: var(--tblr-info-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-info-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-info-text-emphasis); +} + +.list-group-item-warning { + --tblr-list-group-color: var(--tblr-warning-text-emphasis); + --tblr-list-group-bg: var(--tblr-warning-bg-subtle); + --tblr-list-group-border-color: var(--tblr-warning-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-warning-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-warning-border-subtle); + --tblr-list-group-active-color: var(--tblr-warning-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-warning-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-warning-text-emphasis); +} + +.list-group-item-danger { + --tblr-list-group-color: var(--tblr-danger-text-emphasis); + --tblr-list-group-bg: var(--tblr-danger-bg-subtle); + --tblr-list-group-border-color: var(--tblr-danger-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-danger-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-danger-border-subtle); + --tblr-list-group-active-color: var(--tblr-danger-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-danger-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-danger-text-emphasis); +} + +.list-group-item-light { + --tblr-list-group-color: var(--tblr-light-text-emphasis); + --tblr-list-group-bg: var(--tblr-light-bg-subtle); + --tblr-list-group-border-color: var(--tblr-light-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-light-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-light-border-subtle); + --tblr-list-group-active-color: var(--tblr-light-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-light-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-light-text-emphasis); +} + +.list-group-item-dark { + --tblr-list-group-color: var(--tblr-dark-text-emphasis); + --tblr-list-group-bg: var(--tblr-dark-bg-subtle); + --tblr-list-group-border-color: var(--tblr-dark-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-dark-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-dark-border-subtle); + --tblr-list-group-active-color: var(--tblr-dark-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-dark-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-dark-text-emphasis); +} + +.list-group-item-muted { + --tblr-list-group-color: var(--tblr-muted-text-emphasis); + --tblr-list-group-bg: var(--tblr-muted-bg-subtle); + --tblr-list-group-border-color: var(--tblr-muted-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-muted-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-muted-border-subtle); + --tblr-list-group-active-color: var(--tblr-muted-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-muted-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-muted-text-emphasis); +} + +.list-group-item-blue { + --tblr-list-group-color: var(--tblr-blue-text-emphasis); + --tblr-list-group-bg: var(--tblr-blue-bg-subtle); + --tblr-list-group-border-color: var(--tblr-blue-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-blue-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-blue-border-subtle); + --tblr-list-group-active-color: var(--tblr-blue-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-blue-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-blue-text-emphasis); +} + +.list-group-item-azure { + --tblr-list-group-color: var(--tblr-azure-text-emphasis); + --tblr-list-group-bg: var(--tblr-azure-bg-subtle); + --tblr-list-group-border-color: var(--tblr-azure-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-azure-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-azure-border-subtle); + --tblr-list-group-active-color: var(--tblr-azure-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-azure-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-azure-text-emphasis); +} + +.list-group-item-indigo { + --tblr-list-group-color: var(--tblr-indigo-text-emphasis); + --tblr-list-group-bg: var(--tblr-indigo-bg-subtle); + --tblr-list-group-border-color: var(--tblr-indigo-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-indigo-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-indigo-border-subtle); + --tblr-list-group-active-color: var(--tblr-indigo-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-indigo-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-indigo-text-emphasis); +} + +.list-group-item-purple { + --tblr-list-group-color: var(--tblr-purple-text-emphasis); + --tblr-list-group-bg: var(--tblr-purple-bg-subtle); + --tblr-list-group-border-color: var(--tblr-purple-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-purple-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-purple-border-subtle); + --tblr-list-group-active-color: var(--tblr-purple-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-purple-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-purple-text-emphasis); +} + +.list-group-item-pink { + --tblr-list-group-color: var(--tblr-pink-text-emphasis); + --tblr-list-group-bg: var(--tblr-pink-bg-subtle); + --tblr-list-group-border-color: var(--tblr-pink-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-pink-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-pink-border-subtle); + --tblr-list-group-active-color: var(--tblr-pink-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-pink-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-pink-text-emphasis); +} + +.list-group-item-red { + --tblr-list-group-color: var(--tblr-red-text-emphasis); + --tblr-list-group-bg: var(--tblr-red-bg-subtle); + --tblr-list-group-border-color: var(--tblr-red-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-red-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-red-border-subtle); + --tblr-list-group-active-color: var(--tblr-red-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-red-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-red-text-emphasis); +} + +.list-group-item-orange { + --tblr-list-group-color: var(--tblr-orange-text-emphasis); + --tblr-list-group-bg: var(--tblr-orange-bg-subtle); + --tblr-list-group-border-color: var(--tblr-orange-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-orange-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-orange-border-subtle); + --tblr-list-group-active-color: var(--tblr-orange-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-orange-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-orange-text-emphasis); +} + +.list-group-item-yellow { + --tblr-list-group-color: var(--tblr-yellow-text-emphasis); + --tblr-list-group-bg: var(--tblr-yellow-bg-subtle); + --tblr-list-group-border-color: var(--tblr-yellow-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-yellow-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-yellow-border-subtle); + --tblr-list-group-active-color: var(--tblr-yellow-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-yellow-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-yellow-text-emphasis); +} + +.list-group-item-lime { + --tblr-list-group-color: var(--tblr-lime-text-emphasis); + --tblr-list-group-bg: var(--tblr-lime-bg-subtle); + --tblr-list-group-border-color: var(--tblr-lime-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-lime-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-lime-border-subtle); + --tblr-list-group-active-color: var(--tblr-lime-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-lime-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-lime-text-emphasis); +} + +.list-group-item-green { + --tblr-list-group-color: var(--tblr-green-text-emphasis); + --tblr-list-group-bg: var(--tblr-green-bg-subtle); + --tblr-list-group-border-color: var(--tblr-green-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-green-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-green-border-subtle); + --tblr-list-group-active-color: var(--tblr-green-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-green-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-green-text-emphasis); +} + +.list-group-item-teal { + --tblr-list-group-color: var(--tblr-teal-text-emphasis); + --tblr-list-group-bg: var(--tblr-teal-bg-subtle); + --tblr-list-group-border-color: var(--tblr-teal-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-teal-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-teal-border-subtle); + --tblr-list-group-active-color: var(--tblr-teal-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-teal-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-teal-text-emphasis); +} + +.list-group-item-cyan { + --tblr-list-group-color: var(--tblr-cyan-text-emphasis); + --tblr-list-group-bg: var(--tblr-cyan-bg-subtle); + --tblr-list-group-border-color: var(--tblr-cyan-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-cyan-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-cyan-border-subtle); + --tblr-list-group-active-color: var(--tblr-cyan-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-cyan-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-cyan-text-emphasis); +} + +.list-group-item-facebook { + --tblr-list-group-color: var(--tblr-facebook-text-emphasis); + --tblr-list-group-bg: var(--tblr-facebook-bg-subtle); + --tblr-list-group-border-color: var(--tblr-facebook-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-facebook-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-facebook-border-subtle); + --tblr-list-group-active-color: var(--tblr-facebook-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-facebook-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-facebook-text-emphasis); +} + +.list-group-item-twitter { + --tblr-list-group-color: var(--tblr-twitter-text-emphasis); + --tblr-list-group-bg: var(--tblr-twitter-bg-subtle); + --tblr-list-group-border-color: var(--tblr-twitter-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-twitter-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-twitter-border-subtle); + --tblr-list-group-active-color: var(--tblr-twitter-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-twitter-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-twitter-text-emphasis); +} + +.list-group-item-linkedin { + --tblr-list-group-color: var(--tblr-linkedin-text-emphasis); + --tblr-list-group-bg: var(--tblr-linkedin-bg-subtle); + --tblr-list-group-border-color: var(--tblr-linkedin-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-linkedin-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-linkedin-border-subtle); + --tblr-list-group-active-color: var(--tblr-linkedin-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-linkedin-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-linkedin-text-emphasis); +} + +.list-group-item-google { + --tblr-list-group-color: var(--tblr-google-text-emphasis); + --tblr-list-group-bg: var(--tblr-google-bg-subtle); + --tblr-list-group-border-color: var(--tblr-google-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-google-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-google-border-subtle); + --tblr-list-group-active-color: var(--tblr-google-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-google-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-google-text-emphasis); +} + +.list-group-item-youtube { + --tblr-list-group-color: var(--tblr-youtube-text-emphasis); + --tblr-list-group-bg: var(--tblr-youtube-bg-subtle); + --tblr-list-group-border-color: var(--tblr-youtube-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-youtube-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-youtube-border-subtle); + --tblr-list-group-active-color: var(--tblr-youtube-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-youtube-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-youtube-text-emphasis); +} + +.list-group-item-vimeo { + --tblr-list-group-color: var(--tblr-vimeo-text-emphasis); + --tblr-list-group-bg: var(--tblr-vimeo-bg-subtle); + --tblr-list-group-border-color: var(--tblr-vimeo-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-vimeo-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-vimeo-border-subtle); + --tblr-list-group-active-color: var(--tblr-vimeo-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-vimeo-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-vimeo-text-emphasis); +} + +.list-group-item-dribbble { + --tblr-list-group-color: var(--tblr-dribbble-text-emphasis); + --tblr-list-group-bg: var(--tblr-dribbble-bg-subtle); + --tblr-list-group-border-color: var(--tblr-dribbble-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-dribbble-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-dribbble-border-subtle); + --tblr-list-group-active-color: var(--tblr-dribbble-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-dribbble-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-dribbble-text-emphasis); +} + +.list-group-item-github { + --tblr-list-group-color: var(--tblr-github-text-emphasis); + --tblr-list-group-bg: var(--tblr-github-bg-subtle); + --tblr-list-group-border-color: var(--tblr-github-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-github-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-github-border-subtle); + --tblr-list-group-active-color: var(--tblr-github-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-github-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-github-text-emphasis); +} + +.list-group-item-instagram { + --tblr-list-group-color: var(--tblr-instagram-text-emphasis); + --tblr-list-group-bg: var(--tblr-instagram-bg-subtle); + --tblr-list-group-border-color: var(--tblr-instagram-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-instagram-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-instagram-border-subtle); + --tblr-list-group-active-color: var(--tblr-instagram-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-instagram-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-instagram-text-emphasis); +} + +.list-group-item-pinterest { + --tblr-list-group-color: var(--tblr-pinterest-text-emphasis); + --tblr-list-group-bg: var(--tblr-pinterest-bg-subtle); + --tblr-list-group-border-color: var(--tblr-pinterest-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-pinterest-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-pinterest-border-subtle); + --tblr-list-group-active-color: var(--tblr-pinterest-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-pinterest-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-pinterest-text-emphasis); +} + +.list-group-item-vk { + --tblr-list-group-color: var(--tblr-vk-text-emphasis); + --tblr-list-group-bg: var(--tblr-vk-bg-subtle); + --tblr-list-group-border-color: var(--tblr-vk-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-vk-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-vk-border-subtle); + --tblr-list-group-active-color: var(--tblr-vk-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-vk-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-vk-text-emphasis); +} + +.list-group-item-rss { + --tblr-list-group-color: var(--tblr-rss-text-emphasis); + --tblr-list-group-bg: var(--tblr-rss-bg-subtle); + --tblr-list-group-border-color: var(--tblr-rss-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-rss-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-rss-border-subtle); + --tblr-list-group-active-color: var(--tblr-rss-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-rss-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-rss-text-emphasis); +} + +.list-group-item-flickr { + --tblr-list-group-color: var(--tblr-flickr-text-emphasis); + --tblr-list-group-bg: var(--tblr-flickr-bg-subtle); + --tblr-list-group-border-color: var(--tblr-flickr-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-flickr-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-flickr-border-subtle); + --tblr-list-group-active-color: var(--tblr-flickr-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-flickr-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-flickr-text-emphasis); +} + +.list-group-item-bitbucket { + --tblr-list-group-color: var(--tblr-bitbucket-text-emphasis); + --tblr-list-group-bg: var(--tblr-bitbucket-bg-subtle); + --tblr-list-group-border-color: var(--tblr-bitbucket-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-bitbucket-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-bitbucket-border-subtle); + --tblr-list-group-active-color: var(--tblr-bitbucket-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-bitbucket-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-bitbucket-text-emphasis); +} + +.list-group-item-tabler { + --tblr-list-group-color: var(--tblr-tabler-text-emphasis); + --tblr-list-group-bg: var(--tblr-tabler-bg-subtle); + --tblr-list-group-border-color: var(--tblr-tabler-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-tabler-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-tabler-border-subtle); + --tblr-list-group-active-color: var(--tblr-tabler-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-tabler-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-tabler-text-emphasis); +} + +.btn-close { + --tblr-btn-close-color: #000000; + --tblr-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e"); + --tblr-btn-close-opacity: 0.3; + --tblr-btn-close-hover-opacity: 0.75; + --tblr-btn-close-focus-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); + --tblr-btn-close-focus-opacity: 1; + --tblr-btn-close-disabled-opacity: 0.25; + --tblr-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%); + box-sizing: content-box; + width: 0.75rem; + height: 0.75rem; + padding: 0.25em 0.25em; + color: var(--tblr-btn-close-color); + background: transparent var(--tblr-btn-close-bg) center/0.75rem auto no-repeat; + border: 0; + border-radius: 4px; + opacity: var(--tblr-btn-close-opacity); +} +.btn-close:hover { + color: var(--tblr-btn-close-color); + text-decoration: none; + opacity: var(--tblr-btn-close-hover-opacity); +} +.btn-close:focus { + outline: 0; + box-shadow: var(--tblr-btn-close-focus-shadow); + opacity: var(--tblr-btn-close-focus-opacity); +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + opacity: var(--tblr-btn-close-disabled-opacity); +} + +.btn-close-white { + filter: var(--tblr-btn-close-white-filter); +} + +[data-bs-theme=dark] .btn-close { + filter: var(--tblr-btn-close-white-filter); +} + +.toast { + --tblr-toast-zindex: 1090; + --tblr-toast-padding-x: 0.75rem; + --tblr-toast-padding-y: 0.5rem; + --tblr-toast-spacing: calc(var(--tblr-page-padding) * 2); + --tblr-toast-max-width: 350px; + --tblr-toast-font-size: 0.875rem; + --tblr-toast-color: ; + --tblr-toast-bg: rgba(var(--tblr-body-bg-rgb), 0.85); + --tblr-toast-border-width: var(--tblr-border-width); + --tblr-toast-border-color: var(--tblr-border-color); + --tblr-toast-border-radius: var(--tblr-border-radius); + --tblr-toast-box-shadow: var(--tblr-box-shadow); + --tblr-toast-header-color: var(--tblr-muted); + --tblr-toast-header-bg: rgba(var(--tblr-body-bg-rgb), 0.85); + --tblr-toast-header-border-color: var(--tblr-border-color); + width: var(--tblr-toast-max-width); + max-width: 100%; + font-size: var(--tblr-toast-font-size); + color: var(--tblr-toast-color); + pointer-events: auto; + background-color: var(--tblr-toast-bg); + background-clip: padding-box; + border: var(--tblr-toast-border-width) solid var(--tblr-toast-border-color); + box-shadow: var(--tblr-toast-box-shadow); + border-radius: var(--tblr-toast-border-radius); +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + --tblr-toast-zindex: 1090; + position: absolute; + z-index: var(--tblr-toast-zindex); + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: var(--tblr-toast-spacing); +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--tblr-toast-padding-y) var(--tblr-toast-padding-x); + color: var(--tblr-toast-header-color); + background-color: var(--tblr-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color); + border-top-left-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width)); + border-top-right-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width)); +} +.toast-header .btn-close { + margin-right: calc(-0.5 * var(--tblr-toast-padding-x)); + margin-left: var(--tblr-toast-padding-x); +} + +.toast-body { + padding: var(--tblr-toast-padding-x); + word-wrap: break-word; +} + +.modal { + --tblr-modal-zindex: 1055; + --tblr-modal-width: 540px; + --tblr-modal-padding: 1.5rem; + --tblr-modal-margin: 0.5rem; + --tblr-modal-color: ; + --tblr-modal-bg: var(--tblr-bg-surface); + --tblr-modal-border-color: transparent; + --tblr-modal-border-width: var(--tblr-border-width); + --tblr-modal-border-radius: var(--tblr-border-radius-lg); + --tblr-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --tblr-modal-inner-border-radius: calc(var(--tblr-modal-border-radius) - 1px); + --tblr-modal-header-padding-x: 1.5rem; + --tblr-modal-header-padding-y: 1.5rem; + --tblr-modal-header-padding: 1.5rem; + --tblr-modal-header-border-color: var(--tblr-border-color); + --tblr-modal-header-border-width: var(--tblr-border-width); + --tblr-modal-title-line-height: 1.4285714286; + --tblr-modal-footer-gap: 0.75rem; + --tblr-modal-footer-bg: var(--tblr-bg-surface-tertiary); + --tblr-modal-footer-border-color: var(--tblr-border-color); + --tblr-modal-footer-border-width: var(--tblr-border-width); + position: fixed; + top: 0; + left: 0; + z-index: var(--tblr-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: var(--tblr-modal-margin); + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -1rem); +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - var(--tblr-modal-margin) * 2); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - var(--tblr-modal-margin) * 2); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--tblr-modal-color); + pointer-events: auto; + background-color: var(--tblr-modal-bg); + background-clip: padding-box; + border: var(--tblr-modal-border-width) solid var(--tblr-modal-border-color); + border-radius: var(--tblr-modal-border-radius); + box-shadow: var(--tblr-modal-box-shadow); + outline: 0; +} + +.modal-backdrop { + --tblr-backdrop-zindex: 1050; + --tblr-backdrop-bg: #182433; + --tblr-backdrop-opacity: 0.24; + position: fixed; + top: 0; + left: 0; + z-index: var(--tblr-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--tblr-backdrop-bg); +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: var(--tblr-backdrop-opacity); +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: var(--tblr-modal-header-padding); + border-bottom: var(--tblr-modal-header-border-width) solid var(--tblr-modal-header-border-color); + border-top-left-radius: var(--tblr-modal-inner-border-radius); + border-top-right-radius: var(--tblr-modal-inner-border-radius); +} +.modal-header .btn-close { + padding: calc(var(--tblr-modal-header-padding-y) * 0.5) calc(var(--tblr-modal-header-padding-x) * 0.5); + margin: calc(-0.5 * var(--tblr-modal-header-padding-y)) calc(-0.5 * var(--tblr-modal-header-padding-x)) calc(-0.5 * var(--tblr-modal-header-padding-y)) auto; +} + +.modal-title { + margin-bottom: 0; + line-height: var(--tblr-modal-title-line-height); +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--tblr-modal-padding); +} + +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--tblr-modal-padding) - var(--tblr-modal-footer-gap) * 0.5); + background-color: var(--tblr-modal-footer-bg); + border-top: var(--tblr-modal-footer-border-width) solid var(--tblr-modal-footer-border-color); + border-bottom-right-radius: var(--tblr-modal-inner-border-radius); + border-bottom-left-radius: var(--tblr-modal-inner-border-radius); +} +.modal-footer > * { + margin: calc(var(--tblr-modal-footer-gap) * 0.5); +} + +@media (min-width: 576px) { + .modal { + --tblr-modal-margin: 1.75rem; + --tblr-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + } + .modal-dialog { + max-width: var(--tblr-modal-width); + margin-right: auto; + margin-left: auto; + } + .modal-sm { + --tblr-modal-width: 380px; + } +} +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --tblr-modal-width: 720px; + } +} +@media (min-width: 1200px) { + .modal-xl { + --tblr-modal-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header, +.modal-fullscreen .modal-footer { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header, + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header, + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header, + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header, + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header, + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} +.tooltip { + --tblr-tooltip-zindex: 1080; + --tblr-tooltip-max-width: 200px; + --tblr-tooltip-padding-x: var(--tblr-spacer-2); + --tblr-tooltip-padding-y: var(--tblr-spacer-2); + --tblr-tooltip-margin: ; + --tblr-tooltip-font-size: 0.765625rem; + --tblr-tooltip-color: var(--tblr-light); + --tblr-tooltip-bg: var(--tblr-bg-surface-dark); + --tblr-tooltip-border-radius: var(--tblr-border-radius); + --tblr-tooltip-opacity: 0.9; + --tblr-tooltip-arrow-width: 0.8rem; + --tblr-tooltip-arrow-height: 0.4rem; + z-index: var(--tblr-tooltip-zindex); + display: block; + margin: var(--tblr-tooltip-margin); + font-family: var(--tblr-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.4285714286; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--tblr-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: var(--tblr-tooltip-opacity); +} +.tooltip .tooltip-arrow { + display: block; + width: var(--tblr-tooltip-arrow-width); + height: var(--tblr-tooltip-arrow-height); +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: calc(-1 * var(--tblr-tooltip-arrow-height)); +} +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * 0.5) 0; + border-top-color: var(--tblr-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: calc(-1 * var(--tblr-tooltip-arrow-height)); + width: var(--tblr-tooltip-arrow-height); + height: var(--tblr-tooltip-arrow-width); +} +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * 0.5) 0; + border-right-color: var(--tblr-tooltip-bg); +} + +/* rtl:end:ignore */ +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: calc(-1 * var(--tblr-tooltip-arrow-height)); +} +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height); + border-bottom-color: var(--tblr-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: calc(-1 * var(--tblr-tooltip-arrow-height)); + width: var(--tblr-tooltip-arrow-height); + height: var(--tblr-tooltip-arrow-width); +} +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--tblr-tooltip-arrow-width) * 0.5) 0 calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height); + border-left-color: var(--tblr-tooltip-bg); +} + +/* rtl:end:ignore */ +.tooltip-inner { + max-width: var(--tblr-tooltip-max-width); + padding: var(--tblr-tooltip-padding-y) var(--tblr-tooltip-padding-x); + color: var(--tblr-tooltip-color); + text-align: center; + background-color: var(--tblr-tooltip-bg); + border-radius: var(--tblr-tooltip-border-radius); +} + +.popover { + --tblr-popover-zindex: 1070; + --tblr-popover-max-width: 276px; + --tblr-popover-font-size: 0.765625rem; + --tblr-popover-bg: var(--tblr-bg-surface); + --tblr-popover-border-width: var(--tblr-border-width); + --tblr-popover-border-color: var(--tblr-border-color); + --tblr-popover-border-radius: var(--tblr-border-radius-lg); + --tblr-popover-inner-border-radius: calc(var(--tblr-border-radius-lg) - var(--tblr-border-width)); + --tblr-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --tblr-popover-header-padding-x: 1rem; + --tblr-popover-header-padding-y: 0.5rem; + --tblr-popover-header-font-size: 0.875rem; + --tblr-popover-header-color: ; + --tblr-popover-header-bg: transparent; + --tblr-popover-body-padding-x: 1rem; + --tblr-popover-body-padding-y: 1rem; + --tblr-popover-body-color: inherit; + --tblr-popover-arrow-width: 1rem; + --tblr-popover-arrow-height: 0.5rem; + --tblr-popover-arrow-border: var(--tblr-popover-border-color); + z-index: var(--tblr-popover-zindex); + display: block; + max-width: var(--tblr-popover-max-width); + font-family: var(--tblr-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.4285714286; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--tblr-popover-font-size); + word-wrap: break-word; + background-color: var(--tblr-popover-bg); + background-clip: padding-box; + border: var(--tblr-popover-border-width) solid var(--tblr-popover-border-color); + border-radius: var(--tblr-popover-border-radius); + box-shadow: var(--tblr-popover-box-shadow); +} +.popover .popover-arrow { + display: block; + width: var(--tblr-popover-arrow-width); + height: var(--tblr-popover-arrow-height); +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + border-width: var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * 0.5) 0; +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-top-color: var(--tblr-popover-arrow-border); +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: var(--tblr-popover-border-width); + border-top-color: var(--tblr-popover-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); + width: var(--tblr-popover-arrow-height); + height: var(--tblr-popover-arrow-width); +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + border-width: calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * 0.5) 0; +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-right-color: var(--tblr-popover-arrow-border); +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: var(--tblr-popover-border-width); + border-right-color: var(--tblr-popover-bg); +} + +/* rtl:end:ignore */ +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + border-width: 0 calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-bottom-color: var(--tblr-popover-arrow-border); +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: var(--tblr-popover-border-width); + border-bottom-color: var(--tblr-popover-bg); +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: var(--tblr-popover-arrow-width); + margin-left: calc(-0.5 * var(--tblr-popover-arrow-width)); + content: ""; + border-bottom: var(--tblr-popover-border-width) solid var(--tblr-popover-header-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); + width: var(--tblr-popover-arrow-height); + height: var(--tblr-popover-arrow-width); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + border-width: calc(var(--tblr-popover-arrow-width) * 0.5) 0 calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-left-color: var(--tblr-popover-arrow-border); +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: var(--tblr-popover-border-width); + border-left-color: var(--tblr-popover-bg); +} + +/* rtl:end:ignore */ +.popover-header { + padding: var(--tblr-popover-header-padding-y) var(--tblr-popover-header-padding-x); + margin-bottom: 0; + font-size: var(--tblr-popover-header-font-size); + color: var(--tblr-popover-header-color); + background-color: var(--tblr-popover-header-bg); + border-bottom: var(--tblr-popover-border-width) solid var(--tblr-popover-border-color); + border-top-left-radius: var(--tblr-popover-inner-border-radius); + border-top-right-radius: var(--tblr-popover-inner-border-radius); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: var(--tblr-popover-body-padding-y) var(--tblr-popover-body-padding-x); + color: var(--tblr-popover-body-color); +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, + .carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #ffffff; + text-align: center; + background: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #ffffff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 1.5rem; + height: 1.5rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +/* rtl:options: { + "autoRename": true, + "stringMap":[ { + "name" : "prev-next", + "search" : "prev", + "replace" : "next" + } ] +} */ +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #ffffff; + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #ffffff; + text-align: center; +} + +.carousel-dark .carousel-control-prev-icon, +.carousel-dark .carousel-control-next-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000000; +} +.carousel-dark .carousel-caption { + color: #000000; +} + +[data-bs-theme=dark] .carousel .carousel-control-prev-icon, +[data-bs-theme=dark] .carousel .carousel-control-next-icon, [data-bs-theme=dark].carousel .carousel-control-prev-icon, +[data-bs-theme=dark].carousel .carousel-control-next-icon { + filter: invert(1) grayscale(100); +} +[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] { + background-color: #000000; +} +[data-bs-theme=dark] .carousel .carousel-caption, [data-bs-theme=dark].carousel .carousel-caption { + color: #000000; +} + +.spinner-grow, +.spinner-border { + display: inline-block; + width: var(--tblr-spinner-width); + height: var(--tblr-spinner-height); + vertical-align: var(--tblr-spinner-vertical-align); + border-radius: 50%; + animation: var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name); +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} +.spinner-border { + --tblr-spinner-width: 1.5rem; + --tblr-spinner-height: 1.5rem; + --tblr-spinner-vertical-align: -0.125em; + --tblr-spinner-border-width: 2px; + --tblr-spinner-animation-speed: 0.75s; + --tblr-spinner-animation-name: spinner-border; + border: var(--tblr-spinner-border-width) solid currentcolor; + border-right-color: transparent; +} + +.spinner-border-sm { + --tblr-spinner-width: 1rem; + --tblr-spinner-height: 1rem; + --tblr-spinner-border-width: 1px; +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + --tblr-spinner-width: 1.5rem; + --tblr-spinner-height: 1.5rem; + --tblr-spinner-vertical-align: -0.125em; + --tblr-spinner-animation-speed: 0.75s; + --tblr-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} + +.spinner-grow-sm { + --tblr-spinner-width: 1rem; + --tblr-spinner-height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + --tblr-spinner-animation-speed: 1.5s; + } +} +.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { + --tblr-offcanvas-zindex: 1045; + --tblr-offcanvas-width: 400px; + --tblr-offcanvas-height: 30vh; + --tblr-offcanvas-padding-x: 1.5rem; + --tblr-offcanvas-padding-y: 1.5rem; + --tblr-offcanvas-color: var(--tblr-body-color); + --tblr-offcanvas-bg: var(--tblr-bg-surface); + --tblr-offcanvas-border-width: var(--tblr-border-width); + --tblr-offcanvas-border-color: var(--tblr-border-color); + --tblr-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --tblr-offcanvas-transition: transform 0.3s ease-in-out; + --tblr-offcanvas-title-line-height: 1.4285714286; +} + +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-sm.offcanvas-end { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-sm.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-sm.offcanvas-bottom { + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { + transform: none; + } + .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { + visibility: visible; + } +} +@media (min-width: 576px) { + .offcanvas-sm { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-sm .offcanvas-header { + display: none; + } + .offcanvas-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-md.offcanvas-end { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-md.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-md.offcanvas-bottom { + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { + transform: none; + } + .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { + visibility: visible; + } +} +@media (min-width: 768px) { + .offcanvas-md { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-md .offcanvas-header { + display: none; + } + .offcanvas-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-lg.offcanvas-end { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-lg.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-lg.offcanvas-bottom { + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { + transform: none; + } + .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { + visibility: visible; + } +} +@media (min-width: 992px) { + .offcanvas-lg { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-lg .offcanvas-header { + display: none; + } + .offcanvas-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xl.offcanvas-end { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { + transform: none; + } + .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { + visibility: visible; + } +} +@media (min-width: 1200px) { + .offcanvas-xl { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xl .offcanvas-header { + display: none; + } + .offcanvas-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xxl.offcanvas-end { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xxl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xxl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { + transform: none; + } + .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { + visibility: visible; + } +} +@media (min-width: 1400px) { + .offcanvas-xxl { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xxl .offcanvas-header { + display: none; + } + .offcanvas-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +.offcanvas { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas.offcanvas-start { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); +} +.offcanvas.offcanvas-end { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); +} +.offcanvas.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); +} +.offcanvas.offcanvas-bottom { + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas.showing, .offcanvas.show:not(.hiding) { + transform: none; +} +.offcanvas.showing, .offcanvas.hiding, .offcanvas.show { + visibility: visible; +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #182433; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.24; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x); +} +.offcanvas-header .btn-close { + padding: calc(var(--tblr-offcanvas-padding-y) * 0.5) calc(var(--tblr-offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--tblr-offcanvas-padding-y)); + margin-right: calc(-0.5 * var(--tblr-offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--tblr-offcanvas-padding-y)); +} + +.offcanvas-title { + margin-bottom: 0; + line-height: var(--tblr-offcanvas-title-line-height); +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x); + overflow-y: auto; +} + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.2; +} +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.1; + } +} +.placeholder-wave { + -webkit-mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.9) 75%, #000000 95%); + mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.9) 75%, #000000 95%); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} + +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.text-bg-primary { + color: #fcfdfe !important; + background-color: RGBA(32, 107, 196, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-secondary { + color: #fcfdfe !important; + background-color: RGBA(102, 115, 130, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-success { + color: #fcfdfe !important; + background-color: RGBA(47, 179, 68, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-info { + color: #fcfdfe !important; + background-color: RGBA(66, 153, 225, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-warning { + color: #fcfdfe !important; + background-color: RGBA(247, 103, 7, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-danger { + color: #fcfdfe !important; + background-color: RGBA(214, 57, 57, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-light { + color: #182433 !important; + background-color: RGBA(252, 253, 254, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-dark { + color: #fcfdfe !important; + background-color: RGBA(24, 36, 51, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-muted { + color: #fcfdfe !important; + background-color: RGBA(102, 115, 130, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-blue { + color: #fcfdfe !important; + background-color: RGBA(32, 107, 196, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-azure { + color: #fcfdfe !important; + background-color: RGBA(66, 153, 225, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-indigo { + color: #fcfdfe !important; + background-color: RGBA(66, 99, 235, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-purple { + color: #fcfdfe !important; + background-color: RGBA(174, 62, 201, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-pink { + color: #fcfdfe !important; + background-color: RGBA(214, 51, 108, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-red { + color: #fcfdfe !important; + background-color: RGBA(214, 57, 57, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-orange { + color: #fcfdfe !important; + background-color: RGBA(247, 103, 7, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-yellow { + color: #fcfdfe !important; + background-color: RGBA(245, 159, 0, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-lime { + color: #fcfdfe !important; + background-color: RGBA(116, 184, 22, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-green { + color: #fcfdfe !important; + background-color: RGBA(47, 179, 68, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-teal { + color: #fcfdfe !important; + background-color: RGBA(12, 166, 120, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-cyan { + color: #fcfdfe !important; + background-color: RGBA(23, 162, 184, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-facebook { + color: #fcfdfe !important; + background-color: RGBA(24, 119, 242, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-twitter { + color: #fcfdfe !important; + background-color: RGBA(29, 161, 242, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-linkedin { + color: #fcfdfe !important; + background-color: RGBA(10, 102, 194, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-google { + color: #fcfdfe !important; + background-color: RGBA(220, 78, 65, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-youtube { + color: #fcfdfe !important; + background-color: RGBA(255, 0, 0, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-vimeo { + color: #fcfdfe !important; + background-color: RGBA(26, 183, 234, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-dribbble { + color: #fcfdfe !important; + background-color: RGBA(234, 76, 137, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-github { + color: #fcfdfe !important; + background-color: RGBA(24, 23, 23, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-instagram { + color: #fcfdfe !important; + background-color: RGBA(228, 64, 95, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-pinterest { + color: #fcfdfe !important; + background-color: RGBA(189, 8, 28, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-vk { + color: #fcfdfe !important; + background-color: RGBA(99, 131, 168, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-rss { + color: #fcfdfe !important; + background-color: RGBA(255, 165, 0, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-flickr { + color: #fcfdfe !important; + background-color: RGBA(0, 99, 220, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-bitbucket { + color: #fcfdfe !important; + background-color: RGBA(0, 82, 204, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-tabler { + color: #fcfdfe !important; + background-color: RGBA(32, 107, 196, var(--tblr-bg-opacity, 1)) !important; +} + +.link-primary { + color: RGBA(var(--tblr-primary-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-primary-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-primary-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-primary:hover, .link-primary:focus { + color: RGBA(26, 86, 157, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(26, 86, 157, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(26, 86, 157, var(--tblr-link-underline-opacity, 1)); +} + +.link-secondary { + color: RGBA(var(--tblr-secondary-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-secondary-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-secondary-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-secondary:hover, .link-secondary:focus { + color: RGBA(82, 92, 104, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(82, 92, 104, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(82, 92, 104, var(--tblr-link-underline-opacity, 1)); +} + +.link-success { + color: RGBA(var(--tblr-success-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-success-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-success-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-success:hover, .link-success:focus { + color: RGBA(38, 143, 54, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(38, 143, 54, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(38, 143, 54, var(--tblr-link-underline-opacity, 1)); +} + +.link-info { + color: RGBA(var(--tblr-info-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-info-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-info-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-info:hover, .link-info:focus { + color: RGBA(53, 122, 180, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(53, 122, 180, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(53, 122, 180, var(--tblr-link-underline-opacity, 1)); +} + +.link-warning { + color: RGBA(var(--tblr-warning-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-warning-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-warning-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-warning:hover, .link-warning:focus { + color: RGBA(198, 82, 6, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(198, 82, 6, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(198, 82, 6, var(--tblr-link-underline-opacity, 1)); +} + +.link-danger { + color: RGBA(var(--tblr-danger-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-danger-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-danger-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-danger:hover, .link-danger:focus { + color: RGBA(171, 46, 46, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(171, 46, 46, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(171, 46, 46, var(--tblr-link-underline-opacity, 1)); +} + +.link-light { + color: RGBA(var(--tblr-light-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-light-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-light-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-light:hover, .link-light:focus { + color: RGBA(253, 253, 254, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(253, 253, 254, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(253, 253, 254, var(--tblr-link-underline-opacity, 1)); +} + +.link-dark { + color: RGBA(var(--tblr-dark-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-dark-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-dark-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-dark:hover, .link-dark:focus { + color: RGBA(19, 29, 41, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(19, 29, 41, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(19, 29, 41, var(--tblr-link-underline-opacity, 1)); +} + +.link-muted { + color: RGBA(var(--tblr-muted-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-muted-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-muted-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-muted:hover, .link-muted:focus { + color: RGBA(82, 92, 104, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(82, 92, 104, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(82, 92, 104, var(--tblr-link-underline-opacity, 1)); +} + +.link-blue { + color: RGBA(var(--tblr-blue-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-blue-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-blue-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-blue:hover, .link-blue:focus { + color: RGBA(26, 86, 157, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(26, 86, 157, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(26, 86, 157, var(--tblr-link-underline-opacity, 1)); +} + +.link-azure { + color: RGBA(var(--tblr-azure-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-azure-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-azure-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-azure:hover, .link-azure:focus { + color: RGBA(53, 122, 180, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(53, 122, 180, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(53, 122, 180, var(--tblr-link-underline-opacity, 1)); +} + +.link-indigo { + color: RGBA(var(--tblr-indigo-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-indigo-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-indigo-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-indigo:hover, .link-indigo:focus { + color: RGBA(53, 79, 188, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(53, 79, 188, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(53, 79, 188, var(--tblr-link-underline-opacity, 1)); +} + +.link-purple { + color: RGBA(var(--tblr-purple-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-purple-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-purple-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-purple:hover, .link-purple:focus { + color: RGBA(139, 50, 161, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(139, 50, 161, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(139, 50, 161, var(--tblr-link-underline-opacity, 1)); +} + +.link-pink { + color: RGBA(var(--tblr-pink-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-pink-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-pink-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-pink:hover, .link-pink:focus { + color: RGBA(171, 41, 86, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(171, 41, 86, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(171, 41, 86, var(--tblr-link-underline-opacity, 1)); +} + +.link-red { + color: RGBA(var(--tblr-red-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-red-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-red-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-red:hover, .link-red:focus { + color: RGBA(171, 46, 46, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(171, 46, 46, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(171, 46, 46, var(--tblr-link-underline-opacity, 1)); +} + +.link-orange { + color: RGBA(var(--tblr-orange-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-orange-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-orange-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-orange:hover, .link-orange:focus { + color: RGBA(198, 82, 6, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(198, 82, 6, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(198, 82, 6, var(--tblr-link-underline-opacity, 1)); +} + +.link-yellow { + color: RGBA(var(--tblr-yellow-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-yellow-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-yellow-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-yellow:hover, .link-yellow:focus { + color: RGBA(196, 127, 0, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(196, 127, 0, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(196, 127, 0, var(--tblr-link-underline-opacity, 1)); +} + +.link-lime { + color: RGBA(var(--tblr-lime-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-lime-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-lime-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-lime:hover, .link-lime:focus { + color: RGBA(93, 147, 18, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(93, 147, 18, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(93, 147, 18, var(--tblr-link-underline-opacity, 1)); +} + +.link-green { + color: RGBA(var(--tblr-green-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-green-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-green-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-green:hover, .link-green:focus { + color: RGBA(38, 143, 54, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(38, 143, 54, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(38, 143, 54, var(--tblr-link-underline-opacity, 1)); +} + +.link-teal { + color: RGBA(var(--tblr-teal-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-teal-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-teal-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-teal:hover, .link-teal:focus { + color: RGBA(10, 133, 96, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(10, 133, 96, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(10, 133, 96, var(--tblr-link-underline-opacity, 1)); +} + +.link-cyan { + color: RGBA(var(--tblr-cyan-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-cyan-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-cyan-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-cyan:hover, .link-cyan:focus { + color: RGBA(18, 130, 147, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(18, 130, 147, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(18, 130, 147, var(--tblr-link-underline-opacity, 1)); +} + +.link-facebook { + color: RGBA(var(--tblr-facebook-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-facebook-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-facebook-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-facebook:hover, .link-facebook:focus { + color: RGBA(19, 95, 194, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(19, 95, 194, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(19, 95, 194, var(--tblr-link-underline-opacity, 1)); +} + +.link-twitter { + color: RGBA(var(--tblr-twitter-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-twitter-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-twitter-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-twitter:hover, .link-twitter:focus { + color: RGBA(23, 129, 194, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(23, 129, 194, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(23, 129, 194, var(--tblr-link-underline-opacity, 1)); +} + +.link-linkedin { + color: RGBA(var(--tblr-linkedin-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-linkedin-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-linkedin-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-linkedin:hover, .link-linkedin:focus { + color: RGBA(8, 82, 155, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(8, 82, 155, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(8, 82, 155, var(--tblr-link-underline-opacity, 1)); +} + +.link-google { + color: RGBA(var(--tblr-google-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-google-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-google-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-google:hover, .link-google:focus { + color: RGBA(176, 62, 52, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(176, 62, 52, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(176, 62, 52, var(--tblr-link-underline-opacity, 1)); +} + +.link-youtube { + color: RGBA(var(--tblr-youtube-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-youtube-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-youtube-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-youtube:hover, .link-youtube:focus { + color: RGBA(204, 0, 0, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(204, 0, 0, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(204, 0, 0, var(--tblr-link-underline-opacity, 1)); +} + +.link-vimeo { + color: RGBA(var(--tblr-vimeo-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-vimeo-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-vimeo-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-vimeo:hover, .link-vimeo:focus { + color: RGBA(21, 146, 187, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(21, 146, 187, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(21, 146, 187, var(--tblr-link-underline-opacity, 1)); +} + +.link-dribbble { + color: RGBA(var(--tblr-dribbble-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-dribbble-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-dribbble-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-dribbble:hover, .link-dribbble:focus { + color: RGBA(187, 61, 110, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(187, 61, 110, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(187, 61, 110, var(--tblr-link-underline-opacity, 1)); +} + +.link-github { + color: RGBA(var(--tblr-github-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-github-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-github-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-github:hover, .link-github:focus { + color: RGBA(19, 18, 18, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(19, 18, 18, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(19, 18, 18, var(--tblr-link-underline-opacity, 1)); +} + +.link-instagram { + color: RGBA(var(--tblr-instagram-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-instagram-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-instagram-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-instagram:hover, .link-instagram:focus { + color: RGBA(182, 51, 76, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(182, 51, 76, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(182, 51, 76, var(--tblr-link-underline-opacity, 1)); +} + +.link-pinterest { + color: RGBA(var(--tblr-pinterest-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-pinterest-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-pinterest-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-pinterest:hover, .link-pinterest:focus { + color: RGBA(151, 6, 22, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(151, 6, 22, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(151, 6, 22, var(--tblr-link-underline-opacity, 1)); +} + +.link-vk { + color: RGBA(var(--tblr-vk-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-vk-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-vk-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-vk:hover, .link-vk:focus { + color: RGBA(79, 105, 134, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(79, 105, 134, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(79, 105, 134, var(--tblr-link-underline-opacity, 1)); +} + +.link-rss { + color: RGBA(var(--tblr-rss-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-rss-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-rss-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-rss:hover, .link-rss:focus { + color: RGBA(204, 132, 0, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(204, 132, 0, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(204, 132, 0, var(--tblr-link-underline-opacity, 1)); +} + +.link-flickr { + color: RGBA(var(--tblr-flickr-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-flickr-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-flickr-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-flickr:hover, .link-flickr:focus { + color: RGBA(0, 79, 176, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(0, 79, 176, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(0, 79, 176, var(--tblr-link-underline-opacity, 1)); +} + +.link-bitbucket { + color: RGBA(var(--tblr-bitbucket-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-bitbucket-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-bitbucket-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-bitbucket:hover, .link-bitbucket:focus { + color: RGBA(0, 66, 163, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(0, 66, 163, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(0, 66, 163, var(--tblr-link-underline-opacity, 1)); +} + +.link-tabler { + color: RGBA(var(--tblr-tabler-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-tabler-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-tabler-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-tabler:hover, .link-tabler:focus { + color: RGBA(26, 86, 157, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(26, 86, 157, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(26, 86, 157, var(--tblr-link-underline-opacity, 1)); +} + +.link-body-emphasis { + color: RGBA(var(--tblr-emphasis-color-rgb), var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(var(--tblr-emphasis-color-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-emphasis-color-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-body-emphasis:hover, .link-body-emphasis:focus { + color: RGBA(var(--tblr-emphasis-color-rgb), var(--tblr-link-opacity, 0.75)); + -webkit-text-decoration-color: RGBA(var(--tblr-emphasis-color-rgb), var(--tblr-link-underline-opacity, 0.75)); + text-decoration-color: RGBA(var(--tblr-emphasis-color-rgb), var(--tblr-link-underline-opacity, 0.75)); +} + +.focus-ring:focus { + outline: 0; + box-shadow: var(--tblr-focus-ring-x, 0) var(--tblr-focus-ring-y, 0) var(--tblr-focus-ring-blur, 0) var(--tblr-focus-ring-width) var(--tblr-focus-ring-color); +} + +.icon-link { + display: inline-flex; + gap: 0.375rem; + align-items: center; + -webkit-text-decoration-color: rgba(var(--tblr-link-color-rgb), var(--tblr-link-opacity, 0.5)); + text-decoration-color: rgba(var(--tblr-link-color-rgb), var(--tblr-link-opacity, 0.5)); + text-underline-offset: 0.25em; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.icon-link > .bi { + flex-shrink: 0; + width: 1em; + height: 1em; + fill: currentcolor; + transition: 0.2s ease-in-out transform; +} +@media (prefers-reduced-motion: reduce) { + .icon-link > .bi { + transition: none; + } +} + +.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi { + transform: var(--tblr-icon-link-transform, translate3d(0.25em, 0, 0)); +} + +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--tblr-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --tblr-aspect-ratio: 100%; +} + +.ratio-2x1 { + --tblr-aspect-ratio: 50%; +} + +.ratio-1x2 { + --tblr-aspect-ratio: 200%; +} + +.ratio-3x1 { + --tblr-aspect-ratio: 33.3333333333%; +} + +.ratio-1x3 { + --tblr-aspect-ratio: 300%; +} + +.ratio-4x3 { + --tblr-aspect-ratio: 75%; +} + +.ratio-3x4 { + --tblr-aspect-ratio: 133.3333333333%; +} + +.ratio-16x9 { + --tblr-aspect-ratio: 56.25%; +} + +.ratio-9x16 { + --tblr-aspect-ratio: 177.7777777778%; +} + +.ratio-21x9 { + --tblr-aspect-ratio: 42.8571428571%; +} + +.ratio-9x21 { + --tblr-aspect-ratio: 233.3333333333%; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} + +.sticky-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} +.visually-hidden:not(caption), +.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) { + position: absolute !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: 1px; + min-height: 1em; + background-color: currentcolor; + opacity: 0.16; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.float-start { + float: left !important; +} + +.float-end { + float: right !important; +} + +.float-none { + float: none !important; +} + +.object-fit-contain { + -o-object-fit: contain !important; + object-fit: contain !important; +} + +.object-fit-cover { + -o-object-fit: cover !important; + object-fit: cover !important; +} + +.object-fit-fill { + -o-object-fit: fill !important; + object-fit: fill !important; +} + +.object-fit-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; +} + +.object-fit-none { + -o-object-fit: none !important; + object-fit: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.overflow-x-auto { + overflow-x: auto !important; +} + +.overflow-x-hidden { + overflow-x: hidden !important; +} + +.overflow-x-visible { + overflow-x: visible !important; +} + +.overflow-x-scroll { + overflow-x: scroll !important; +} + +.overflow-y-auto { + overflow-y: auto !important; +} + +.overflow-y-hidden { + overflow-y: hidden !important; +} + +.overflow-y-visible { + overflow-y: visible !important; +} + +.overflow-y-scroll { + overflow-y: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.focus-ring-primary { + --tblr-focus-ring-color: rgba(var(--tblr-primary-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-secondary { + --tblr-focus-ring-color: rgba(var(--tblr-secondary-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-success { + --tblr-focus-ring-color: rgba(var(--tblr-success-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-info { + --tblr-focus-ring-color: rgba(var(--tblr-info-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-warning { + --tblr-focus-ring-color: rgba(var(--tblr-warning-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-danger { + --tblr-focus-ring-color: rgba(var(--tblr-danger-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-light { + --tblr-focus-ring-color: rgba(var(--tblr-light-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-dark { + --tblr-focus-ring-color: rgba(var(--tblr-dark-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-muted { + --tblr-focus-ring-color: rgba(var(--tblr-muted-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-blue { + --tblr-focus-ring-color: rgba(var(--tblr-blue-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-azure { + --tblr-focus-ring-color: rgba(var(--tblr-azure-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-indigo { + --tblr-focus-ring-color: rgba(var(--tblr-indigo-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-purple { + --tblr-focus-ring-color: rgba(var(--tblr-purple-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-pink { + --tblr-focus-ring-color: rgba(var(--tblr-pink-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-red { + --tblr-focus-ring-color: rgba(var(--tblr-red-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-orange { + --tblr-focus-ring-color: rgba(var(--tblr-orange-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-yellow { + --tblr-focus-ring-color: rgba(var(--tblr-yellow-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-lime { + --tblr-focus-ring-color: rgba(var(--tblr-lime-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-green { + --tblr-focus-ring-color: rgba(var(--tblr-green-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-teal { + --tblr-focus-ring-color: rgba(var(--tblr-teal-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-cyan { + --tblr-focus-ring-color: rgba(var(--tblr-cyan-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-facebook { + --tblr-focus-ring-color: rgba(var(--tblr-facebook-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-twitter { + --tblr-focus-ring-color: rgba(var(--tblr-twitter-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-linkedin { + --tblr-focus-ring-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-google { + --tblr-focus-ring-color: rgba(var(--tblr-google-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-youtube { + --tblr-focus-ring-color: rgba(var(--tblr-youtube-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-vimeo { + --tblr-focus-ring-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-dribbble { + --tblr-focus-ring-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-github { + --tblr-focus-ring-color: rgba(var(--tblr-github-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-instagram { + --tblr-focus-ring-color: rgba(var(--tblr-instagram-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-pinterest { + --tblr-focus-ring-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-vk { + --tblr-focus-ring-color: rgba(var(--tblr-vk-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-rss { + --tblr-focus-ring-color: rgba(var(--tblr-rss-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-flickr { + --tblr-focus-ring-color: rgba(var(--tblr-flickr-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-bitbucket { + --tblr-focus-ring-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-tabler { + --tblr-focus-ring-color: rgba(var(--tblr-tabler-rgb), var(--tblr-focus-ring-opacity)); +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-wide { + border: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-top-wide { + border-top: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-end-wide { + border-right: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-bottom-wide { + border-bottom: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-start-wide { + border-left: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-primary { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-primary-rgb), var(--tblr-border-opacity)) !important; +} + +.border-secondary { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-secondary-rgb), var(--tblr-border-opacity)) !important; +} + +.border-success { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-success-rgb), var(--tblr-border-opacity)) !important; +} + +.border-info { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-info-rgb), var(--tblr-border-opacity)) !important; +} + +.border-warning { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-warning-rgb), var(--tblr-border-opacity)) !important; +} + +.border-danger { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-danger-rgb), var(--tblr-border-opacity)) !important; +} + +.border-light { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-light-rgb), var(--tblr-border-opacity)) !important; +} + +.border-dark { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-dark-rgb), var(--tblr-border-opacity)) !important; +} + +.border-muted { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-muted-rgb), var(--tblr-border-opacity)) !important; +} + +.border-blue { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-blue-rgb), var(--tblr-border-opacity)) !important; +} + +.border-azure { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-azure-rgb), var(--tblr-border-opacity)) !important; +} + +.border-indigo { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-indigo-rgb), var(--tblr-border-opacity)) !important; +} + +.border-purple { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-purple-rgb), var(--tblr-border-opacity)) !important; +} + +.border-pink { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-pink-rgb), var(--tblr-border-opacity)) !important; +} + +.border-red { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-red-rgb), var(--tblr-border-opacity)) !important; +} + +.border-orange { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-orange-rgb), var(--tblr-border-opacity)) !important; +} + +.border-yellow { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-yellow-rgb), var(--tblr-border-opacity)) !important; +} + +.border-lime { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-lime-rgb), var(--tblr-border-opacity)) !important; +} + +.border-green { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-green-rgb), var(--tblr-border-opacity)) !important; +} + +.border-teal { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-teal-rgb), var(--tblr-border-opacity)) !important; +} + +.border-cyan { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-cyan-rgb), var(--tblr-border-opacity)) !important; +} + +.border-facebook { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-facebook-rgb), var(--tblr-border-opacity)) !important; +} + +.border-twitter { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-twitter-rgb), var(--tblr-border-opacity)) !important; +} + +.border-linkedin { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-border-opacity)) !important; +} + +.border-google { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-google-rgb), var(--tblr-border-opacity)) !important; +} + +.border-youtube { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-youtube-rgb), var(--tblr-border-opacity)) !important; +} + +.border-vimeo { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-border-opacity)) !important; +} + +.border-dribbble { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-border-opacity)) !important; +} + +.border-github { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-github-rgb), var(--tblr-border-opacity)) !important; +} + +.border-instagram { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-instagram-rgb), var(--tblr-border-opacity)) !important; +} + +.border-pinterest { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-border-opacity)) !important; +} + +.border-vk { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-vk-rgb), var(--tblr-border-opacity)) !important; +} + +.border-rss { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-rss-rgb), var(--tblr-border-opacity)) !important; +} + +.border-flickr { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-flickr-rgb), var(--tblr-border-opacity)) !important; +} + +.border-bitbucket { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-border-opacity)) !important; +} + +.border-tabler { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-tabler-rgb), var(--tblr-border-opacity)) !important; +} + +.border-black { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-black-rgb), var(--tblr-border-opacity)) !important; +} + +.border-white { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-white-rgb), var(--tblr-border-opacity)) !important; +} + +.border-primary-subtle { + border-color: var(--tblr-primary-border-subtle) !important; +} + +.border-secondary-subtle { + border-color: var(--tblr-secondary-border-subtle) !important; +} + +.border-success-subtle { + border-color: var(--tblr-success-border-subtle) !important; +} + +.border-info-subtle { + border-color: var(--tblr-info-border-subtle) !important; +} + +.border-warning-subtle { + border-color: var(--tblr-warning-border-subtle) !important; +} + +.border-danger-subtle { + border-color: var(--tblr-danger-border-subtle) !important; +} + +.border-light-subtle { + border-color: var(--tblr-light-border-subtle) !important; +} + +.border-dark-subtle { + border-color: var(--tblr-dark-border-subtle) !important; +} + +.border-1 { + border-width: 1px !important; +} + +.border-2 { + border-width: 2px !important; +} + +.border-3 { + border-width: 3px !important; +} + +.border-4 { + border-width: 4px !important; +} + +.border-5 { + border-width: 5px !important; +} + +.border-opacity-10 { + --tblr-border-opacity: 0.1; +} + +.border-opacity-25 { + --tblr-border-opacity: 0.25; +} + +.border-opacity-50 { + --tblr-border-opacity: 0.5; +} + +.border-opacity-75 { + --tblr-border-opacity: 0.75; +} + +.border-opacity-100 { + --tblr-border-opacity: 1; +} + +.w-0 { + width: 0 !important; +} + +.w-1 { + width: 0.25rem !important; +} + +.w-2 { + width: 0.5rem !important; +} + +.w-3 { + width: 1rem !important; +} + +.w-4 { + width: 1.5rem !important; +} + +.w-5 { + width: 2rem !important; +} + +.w-6 { + width: 3rem !important; +} + +.w-7 { + width: 5rem !important; +} + +.w-8 { + width: 8rem !important; +} + +.w-25 { + width: 25% !important; +} + +.w-33 { + width: 33.33333% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-66 { + width: 66.66666% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.h-0 { + height: 0 !important; +} + +.h-1 { + height: 0.25rem !important; +} + +.h-2 { + height: 0.5rem !important; +} + +.h-3 { + height: 1rem !important; +} + +.h-4 { + height: 1.5rem !important; +} + +.h-5 { + height: 2rem !important; +} + +.h-6 { + height: 3rem !important; +} + +.h-7 { + height: 5rem !important; +} + +.h-8 { + height: 8rem !important; +} + +.h-25 { + height: 25% !important; +} + +.h-33 { + height: 33.33333% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-66 { + height: 66.66666% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 2rem !important; +} + +.m-6 { + margin: 3rem !important; +} + +.m-7 { + margin: 5rem !important; +} + +.m-8 { + margin: 8rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 2rem !important; + margin-left: 2rem !important; +} + +.mx-6 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-7 { + margin-right: 5rem !important; + margin-left: 5rem !important; +} + +.mx-8 { + margin-right: 8rem !important; + margin-left: 8rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; +} + +.my-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-7 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; +} + +.my-8 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 2rem !important; +} + +.mt-6 { + margin-top: 3rem !important; +} + +.mt-7 { + margin-top: 5rem !important; +} + +.mt-8 { + margin-top: 8rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 2rem !important; +} + +.me-6 { + margin-right: 3rem !important; +} + +.me-7 { + margin-right: 5rem !important; +} + +.me-8 { + margin-right: 8rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 2rem !important; +} + +.mb-6 { + margin-bottom: 3rem !important; +} + +.mb-7 { + margin-bottom: 5rem !important; +} + +.mb-8 { + margin-bottom: 8rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 2rem !important; +} + +.ms-6 { + margin-left: 3rem !important; +} + +.ms-7 { + margin-left: 5rem !important; +} + +.ms-8 { + margin-left: 8rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 2rem !important; +} + +.p-6 { + padding: 3rem !important; +} + +.p-7 { + padding: 5rem !important; +} + +.p-8 { + padding: 8rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 2rem !important; + padding-left: 2rem !important; +} + +.px-6 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.px-7 { + padding-right: 5rem !important; + padding-left: 5rem !important; +} + +.px-8 { + padding-right: 8rem !important; + padding-left: 8rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; +} + +.py-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.py-7 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; +} + +.py-8 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 2rem !important; +} + +.pt-6 { + padding-top: 3rem !important; +} + +.pt-7 { + padding-top: 5rem !important; +} + +.pt-8 { + padding-top: 8rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 2rem !important; +} + +.pe-6 { + padding-right: 3rem !important; +} + +.pe-7 { + padding-right: 5rem !important; +} + +.pe-8 { + padding-right: 8rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 2rem !important; +} + +.pb-6 { + padding-bottom: 3rem !important; +} + +.pb-7 { + padding-bottom: 5rem !important; +} + +.pb-8 { + padding-bottom: 8rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 2rem !important; +} + +.ps-6 { + padding-left: 3rem !important; +} + +.ps-7 { + padding-left: 5rem !important; +} + +.ps-8 { + padding-left: 8rem !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 2rem !important; +} + +.gap-6 { + gap: 3rem !important; +} + +.gap-7 { + gap: 5rem !important; +} + +.gap-8 { + gap: 8rem !important; +} + +.row-gap-0 { + row-gap: 0 !important; +} + +.row-gap-1 { + row-gap: 0.25rem !important; +} + +.row-gap-2 { + row-gap: 0.5rem !important; +} + +.row-gap-3 { + row-gap: 1rem !important; +} + +.row-gap-4 { + row-gap: 1.5rem !important; +} + +.row-gap-5 { + row-gap: 2rem !important; +} + +.row-gap-6 { + row-gap: 3rem !important; +} + +.row-gap-7 { + row-gap: 5rem !important; +} + +.row-gap-8 { + row-gap: 8rem !important; +} + +.column-gap-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; +} + +.column-gap-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; +} + +.column-gap-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; +} + +.column-gap-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; +} + +.column-gap-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; +} + +.column-gap-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; +} + +.column-gap-6 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; +} + +.column-gap-7 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; +} + +.column-gap-8 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; +} + +.font-monospace { + font-family: var(--tblr-font-monospace) !important; +} + +.fs-1 { + font-size: 1.5rem !important; +} + +.fs-2 { + font-size: 1.25rem !important; +} + +.fs-3 { + font-size: 1rem !important; +} + +.fs-4 { + font-size: 0.875rem !important; +} + +.fs-5 { + font-size: 0.75rem !important; +} + +.fs-6 { + font-size: 0.625rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-medium { + font-weight: 500 !important; +} + +.fw-semibold { + font-weight: 600 !important; +} + +.fw-bold { + font-weight: 600 !important; +} + +.fw-bolder { + font-weight: bolder !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: 1.1428571429 !important; +} + +.lh-base { + line-height: 1.4285714286 !important; +} + +.lh-lg { + line-height: 1.7142857143 !important; +} + +.text-start { + text-align: left !important; +} + +.text-end { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.text-primary { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-primary-rgb), var(--tblr-text-opacity)) !important; +} + +.text-secondary { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-secondary-rgb), var(--tblr-text-opacity)) !important; +} + +.text-success { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-success-rgb), var(--tblr-text-opacity)) !important; +} + +.text-info { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-info-rgb), var(--tblr-text-opacity)) !important; +} + +.text-warning { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-warning-rgb), var(--tblr-text-opacity)) !important; +} + +.text-danger { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-danger-rgb), var(--tblr-text-opacity)) !important; +} + +.text-light { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-light-rgb), var(--tblr-text-opacity)) !important; +} + +.text-dark { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-dark-rgb), var(--tblr-text-opacity)) !important; +} + +.text-muted { + --tblr-text-opacity: 1; + color: var(--tblr-secondary-color) !important; +} + +.text-blue { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-blue-rgb), var(--tblr-text-opacity)) !important; +} + +.text-azure { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-azure-rgb), var(--tblr-text-opacity)) !important; +} + +.text-indigo { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-indigo-rgb), var(--tblr-text-opacity)) !important; +} + +.text-purple { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-purple-rgb), var(--tblr-text-opacity)) !important; +} + +.text-pink { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-pink-rgb), var(--tblr-text-opacity)) !important; +} + +.text-red { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-red-rgb), var(--tblr-text-opacity)) !important; +} + +.text-orange { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-orange-rgb), var(--tblr-text-opacity)) !important; +} + +.text-yellow { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-yellow-rgb), var(--tblr-text-opacity)) !important; +} + +.text-lime { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-lime-rgb), var(--tblr-text-opacity)) !important; +} + +.text-green { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-green-rgb), var(--tblr-text-opacity)) !important; +} + +.text-teal { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-teal-rgb), var(--tblr-text-opacity)) !important; +} + +.text-cyan { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-cyan-rgb), var(--tblr-text-opacity)) !important; +} + +.text-facebook { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-facebook-rgb), var(--tblr-text-opacity)) !important; +} + +.text-twitter { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-twitter-rgb), var(--tblr-text-opacity)) !important; +} + +.text-linkedin { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-linkedin-rgb), var(--tblr-text-opacity)) !important; +} + +.text-google { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-google-rgb), var(--tblr-text-opacity)) !important; +} + +.text-youtube { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-youtube-rgb), var(--tblr-text-opacity)) !important; +} + +.text-vimeo { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-vimeo-rgb), var(--tblr-text-opacity)) !important; +} + +.text-dribbble { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-dribbble-rgb), var(--tblr-text-opacity)) !important; +} + +.text-github { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-github-rgb), var(--tblr-text-opacity)) !important; +} + +.text-instagram { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-instagram-rgb), var(--tblr-text-opacity)) !important; +} + +.text-pinterest { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-pinterest-rgb), var(--tblr-text-opacity)) !important; +} + +.text-vk { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-vk-rgb), var(--tblr-text-opacity)) !important; +} + +.text-rss { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-rss-rgb), var(--tblr-text-opacity)) !important; +} + +.text-flickr { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-flickr-rgb), var(--tblr-text-opacity)) !important; +} + +.text-bitbucket { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-text-opacity)) !important; +} + +.text-tabler { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-tabler-rgb), var(--tblr-text-opacity)) !important; +} + +.text-black { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-black-rgb), var(--tblr-text-opacity)) !important; +} + +.text-white { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-white-rgb), var(--tblr-text-opacity)) !important; +} + +.text-body { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-body-color-rgb), var(--tblr-text-opacity)) !important; +} + +.text-black-50 { + --tblr-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --tblr-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-body-secondary { + --tblr-text-opacity: 1; + color: var(--tblr-secondary-color) !important; +} + +.text-body-tertiary { + --tblr-text-opacity: 1; + color: var(--tblr-tertiary-color) !important; +} + +.text-body-emphasis { + --tblr-text-opacity: 1; + color: var(--tblr-emphasis-color) !important; +} + +.text-reset { + --tblr-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --tblr-text-opacity: 0.25; +} + +.text-opacity-50 { + --tblr-text-opacity: 0.5; +} + +.text-opacity-75 { + --tblr-text-opacity: 0.75; +} + +.text-opacity-100 { + --tblr-text-opacity: 1; +} + +.text-primary-emphasis { + color: var(--tblr-primary-text-emphasis) !important; +} + +.text-secondary-emphasis { + color: var(--tblr-secondary-text-emphasis) !important; +} + +.text-success-emphasis { + color: var(--tblr-success-text-emphasis) !important; +} + +.text-info-emphasis { + color: var(--tblr-info-text-emphasis) !important; +} + +.text-warning-emphasis { + color: var(--tblr-warning-text-emphasis) !important; +} + +.text-danger-emphasis { + color: var(--tblr-danger-text-emphasis) !important; +} + +.text-light-emphasis { + color: var(--tblr-light-text-emphasis) !important; +} + +.text-dark-emphasis { + color: var(--tblr-dark-text-emphasis) !important; +} + +.link-opacity-10 { + --tblr-link-opacity: 0.1; +} + +.link-opacity-10-hover:hover { + --tblr-link-opacity: 0.1; +} + +.link-opacity-25 { + --tblr-link-opacity: 0.25; +} + +.link-opacity-25-hover:hover { + --tblr-link-opacity: 0.25; +} + +.link-opacity-50 { + --tblr-link-opacity: 0.5; +} + +.link-opacity-50-hover:hover { + --tblr-link-opacity: 0.5; +} + +.link-opacity-75 { + --tblr-link-opacity: 0.75; +} + +.link-opacity-75-hover:hover { + --tblr-link-opacity: 0.75; +} + +.link-opacity-100 { + --tblr-link-opacity: 1; +} + +.link-opacity-100-hover:hover { + --tblr-link-opacity: 1; +} + +.link-offset-1 { + text-underline-offset: 0.125em !important; +} + +.link-offset-1-hover:hover { + text-underline-offset: 0.125em !important; +} + +.link-offset-2 { + text-underline-offset: 0.25em !important; +} + +.link-offset-2-hover:hover { + text-underline-offset: 0.25em !important; +} + +.link-offset-3 { + text-underline-offset: 0.375em !important; +} + +.link-offset-3-hover:hover { + text-underline-offset: 0.375em !important; +} + +.link-underline-primary { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-primary-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-primary-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-secondary { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-secondary-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-secondary-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-success { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-success-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-success-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-info { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-info-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-info-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-warning { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-warning-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-warning-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-danger { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-danger-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-danger-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-light { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-light-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-light-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-dark { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-dark-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-dark-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-muted { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-muted-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-muted-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-blue { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-blue-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-blue-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-azure { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-azure-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-azure-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-indigo { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-indigo-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-indigo-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-purple { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-purple-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-purple-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-pink { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-pink-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-pink-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-red { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-red-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-red-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-orange { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-orange-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-orange-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-yellow { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-yellow-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-yellow-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-lime { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-lime-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-lime-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-green { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-green-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-green-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-teal { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-teal-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-teal-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-cyan { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-cyan-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-cyan-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-facebook { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-facebook-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-facebook-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-twitter { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-twitter-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-twitter-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-linkedin { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-google { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-google-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-google-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-youtube { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-youtube-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-youtube-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-vimeo { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-dribbble { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-github { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-github-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-github-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-instagram { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-instagram-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-instagram-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-pinterest { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-vk { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-vk-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-vk-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-rss { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-rss-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-rss-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-flickr { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-flickr-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-flickr-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-bitbucket { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-tabler { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-tabler-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-tabler-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-link-color-rgb), var(--tblr-link-underline-opacity, 1)) !important; + text-decoration-color: rgba(var(--tblr-link-color-rgb), var(--tblr-link-underline-opacity, 1)) !important; +} + +.link-underline-opacity-0 { + --tblr-link-underline-opacity: 0; +} + +.link-underline-opacity-0-hover:hover { + --tblr-link-underline-opacity: 0; +} + +.link-underline-opacity-10 { + --tblr-link-underline-opacity: 0.1; +} + +.link-underline-opacity-10-hover:hover { + --tblr-link-underline-opacity: 0.1; +} + +.link-underline-opacity-25 { + --tblr-link-underline-opacity: 0.25; +} + +.link-underline-opacity-25-hover:hover { + --tblr-link-underline-opacity: 0.25; +} + +.link-underline-opacity-50 { + --tblr-link-underline-opacity: 0.5; +} + +.link-underline-opacity-50-hover:hover { + --tblr-link-underline-opacity: 0.5; +} + +.link-underline-opacity-75 { + --tblr-link-underline-opacity: 0.75; +} + +.link-underline-opacity-75-hover:hover { + --tblr-link-underline-opacity: 0.75; +} + +.link-underline-opacity-100 { + --tblr-link-underline-opacity: 1; +} + +.link-underline-opacity-100-hover:hover { + --tblr-link-underline-opacity: 1; +} + +.bg-primary { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-primary-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-secondary { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-secondary-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-success { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-success-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-info { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-info-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-warning { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-warning-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-danger { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-danger-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-light { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-light-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-dark { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-dark-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-muted { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-muted-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-blue { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-blue-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-azure { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-azure-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-indigo { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-indigo-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-purple { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-purple-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-pink { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-pink-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-red { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-red-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-orange { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-orange-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-yellow { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-yellow-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-lime { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-lime-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-green { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-green-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-teal { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-teal-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-cyan { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-cyan-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-facebook { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-facebook-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-twitter { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-twitter-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-linkedin { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-google { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-google-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-youtube { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-youtube-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-vimeo { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-dribbble { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-github { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-github-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-instagram { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-instagram-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-pinterest { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-vk { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-vk-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-rss { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-rss-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-flickr { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-flickr-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-bitbucket { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-tabler { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-tabler-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-black { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-black-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-white { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-white-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-body { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-body-bg-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-transparent { + --tblr-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-body-secondary { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-secondary-bg-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-body-tertiary { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-tertiary-bg-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-opacity-10 { + --tblr-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --tblr-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --tblr-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --tblr-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --tblr-bg-opacity: 1; +} + +.bg-primary-subtle { + background-color: var(--tblr-primary-bg-subtle) !important; +} + +.bg-secondary-subtle { + background-color: var(--tblr-secondary-bg-subtle) !important; +} + +.bg-success-subtle { + background-color: var(--tblr-success-bg-subtle) !important; +} + +.bg-info-subtle { + background-color: var(--tblr-info-bg-subtle) !important; +} + +.bg-warning-subtle { + background-color: var(--tblr-warning-bg-subtle) !important; +} + +.bg-danger-subtle { + background-color: var(--tblr-danger-bg-subtle) !important; +} + +.bg-light-subtle { + background-color: var(--tblr-light-bg-subtle) !important; +} + +.bg-dark-subtle { + background-color: var(--tblr-dark-bg-subtle) !important; +} + +.bg-gradient { + background-image: var(--tblr-gradient) !important; +} + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + -ms-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: var(--tblr-border-radius) !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-2 { + border-radius: var(--tblr-border-radius) !important; +} + +.rounded-3 { + border-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-4 { + border-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-5 { + border-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: var(--tblr-border-radius-pill) !important; +} + +.rounded-top { + border-top-left-radius: var(--tblr-border-radius) !important; + border-top-right-radius: var(--tblr-border-radius) !important; +} + +.rounded-top-0 { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} + +.rounded-top-1 { + border-top-left-radius: var(--tblr-border-radius-sm) !important; + border-top-right-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-top-2 { + border-top-left-radius: var(--tblr-border-radius) !important; + border-top-right-radius: var(--tblr-border-radius) !important; +} + +.rounded-top-3 { + border-top-left-radius: var(--tblr-border-radius-lg) !important; + border-top-right-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-top-4 { + border-top-left-radius: var(--tblr-border-radius-xl) !important; + border-top-right-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-top-5 { + border-top-left-radius: var(--tblr-border-radius-xxl) !important; + border-top-right-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-top-circle { + border-top-left-radius: 50% !important; + border-top-right-radius: 50% !important; +} + +.rounded-top-pill { + border-top-left-radius: var(--tblr-border-radius-pill) !important; + border-top-right-radius: var(--tblr-border-radius-pill) !important; +} + +.rounded-end { + border-top-right-radius: var(--tblr-border-radius) !important; + border-bottom-right-radius: var(--tblr-border-radius) !important; +} + +.rounded-end-0 { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.rounded-end-1 { + border-top-right-radius: var(--tblr-border-radius-sm) !important; + border-bottom-right-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-end-2 { + border-top-right-radius: var(--tblr-border-radius) !important; + border-bottom-right-radius: var(--tblr-border-radius) !important; +} + +.rounded-end-3 { + border-top-right-radius: var(--tblr-border-radius-lg) !important; + border-bottom-right-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-end-4 { + border-top-right-radius: var(--tblr-border-radius-xl) !important; + border-bottom-right-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-end-5 { + border-top-right-radius: var(--tblr-border-radius-xxl) !important; + border-bottom-right-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-end-circle { + border-top-right-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} + +.rounded-end-pill { + border-top-right-radius: var(--tblr-border-radius-pill) !important; + border-bottom-right-radius: var(--tblr-border-radius-pill) !important; +} + +.rounded-bottom { + border-bottom-right-radius: var(--tblr-border-radius) !important; + border-bottom-left-radius: var(--tblr-border-radius) !important; +} + +.rounded-bottom-0 { + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} + +.rounded-bottom-1 { + border-bottom-right-radius: var(--tblr-border-radius-sm) !important; + border-bottom-left-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-bottom-2 { + border-bottom-right-radius: var(--tblr-border-radius) !important; + border-bottom-left-radius: var(--tblr-border-radius) !important; +} + +.rounded-bottom-3 { + border-bottom-right-radius: var(--tblr-border-radius-lg) !important; + border-bottom-left-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-bottom-4 { + border-bottom-right-radius: var(--tblr-border-radius-xl) !important; + border-bottom-left-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-bottom-5 { + border-bottom-right-radius: var(--tblr-border-radius-xxl) !important; + border-bottom-left-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-bottom-circle { + border-bottom-right-radius: 50% !important; + border-bottom-left-radius: 50% !important; +} + +.rounded-bottom-pill { + border-bottom-right-radius: var(--tblr-border-radius-pill) !important; + border-bottom-left-radius: var(--tblr-border-radius-pill) !important; +} + +.rounded-start { + border-bottom-left-radius: var(--tblr-border-radius) !important; + border-top-left-radius: var(--tblr-border-radius) !important; +} + +.rounded-start-0 { + border-bottom-left-radius: 0 !important; + border-top-left-radius: 0 !important; +} + +.rounded-start-1 { + border-bottom-left-radius: var(--tblr-border-radius-sm) !important; + border-top-left-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-start-2 { + border-bottom-left-radius: var(--tblr-border-radius) !important; + border-top-left-radius: var(--tblr-border-radius) !important; +} + +.rounded-start-3 { + border-bottom-left-radius: var(--tblr-border-radius-lg) !important; + border-top-left-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-start-4 { + border-bottom-left-radius: var(--tblr-border-radius-xl) !important; + border-top-left-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-start-5 { + border-bottom-left-radius: var(--tblr-border-radius-xxl) !important; + border-top-left-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-start-circle { + border-bottom-left-radius: 50% !important; + border-top-left-radius: 50% !important; +} + +.rounded-start-pill { + border-bottom-left-radius: var(--tblr-border-radius-pill) !important; + border-top-left-radius: var(--tblr-border-radius-pill) !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +.z-n1 { + z-index: -1 !important; +} + +.z-0 { + z-index: 0 !important; +} + +.z-1 { + z-index: 1 !important; +} + +.z-2 { + z-index: 2 !important; +} + +.z-3 { + z-index: 3 !important; +} + +.object-contain { + -o-object-fit: contain !important; + object-fit: contain !important; +} + +.object-cover { + -o-object-fit: cover !important; + object-fit: cover !important; +} + +.object-fill { + -o-object-fit: fill !important; + object-fit: fill !important; +} + +.object-scale-down { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; +} + +.object-none { + -o-object-fit: none !important; + object-fit: none !important; +} + +.tracking-tight { + letter-spacing: -0.05em !important; +} + +.tracking-normal { + letter-spacing: 0 !important; +} + +.tracking-wide { + letter-spacing: 0.05em !important; +} + +.cursor-auto { + cursor: auto !important; +} + +.cursor-pointer { + cursor: pointer !important; +} + +.cursor-move { + cursor: move !important; +} + +.cursor-not-allowed { + cursor: not-allowed !important; +} + +.cursor-zoom-in { + cursor: zoom-in !important; +} + +.cursor-zoom-out { + cursor: zoom-out !important; +} + +.cursor-default { + cursor: default !important; +} + +.cursor-none { + cursor: none !important; +} + +.cursor-help { + cursor: help !important; +} + +.cursor-progress { + cursor: progress !important; +} + +.cursor-wait { + cursor: wait !important; +} + +.cursor-text { + cursor: text !important; +} + +.cursor-v-text { + cursor: vertical-text !important; +} + +.cursor-grab { + cursor: -webkit-grab !important; + cursor: grab !important; +} + +.cursor-grabbing { + cursor: -webkit-grabbing !important; + cursor: grabbing !important; +} + +.border-x { + border-left: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; + border-right: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-x-wide { + border-left: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; + border-right: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-x-0 { + border-left: 0 !important; + border-right: 0 !important; +} + +.border-y { + border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; + border-bottom: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-y-wide { + border-top: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; + border-bottom: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-y-0 { + border-top: 0 !important; + border-bottom: 0 !important; +} + +.columns-2 { + -moz-columns: 2 !important; + columns: 2 !important; +} + +.columns-3 { + -moz-columns: 3 !important; + columns: 3 !important; +} + +.columns-4 { + -moz-columns: 4 !important; + columns: 4 !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .object-fit-sm-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-sm-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-sm-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-sm-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-sm-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 2rem !important; + } + .m-sm-6 { + margin: 3rem !important; + } + .m-sm-7 { + margin: 5rem !important; + } + .m-sm-8 { + margin: 8rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .mx-sm-6 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-7 { + margin-right: 5rem !important; + margin-left: 5rem !important; + } + .mx-sm-8 { + margin-right: 8rem !important; + margin-left: 8rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-sm-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-7 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-sm-8 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 2rem !important; + } + .mt-sm-6 { + margin-top: 3rem !important; + } + .mt-sm-7 { + margin-top: 5rem !important; + } + .mt-sm-8 { + margin-top: 8rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 2rem !important; + } + .me-sm-6 { + margin-right: 3rem !important; + } + .me-sm-7 { + margin-right: 5rem !important; + } + .me-sm-8 { + margin-right: 8rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 2rem !important; + } + .mb-sm-6 { + margin-bottom: 3rem !important; + } + .mb-sm-7 { + margin-bottom: 5rem !important; + } + .mb-sm-8 { + margin-bottom: 8rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 2rem !important; + } + .ms-sm-6 { + margin-left: 3rem !important; + } + .ms-sm-7 { + margin-left: 5rem !important; + } + .ms-sm-8 { + margin-left: 8rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 2rem !important; + } + .p-sm-6 { + padding: 3rem !important; + } + .p-sm-7 { + padding: 5rem !important; + } + .p-sm-8 { + padding: 8rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .px-sm-6 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .px-sm-7 { + padding-right: 5rem !important; + padding-left: 5rem !important; + } + .px-sm-8 { + padding-right: 8rem !important; + padding-left: 8rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-sm-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-sm-7 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-sm-8 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 2rem !important; + } + .pt-sm-6 { + padding-top: 3rem !important; + } + .pt-sm-7 { + padding-top: 5rem !important; + } + .pt-sm-8 { + padding-top: 8rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 2rem !important; + } + .pe-sm-6 { + padding-right: 3rem !important; + } + .pe-sm-7 { + padding-right: 5rem !important; + } + .pe-sm-8 { + padding-right: 8rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 2rem !important; + } + .pb-sm-6 { + padding-bottom: 3rem !important; + } + .pb-sm-7 { + padding-bottom: 5rem !important; + } + .pb-sm-8 { + padding-bottom: 8rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 2rem !important; + } + .ps-sm-6 { + padding-left: 3rem !important; + } + .ps-sm-7 { + padding-left: 5rem !important; + } + .ps-sm-8 { + padding-left: 8rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 2rem !important; + } + .gap-sm-6 { + gap: 3rem !important; + } + .gap-sm-7 { + gap: 5rem !important; + } + .gap-sm-8 { + gap: 8rem !important; + } + .row-gap-sm-0 { + row-gap: 0 !important; + } + .row-gap-sm-1 { + row-gap: 0.25rem !important; + } + .row-gap-sm-2 { + row-gap: 0.5rem !important; + } + .row-gap-sm-3 { + row-gap: 1rem !important; + } + .row-gap-sm-4 { + row-gap: 1.5rem !important; + } + .row-gap-sm-5 { + row-gap: 2rem !important; + } + .row-gap-sm-6 { + row-gap: 3rem !important; + } + .row-gap-sm-7 { + row-gap: 5rem !important; + } + .row-gap-sm-8 { + row-gap: 8rem !important; + } + .column-gap-sm-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-sm-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-sm-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-sm-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-sm-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-sm-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-sm-6 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-sm-7 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-sm-8 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } + .columns-sm-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-sm-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-sm-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .object-fit-md-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-md-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-md-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-md-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-md-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 2rem !important; + } + .m-md-6 { + margin: 3rem !important; + } + .m-md-7 { + margin: 5rem !important; + } + .m-md-8 { + margin: 8rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .mx-md-6 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-7 { + margin-right: 5rem !important; + margin-left: 5rem !important; + } + .mx-md-8 { + margin-right: 8rem !important; + margin-left: 8rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-md-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-7 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-md-8 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 2rem !important; + } + .mt-md-6 { + margin-top: 3rem !important; + } + .mt-md-7 { + margin-top: 5rem !important; + } + .mt-md-8 { + margin-top: 8rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 2rem !important; + } + .me-md-6 { + margin-right: 3rem !important; + } + .me-md-7 { + margin-right: 5rem !important; + } + .me-md-8 { + margin-right: 8rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 2rem !important; + } + .mb-md-6 { + margin-bottom: 3rem !important; + } + .mb-md-7 { + margin-bottom: 5rem !important; + } + .mb-md-8 { + margin-bottom: 8rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 2rem !important; + } + .ms-md-6 { + margin-left: 3rem !important; + } + .ms-md-7 { + margin-left: 5rem !important; + } + .ms-md-8 { + margin-left: 8rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 2rem !important; + } + .p-md-6 { + padding: 3rem !important; + } + .p-md-7 { + padding: 5rem !important; + } + .p-md-8 { + padding: 8rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .px-md-6 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .px-md-7 { + padding-right: 5rem !important; + padding-left: 5rem !important; + } + .px-md-8 { + padding-right: 8rem !important; + padding-left: 8rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-md-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-md-7 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-md-8 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 2rem !important; + } + .pt-md-6 { + padding-top: 3rem !important; + } + .pt-md-7 { + padding-top: 5rem !important; + } + .pt-md-8 { + padding-top: 8rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 2rem !important; + } + .pe-md-6 { + padding-right: 3rem !important; + } + .pe-md-7 { + padding-right: 5rem !important; + } + .pe-md-8 { + padding-right: 8rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 2rem !important; + } + .pb-md-6 { + padding-bottom: 3rem !important; + } + .pb-md-7 { + padding-bottom: 5rem !important; + } + .pb-md-8 { + padding-bottom: 8rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 2rem !important; + } + .ps-md-6 { + padding-left: 3rem !important; + } + .ps-md-7 { + padding-left: 5rem !important; + } + .ps-md-8 { + padding-left: 8rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 2rem !important; + } + .gap-md-6 { + gap: 3rem !important; + } + .gap-md-7 { + gap: 5rem !important; + } + .gap-md-8 { + gap: 8rem !important; + } + .row-gap-md-0 { + row-gap: 0 !important; + } + .row-gap-md-1 { + row-gap: 0.25rem !important; + } + .row-gap-md-2 { + row-gap: 0.5rem !important; + } + .row-gap-md-3 { + row-gap: 1rem !important; + } + .row-gap-md-4 { + row-gap: 1.5rem !important; + } + .row-gap-md-5 { + row-gap: 2rem !important; + } + .row-gap-md-6 { + row-gap: 3rem !important; + } + .row-gap-md-7 { + row-gap: 5rem !important; + } + .row-gap-md-8 { + row-gap: 8rem !important; + } + .column-gap-md-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-md-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-md-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-md-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-md-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-md-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-md-6 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-md-7 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-md-8 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } + .columns-md-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-md-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-md-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .object-fit-lg-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-lg-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-lg-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-lg-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-lg-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 2rem !important; + } + .m-lg-6 { + margin: 3rem !important; + } + .m-lg-7 { + margin: 5rem !important; + } + .m-lg-8 { + margin: 8rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .mx-lg-6 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-7 { + margin-right: 5rem !important; + margin-left: 5rem !important; + } + .mx-lg-8 { + margin-right: 8rem !important; + margin-left: 8rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-lg-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-7 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-lg-8 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 2rem !important; + } + .mt-lg-6 { + margin-top: 3rem !important; + } + .mt-lg-7 { + margin-top: 5rem !important; + } + .mt-lg-8 { + margin-top: 8rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 2rem !important; + } + .me-lg-6 { + margin-right: 3rem !important; + } + .me-lg-7 { + margin-right: 5rem !important; + } + .me-lg-8 { + margin-right: 8rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 2rem !important; + } + .mb-lg-6 { + margin-bottom: 3rem !important; + } + .mb-lg-7 { + margin-bottom: 5rem !important; + } + .mb-lg-8 { + margin-bottom: 8rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 2rem !important; + } + .ms-lg-6 { + margin-left: 3rem !important; + } + .ms-lg-7 { + margin-left: 5rem !important; + } + .ms-lg-8 { + margin-left: 8rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 2rem !important; + } + .p-lg-6 { + padding: 3rem !important; + } + .p-lg-7 { + padding: 5rem !important; + } + .p-lg-8 { + padding: 8rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .px-lg-6 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .px-lg-7 { + padding-right: 5rem !important; + padding-left: 5rem !important; + } + .px-lg-8 { + padding-right: 8rem !important; + padding-left: 8rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-lg-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-lg-7 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-lg-8 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 2rem !important; + } + .pt-lg-6 { + padding-top: 3rem !important; + } + .pt-lg-7 { + padding-top: 5rem !important; + } + .pt-lg-8 { + padding-top: 8rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 2rem !important; + } + .pe-lg-6 { + padding-right: 3rem !important; + } + .pe-lg-7 { + padding-right: 5rem !important; + } + .pe-lg-8 { + padding-right: 8rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 2rem !important; + } + .pb-lg-6 { + padding-bottom: 3rem !important; + } + .pb-lg-7 { + padding-bottom: 5rem !important; + } + .pb-lg-8 { + padding-bottom: 8rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 2rem !important; + } + .ps-lg-6 { + padding-left: 3rem !important; + } + .ps-lg-7 { + padding-left: 5rem !important; + } + .ps-lg-8 { + padding-left: 8rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 2rem !important; + } + .gap-lg-6 { + gap: 3rem !important; + } + .gap-lg-7 { + gap: 5rem !important; + } + .gap-lg-8 { + gap: 8rem !important; + } + .row-gap-lg-0 { + row-gap: 0 !important; + } + .row-gap-lg-1 { + row-gap: 0.25rem !important; + } + .row-gap-lg-2 { + row-gap: 0.5rem !important; + } + .row-gap-lg-3 { + row-gap: 1rem !important; + } + .row-gap-lg-4 { + row-gap: 1.5rem !important; + } + .row-gap-lg-5 { + row-gap: 2rem !important; + } + .row-gap-lg-6 { + row-gap: 3rem !important; + } + .row-gap-lg-7 { + row-gap: 5rem !important; + } + .row-gap-lg-8 { + row-gap: 8rem !important; + } + .column-gap-lg-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-lg-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-lg-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-lg-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-lg-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-lg-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-lg-6 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-lg-7 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-lg-8 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } + .columns-lg-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-lg-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-lg-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .object-fit-xl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 2rem !important; + } + .m-xl-6 { + margin: 3rem !important; + } + .m-xl-7 { + margin: 5rem !important; + } + .m-xl-8 { + margin: 8rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .mx-xl-6 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-7 { + margin-right: 5rem !important; + margin-left: 5rem !important; + } + .mx-xl-8 { + margin-right: 8rem !important; + margin-left: 8rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-xl-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-7 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-xl-8 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 2rem !important; + } + .mt-xl-6 { + margin-top: 3rem !important; + } + .mt-xl-7 { + margin-top: 5rem !important; + } + .mt-xl-8 { + margin-top: 8rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 2rem !important; + } + .me-xl-6 { + margin-right: 3rem !important; + } + .me-xl-7 { + margin-right: 5rem !important; + } + .me-xl-8 { + margin-right: 8rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 2rem !important; + } + .mb-xl-6 { + margin-bottom: 3rem !important; + } + .mb-xl-7 { + margin-bottom: 5rem !important; + } + .mb-xl-8 { + margin-bottom: 8rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 2rem !important; + } + .ms-xl-6 { + margin-left: 3rem !important; + } + .ms-xl-7 { + margin-left: 5rem !important; + } + .ms-xl-8 { + margin-left: 8rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 2rem !important; + } + .p-xl-6 { + padding: 3rem !important; + } + .p-xl-7 { + padding: 5rem !important; + } + .p-xl-8 { + padding: 8rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .px-xl-6 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .px-xl-7 { + padding-right: 5rem !important; + padding-left: 5rem !important; + } + .px-xl-8 { + padding-right: 8rem !important; + padding-left: 8rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-xl-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-xl-7 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-xl-8 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 2rem !important; + } + .pt-xl-6 { + padding-top: 3rem !important; + } + .pt-xl-7 { + padding-top: 5rem !important; + } + .pt-xl-8 { + padding-top: 8rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 2rem !important; + } + .pe-xl-6 { + padding-right: 3rem !important; + } + .pe-xl-7 { + padding-right: 5rem !important; + } + .pe-xl-8 { + padding-right: 8rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 2rem !important; + } + .pb-xl-6 { + padding-bottom: 3rem !important; + } + .pb-xl-7 { + padding-bottom: 5rem !important; + } + .pb-xl-8 { + padding-bottom: 8rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 2rem !important; + } + .ps-xl-6 { + padding-left: 3rem !important; + } + .ps-xl-7 { + padding-left: 5rem !important; + } + .ps-xl-8 { + padding-left: 8rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 2rem !important; + } + .gap-xl-6 { + gap: 3rem !important; + } + .gap-xl-7 { + gap: 5rem !important; + } + .gap-xl-8 { + gap: 8rem !important; + } + .row-gap-xl-0 { + row-gap: 0 !important; + } + .row-gap-xl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xl-3 { + row-gap: 1rem !important; + } + .row-gap-xl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xl-5 { + row-gap: 2rem !important; + } + .row-gap-xl-6 { + row-gap: 3rem !important; + } + .row-gap-xl-7 { + row-gap: 5rem !important; + } + .row-gap-xl-8 { + row-gap: 8rem !important; + } + .column-gap-xl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xl-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-xl-6 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-xl-7 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-xl-8 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } + .columns-xl-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-xl-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-xl-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .object-fit-xxl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xxl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xxl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xxl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xxl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 2rem !important; + } + .m-xxl-6 { + margin: 3rem !important; + } + .m-xxl-7 { + margin: 5rem !important; + } + .m-xxl-8 { + margin: 8rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .mx-xxl-6 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-7 { + margin-right: 5rem !important; + margin-left: 5rem !important; + } + .mx-xxl-8 { + margin-right: 8rem !important; + margin-left: 8rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-xxl-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-7 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-xxl-8 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 2rem !important; + } + .mt-xxl-6 { + margin-top: 3rem !important; + } + .mt-xxl-7 { + margin-top: 5rem !important; + } + .mt-xxl-8 { + margin-top: 8rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 2rem !important; + } + .me-xxl-6 { + margin-right: 3rem !important; + } + .me-xxl-7 { + margin-right: 5rem !important; + } + .me-xxl-8 { + margin-right: 8rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 2rem !important; + } + .mb-xxl-6 { + margin-bottom: 3rem !important; + } + .mb-xxl-7 { + margin-bottom: 5rem !important; + } + .mb-xxl-8 { + margin-bottom: 8rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 2rem !important; + } + .ms-xxl-6 { + margin-left: 3rem !important; + } + .ms-xxl-7 { + margin-left: 5rem !important; + } + .ms-xxl-8 { + margin-left: 8rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 2rem !important; + } + .p-xxl-6 { + padding: 3rem !important; + } + .p-xxl-7 { + padding: 5rem !important; + } + .p-xxl-8 { + padding: 8rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .px-xxl-6 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .px-xxl-7 { + padding-right: 5rem !important; + padding-left: 5rem !important; + } + .px-xxl-8 { + padding-right: 8rem !important; + padding-left: 8rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-xxl-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-xxl-7 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-xxl-8 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 2rem !important; + } + .pt-xxl-6 { + padding-top: 3rem !important; + } + .pt-xxl-7 { + padding-top: 5rem !important; + } + .pt-xxl-8 { + padding-top: 8rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 2rem !important; + } + .pe-xxl-6 { + padding-right: 3rem !important; + } + .pe-xxl-7 { + padding-right: 5rem !important; + } + .pe-xxl-8 { + padding-right: 8rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 2rem !important; + } + .pb-xxl-6 { + padding-bottom: 3rem !important; + } + .pb-xxl-7 { + padding-bottom: 5rem !important; + } + .pb-xxl-8 { + padding-bottom: 8rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 2rem !important; + } + .ps-xxl-6 { + padding-left: 3rem !important; + } + .ps-xxl-7 { + padding-left: 5rem !important; + } + .ps-xxl-8 { + padding-left: 8rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 2rem !important; + } + .gap-xxl-6 { + gap: 3rem !important; + } + .gap-xxl-7 { + gap: 5rem !important; + } + .gap-xxl-8 { + gap: 8rem !important; + } + .row-gap-xxl-0 { + row-gap: 0 !important; + } + .row-gap-xxl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xxl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xxl-3 { + row-gap: 1rem !important; + } + .row-gap-xxl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xxl-5 { + row-gap: 2rem !important; + } + .row-gap-xxl-6 { + row-gap: 3rem !important; + } + .row-gap-xxl-7 { + row-gap: 5rem !important; + } + .row-gap-xxl-8 { + row-gap: 8rem !important; + } + .column-gap-xxl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xxl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xxl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xxl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xxl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xxl-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-xxl-6 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-xxl-7 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-xxl-8 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } + .columns-xxl-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-xxl-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-xxl-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +:root, +:host { + font-size: 16px; + height: 100%; + --tblr-primary: #206bc4; + --tblr-primary-rgb: 32, 107, 196; + --tblr-primary-fg: var(--tblr-light); + --tblr-primary-darken: #1d60b0; + --tblr-primary-lt: #e9f0f9; + --tblr-primary-lt-rgb: 233, 240, 249; + --tblr-secondary: #667382; + --tblr-secondary-rgb: 102, 115, 130; + --tblr-secondary-fg: var(--tblr-light); + --tblr-secondary-darken: #5c6875; + --tblr-secondary-lt: #f0f1f3; + --tblr-secondary-lt-rgb: 240, 241, 243; + --tblr-success: #2fb344; + --tblr-success-rgb: 47, 179, 68; + --tblr-success-fg: var(--tblr-light); + --tblr-success-darken: #2aa13d; + --tblr-success-lt: #eaf7ec; + --tblr-success-lt-rgb: 234, 247, 236; + --tblr-info: #4299e1; + --tblr-info-rgb: 66, 153, 225; + --tblr-info-fg: var(--tblr-light); + --tblr-info-darken: #3b8acb; + --tblr-info-lt: #ecf5fc; + --tblr-info-lt-rgb: 236, 245, 252; + --tblr-warning: #f76707; + --tblr-warning-rgb: 247, 103, 7; + --tblr-warning-fg: var(--tblr-light); + --tblr-warning-darken: #de5d06; + --tblr-warning-lt: #fef0e6; + --tblr-warning-lt-rgb: 254, 240, 230; + --tblr-danger: #d63939; + --tblr-danger-rgb: 214, 57, 57; + --tblr-danger-fg: var(--tblr-light); + --tblr-danger-darken: #c13333; + --tblr-danger-lt: #fbebeb; + --tblr-danger-lt-rgb: 251, 235, 235; + --tblr-light: #fcfdfe; + --tblr-light-rgb: 252, 253, 254; + --tblr-light-fg: var(--tblr-dark); + --tblr-light-darken: #e3e4e5; + --tblr-light-lt: white; + --tblr-light-lt-rgb: 255, 255, 255; + --tblr-dark: #182433; + --tblr-dark-rgb: 24, 36, 51; + --tblr-dark-fg: var(--tblr-light); + --tblr-dark-darken: #16202e; + --tblr-dark-lt: #e8e9eb; + --tblr-dark-lt-rgb: 232, 233, 235; + --tblr-muted: #667382; + --tblr-muted-rgb: 102, 115, 130; + --tblr-muted-fg: var(--tblr-light); + --tblr-muted-darken: #5c6875; + --tblr-muted-lt: #f0f1f3; + --tblr-muted-lt-rgb: 240, 241, 243; + --tblr-blue: #206bc4; + --tblr-blue-rgb: 32, 107, 196; + --tblr-blue-fg: var(--tblr-light); + --tblr-blue-darken: #1d60b0; + --tblr-blue-lt: #e9f0f9; + --tblr-blue-lt-rgb: 233, 240, 249; + --tblr-azure: #4299e1; + --tblr-azure-rgb: 66, 153, 225; + --tblr-azure-fg: var(--tblr-light); + --tblr-azure-darken: #3b8acb; + --tblr-azure-lt: #ecf5fc; + --tblr-azure-lt-rgb: 236, 245, 252; + --tblr-indigo: #4263eb; + --tblr-indigo-rgb: 66, 99, 235; + --tblr-indigo-fg: var(--tblr-light); + --tblr-indigo-darken: #3b59d4; + --tblr-indigo-lt: #eceffd; + --tblr-indigo-lt-rgb: 236, 239, 253; + --tblr-purple: #ae3ec9; + --tblr-purple-rgb: 174, 62, 201; + --tblr-purple-fg: var(--tblr-light); + --tblr-purple-darken: #9d38b5; + --tblr-purple-lt: #f7ecfa; + --tblr-purple-lt-rgb: 247, 236, 250; + --tblr-pink: #d6336c; + --tblr-pink-rgb: 214, 51, 108; + --tblr-pink-fg: var(--tblr-light); + --tblr-pink-darken: #c12e61; + --tblr-pink-lt: #fbebf0; + --tblr-pink-lt-rgb: 251, 235, 240; + --tblr-red: #d63939; + --tblr-red-rgb: 214, 57, 57; + --tblr-red-fg: var(--tblr-light); + --tblr-red-darken: #c13333; + --tblr-red-lt: #fbebeb; + --tblr-red-lt-rgb: 251, 235, 235; + --tblr-orange: #f76707; + --tblr-orange-rgb: 247, 103, 7; + --tblr-orange-fg: var(--tblr-light); + --tblr-orange-darken: #de5d06; + --tblr-orange-lt: #fef0e6; + --tblr-orange-lt-rgb: 254, 240, 230; + --tblr-yellow: #f59f00; + --tblr-yellow-rgb: 245, 159, 0; + --tblr-yellow-fg: var(--tblr-light); + --tblr-yellow-darken: #dd8f00; + --tblr-yellow-lt: #fef5e6; + --tblr-yellow-lt-rgb: 254, 245, 230; + --tblr-lime: #74b816; + --tblr-lime-rgb: 116, 184, 22; + --tblr-lime-fg: var(--tblr-light); + --tblr-lime-darken: #68a614; + --tblr-lime-lt: #f1f8e8; + --tblr-lime-lt-rgb: 241, 248, 232; + --tblr-green: #2fb344; + --tblr-green-rgb: 47, 179, 68; + --tblr-green-fg: var(--tblr-light); + --tblr-green-darken: #2aa13d; + --tblr-green-lt: #eaf7ec; + --tblr-green-lt-rgb: 234, 247, 236; + --tblr-teal: #0ca678; + --tblr-teal-rgb: 12, 166, 120; + --tblr-teal-fg: var(--tblr-light); + --tblr-teal-darken: #0b956c; + --tblr-teal-lt: #e7f6f2; + --tblr-teal-lt-rgb: 231, 246, 242; + --tblr-cyan: #17a2b8; + --tblr-cyan-rgb: 23, 162, 184; + --tblr-cyan-fg: var(--tblr-light); + --tblr-cyan-darken: #1592a6; + --tblr-cyan-lt: #e8f6f8; + --tblr-cyan-lt-rgb: 232, 246, 248; + --tblr-facebook: #1877f2; + --tblr-facebook-rgb: 24, 119, 242; + --tblr-facebook-fg: var(--tblr-light); + --tblr-facebook-darken: #166bda; + --tblr-facebook-lt: #e8f1fe; + --tblr-facebook-lt-rgb: 232, 241, 254; + --tblr-twitter: #1da1f2; + --tblr-twitter-rgb: 29, 161, 242; + --tblr-twitter-fg: var(--tblr-light); + --tblr-twitter-darken: #1a91da; + --tblr-twitter-lt: #e8f6fe; + --tblr-twitter-lt-rgb: 232, 246, 254; + --tblr-linkedin: #0a66c2; + --tblr-linkedin-rgb: 10, 102, 194; + --tblr-linkedin-fg: var(--tblr-light); + --tblr-linkedin-darken: #095caf; + --tblr-linkedin-lt: #e7f0f9; + --tblr-linkedin-lt-rgb: 231, 240, 249; + --tblr-google: #dc4e41; + --tblr-google-rgb: 220, 78, 65; + --tblr-google-fg: var(--tblr-light); + --tblr-google-darken: #c6463b; + --tblr-google-lt: #fcedec; + --tblr-google-lt-rgb: 252, 237, 236; + --tblr-youtube: #ff0000; + --tblr-youtube-rgb: 255, 0, 0; + --tblr-youtube-fg: var(--tblr-light); + --tblr-youtube-darken: #e60000; + --tblr-youtube-lt: #ffe6e6; + --tblr-youtube-lt-rgb: 255, 230, 230; + --tblr-vimeo: #1ab7ea; + --tblr-vimeo-rgb: 26, 183, 234; + --tblr-vimeo-fg: var(--tblr-light); + --tblr-vimeo-darken: #17a5d3; + --tblr-vimeo-lt: #e8f8fd; + --tblr-vimeo-lt-rgb: 232, 248, 253; + --tblr-dribbble: #ea4c89; + --tblr-dribbble-rgb: 234, 76, 137; + --tblr-dribbble-fg: var(--tblr-light); + --tblr-dribbble-darken: #d3447b; + --tblr-dribbble-lt: #fdedf3; + --tblr-dribbble-lt-rgb: 253, 237, 243; + --tblr-github: #181717; + --tblr-github-rgb: 24, 23, 23; + --tblr-github-fg: var(--tblr-light); + --tblr-github-darken: #161515; + --tblr-github-lt: #e8e8e8; + --tblr-github-lt-rgb: 232, 232, 232; + --tblr-instagram: #e4405f; + --tblr-instagram-rgb: 228, 64, 95; + --tblr-instagram-fg: var(--tblr-light); + --tblr-instagram-darken: #cd3a56; + --tblr-instagram-lt: #fcecef; + --tblr-instagram-lt-rgb: 252, 236, 239; + --tblr-pinterest: #bd081c; + --tblr-pinterest-rgb: 189, 8, 28; + --tblr-pinterest-fg: var(--tblr-light); + --tblr-pinterest-darken: #aa0719; + --tblr-pinterest-lt: #f8e6e8; + --tblr-pinterest-lt-rgb: 248, 230, 232; + --tblr-vk: #6383a8; + --tblr-vk-rgb: 99, 131, 168; + --tblr-vk-fg: var(--tblr-light); + --tblr-vk-darken: #597697; + --tblr-vk-lt: #eff3f6; + --tblr-vk-lt-rgb: 239, 243, 246; + --tblr-rss: #ffa500; + --tblr-rss-rgb: 255, 165, 0; + --tblr-rss-fg: var(--tblr-light); + --tblr-rss-darken: #e69500; + --tblr-rss-lt: #fff6e6; + --tblr-rss-lt-rgb: 255, 246, 230; + --tblr-flickr: #0063dc; + --tblr-flickr-rgb: 0, 99, 220; + --tblr-flickr-fg: var(--tblr-light); + --tblr-flickr-darken: #0059c6; + --tblr-flickr-lt: #e6effc; + --tblr-flickr-lt-rgb: 230, 239, 252; + --tblr-bitbucket: #0052cc; + --tblr-bitbucket-rgb: 0, 82, 204; + --tblr-bitbucket-fg: var(--tblr-light); + --tblr-bitbucket-darken: #004ab8; + --tblr-bitbucket-lt: #e6eefa; + --tblr-bitbucket-lt-rgb: 230, 238, 250; + --tblr-tabler: #206bc4; + --tblr-tabler-rgb: 32, 107, 196; + --tblr-tabler-fg: var(--tblr-light); + --tblr-tabler-darken: #1d60b0; + --tblr-tabler-lt: #e9f0f9; + --tblr-tabler-lt-rgb: 233, 240, 249; + --tblr-gray-50: #fcfdfe; + --tblr-gray-50-rgb: 252, 253, 254; + --tblr-gray-50-fg: var(--tblr-dark); + --tblr-gray-50-darken: #e3e4e5; + --tblr-gray-50-lt: white; + --tblr-gray-50-lt-rgb: 255, 255, 255; + --tblr-gray-100: #f6f8fb; + --tblr-gray-100-rgb: 246, 248, 251; + --tblr-gray-100-fg: var(--tblr-dark); + --tblr-gray-100-darken: #dddfe2; + --tblr-gray-100-lt: #fefeff; + --tblr-gray-100-lt-rgb: 254, 254, 255; + --tblr-gray-200: #eef1f4; + --tblr-gray-200-rgb: 238, 241, 244; + --tblr-gray-200-fg: var(--tblr-dark); + --tblr-gray-200-darken: #d6d9dc; + --tblr-gray-200-lt: #fdfefe; + --tblr-gray-200-lt-rgb: 253, 254, 254; + --tblr-gray-300: #dadfe5; + --tblr-gray-300-rgb: 218, 223, 229; + --tblr-gray-300-fg: var(--tblr-dark); + --tblr-gray-300-darken: #c4c9ce; + --tblr-gray-300-lt: #fbfcfc; + --tblr-gray-300-lt-rgb: 251, 252, 252; + --tblr-gray-400: #bbc3cd; + --tblr-gray-400-rgb: 187, 195, 205; + --tblr-gray-400-fg: var(--tblr-light); + --tblr-gray-400-darken: #a8b0b9; + --tblr-gray-400-lt: #f8f9fa; + --tblr-gray-400-lt-rgb: 248, 249, 250; + --tblr-gray-500: #929dab; + --tblr-gray-500-rgb: 146, 157, 171; + --tblr-gray-500-fg: var(--tblr-light); + --tblr-gray-500-darken: #838d9a; + --tblr-gray-500-lt: #f4f5f7; + --tblr-gray-500-lt-rgb: 244, 245, 247; + --tblr-gray-600: #667382; + --tblr-gray-600-rgb: 102, 115, 130; + --tblr-gray-600-fg: var(--tblr-light); + --tblr-gray-600-darken: #5c6875; + --tblr-gray-600-lt: #f0f1f3; + --tblr-gray-600-lt-rgb: 240, 241, 243; + --tblr-gray-700: #3a4859; + --tblr-gray-700-rgb: 58, 72, 89; + --tblr-gray-700-fg: var(--tblr-light); + --tblr-gray-700-darken: #344150; + --tblr-gray-700-lt: #ebedee; + --tblr-gray-700-lt-rgb: 235, 237, 238; + --tblr-gray-800: #182433; + --tblr-gray-800-rgb: 24, 36, 51; + --tblr-gray-800-fg: var(--tblr-light); + --tblr-gray-800-darken: #16202e; + --tblr-gray-800-lt: #e8e9eb; + --tblr-gray-800-lt-rgb: 232, 233, 235; + --tblr-gray-900: #040a11; + --tblr-gray-900-rgb: 4, 10, 17; + --tblr-gray-900-fg: var(--tblr-light); + --tblr-gray-900-darken: #04090f; + --tblr-gray-900-lt: #e6e7e7; + --tblr-gray-900-lt-rgb: 230, 231, 231; + --tblr-spacer-0: 0; + --tblr-spacer-1: 0.25rem; + --tblr-spacer-2: 0.5rem; + --tblr-spacer-3: 1rem; + --tblr-spacer-4: 1.5rem; + --tblr-spacer-5: 2rem; + --tblr-spacer-6: 3rem; + --tblr-spacer-7: 5rem; + --tblr-spacer-8: 8rem; + --tblr-spacer: 1rem; + --tblr-bg-surface: var(--tblr-white); + --tblr-bg-surface-secondary: var(--tblr-gray-100); + --tblr-bg-surface-tertiary: var(--tblr-gray-50); + --tblr-bg-surface-dark: var(--tblr-dark); + --tblr-bg-forms: var(--tblr-bg-surface); + --tblr-border-color: #dadfe5; + --tblr-border-color-translucent: rgba(4, 32, 69, 0.14); + --tblr-border-dark-color: #bbc3cd; + --tblr-border-dark-color-translucent: rgba(4, 32, 69, 0.27); + --tblr-border-active-color: #b6bcc3; + --tblr-icon-color: var(--tblr-gray-500); + --tblr-active-bg: rgba(var(--tblr-primary-rgb), 0.04); + --tblr-disabled-bg: var(--tblr-bg-surface-secondary); + --tblr-disabled-color: var(--tblr-gray-300); + --tblr-code-color: var(--tblr-gray-600); + --tblr-code-bg: var(--tblr-bg-surface-secondary); + --tblr-dark-mode-border-color: #1f2e41; + --tblr-dark-mode-border-color-translucent: rgba(72, 110, 149, 0.14); + --tblr-dark-mode-border-color-active: #2c415d; + --tblr-dark-mode-border-dark-color: #1f2e41; + --tblr-page-padding: var(--tblr-spacer-3); + --tblr-page-padding-y: var(--tblr-spacer-4); + --tblr-font-weight-light: 300; + --tblr-font-weight-normal: 400; + --tblr-font-weight-medium: 500; + --tblr-font-weight-bold: 600; + --tblr-font-weight-headings: var(--tblr-font-weight-bold); + --tblr-font-size-h1: 1.5rem; + --tblr-font-size-h2: 1.25rem; + --tblr-font-size-h3: 1rem; + --tblr-font-size-h4: 0.875rem; + --tblr-font-size-h5: 0.75rem; + --tblr-font-size-h6: 0.625rem; + --tblr-line-height-h1: 2rem; + --tblr-line-height-h2: 1.75rem; + --tblr-line-height-h3: 1.5rem; + --tblr-line-height-h4: 1.25rem; + --tblr-line-height-h5: 1rem; + --tblr-line-height-h6: 1rem; + --tblr-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; + --tblr-shadow-transparent: 0 0 0 0 transparent; + --tblr-shadow-button: 0 1px 0 rgba(var(--tblr-body-color-rgb), 0.04); + --tblr-shadow-button-inset: inset 0 -1px 0 rgba(var(--tblr-body-color-rgb), 0.2); + --tblr-shadow-card: 0 0 4px rgba(var(--tblr-body-color-rgb), 0.04); + --tblr-shadow-card-hover: rgba(var(--tblr-body-color-rgb), 0.16) 0 2px 16px 0; + --tblr-shadow-dropdown: 0px 16px 24px 2px rgba(0, 0, 0, 0.07), 0px 6px 30px 5px rgba(0, 0, 0, 0.06), 0px 8px 10px -5px rgba(0, 0, 0, 0.1); +} +@media (max-width: 991.98px) { + :root, + :host { + --tblr-page-padding: var(--tblr-spacer-2); + } +} + +@keyframes pulse { + from { + opacity: 1; + transform: scale3d(0.8, 0.8, 0.8); + } + 50% { + transform: scale3d(1, 1, 1); + opacity: 1; + } + to { + opacity: 1; + transform: scale3d(0.8, 0.8, 0.8); + } +} +@keyframes tada { + 0% { + transform: scale3d(1, 1, 1); + } + 10%, 5% { + transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -5deg); + } + 15%, 25%, 35%, 45% { + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 5deg); + } + 20%, 30%, 40% { + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -5deg); + } + 50% { + transform: scale3d(1, 1, 1); + } +} +@keyframes rotate-360 { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} +@keyframes blink { + from { + opacity: 0; + } + 50% { + opacity: 1; + } + to { + opacity: 0; + } +} +body { + letter-spacing: 0; + touch-action: manipulation; + text-rendering: optimizeLegibility; + font-feature-settings: "liga" 0; + position: relative; + min-height: 100%; + height: 100%; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +@media print { + body { + background: transparent; + } +} + +* { + scrollbar-color: rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.16) transparent; +} + +*::-webkit-scrollbar { + width: 1rem; + height: 1rem; + -webkit-transition: background 0.3s; + transition: background 0.3s; +} +@media (prefers-reduced-motion: reduce) { + *::-webkit-scrollbar { + -webkit-transition: none; + transition: none; + } +} + +*::-webkit-scrollbar-thumb { + border-radius: 1rem; + border: 5px solid transparent; + box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.16); +} + +*::-webkit-scrollbar-track { + background: transparent; +} + +*:hover::-webkit-scrollbar-thumb { + box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.32); +} + +*::-webkit-scrollbar-corner { + background: transparent; +} + +.layout-fluid .container, +.layout-fluid [class^=container-], +.layout-fluid [class*=" container-"] { + max-width: 100%; +} + +.layout-boxed { + --tblr-theme-boxed-border-radius: 0; + --tblr-theme-boxed-width: 1320px; +} +@media (min-width: 768px) { + .layout-boxed { + background: #182433 linear-gradient(to right, rgba(255, 255, 255, 0.1), transparent) fixed; + padding: 1rem; + --tblr-theme-boxed-border-radius: 4px; + } +} +.layout-boxed .page { + margin: 0 auto; + max-width: var(--tblr-theme-boxed-width); + border-radius: var(--tblr-theme-boxed-border-radius); + color: var(--tblr-body-color); +} +@media (min-width: 768px) { + .layout-boxed .page { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + background: var(--tblr-body-bg); + } +} +.layout-boxed .page > .navbar:first-child { + border-top-left-radius: var(--tblr-theme-boxed-border-radius); + border-top-right-radius: var(--tblr-theme-boxed-border-radius); +} + +/** +Navbar + */ +.navbar { + --tblr-navbar-bg: var(--tblr-bg-surface); + --tblr-navbar-border-width: var(--tblr-border-width); + --tblr-navbar-active-border-color: var(--tblr-primary); + --tblr-navbar-active-bg: rgba(0, 0, 0, 0.06); + --tblr-navbar-color: var(--tblr-body-color); + --tblr-navbar-border-color: var(--tblr-border-color); + align-items: stretch; + min-height: 3.5rem; + box-shadow: inset 0 calc(-1 * var(--tblr-navbar-border-width)) 0 0 var(--tblr-navbar-border-color); + background: var(--tblr-navbar-bg); + color: var(--tblr-navbar-color); +} +.navbar-collapse .navbar { + flex-grow: 1; +} +.navbar.collapsing { + min-height: 0; +} +.navbar .dropdown-menu { + position: absolute; + z-index: 1030; +} +.navbar .navbar-nav { + min-height: 3rem; +} +.navbar .navbar-nav .nav-link { + position: relative; + min-width: 2rem; + min-height: 2rem; + justify-content: center; + border-radius: var(--tblr-border-radius); +} +.navbar .navbar-nav .nav-link .badge { + position: absolute; + top: 0.375rem; + right: 0.375rem; + transform: translate(50%, -50%); +} + +.navbar-nav { + margin: 0; + padding: 0; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm .navbar-collapse { + flex-direction: column; + } + .navbar-expand-sm .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-sm .navbar-collapse .navbar-nav { + margin-left: 0; + margin-right: 0; + } + .navbar-expand-sm .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-expand-sm .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-sm .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-sm .navbar-collapse .dropdown-toggle:after { + margin-left: auto; + } + .navbar-expand-sm .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-left-width: 3px; + right: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 576px) { + .navbar-expand-sm .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-sm .nav-item.active { + position: relative; + } + .navbar-expand-sm .nav-item.active:after { + content: ""; + position: absolute; + left: 0; + right: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-sm.navbar-vertical { + box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-sm.navbar-vertical.navbar-right { + box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-sm.navbar-vertical ~ .navbar, + .navbar-expand-sm.navbar-vertical ~ .page-wrapper { + margin-left: 15rem; + } + .navbar-expand-sm.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-sm.navbar-vertical.navbar-right ~ .page-wrapper { + margin-left: 0; + margin-right: 15rem; + } +} +@media (max-width: 767.98px) { + .navbar-expand-md .navbar-collapse { + flex-direction: column; + } + .navbar-expand-md .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-md .navbar-collapse .navbar-nav { + margin-left: 0; + margin-right: 0; + } + .navbar-expand-md .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-expand-md .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-md .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-md .navbar-collapse .dropdown-toggle:after { + margin-left: auto; + } + .navbar-expand-md .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-left-width: 3px; + right: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-expand-md .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-md .nav-item.active { + position: relative; + } + .navbar-expand-md .nav-item.active:after { + content: ""; + position: absolute; + left: 0; + right: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-md.navbar-vertical { + box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-md.navbar-vertical.navbar-right { + box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-md.navbar-vertical ~ .navbar, + .navbar-expand-md.navbar-vertical ~ .page-wrapper { + margin-left: 15rem; + } + .navbar-expand-md.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-md.navbar-vertical.navbar-right ~ .page-wrapper { + margin-left: 0; + margin-right: 15rem; + } +} +@media (max-width: 991.98px) { + .navbar-expand-lg .navbar-collapse { + flex-direction: column; + } + .navbar-expand-lg .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-lg .navbar-collapse .navbar-nav { + margin-left: 0; + margin-right: 0; + } + .navbar-expand-lg .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-expand-lg .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-lg .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-lg .navbar-collapse .dropdown-toggle:after { + margin-left: auto; + } + .navbar-expand-lg .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-left-width: 3px; + right: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 992px) { + .navbar-expand-lg .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-lg .nav-item.active { + position: relative; + } + .navbar-expand-lg .nav-item.active:after { + content: ""; + position: absolute; + left: 0; + right: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-lg.navbar-vertical { + box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-lg.navbar-vertical.navbar-right { + box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-lg.navbar-vertical ~ .navbar, + .navbar-expand-lg.navbar-vertical ~ .page-wrapper { + margin-left: 15rem; + } + .navbar-expand-lg.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-lg.navbar-vertical.navbar-right ~ .page-wrapper { + margin-left: 0; + margin-right: 15rem; + } +} +@media (max-width: 1199.98px) { + .navbar-expand-xl .navbar-collapse { + flex-direction: column; + } + .navbar-expand-xl .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-xl .navbar-collapse .navbar-nav { + margin-left: 0; + margin-right: 0; + } + .navbar-expand-xl .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-expand-xl .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-xl .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-xl .navbar-collapse .dropdown-toggle:after { + margin-left: auto; + } + .navbar-expand-xl .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-left-width: 3px; + right: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-xl .nav-item.active { + position: relative; + } + .navbar-expand-xl .nav-item.active:after { + content: ""; + position: absolute; + left: 0; + right: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-xl.navbar-vertical { + box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-xl.navbar-vertical.navbar-right { + box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-xl.navbar-vertical ~ .navbar, + .navbar-expand-xl.navbar-vertical ~ .page-wrapper { + margin-left: 15rem; + } + .navbar-expand-xl.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-xl.navbar-vertical.navbar-right ~ .page-wrapper { + margin-left: 0; + margin-right: 15rem; + } +} +@media (max-width: 1399.98px) { + .navbar-expand-xxl .navbar-collapse { + flex-direction: column; + } + .navbar-expand-xxl .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-xxl .navbar-collapse .navbar-nav { + margin-left: 0; + margin-right: 0; + } + .navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-xxl .navbar-collapse .dropdown-toggle:after { + margin-left: auto; + } + .navbar-expand-xxl .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-left-width: 3px; + right: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-xxl .nav-item.active { + position: relative; + } + .navbar-expand-xxl .nav-item.active:after { + content: ""; + position: absolute; + left: 0; + right: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-xxl.navbar-vertical { + box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-xxl.navbar-vertical.navbar-right { + box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-xxl.navbar-vertical ~ .navbar, + .navbar-expand-xxl.navbar-vertical ~ .page-wrapper { + margin-left: 15rem; + } + .navbar-expand-xxl.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-xxl.navbar-vertical.navbar-right ~ .page-wrapper { + margin-left: 0; + margin-right: 15rem; + } +} +.navbar-expand .navbar-collapse { + flex-direction: column; +} +.navbar-expand .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; +} +.navbar-expand .navbar-collapse .navbar-nav { + margin-left: 0; + margin-right: 0; +} +.navbar-expand .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; +} +.navbar-expand .navbar-collapse .dropdown-menu-columns { + flex-direction: column; +} +.navbar-expand .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; +} +.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; +} +.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); +} +.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); +} +.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); +} +.navbar-expand .navbar-collapse .dropdown-toggle:after { + margin-left: auto; +} +.navbar-expand .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-left-width: 3px; + right: auto; + top: 0; + bottom: 0; +} +.navbar-expand .navbar-collapse { + width: auto; + flex: 1 1 auto; +} +.navbar-expand .nav-item.active { + position: relative; +} +.navbar-expand .nav-item.active:after { + content: ""; + position: absolute; + left: 0; + right: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; +} +.navbar-expand.navbar-vertical { + box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); +} +.navbar-expand.navbar-vertical.navbar-right { + box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); +} +.navbar-expand.navbar-vertical ~ .navbar, +.navbar-expand.navbar-vertical ~ .page-wrapper { + margin-left: 15rem; +} +.navbar-expand.navbar-vertical.navbar-right ~ .navbar, +.navbar-expand.navbar-vertical.navbar-right ~ .page-wrapper { + margin-left: 0; + margin-right: 15rem; +} + +/** +Navbar brand + */ +.navbar-brand { + display: inline-flex; + align-items: center; + font-weight: var(--tblr-font-weight-bold); + margin: 0; + line-height: 1; + gap: 0.5rem; +} + +.navbar-brand-image { + height: 2rem; + width: auto; +} + +/** +Navbar toggler + */ +.navbar-toggler { + border: 0; + width: 2rem; + height: 2rem; + position: relative; + display: flex; + align-items: center; + justify-content: center; +} + +.navbar-toggler-icon { + height: 2px; + width: 1.25em; + background: currentColor; + border-radius: 10px; + transition: top 0.2s 0.2s, bottom 0.2s 0.2s, transform 0.2s, opacity 0s 0.2s; + position: relative; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler-icon { + transition: none; + } +} +.navbar-toggler-icon:before, .navbar-toggler-icon:after { + content: ""; + display: block; + height: inherit; + width: inherit; + border-radius: inherit; + background: inherit; + position: absolute; + left: 0; + transition: inherit; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler-icon:before, .navbar-toggler-icon:after { + transition: none; + } +} +.navbar-toggler-icon:before { + top: -0.45em; +} +.navbar-toggler-icon:after { + bottom: -0.45em; +} +.navbar-toggler[aria-expanded=true] .navbar-toggler-icon { + transform: rotate(45deg); + transition: top 0.3s, bottom 0.3s, transform 0.3s 0.3s, opacity 0s 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler[aria-expanded=true] .navbar-toggler-icon { + transition: none; + } +} +.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before { + top: 0; + transform: rotate(-90deg); +} +.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after { + bottom: 0; + opacity: 0; +} + +/** +Navbar transparent + */ +.navbar-transparent { + --tblr-navbar-border-color: transparent !important; + background: transparent !important; +} + +/** +Navbar nav + */ +.navbar-nav { + align-items: stretch; +} +.navbar-nav .nav-item { + display: flex; + flex-direction: column; + justify-content: center; +} + +/** +Navbar side + */ +.navbar-side { + margin: 0; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-around; +} + +/** +Navbar vertical + */ +@media (min-width: 576px) { + .navbar-vertical.navbar-expand-sm { + width: 15rem; + position: fixed; + top: 0; + left: 0; + bottom: 0; + z-index: 1030; + align-items: flex-start; + transition: transform 0.3s; + overflow-y: scroll; + padding: 0; + } +} +@media (min-width: 576px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-sm { + transition: none; + } +} +@media (min-width: 576px) { + .navbar-vertical.navbar-expand-sm.navbar-right { + left: auto; + right: 0; + } + .navbar-vertical.navbar-expand-sm .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-sm .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-sm .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-sm > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: flex-start; + padding: 0; + } + .navbar-vertical.navbar-expand-sm ~ .page { + padding-left: 15rem; + } + .navbar-vertical.navbar-expand-sm ~ .page [class^=container] { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + .navbar-vertical.navbar-expand-sm.navbar-right ~ .page { + padding-left: 0; + padding-right: 15rem; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav { + margin-left: 0; + margin-right: 0; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-toggle:after { + margin-left: auto; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-left-width: 3px; + right: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-vertical.navbar-expand-md { + width: 15rem; + position: fixed; + top: 0; + left: 0; + bottom: 0; + z-index: 1030; + align-items: flex-start; + transition: transform 0.3s; + overflow-y: scroll; + padding: 0; + } +} +@media (min-width: 768px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-md { + transition: none; + } +} +@media (min-width: 768px) { + .navbar-vertical.navbar-expand-md.navbar-right { + left: auto; + right: 0; + } + .navbar-vertical.navbar-expand-md .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-md .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-md .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-md .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-md > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: flex-start; + padding: 0; + } + .navbar-vertical.navbar-expand-md ~ .page { + padding-left: 15rem; + } + .navbar-vertical.navbar-expand-md ~ .page [class^=container] { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + .navbar-vertical.navbar-expand-md.navbar-right ~ .page { + padding-left: 0; + padding-right: 15rem; + } + .navbar-vertical.navbar-expand-md .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-md .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav { + margin-left: 0; + margin-right: 0; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-toggle:after { + margin-left: auto; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-left-width: 3px; + right: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 992px) { + .navbar-vertical.navbar-expand-lg { + width: 15rem; + position: fixed; + top: 0; + left: 0; + bottom: 0; + z-index: 1030; + align-items: flex-start; + transition: transform 0.3s; + overflow-y: scroll; + padding: 0; + } +} +@media (min-width: 992px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-lg { + transition: none; + } +} +@media (min-width: 992px) { + .navbar-vertical.navbar-expand-lg.navbar-right { + left: auto; + right: 0; + } + .navbar-vertical.navbar-expand-lg .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-lg .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-lg .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-lg > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: flex-start; + padding: 0; + } + .navbar-vertical.navbar-expand-lg ~ .page { + padding-left: 15rem; + } + .navbar-vertical.navbar-expand-lg ~ .page [class^=container] { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + .navbar-vertical.navbar-expand-lg.navbar-right ~ .page { + padding-left: 0; + padding-right: 15rem; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav { + margin-left: 0; + margin-right: 0; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-toggle:after { + margin-left: auto; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-left-width: 3px; + right: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 1200px) { + .navbar-vertical.navbar-expand-xl { + width: 15rem; + position: fixed; + top: 0; + left: 0; + bottom: 0; + z-index: 1030; + align-items: flex-start; + transition: transform 0.3s; + overflow-y: scroll; + padding: 0; + } +} +@media (min-width: 1200px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-xl { + transition: none; + } +} +@media (min-width: 1200px) { + .navbar-vertical.navbar-expand-xl.navbar-right { + left: auto; + right: 0; + } + .navbar-vertical.navbar-expand-xl .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-xl .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-xl .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-xl > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: flex-start; + padding: 0; + } + .navbar-vertical.navbar-expand-xl ~ .page { + padding-left: 15rem; + } + .navbar-vertical.navbar-expand-xl ~ .page [class^=container] { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + .navbar-vertical.navbar-expand-xl.navbar-right ~ .page { + padding-left: 0; + padding-right: 15rem; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav { + margin-left: 0; + margin-right: 0; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-toggle:after { + margin-left: auto; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-left-width: 3px; + right: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 1400px) { + .navbar-vertical.navbar-expand-xxl { + width: 15rem; + position: fixed; + top: 0; + left: 0; + bottom: 0; + z-index: 1030; + align-items: flex-start; + transition: transform 0.3s; + overflow-y: scroll; + padding: 0; + } +} +@media (min-width: 1400px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-xxl { + transition: none; + } +} +@media (min-width: 1400px) { + .navbar-vertical.navbar-expand-xxl.navbar-right { + left: auto; + right: 0; + } + .navbar-vertical.navbar-expand-xxl .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-xxl .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-xxl .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-xxl > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: flex-start; + padding: 0; + } + .navbar-vertical.navbar-expand-xxl ~ .page { + padding-left: 15rem; + } + .navbar-vertical.navbar-expand-xxl ~ .page [class^=container] { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + .navbar-vertical.navbar-expand-xxl.navbar-right ~ .page { + padding-left: 0; + padding-right: 15rem; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav { + margin-left: 0; + margin-right: 0; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after { + margin-left: auto; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-left-width: 3px; + right: auto; + top: 0; + bottom: 0; + } +} +.navbar-vertical.navbar-expand { + width: 15rem; + position: fixed; + top: 0; + left: 0; + bottom: 0; + z-index: 1030; + align-items: flex-start; + transition: transform 0.3s; + overflow-y: scroll; + padding: 0; +} +@media (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand { + transition: none; + } +} +.navbar-vertical.navbar-expand.navbar-right { + left: auto; + right: 0; +} +.navbar-vertical.navbar-expand .navbar-brand { + padding: 0.75rem 0; + justify-content: center; +} +.navbar-vertical.navbar-expand .navbar-collapse { + align-items: stretch; +} +.navbar-vertical.navbar-expand .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; +} +.navbar-vertical.navbar-expand .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.navbar-vertical.navbar-expand > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: flex-start; + padding: 0; +} +.navbar-vertical.navbar-expand ~ .page { + padding-left: 15rem; +} +.navbar-vertical.navbar-expand ~ .page [class^=container] { + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.navbar-vertical.navbar-expand.navbar-right ~ .page { + padding-left: 0; + padding-right: 15rem; +} +.navbar-vertical.navbar-expand .navbar-collapse { + flex-direction: column; +} +.navbar-vertical.navbar-expand .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; +} +.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav { + margin-left: 0; + margin-right: 0; +} +.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu-columns { + flex-direction: column; +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-left: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-toggle:after { + margin-left: auto; +} +.navbar-vertical.navbar-expand .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-left-width: 3px; + right: auto; + top: 0; + bottom: 0; +} + +.navbar-overlap:after { + content: ""; + height: 9rem; + position: absolute; + top: 100%; + left: 0; + right: 0; + background: inherit; + z-index: -1; + box-shadow: inherit; +} + +.page { + display: flex; + flex-direction: column; + position: relative; + min-height: 100%; +} + +.page-center .container { + margin-top: auto; + margin-bottom: auto; +} + +.page-wrapper { + flex: 1; + display: flex; + flex-direction: column; +} +@media print { + .page-wrapper { + margin: 0 !important; + } +} + +.page-wrapper-full .page-body:first-child { + margin: 0; + border-top: 0; +} + +.page-body { + margin-top: var(--tblr-page-padding-y); + margin-bottom: var(--tblr-page-padding-y); +} + +.page-body-card { + background: var(--tblr-bg-surface); + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + padding: var(--tblr-page-padding) 0; + margin-bottom: 0; + flex: 1; +} +.page-body ~ .page-body-card { + margin-top: 0; +} + +.page-cover { + background: no-repeat center/cover; + min-height: 9rem; +} +@media (min-width: 768px) { + .page-cover { + min-height: 12rem; + } +} +@media (min-width: 992px) { + .page-cover { + min-height: 15rem; + } +} + +.page-cover-overlay { + position: relative; +} +.page-cover-overlay:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%); +} + +.page-header { + display: flex; + flex-wrap: wrap; + min-height: 2.25rem; + flex-direction: column; + justify-content: center; +} +.page-wrapper .page-header { + margin: var(--tblr-page-padding-y) 0 0; +} + +.page-header-border { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + padding: var(--tblr-page-padding-y) 0; + margin: 0 !important; + background-color: var(--tblr-bg-surface); +} + +.page-pretitle { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); +} + +.page-title { + margin: 0; + font-size: 1.25rem; + line-height: 1.75rem; + font-weight: var(--tblr-font-weight-bold); + color: inherit; + display: flex; + align-items: center; +} +.page-title svg { + width: 1.5rem; + height: 1.5rem; + margin-right: 0.25rem; +} + +.page-title-lg { + font-size: 1.5rem; + line-height: 2rem; +} + +.page-subtitle { + margin-top: 0.25rem; + color: var(--tblr-muted); +} + +.page-cover { + --tblr-page-cover-blur: 20px; + --tblr-page-cover-padding: 1rem; + min-height: 6rem; + padding: var(--tblr-page-cover-padding) 0; + position: relative; + overflow: hidden; +} + +.page-cover-img { + position: absolute; + top: calc(-2 * var(--tblr-page-cover-blur, 0)); + left: calc(-2 * var(--tblr-page-cover-blur, 0)); + right: calc(-2 * var(--tblr-page-cover-blur, 0)); + bottom: calc(-2 * var(--tblr-page-cover-blur, 0)); + pointer-events: none; + filter: blur(var(--tblr-page-cover-blur)); + -o-object-fit: cover; + object-fit: cover; + background-size: cover; + background-position: center; + z-index: -1; +} + +.page-tabs { + margin-top: 0.5rem; + position: relative; +} + +.page-header-tabs .nav-bordered { + border: 0; +} +.page-header-tabs + .page-body-card { + margin-top: 0; +} + +.footer { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + background-color: #ffffff; + padding: 2rem 0; + color: var(--tblr-muted); + margin-top: auto; +} + +.footer-transparent { + background-color: transparent; + border-top: 0; +} + +body:not(.theme-dark):not([data-bs-theme=dark]) .hide-theme-light { + display: none !important; +} +body.theme-dark .hide-theme-dark, body[data-bs-theme=dark] .hide-theme-dark { + display: none !important; +} + +[data-bs-theme=dark] { + --tblr-body-color: #fcfdfe; + --tblr-body-color-rgb: 252, 253, 254; + --tblr-muted: #3a4859; + --tblr-body-bg: #151f2c; + --tblr-body-bg-rgb: 21, 31, 44; + --tblr-emphasis-color: #ffffff; + --tblr-emphasis-color-rgb: 255, 255, 255; + --tblr-bg-forms: #151f2c; + --tblr-bg-surface: #182433; + --tblr-bg-surface-dark: #151f2c; + --tblr-bg-surface-secondary: #1b293a; + --tblr-bg-surface-tertiary: #151f2c; + --tblr-link-color: #307fdd; + --tblr-link-hover-color: #206bc4; + --tblr-active-bg: #1b293a; + --tblr-disabled-color: var(--tblr-gray-700); + --tblr-border-color: var(--tblr-dark-mode-border-color); + --tblr-border-color-translucent: var( + --tblr-dark-mode-border-color-translucent + ); + --tblr-border-dark-color: var(--tblr-dark-mode-border-dark-color); + --tblr-border-color-active: var( + --tblr-dark-mode-border-color-active + ); + --tblr-btn-color: #151f2c; + --tblr-code-color: var(--tblr-body-color); + --tblr-code-bg: #1f2e41; + --tblr-primary-lt: #192b42; + --tblr-primary-lt-rgb: 25, 43, 66; + --tblr-secondary-lt: #202c3b; + --tblr-secondary-lt-rgb: 32, 44, 59; + --tblr-success-lt: #1a3235; + --tblr-success-lt-rgb: 26, 50, 53; + --tblr-info-lt: #1c3044; + --tblr-info-lt-rgb: 28, 48, 68; + --tblr-warning-lt: #2e2b2f; + --tblr-warning-lt-rgb: 46, 43, 47; + --tblr-danger-lt: #2b2634; + --tblr-danger-lt-rgb: 43, 38, 52; + --tblr-light-lt: #2f3a47; + --tblr-light-lt-rgb: 47, 58, 71; + --tblr-dark-lt: #182433; + --tblr-dark-lt-rgb: 24, 36, 51; + --tblr-muted-lt: #202c3b; + --tblr-muted-lt-rgb: 32, 44, 59; + --tblr-blue-lt: #192b42; + --tblr-blue-lt-rgb: 25, 43, 66; + --tblr-azure-lt: #1c3044; + --tblr-azure-lt-rgb: 28, 48, 68; + --tblr-indigo-lt: #1c2a45; + --tblr-indigo-lt-rgb: 28, 42, 69; + --tblr-purple-lt: #272742; + --tblr-purple-lt-rgb: 39, 39, 66; + --tblr-pink-lt: #2b2639; + --tblr-pink-lt-rgb: 43, 38, 57; + --tblr-red-lt: #2b2634; + --tblr-red-lt-rgb: 43, 38, 52; + --tblr-orange-lt: #2e2b2f; + --tblr-orange-lt-rgb: 46, 43, 47; + --tblr-yellow-lt: #2e302e; + --tblr-yellow-lt-rgb: 46, 48, 46; + --tblr-lime-lt: #213330; + --tblr-lime-lt-rgb: 33, 51, 48; + --tblr-green-lt: #1a3235; + --tblr-green-lt-rgb: 26, 50, 53; + --tblr-teal-lt: #17313a; + --tblr-teal-lt-rgb: 23, 49, 58; + --tblr-cyan-lt: #183140; + --tblr-cyan-lt-rgb: 24, 49, 64; + --tblr-facebook-lt: #182c46; + --tblr-facebook-lt-rgb: 24, 44, 70; + --tblr-twitter-lt: #193146; + --tblr-twitter-lt-rgb: 25, 49, 70; + --tblr-linkedin-lt: #172b41; + --tblr-linkedin-lt-rgb: 23, 43, 65; + --tblr-google-lt: #2c2834; + --tblr-google-lt-rgb: 44, 40, 52; + --tblr-youtube-lt: #2f202e; + --tblr-youtube-lt-rgb: 47, 32, 46; + --tblr-vimeo-lt: #183345; + --tblr-vimeo-lt-rgb: 24, 51, 69; + --tblr-dribbble-lt: #2d283c; + --tblr-dribbble-lt-rgb: 45, 40, 60; + --tblr-github-lt: #182330; + --tblr-github-lt-rgb: 24, 35, 48; + --tblr-instagram-lt: #2c2737; + --tblr-instagram-lt-rgb: 44, 39, 55; + --tblr-pinterest-lt: #292131; + --tblr-pinterest-lt-rgb: 41, 33, 49; + --tblr-vk-lt: #202e3f; + --tblr-vk-lt-rgb: 32, 46, 63; + --tblr-rss-lt: #2f312e; + --tblr-rss-lt-rgb: 47, 49, 46; + --tblr-flickr-lt: #162a44; + --tblr-flickr-lt-rgb: 22, 42, 68; + --tblr-bitbucket-lt: #162942; + --tblr-bitbucket-lt-rgb: 22, 41, 66; + --tblr-tabler-lt: #192b42; + --tblr-tabler-lt-rgb: 25, 43, 66; +} +[data-bs-theme=dark] .navbar-brand-autodark .navbar-brand-image { + filter: brightness(0) invert(1); +} + +.accordion { + --tblr-accordion-color: var(--tblr-body-color); +} + +.accordion-button:focus:not(:focus-visible) { + outline: none; + box-shadow: none; +} +.accordion-button:after { + opacity: 0.7; +} +.accordion-button:not(.collapsed) { + font-weight: var(--tblr-font-weight-bold); + border-bottom-color: transparent; + box-shadow: none; +} +.accordion-button:not(.collapsed):after { + opacity: 1; +} + +.alert { + --tblr-alert-color: var(--tblr-muted); + background: #ffffff; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + border-left: 0.25rem var(--tblr-border-style) var(--tblr-alert-color); + box-shadow: rgba(24, 36, 51, 0.04) 0 2px 4px 0; +} +.alert > :last-child { + margin-bottom: 0; +} + +.alert-important { + border-color: transparent; + background: var(--tblr-alert-color); + color: #fff; +} +.alert-important .alert-icon, +.alert-important .alert-link { + color: inherit; +} +.alert-important .alert-link:hover { + color: inherit; +} + +.alert-link, .alert-link:hover { + color: var(--tblr-alert-color); +} + +.alert-primary { + --tblr-alert-color: var(--tblr-primary); +} + +.alert-secondary { + --tblr-alert-color: var(--tblr-secondary); +} + +.alert-success { + --tblr-alert-color: var(--tblr-success); +} + +.alert-info { + --tblr-alert-color: var(--tblr-info); +} + +.alert-warning { + --tblr-alert-color: var(--tblr-warning); +} + +.alert-danger { + --tblr-alert-color: var(--tblr-danger); +} + +.alert-light { + --tblr-alert-color: var(--tblr-light); +} + +.alert-dark { + --tblr-alert-color: var(--tblr-dark); +} + +.alert-muted { + --tblr-alert-color: var(--tblr-muted); +} + +.alert-blue { + --tblr-alert-color: var(--tblr-blue); +} + +.alert-azure { + --tblr-alert-color: var(--tblr-azure); +} + +.alert-indigo { + --tblr-alert-color: var(--tblr-indigo); +} + +.alert-purple { + --tblr-alert-color: var(--tblr-purple); +} + +.alert-pink { + --tblr-alert-color: var(--tblr-pink); +} + +.alert-red { + --tblr-alert-color: var(--tblr-red); +} + +.alert-orange { + --tblr-alert-color: var(--tblr-orange); +} + +.alert-yellow { + --tblr-alert-color: var(--tblr-yellow); +} + +.alert-lime { + --tblr-alert-color: var(--tblr-lime); +} + +.alert-green { + --tblr-alert-color: var(--tblr-green); +} + +.alert-teal { + --tblr-alert-color: var(--tblr-teal); +} + +.alert-cyan { + --tblr-alert-color: var(--tblr-cyan); +} + +.alert-facebook { + --tblr-alert-color: var(--tblr-facebook); +} + +.alert-twitter { + --tblr-alert-color: var(--tblr-twitter); +} + +.alert-linkedin { + --tblr-alert-color: var(--tblr-linkedin); +} + +.alert-google { + --tblr-alert-color: var(--tblr-google); +} + +.alert-youtube { + --tblr-alert-color: var(--tblr-youtube); +} + +.alert-vimeo { + --tblr-alert-color: var(--tblr-vimeo); +} + +.alert-dribbble { + --tblr-alert-color: var(--tblr-dribbble); +} + +.alert-github { + --tblr-alert-color: var(--tblr-github); +} + +.alert-instagram { + --tblr-alert-color: var(--tblr-instagram); +} + +.alert-pinterest { + --tblr-alert-color: var(--tblr-pinterest); +} + +.alert-vk { + --tblr-alert-color: var(--tblr-vk); +} + +.alert-rss { + --tblr-alert-color: var(--tblr-rss); +} + +.alert-flickr { + --tblr-alert-color: var(--tblr-flickr); +} + +.alert-bitbucket { + --tblr-alert-color: var(--tblr-bitbucket); +} + +.alert-tabler { + --tblr-alert-color: var(--tblr-tabler); +} + +.alert-icon { + color: var(--tblr-alert-color); + width: 1.5rem !important; + height: 1.5rem !important; + margin: -0.125rem 1rem -0.125rem 0; +} + +.alert-title { + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: var(--tblr-font-weight-bold); + margin-bottom: 0.25rem; + color: var(--tblr-alert-color); +} + +.avatar { + --tblr-avatar-size: 2.5rem; + --tblr-avatar-bg: var(--tblr-bg-surface-secondary); + --tblr-avatar-shadow: inset var(--tblr-border-color-translucent) 0 0 0 1px; + position: relative; + width: var(--tblr-avatar-size); + height: var(--tblr-avatar-size); + font-size: calc(var(--tblr-avatar-size) / 2.8571428572); + font-weight: var(--tblr-font-weight-medium); + display: inline-flex; + align-items: center; + justify-content: center; + color: var(--tblr-muted); + text-align: center; + text-transform: uppercase; + vertical-align: bottom; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background: var(--tblr-avatar-bg) no-repeat center/cover; + border-radius: var(--tblr-border-radius); + box-shadow: var(--tblr-avatar-shadow); +} +.avatar svg { + width: calc(var(--tblr-avatar-size) / 1.6666666667); + height: calc(var(--tblr-avatar-size) / 1.6666666667); +} +.avatar .badge { + position: absolute; + right: 0; + bottom: 0; + border-radius: 100rem; + box-shadow: 0 0 0 2px var(--tblr-bg-surface); +} +a.avatar { + cursor: pointer; +} + +.avatar-rounded { + border-radius: 100rem; +} + +.avatar-xs { + --tblr-avatar-size: 1.5rem; +} + +.avatar-xs .badge:empty { + width: 0.375rem; + height: 0.375rem; +} + +.avatar-sm { + --tblr-avatar-size: 2rem; +} + +.avatar-sm .badge:empty { + width: 0.5rem; + height: 0.5rem; +} + +.avatar-md { + --tblr-avatar-size: 4rem; +} + +.avatar-md .badge:empty { + width: 1rem; + height: 1rem; +} + +.avatar-lg { + --tblr-avatar-size: 5.5rem; +} + +.avatar-lg .badge:empty { + width: 1.375rem; + height: 1.375rem; +} + +.avatar-xl { + --tblr-avatar-size: 7rem; +} + +.avatar-xl .badge:empty { + width: 1.75rem; + height: 1.75rem; +} + +.avatar-2xl { + --tblr-avatar-size: 11rem; +} + +.avatar-2xl .badge:empty { + width: 2.75rem; + height: 2.75rem; +} + +.avatar-list { + --tblr-list-gap: 0.5rem; + display: flex; + flex-wrap: wrap; + gap: var(--tblr-list-gap); +} +.avatar-list a.avatar:hover { + z-index: 1; +} + +.avatar-list-stacked { + display: block; + --tblr-list-gap: 0; +} +.avatar-list-stacked .avatar { + margin-right: calc(-0.5 * var(--tblr-avatar-size)) !important; + box-shadow: var(--tblr-avatar-shadow), 0 0 0 2px var(--tblr-card-cap-bg, var(--tblr-card-bg, var(--tblr-bg-surface))); +} + +.avatar-upload { + width: 4rem; + height: 4rem; + border: var(--tblr-border-width) dashed var(--tblr-border-color); + background: var(--tblr-bg-forms); + flex-direction: column; + transition: color 0.3s, background-color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .avatar-upload { + transition: none; + } +} +.avatar-upload svg { + width: 1.5rem; + height: 1.5rem; + stroke-width: 1; +} +.avatar-upload:hover { + border-color: var(--tblr-primary); + color: var(--tblr-primary); + text-decoration: none; +} + +.avatar-upload-text { + font-size: 0.625rem; + line-height: 1; + margin-top: 0.25rem; +} + +.avatar-cover { + margin-top: calc(-0.5 * var(--tblr-avatar-size)); + box-shadow: 0 0 0 0.25rem var(--tblr-card-bg, var(--tblr-body-bg)); +} + +.badge { + justify-content: center; + align-items: center; + background: #929dab; + overflow: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: var(--tblr-border-width) var(--tblr-border-style) transparent; + min-width: 1.35714285em; + font-weight: var(--tblr-font-weight-bold); + letter-spacing: 0.04em; + vertical-align: bottom; +} +a.badge { + color: var(--tblr-bg-surface); +} + +.badge:empty { + display: inline-block; + width: 0.5rem; + height: 0.5rem; + min-width: 0; + min-height: auto; + padding: 0; + border-radius: 100rem; + vertical-align: baseline; +} +.badge .avatar { + box-sizing: content-box; + width: 1.25rem; + height: 1.25rem; + margin: 0 0.5rem 0 -0.5rem; +} +.badge .icon { + width: 1em; + height: 1em; + font-size: 1rem; + stroke-width: 2; +} + +.badge-outline { + background-color: transparent; + border: var(--tblr-border-width) var(--tblr-border-style) currentColor; +} + +.badge-pill { + border-radius: 100rem; +} + +.badges-list { + --tblr-list-gap: 0.5rem; + display: flex; + flex-wrap: wrap; + gap: var(--tblr-list-gap); +} + +.badge-notification { + position: absolute !important; + top: 0 !important; + right: 0 !important; + transform: translate(50%, -50%); + z-index: 1; +} + +.badge-blink { + animation: blink 2s infinite; +} + +.breadcrumb { + --tblr-breadcrumb-item-active-font-weight: var(--tblr-font-weight-bold); + --tblr-breadcrumb-item-disabled-color: var(--tblr-disabled-color); + --tblr-breadcrumb-link-color: var(--tblr-link-color); + padding: 0; + margin: 0; + background: transparent; +} +.breadcrumb a { + color: var(--tblr-breadcrumb-link-color); +} +.breadcrumb a:hover { + text-decoration: underline; +} + +.breadcrumb-muted { + --tblr-breadcrumb-link-color: var(--tblr-muted); +} + +.breadcrumb-item.active { + font-weight: var(--tblr-breadcrumb-item-active-font-weight); +} +.breadcrumb-item.active a { + color: inherit; + pointer-events: none; +} +.breadcrumb-item.disabled { + color: var(--tblr-breadcrumb-item-disabled-color); +} +.breadcrumb-item.disabled:before { + color: inherit; +} +.breadcrumb-item.disabled a { + color: inherit; + pointer-events: none; +} + +.breadcrumb-dots { + --tblr-breadcrumb-divider: "·"; +} + +.breadcrumb-arrows { + --tblr-breadcrumb-divider: "›"; +} + +.breadcrumb-bullets { + --tblr-breadcrumb-divider: "•"; +} + +.btn { + --tblr-btn-bg: var(--tblr-bg-surface); + --tblr-btn-hover-bg: var(--tblr-bg-surface); + --tblr-btn-icon-size: 1.25rem; + --tblr-btn-bg: var(--tblr-bg-surface); + --tblr-btn-color: var(--tblr-body-color); + --tblr-btn-border-color: var(--tblr-border-color); + --tblr-btn-hover-bg: var(--tblr-btn-bg); + --tblr-btn-hover-border-color: var(--tblr-border-color-active); + --tblr-btn-box-shadow: var(--tblr-shadow-button); + --tblr-btn-active-color: var(--tblr-primary); + --tblr-btn-active-bg: rgba(var(--tblr-primary-rgb), 0.04); + --tblr-btn-active-border-color: var(--tblr-primary); + display: inline-flex; + align-items: center; + justify-content: center; + white-space: nowrap; + box-shadow: var(--tblr-btn-box-shadow); +} +.btn .icon { + width: var(--tblr-btn-icon-size); + height: var(--tblr-btn-icon-size); + min-width: var(--tblr-btn-icon-size); + margin: 0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4); + vertical-align: bottom; + color: inherit; +} +.btn .avatar { + width: var(--tblr-btn-icon-size); + height: var(--tblr-btn-icon-size); + margin: 0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4); +} +.btn .icon-right { + margin: 0 calc(var(--tblr-btn-padding-x) / -4) 0 calc(var(--tblr-btn-padding-x) / 2); +} +.btn .badge { + top: auto; +} +.btn-check + .btn:hover { + color: var(--tblr-btn-hover-color); + background-color: var(--tblr-btn-hover-bg); + border-color: var(--tblr-btn-hover-border-color); +} + +.btn-link { + color: #206bc4; + background-color: transparent; + border-color: transparent; + box-shadow: none; +} +.btn-link .icon { + color: inherit; +} +.btn-link:hover { + color: #1a569d; + border-color: transparent; +} + +.btn-primary { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-primary-fg); + --tblr-btn-bg: var(--tblr-primary); + --tblr-btn-hover-color: var(--tblr-primary-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-primary-rgb), .8); + --tblr-btn-active-color: var(--tblr-primary-fg); + --tblr-btn-active-bg: rgba(var(--tblr-primary-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-primary); + --tblr-btn-disabled-color: var(--tblr-primary-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-primary { + --tblr-btn-color: var(--tblr-primary); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-primary); + --tblr-btn-hover-color: var(--tblr-primary-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-primary); + --tblr-btn-active-color: var(--tblr-primary-fg); + --tblr-btn-active-bg: var(--tblr-primary); + --tblr-btn-disabled-color: var(--tblr-primary); + --tblr-btn-disabled-border-color: var(--tblr-primary); +} + +.btn-secondary { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-secondary-fg); + --tblr-btn-bg: var(--tblr-secondary); + --tblr-btn-hover-color: var(--tblr-secondary-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-secondary-rgb), .8); + --tblr-btn-active-color: var(--tblr-secondary-fg); + --tblr-btn-active-bg: rgba(var(--tblr-secondary-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-secondary); + --tblr-btn-disabled-color: var(--tblr-secondary-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-secondary { + --tblr-btn-color: var(--tblr-secondary); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-secondary); + --tblr-btn-hover-color: var(--tblr-secondary-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-secondary); + --tblr-btn-active-color: var(--tblr-secondary-fg); + --tblr-btn-active-bg: var(--tblr-secondary); + --tblr-btn-disabled-color: var(--tblr-secondary); + --tblr-btn-disabled-border-color: var(--tblr-secondary); +} + +.btn-success { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-success-fg); + --tblr-btn-bg: var(--tblr-success); + --tblr-btn-hover-color: var(--tblr-success-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-success-rgb), .8); + --tblr-btn-active-color: var(--tblr-success-fg); + --tblr-btn-active-bg: rgba(var(--tblr-success-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-success); + --tblr-btn-disabled-color: var(--tblr-success-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-success { + --tblr-btn-color: var(--tblr-success); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-success); + --tblr-btn-hover-color: var(--tblr-success-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-success); + --tblr-btn-active-color: var(--tblr-success-fg); + --tblr-btn-active-bg: var(--tblr-success); + --tblr-btn-disabled-color: var(--tblr-success); + --tblr-btn-disabled-border-color: var(--tblr-success); +} + +.btn-info { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-info-fg); + --tblr-btn-bg: var(--tblr-info); + --tblr-btn-hover-color: var(--tblr-info-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-info-rgb), .8); + --tblr-btn-active-color: var(--tblr-info-fg); + --tblr-btn-active-bg: rgba(var(--tblr-info-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-info); + --tblr-btn-disabled-color: var(--tblr-info-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-info { + --tblr-btn-color: var(--tblr-info); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-info); + --tblr-btn-hover-color: var(--tblr-info-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-info); + --tblr-btn-active-color: var(--tblr-info-fg); + --tblr-btn-active-bg: var(--tblr-info); + --tblr-btn-disabled-color: var(--tblr-info); + --tblr-btn-disabled-border-color: var(--tblr-info); +} + +.btn-warning { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-warning-fg); + --tblr-btn-bg: var(--tblr-warning); + --tblr-btn-hover-color: var(--tblr-warning-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-warning-rgb), .8); + --tblr-btn-active-color: var(--tblr-warning-fg); + --tblr-btn-active-bg: rgba(var(--tblr-warning-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-warning); + --tblr-btn-disabled-color: var(--tblr-warning-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-warning { + --tblr-btn-color: var(--tblr-warning); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-warning); + --tblr-btn-hover-color: var(--tblr-warning-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-warning); + --tblr-btn-active-color: var(--tblr-warning-fg); + --tblr-btn-active-bg: var(--tblr-warning); + --tblr-btn-disabled-color: var(--tblr-warning); + --tblr-btn-disabled-border-color: var(--tblr-warning); +} + +.btn-danger { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-danger-fg); + --tblr-btn-bg: var(--tblr-danger); + --tblr-btn-hover-color: var(--tblr-danger-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-danger-rgb), .8); + --tblr-btn-active-color: var(--tblr-danger-fg); + --tblr-btn-active-bg: rgba(var(--tblr-danger-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-danger); + --tblr-btn-disabled-color: var(--tblr-danger-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-danger { + --tblr-btn-color: var(--tblr-danger); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-danger); + --tblr-btn-hover-color: var(--tblr-danger-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-danger); + --tblr-btn-active-color: var(--tblr-danger-fg); + --tblr-btn-active-bg: var(--tblr-danger); + --tblr-btn-disabled-color: var(--tblr-danger); + --tblr-btn-disabled-border-color: var(--tblr-danger); +} + +.btn-light { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-light-fg); + --tblr-btn-bg: var(--tblr-light); + --tblr-btn-hover-color: var(--tblr-light-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-light-rgb), .8); + --tblr-btn-active-color: var(--tblr-light-fg); + --tblr-btn-active-bg: rgba(var(--tblr-light-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-light); + --tblr-btn-disabled-color: var(--tblr-light-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-light { + --tblr-btn-color: var(--tblr-light); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-light); + --tblr-btn-hover-color: var(--tblr-light-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-light); + --tblr-btn-active-color: var(--tblr-light-fg); + --tblr-btn-active-bg: var(--tblr-light); + --tblr-btn-disabled-color: var(--tblr-light); + --tblr-btn-disabled-border-color: var(--tblr-light); +} + +.btn-dark { + --tblr-btn-border-color: var(--tblr-dark-mode-border-color); + --tblr-btn-hover-border-color: var(--tblr-dark-mode-border-color-active); + --tblr-btn-active-border-color: var(--tblr-dark-mode-border-color-active); + --tblr-btn-color: var(--tblr-dark-fg); + --tblr-btn-bg: var(--tblr-dark); + --tblr-btn-hover-color: var(--tblr-dark-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-dark-rgb), .8); + --tblr-btn-active-color: var(--tblr-dark-fg); + --tblr-btn-active-bg: rgba(var(--tblr-dark-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-dark); + --tblr-btn-disabled-color: var(--tblr-dark-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-dark { + --tblr-btn-color: var(--tblr-dark); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-dark); + --tblr-btn-hover-color: var(--tblr-dark-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-dark); + --tblr-btn-active-color: var(--tblr-dark-fg); + --tblr-btn-active-bg: var(--tblr-dark); + --tblr-btn-disabled-color: var(--tblr-dark); + --tblr-btn-disabled-border-color: var(--tblr-dark); +} + +.btn-muted { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-muted-fg); + --tblr-btn-bg: var(--tblr-muted); + --tblr-btn-hover-color: var(--tblr-muted-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-muted-rgb), .8); + --tblr-btn-active-color: var(--tblr-muted-fg); + --tblr-btn-active-bg: rgba(var(--tblr-muted-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-muted); + --tblr-btn-disabled-color: var(--tblr-muted-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-muted { + --tblr-btn-color: var(--tblr-muted); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-muted); + --tblr-btn-hover-color: var(--tblr-muted-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-muted); + --tblr-btn-active-color: var(--tblr-muted-fg); + --tblr-btn-active-bg: var(--tblr-muted); + --tblr-btn-disabled-color: var(--tblr-muted); + --tblr-btn-disabled-border-color: var(--tblr-muted); +} + +.btn-blue { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-blue-fg); + --tblr-btn-bg: var(--tblr-blue); + --tblr-btn-hover-color: var(--tblr-blue-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-blue-rgb), .8); + --tblr-btn-active-color: var(--tblr-blue-fg); + --tblr-btn-active-bg: rgba(var(--tblr-blue-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-blue); + --tblr-btn-disabled-color: var(--tblr-blue-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-blue { + --tblr-btn-color: var(--tblr-blue); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-blue); + --tblr-btn-hover-color: var(--tblr-blue-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-blue); + --tblr-btn-active-color: var(--tblr-blue-fg); + --tblr-btn-active-bg: var(--tblr-blue); + --tblr-btn-disabled-color: var(--tblr-blue); + --tblr-btn-disabled-border-color: var(--tblr-blue); +} + +.btn-azure { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-azure-fg); + --tblr-btn-bg: var(--tblr-azure); + --tblr-btn-hover-color: var(--tblr-azure-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-azure-rgb), .8); + --tblr-btn-active-color: var(--tblr-azure-fg); + --tblr-btn-active-bg: rgba(var(--tblr-azure-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-azure); + --tblr-btn-disabled-color: var(--tblr-azure-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-azure { + --tblr-btn-color: var(--tblr-azure); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-azure); + --tblr-btn-hover-color: var(--tblr-azure-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-azure); + --tblr-btn-active-color: var(--tblr-azure-fg); + --tblr-btn-active-bg: var(--tblr-azure); + --tblr-btn-disabled-color: var(--tblr-azure); + --tblr-btn-disabled-border-color: var(--tblr-azure); +} + +.btn-indigo { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-indigo-fg); + --tblr-btn-bg: var(--tblr-indigo); + --tblr-btn-hover-color: var(--tblr-indigo-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-indigo-rgb), .8); + --tblr-btn-active-color: var(--tblr-indigo-fg); + --tblr-btn-active-bg: rgba(var(--tblr-indigo-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-indigo); + --tblr-btn-disabled-color: var(--tblr-indigo-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-indigo { + --tblr-btn-color: var(--tblr-indigo); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-indigo); + --tblr-btn-hover-color: var(--tblr-indigo-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-indigo); + --tblr-btn-active-color: var(--tblr-indigo-fg); + --tblr-btn-active-bg: var(--tblr-indigo); + --tblr-btn-disabled-color: var(--tblr-indigo); + --tblr-btn-disabled-border-color: var(--tblr-indigo); +} + +.btn-purple { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-purple-fg); + --tblr-btn-bg: var(--tblr-purple); + --tblr-btn-hover-color: var(--tblr-purple-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-purple-rgb), .8); + --tblr-btn-active-color: var(--tblr-purple-fg); + --tblr-btn-active-bg: rgba(var(--tblr-purple-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-purple); + --tblr-btn-disabled-color: var(--tblr-purple-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-purple { + --tblr-btn-color: var(--tblr-purple); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-purple); + --tblr-btn-hover-color: var(--tblr-purple-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-purple); + --tblr-btn-active-color: var(--tblr-purple-fg); + --tblr-btn-active-bg: var(--tblr-purple); + --tblr-btn-disabled-color: var(--tblr-purple); + --tblr-btn-disabled-border-color: var(--tblr-purple); +} + +.btn-pink { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-pink-fg); + --tblr-btn-bg: var(--tblr-pink); + --tblr-btn-hover-color: var(--tblr-pink-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-pink-rgb), .8); + --tblr-btn-active-color: var(--tblr-pink-fg); + --tblr-btn-active-bg: rgba(var(--tblr-pink-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-pink); + --tblr-btn-disabled-color: var(--tblr-pink-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-pink { + --tblr-btn-color: var(--tblr-pink); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-pink); + --tblr-btn-hover-color: var(--tblr-pink-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-pink); + --tblr-btn-active-color: var(--tblr-pink-fg); + --tblr-btn-active-bg: var(--tblr-pink); + --tblr-btn-disabled-color: var(--tblr-pink); + --tblr-btn-disabled-border-color: var(--tblr-pink); +} + +.btn-red { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-red-fg); + --tblr-btn-bg: var(--tblr-red); + --tblr-btn-hover-color: var(--tblr-red-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-red-rgb), .8); + --tblr-btn-active-color: var(--tblr-red-fg); + --tblr-btn-active-bg: rgba(var(--tblr-red-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-red); + --tblr-btn-disabled-color: var(--tblr-red-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-red { + --tblr-btn-color: var(--tblr-red); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-red); + --tblr-btn-hover-color: var(--tblr-red-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-red); + --tblr-btn-active-color: var(--tblr-red-fg); + --tblr-btn-active-bg: var(--tblr-red); + --tblr-btn-disabled-color: var(--tblr-red); + --tblr-btn-disabled-border-color: var(--tblr-red); +} + +.btn-orange { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-orange-fg); + --tblr-btn-bg: var(--tblr-orange); + --tblr-btn-hover-color: var(--tblr-orange-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-orange-rgb), .8); + --tblr-btn-active-color: var(--tblr-orange-fg); + --tblr-btn-active-bg: rgba(var(--tblr-orange-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-orange); + --tblr-btn-disabled-color: var(--tblr-orange-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-orange { + --tblr-btn-color: var(--tblr-orange); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-orange); + --tblr-btn-hover-color: var(--tblr-orange-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-orange); + --tblr-btn-active-color: var(--tblr-orange-fg); + --tblr-btn-active-bg: var(--tblr-orange); + --tblr-btn-disabled-color: var(--tblr-orange); + --tblr-btn-disabled-border-color: var(--tblr-orange); +} + +.btn-yellow { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-yellow-fg); + --tblr-btn-bg: var(--tblr-yellow); + --tblr-btn-hover-color: var(--tblr-yellow-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-yellow-rgb), .8); + --tblr-btn-active-color: var(--tblr-yellow-fg); + --tblr-btn-active-bg: rgba(var(--tblr-yellow-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-yellow); + --tblr-btn-disabled-color: var(--tblr-yellow-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-yellow { + --tblr-btn-color: var(--tblr-yellow); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-yellow); + --tblr-btn-hover-color: var(--tblr-yellow-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-yellow); + --tblr-btn-active-color: var(--tblr-yellow-fg); + --tblr-btn-active-bg: var(--tblr-yellow); + --tblr-btn-disabled-color: var(--tblr-yellow); + --tblr-btn-disabled-border-color: var(--tblr-yellow); +} + +.btn-lime { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-lime-fg); + --tblr-btn-bg: var(--tblr-lime); + --tblr-btn-hover-color: var(--tblr-lime-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-lime-rgb), .8); + --tblr-btn-active-color: var(--tblr-lime-fg); + --tblr-btn-active-bg: rgba(var(--tblr-lime-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-lime); + --tblr-btn-disabled-color: var(--tblr-lime-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-lime { + --tblr-btn-color: var(--tblr-lime); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-lime); + --tblr-btn-hover-color: var(--tblr-lime-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-lime); + --tblr-btn-active-color: var(--tblr-lime-fg); + --tblr-btn-active-bg: var(--tblr-lime); + --tblr-btn-disabled-color: var(--tblr-lime); + --tblr-btn-disabled-border-color: var(--tblr-lime); +} + +.btn-green { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-green-fg); + --tblr-btn-bg: var(--tblr-green); + --tblr-btn-hover-color: var(--tblr-green-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-green-rgb), .8); + --tblr-btn-active-color: var(--tblr-green-fg); + --tblr-btn-active-bg: rgba(var(--tblr-green-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-green); + --tblr-btn-disabled-color: var(--tblr-green-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-green { + --tblr-btn-color: var(--tblr-green); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-green); + --tblr-btn-hover-color: var(--tblr-green-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-green); + --tblr-btn-active-color: var(--tblr-green-fg); + --tblr-btn-active-bg: var(--tblr-green); + --tblr-btn-disabled-color: var(--tblr-green); + --tblr-btn-disabled-border-color: var(--tblr-green); +} + +.btn-teal { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-teal-fg); + --tblr-btn-bg: var(--tblr-teal); + --tblr-btn-hover-color: var(--tblr-teal-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-teal-rgb), .8); + --tblr-btn-active-color: var(--tblr-teal-fg); + --tblr-btn-active-bg: rgba(var(--tblr-teal-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-teal); + --tblr-btn-disabled-color: var(--tblr-teal-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-teal { + --tblr-btn-color: var(--tblr-teal); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-teal); + --tblr-btn-hover-color: var(--tblr-teal-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-teal); + --tblr-btn-active-color: var(--tblr-teal-fg); + --tblr-btn-active-bg: var(--tblr-teal); + --tblr-btn-disabled-color: var(--tblr-teal); + --tblr-btn-disabled-border-color: var(--tblr-teal); +} + +.btn-cyan { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-cyan-fg); + --tblr-btn-bg: var(--tblr-cyan); + --tblr-btn-hover-color: var(--tblr-cyan-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-cyan-rgb), .8); + --tblr-btn-active-color: var(--tblr-cyan-fg); + --tblr-btn-active-bg: rgba(var(--tblr-cyan-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-cyan); + --tblr-btn-disabled-color: var(--tblr-cyan-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-cyan { + --tblr-btn-color: var(--tblr-cyan); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-cyan); + --tblr-btn-hover-color: var(--tblr-cyan-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-cyan); + --tblr-btn-active-color: var(--tblr-cyan-fg); + --tblr-btn-active-bg: var(--tblr-cyan); + --tblr-btn-disabled-color: var(--tblr-cyan); + --tblr-btn-disabled-border-color: var(--tblr-cyan); +} + +.btn-facebook { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-facebook-fg); + --tblr-btn-bg: var(--tblr-facebook); + --tblr-btn-hover-color: var(--tblr-facebook-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-facebook-rgb), .8); + --tblr-btn-active-color: var(--tblr-facebook-fg); + --tblr-btn-active-bg: rgba(var(--tblr-facebook-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-facebook); + --tblr-btn-disabled-color: var(--tblr-facebook-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-facebook { + --tblr-btn-color: var(--tblr-facebook); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-facebook); + --tblr-btn-hover-color: var(--tblr-facebook-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-facebook); + --tblr-btn-active-color: var(--tblr-facebook-fg); + --tblr-btn-active-bg: var(--tblr-facebook); + --tblr-btn-disabled-color: var(--tblr-facebook); + --tblr-btn-disabled-border-color: var(--tblr-facebook); +} + +.btn-twitter { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-twitter-fg); + --tblr-btn-bg: var(--tblr-twitter); + --tblr-btn-hover-color: var(--tblr-twitter-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-twitter-rgb), .8); + --tblr-btn-active-color: var(--tblr-twitter-fg); + --tblr-btn-active-bg: rgba(var(--tblr-twitter-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-twitter); + --tblr-btn-disabled-color: var(--tblr-twitter-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-twitter { + --tblr-btn-color: var(--tblr-twitter); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-twitter); + --tblr-btn-hover-color: var(--tblr-twitter-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-twitter); + --tblr-btn-active-color: var(--tblr-twitter-fg); + --tblr-btn-active-bg: var(--tblr-twitter); + --tblr-btn-disabled-color: var(--tblr-twitter); + --tblr-btn-disabled-border-color: var(--tblr-twitter); +} + +.btn-linkedin { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-linkedin-fg); + --tblr-btn-bg: var(--tblr-linkedin); + --tblr-btn-hover-color: var(--tblr-linkedin-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-linkedin-rgb), .8); + --tblr-btn-active-color: var(--tblr-linkedin-fg); + --tblr-btn-active-bg: rgba(var(--tblr-linkedin-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-linkedin); + --tblr-btn-disabled-color: var(--tblr-linkedin-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-linkedin { + --tblr-btn-color: var(--tblr-linkedin); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-linkedin); + --tblr-btn-hover-color: var(--tblr-linkedin-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-linkedin); + --tblr-btn-active-color: var(--tblr-linkedin-fg); + --tblr-btn-active-bg: var(--tblr-linkedin); + --tblr-btn-disabled-color: var(--tblr-linkedin); + --tblr-btn-disabled-border-color: var(--tblr-linkedin); +} + +.btn-google { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-google-fg); + --tblr-btn-bg: var(--tblr-google); + --tblr-btn-hover-color: var(--tblr-google-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-google-rgb), .8); + --tblr-btn-active-color: var(--tblr-google-fg); + --tblr-btn-active-bg: rgba(var(--tblr-google-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-google); + --tblr-btn-disabled-color: var(--tblr-google-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-google { + --tblr-btn-color: var(--tblr-google); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-google); + --tblr-btn-hover-color: var(--tblr-google-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-google); + --tblr-btn-active-color: var(--tblr-google-fg); + --tblr-btn-active-bg: var(--tblr-google); + --tblr-btn-disabled-color: var(--tblr-google); + --tblr-btn-disabled-border-color: var(--tblr-google); +} + +.btn-youtube { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-youtube-fg); + --tblr-btn-bg: var(--tblr-youtube); + --tblr-btn-hover-color: var(--tblr-youtube-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-youtube-rgb), .8); + --tblr-btn-active-color: var(--tblr-youtube-fg); + --tblr-btn-active-bg: rgba(var(--tblr-youtube-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-youtube); + --tblr-btn-disabled-color: var(--tblr-youtube-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-youtube { + --tblr-btn-color: var(--tblr-youtube); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-youtube); + --tblr-btn-hover-color: var(--tblr-youtube-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-youtube); + --tblr-btn-active-color: var(--tblr-youtube-fg); + --tblr-btn-active-bg: var(--tblr-youtube); + --tblr-btn-disabled-color: var(--tblr-youtube); + --tblr-btn-disabled-border-color: var(--tblr-youtube); +} + +.btn-vimeo { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-vimeo-fg); + --tblr-btn-bg: var(--tblr-vimeo); + --tblr-btn-hover-color: var(--tblr-vimeo-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-vimeo-rgb), .8); + --tblr-btn-active-color: var(--tblr-vimeo-fg); + --tblr-btn-active-bg: rgba(var(--tblr-vimeo-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-vimeo); + --tblr-btn-disabled-color: var(--tblr-vimeo-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-vimeo { + --tblr-btn-color: var(--tblr-vimeo); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-vimeo); + --tblr-btn-hover-color: var(--tblr-vimeo-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-vimeo); + --tblr-btn-active-color: var(--tblr-vimeo-fg); + --tblr-btn-active-bg: var(--tblr-vimeo); + --tblr-btn-disabled-color: var(--tblr-vimeo); + --tblr-btn-disabled-border-color: var(--tblr-vimeo); +} + +.btn-dribbble { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-dribbble-fg); + --tblr-btn-bg: var(--tblr-dribbble); + --tblr-btn-hover-color: var(--tblr-dribbble-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-dribbble-rgb), .8); + --tblr-btn-active-color: var(--tblr-dribbble-fg); + --tblr-btn-active-bg: rgba(var(--tblr-dribbble-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-dribbble); + --tblr-btn-disabled-color: var(--tblr-dribbble-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-dribbble { + --tblr-btn-color: var(--tblr-dribbble); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-dribbble); + --tblr-btn-hover-color: var(--tblr-dribbble-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-dribbble); + --tblr-btn-active-color: var(--tblr-dribbble-fg); + --tblr-btn-active-bg: var(--tblr-dribbble); + --tblr-btn-disabled-color: var(--tblr-dribbble); + --tblr-btn-disabled-border-color: var(--tblr-dribbble); +} + +.btn-github { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-github-fg); + --tblr-btn-bg: var(--tblr-github); + --tblr-btn-hover-color: var(--tblr-github-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-github-rgb), .8); + --tblr-btn-active-color: var(--tblr-github-fg); + --tblr-btn-active-bg: rgba(var(--tblr-github-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-github); + --tblr-btn-disabled-color: var(--tblr-github-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-github { + --tblr-btn-color: var(--tblr-github); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-github); + --tblr-btn-hover-color: var(--tblr-github-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-github); + --tblr-btn-active-color: var(--tblr-github-fg); + --tblr-btn-active-bg: var(--tblr-github); + --tblr-btn-disabled-color: var(--tblr-github); + --tblr-btn-disabled-border-color: var(--tblr-github); +} + +.btn-instagram { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-instagram-fg); + --tblr-btn-bg: var(--tblr-instagram); + --tblr-btn-hover-color: var(--tblr-instagram-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-instagram-rgb), .8); + --tblr-btn-active-color: var(--tblr-instagram-fg); + --tblr-btn-active-bg: rgba(var(--tblr-instagram-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-instagram); + --tblr-btn-disabled-color: var(--tblr-instagram-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-instagram { + --tblr-btn-color: var(--tblr-instagram); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-instagram); + --tblr-btn-hover-color: var(--tblr-instagram-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-instagram); + --tblr-btn-active-color: var(--tblr-instagram-fg); + --tblr-btn-active-bg: var(--tblr-instagram); + --tblr-btn-disabled-color: var(--tblr-instagram); + --tblr-btn-disabled-border-color: var(--tblr-instagram); +} + +.btn-pinterest { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-pinterest-fg); + --tblr-btn-bg: var(--tblr-pinterest); + --tblr-btn-hover-color: var(--tblr-pinterest-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-pinterest-rgb), .8); + --tblr-btn-active-color: var(--tblr-pinterest-fg); + --tblr-btn-active-bg: rgba(var(--tblr-pinterest-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-pinterest); + --tblr-btn-disabled-color: var(--tblr-pinterest-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-pinterest { + --tblr-btn-color: var(--tblr-pinterest); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-pinterest); + --tblr-btn-hover-color: var(--tblr-pinterest-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-pinterest); + --tblr-btn-active-color: var(--tblr-pinterest-fg); + --tblr-btn-active-bg: var(--tblr-pinterest); + --tblr-btn-disabled-color: var(--tblr-pinterest); + --tblr-btn-disabled-border-color: var(--tblr-pinterest); +} + +.btn-vk { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-vk-fg); + --tblr-btn-bg: var(--tblr-vk); + --tblr-btn-hover-color: var(--tblr-vk-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-vk-rgb), .8); + --tblr-btn-active-color: var(--tblr-vk-fg); + --tblr-btn-active-bg: rgba(var(--tblr-vk-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-vk); + --tblr-btn-disabled-color: var(--tblr-vk-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-vk { + --tblr-btn-color: var(--tblr-vk); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-vk); + --tblr-btn-hover-color: var(--tblr-vk-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-vk); + --tblr-btn-active-color: var(--tblr-vk-fg); + --tblr-btn-active-bg: var(--tblr-vk); + --tblr-btn-disabled-color: var(--tblr-vk); + --tblr-btn-disabled-border-color: var(--tblr-vk); +} + +.btn-rss { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-rss-fg); + --tblr-btn-bg: var(--tblr-rss); + --tblr-btn-hover-color: var(--tblr-rss-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-rss-rgb), .8); + --tblr-btn-active-color: var(--tblr-rss-fg); + --tblr-btn-active-bg: rgba(var(--tblr-rss-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-rss); + --tblr-btn-disabled-color: var(--tblr-rss-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-rss { + --tblr-btn-color: var(--tblr-rss); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-rss); + --tblr-btn-hover-color: var(--tblr-rss-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-rss); + --tblr-btn-active-color: var(--tblr-rss-fg); + --tblr-btn-active-bg: var(--tblr-rss); + --tblr-btn-disabled-color: var(--tblr-rss); + --tblr-btn-disabled-border-color: var(--tblr-rss); +} + +.btn-flickr { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-flickr-fg); + --tblr-btn-bg: var(--tblr-flickr); + --tblr-btn-hover-color: var(--tblr-flickr-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-flickr-rgb), .8); + --tblr-btn-active-color: var(--tblr-flickr-fg); + --tblr-btn-active-bg: rgba(var(--tblr-flickr-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-flickr); + --tblr-btn-disabled-color: var(--tblr-flickr-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-flickr { + --tblr-btn-color: var(--tblr-flickr); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-flickr); + --tblr-btn-hover-color: var(--tblr-flickr-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-flickr); + --tblr-btn-active-color: var(--tblr-flickr-fg); + --tblr-btn-active-bg: var(--tblr-flickr); + --tblr-btn-disabled-color: var(--tblr-flickr); + --tblr-btn-disabled-border-color: var(--tblr-flickr); +} + +.btn-bitbucket { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-bitbucket-fg); + --tblr-btn-bg: var(--tblr-bitbucket); + --tblr-btn-hover-color: var(--tblr-bitbucket-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-bitbucket-rgb), .8); + --tblr-btn-active-color: var(--tblr-bitbucket-fg); + --tblr-btn-active-bg: rgba(var(--tblr-bitbucket-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-bitbucket); + --tblr-btn-disabled-color: var(--tblr-bitbucket-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-bitbucket { + --tblr-btn-color: var(--tblr-bitbucket); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-bitbucket); + --tblr-btn-hover-color: var(--tblr-bitbucket-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-bitbucket); + --tblr-btn-active-color: var(--tblr-bitbucket-fg); + --tblr-btn-active-bg: var(--tblr-bitbucket); + --tblr-btn-disabled-color: var(--tblr-bitbucket); + --tblr-btn-disabled-border-color: var(--tblr-bitbucket); +} + +.btn-tabler { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-tabler-fg); + --tblr-btn-bg: var(--tblr-tabler); + --tblr-btn-hover-color: var(--tblr-tabler-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-tabler-rgb), .8); + --tblr-btn-active-color: var(--tblr-tabler-fg); + --tblr-btn-active-bg: rgba(var(--tblr-tabler-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-tabler); + --tblr-btn-disabled-color: var(--tblr-tabler-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-tabler { + --tblr-btn-color: var(--tblr-tabler); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-tabler); + --tblr-btn-hover-color: var(--tblr-tabler-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-tabler); + --tblr-btn-active-color: var(--tblr-tabler-fg); + --tblr-btn-active-bg: var(--tblr-tabler); + --tblr-btn-disabled-color: var(--tblr-tabler); + --tblr-btn-disabled-border-color: var(--tblr-tabler); +} + +.btn-ghost-primary { + --tblr-btn-color: var(--tblr-primary); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-primary-fg); + --tblr-btn-hover-bg: var(--tblr-primary); + --tblr-btn-hover-border-color: var(--tblr-primary); + --tblr-btn-active-color: var(--tblr-primary-fg); + --tblr-btn-active-bg: var(--tblr-primary); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-primary); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-secondary { + --tblr-btn-color: var(--tblr-secondary); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-secondary-fg); + --tblr-btn-hover-bg: var(--tblr-secondary); + --tblr-btn-hover-border-color: var(--tblr-secondary); + --tblr-btn-active-color: var(--tblr-secondary-fg); + --tblr-btn-active-bg: var(--tblr-secondary); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-secondary); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-success { + --tblr-btn-color: var(--tblr-success); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-success-fg); + --tblr-btn-hover-bg: var(--tblr-success); + --tblr-btn-hover-border-color: var(--tblr-success); + --tblr-btn-active-color: var(--tblr-success-fg); + --tblr-btn-active-bg: var(--tblr-success); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-success); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-info { + --tblr-btn-color: var(--tblr-info); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-info-fg); + --tblr-btn-hover-bg: var(--tblr-info); + --tblr-btn-hover-border-color: var(--tblr-info); + --tblr-btn-active-color: var(--tblr-info-fg); + --tblr-btn-active-bg: var(--tblr-info); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-info); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-warning { + --tblr-btn-color: var(--tblr-warning); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-warning-fg); + --tblr-btn-hover-bg: var(--tblr-warning); + --tblr-btn-hover-border-color: var(--tblr-warning); + --tblr-btn-active-color: var(--tblr-warning-fg); + --tblr-btn-active-bg: var(--tblr-warning); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-warning); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-danger { + --tblr-btn-color: var(--tblr-danger); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-danger-fg); + --tblr-btn-hover-bg: var(--tblr-danger); + --tblr-btn-hover-border-color: var(--tblr-danger); + --tblr-btn-active-color: var(--tblr-danger-fg); + --tblr-btn-active-bg: var(--tblr-danger); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-danger); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-light { + --tblr-btn-color: var(--tblr-light); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-light-fg); + --tblr-btn-hover-bg: var(--tblr-light); + --tblr-btn-hover-border-color: var(--tblr-light); + --tblr-btn-active-color: var(--tblr-light-fg); + --tblr-btn-active-bg: var(--tblr-light); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-light); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-dark { + --tblr-btn-color: var(--tblr-dark); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-dark-fg); + --tblr-btn-hover-bg: var(--tblr-dark); + --tblr-btn-hover-border-color: var(--tblr-dark); + --tblr-btn-active-color: var(--tblr-dark-fg); + --tblr-btn-active-bg: var(--tblr-dark); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-dark); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-muted { + --tblr-btn-color: var(--tblr-muted); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-muted-fg); + --tblr-btn-hover-bg: var(--tblr-muted); + --tblr-btn-hover-border-color: var(--tblr-muted); + --tblr-btn-active-color: var(--tblr-muted-fg); + --tblr-btn-active-bg: var(--tblr-muted); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-muted); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-blue { + --tblr-btn-color: var(--tblr-blue); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-blue-fg); + --tblr-btn-hover-bg: var(--tblr-blue); + --tblr-btn-hover-border-color: var(--tblr-blue); + --tblr-btn-active-color: var(--tblr-blue-fg); + --tblr-btn-active-bg: var(--tblr-blue); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-blue); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-azure { + --tblr-btn-color: var(--tblr-azure); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-azure-fg); + --tblr-btn-hover-bg: var(--tblr-azure); + --tblr-btn-hover-border-color: var(--tblr-azure); + --tblr-btn-active-color: var(--tblr-azure-fg); + --tblr-btn-active-bg: var(--tblr-azure); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-azure); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-indigo { + --tblr-btn-color: var(--tblr-indigo); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-indigo-fg); + --tblr-btn-hover-bg: var(--tblr-indigo); + --tblr-btn-hover-border-color: var(--tblr-indigo); + --tblr-btn-active-color: var(--tblr-indigo-fg); + --tblr-btn-active-bg: var(--tblr-indigo); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-indigo); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-purple { + --tblr-btn-color: var(--tblr-purple); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-purple-fg); + --tblr-btn-hover-bg: var(--tblr-purple); + --tblr-btn-hover-border-color: var(--tblr-purple); + --tblr-btn-active-color: var(--tblr-purple-fg); + --tblr-btn-active-bg: var(--tblr-purple); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-purple); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-pink { + --tblr-btn-color: var(--tblr-pink); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-pink-fg); + --tblr-btn-hover-bg: var(--tblr-pink); + --tblr-btn-hover-border-color: var(--tblr-pink); + --tblr-btn-active-color: var(--tblr-pink-fg); + --tblr-btn-active-bg: var(--tblr-pink); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-pink); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-red { + --tblr-btn-color: var(--tblr-red); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-red-fg); + --tblr-btn-hover-bg: var(--tblr-red); + --tblr-btn-hover-border-color: var(--tblr-red); + --tblr-btn-active-color: var(--tblr-red-fg); + --tblr-btn-active-bg: var(--tblr-red); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-red); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-orange { + --tblr-btn-color: var(--tblr-orange); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-orange-fg); + --tblr-btn-hover-bg: var(--tblr-orange); + --tblr-btn-hover-border-color: var(--tblr-orange); + --tblr-btn-active-color: var(--tblr-orange-fg); + --tblr-btn-active-bg: var(--tblr-orange); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-orange); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-yellow { + --tblr-btn-color: var(--tblr-yellow); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-yellow-fg); + --tblr-btn-hover-bg: var(--tblr-yellow); + --tblr-btn-hover-border-color: var(--tblr-yellow); + --tblr-btn-active-color: var(--tblr-yellow-fg); + --tblr-btn-active-bg: var(--tblr-yellow); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-yellow); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-lime { + --tblr-btn-color: var(--tblr-lime); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-lime-fg); + --tblr-btn-hover-bg: var(--tblr-lime); + --tblr-btn-hover-border-color: var(--tblr-lime); + --tblr-btn-active-color: var(--tblr-lime-fg); + --tblr-btn-active-bg: var(--tblr-lime); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-lime); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-green { + --tblr-btn-color: var(--tblr-green); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-green-fg); + --tblr-btn-hover-bg: var(--tblr-green); + --tblr-btn-hover-border-color: var(--tblr-green); + --tblr-btn-active-color: var(--tblr-green-fg); + --tblr-btn-active-bg: var(--tblr-green); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-green); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-teal { + --tblr-btn-color: var(--tblr-teal); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-teal-fg); + --tblr-btn-hover-bg: var(--tblr-teal); + --tblr-btn-hover-border-color: var(--tblr-teal); + --tblr-btn-active-color: var(--tblr-teal-fg); + --tblr-btn-active-bg: var(--tblr-teal); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-teal); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-cyan { + --tblr-btn-color: var(--tblr-cyan); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-cyan-fg); + --tblr-btn-hover-bg: var(--tblr-cyan); + --tblr-btn-hover-border-color: var(--tblr-cyan); + --tblr-btn-active-color: var(--tblr-cyan-fg); + --tblr-btn-active-bg: var(--tblr-cyan); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-cyan); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-facebook { + --tblr-btn-color: var(--tblr-facebook); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-facebook-fg); + --tblr-btn-hover-bg: var(--tblr-facebook); + --tblr-btn-hover-border-color: var(--tblr-facebook); + --tblr-btn-active-color: var(--tblr-facebook-fg); + --tblr-btn-active-bg: var(--tblr-facebook); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-facebook); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-twitter { + --tblr-btn-color: var(--tblr-twitter); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-twitter-fg); + --tblr-btn-hover-bg: var(--tblr-twitter); + --tblr-btn-hover-border-color: var(--tblr-twitter); + --tblr-btn-active-color: var(--tblr-twitter-fg); + --tblr-btn-active-bg: var(--tblr-twitter); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-twitter); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-linkedin { + --tblr-btn-color: var(--tblr-linkedin); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-linkedin-fg); + --tblr-btn-hover-bg: var(--tblr-linkedin); + --tblr-btn-hover-border-color: var(--tblr-linkedin); + --tblr-btn-active-color: var(--tblr-linkedin-fg); + --tblr-btn-active-bg: var(--tblr-linkedin); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-linkedin); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-google { + --tblr-btn-color: var(--tblr-google); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-google-fg); + --tblr-btn-hover-bg: var(--tblr-google); + --tblr-btn-hover-border-color: var(--tblr-google); + --tblr-btn-active-color: var(--tblr-google-fg); + --tblr-btn-active-bg: var(--tblr-google); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-google); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-youtube { + --tblr-btn-color: var(--tblr-youtube); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-youtube-fg); + --tblr-btn-hover-bg: var(--tblr-youtube); + --tblr-btn-hover-border-color: var(--tblr-youtube); + --tblr-btn-active-color: var(--tblr-youtube-fg); + --tblr-btn-active-bg: var(--tblr-youtube); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-youtube); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-vimeo { + --tblr-btn-color: var(--tblr-vimeo); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-vimeo-fg); + --tblr-btn-hover-bg: var(--tblr-vimeo); + --tblr-btn-hover-border-color: var(--tblr-vimeo); + --tblr-btn-active-color: var(--tblr-vimeo-fg); + --tblr-btn-active-bg: var(--tblr-vimeo); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-vimeo); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-dribbble { + --tblr-btn-color: var(--tblr-dribbble); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-dribbble-fg); + --tblr-btn-hover-bg: var(--tblr-dribbble); + --tblr-btn-hover-border-color: var(--tblr-dribbble); + --tblr-btn-active-color: var(--tblr-dribbble-fg); + --tblr-btn-active-bg: var(--tblr-dribbble); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-dribbble); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-github { + --tblr-btn-color: var(--tblr-github); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-github-fg); + --tblr-btn-hover-bg: var(--tblr-github); + --tblr-btn-hover-border-color: var(--tblr-github); + --tblr-btn-active-color: var(--tblr-github-fg); + --tblr-btn-active-bg: var(--tblr-github); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-github); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-instagram { + --tblr-btn-color: var(--tblr-instagram); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-instagram-fg); + --tblr-btn-hover-bg: var(--tblr-instagram); + --tblr-btn-hover-border-color: var(--tblr-instagram); + --tblr-btn-active-color: var(--tblr-instagram-fg); + --tblr-btn-active-bg: var(--tblr-instagram); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-instagram); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-pinterest { + --tblr-btn-color: var(--tblr-pinterest); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-pinterest-fg); + --tblr-btn-hover-bg: var(--tblr-pinterest); + --tblr-btn-hover-border-color: var(--tblr-pinterest); + --tblr-btn-active-color: var(--tblr-pinterest-fg); + --tblr-btn-active-bg: var(--tblr-pinterest); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-pinterest); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-vk { + --tblr-btn-color: var(--tblr-vk); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-vk-fg); + --tblr-btn-hover-bg: var(--tblr-vk); + --tblr-btn-hover-border-color: var(--tblr-vk); + --tblr-btn-active-color: var(--tblr-vk-fg); + --tblr-btn-active-bg: var(--tblr-vk); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-vk); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-rss { + --tblr-btn-color: var(--tblr-rss); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-rss-fg); + --tblr-btn-hover-bg: var(--tblr-rss); + --tblr-btn-hover-border-color: var(--tblr-rss); + --tblr-btn-active-color: var(--tblr-rss-fg); + --tblr-btn-active-bg: var(--tblr-rss); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-rss); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-flickr { + --tblr-btn-color: var(--tblr-flickr); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-flickr-fg); + --tblr-btn-hover-bg: var(--tblr-flickr); + --tblr-btn-hover-border-color: var(--tblr-flickr); + --tblr-btn-active-color: var(--tblr-flickr-fg); + --tblr-btn-active-bg: var(--tblr-flickr); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-flickr); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-bitbucket { + --tblr-btn-color: var(--tblr-bitbucket); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-bitbucket-fg); + --tblr-btn-hover-bg: var(--tblr-bitbucket); + --tblr-btn-hover-border-color: var(--tblr-bitbucket); + --tblr-btn-active-color: var(--tblr-bitbucket-fg); + --tblr-btn-active-bg: var(--tblr-bitbucket); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-bitbucket); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-tabler { + --tblr-btn-color: var(--tblr-tabler); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-tabler-fg); + --tblr-btn-hover-bg: var(--tblr-tabler); + --tblr-btn-hover-border-color: var(--tblr-tabler); + --tblr-btn-active-color: var(--tblr-tabler-fg); + --tblr-btn-active-bg: var(--tblr-tabler); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-tabler); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-sm, .btn-group-sm > .btn { + --tblr-btn-line-height: 1.5; + --tblr-btn-icon-size: .75rem; +} + +.btn-lg, .btn-group-lg > .btn { + --tblr-btn-line-height: 1.5; + --tblr-btn-icon-size: 2rem; +} + +.btn-pill { + padding-right: 1.5em; + padding-left: 1.5em; + border-radius: 10rem; +} +.btn-pill[class*=btn-icon] { + padding: 0.375rem 15px; +} + +.btn-square { + border-radius: 0; +} + +.btn-icon { + min-width: calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2); + min-height: calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2); + padding-left: 0; + padding-right: 0; +} +.btn-icon .icon { + margin: calc(-1 * var(--tblr-btn-padding-x)); +} + +.btn-list { + --tblr-list-gap: 0.5rem; + display: flex; + flex-wrap: wrap; + gap: var(--tblr-list-gap); +} + +.btn-floating { + position: fixed; + z-index: 1030; + bottom: 1.5rem; + right: 1.5rem; + border-radius: 100rem; +} + +.btn-loading { + position: relative; + color: transparent !important; + text-shadow: none !important; + pointer-events: none; +} +.btn-loading > * { + opacity: 0; +} +.btn-loading:after { + content: ""; + display: inline-block; + vertical-align: text-bottom; + border: 2px var(--tblr-border-style) currentColor; + border-right-color: transparent; + border-radius: 100rem; + color: var(--tblr-btn-color); + position: absolute; + width: var(--tblr-btn-icon-size); + height: var(--tblr-btn-icon-size); + left: calc(50% - var(--tblr-btn-icon-size) / 2); + top: calc(50% - var(--tblr-btn-icon-size) / 2); + animation: spinner-border 0.75s linear infinite; +} + +.btn-action { + padding: 0; + border: 0; + color: var(--tblr-muted); + display: inline-flex; + width: 2rem; + height: 2rem; + align-items: center; + justify-content: center; + border-radius: var(--tblr-border-radius); + background: transparent; +} +.btn-action:after { + content: none; +} +.btn-action:focus { + outline: none; + box-shadow: none; +} +.btn-action:hover, .btn-action.show { + color: var(--tblr-body-color); + background: var(--tblr-active-bg); +} +.btn-action.show { + color: var(--tblr-primary); +} +.btn-action .icon { + margin: 0; + width: 1.25rem; + height: 1.25rem; + font-size: 1.25rem; + stroke-width: 1; +} + +.btn-actions { + display: flex; +} + +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 5; +} +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus { + z-index: 1; +} + +.calendar { + display: block; + font-size: 0.765625rem; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} + +.calendar-nav { + display: flex; + align-items: center; +} + +.calendar-title { + flex: 1; + text-align: center; +} + +.calendar-body, +.calendar-header { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + padding: 0.5rem 0; +} + +.calendar-header { + color: var(--tblr-muted); +} + +.calendar-date { + flex: 0 0 14.2857142857%; + max-width: 14.2857142857%; + padding: 0.2rem; + text-align: center; + border: 0; +} +.calendar-date.prev-month, .calendar-date.next-month { + opacity: 0.25; +} +.calendar-date .date-item { + position: relative; + display: inline-block; + width: 1.4rem; + height: 1.4rem; + line-height: 1.4rem; + color: #66758c; + text-align: center; + text-decoration: none; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background: 0 0; + border: var(--tblr-border-width) var(--tblr-border-style) transparent; + border-radius: 100rem; + outline: 0; + transition: background 0.3s, border 0.3s, box-shadow 0.32s, color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .calendar-date .date-item { + transition: none; + } +} +.calendar-date .date-item:hover { + color: var(--tblr-primary); + text-decoration: none; + background: #fefeff; + border-color: var(--tblr-border-color); +} +.calendar-date .date-today { + color: var(--tblr-primary); + border-color: var(--tblr-border-color); +} + +.calendar-range { + position: relative; +} +.calendar-range:before { + position: absolute; + top: 50%; + right: 0; + left: 0; + height: 1.4rem; + content: ""; + background: rgba(var(--tblr-primary-rgb), 0.1); + transform: translateY(-50%); +} +.calendar-range.range-start .date-item, .calendar-range.range-end .date-item { + color: #ffffff; + background: var(--tblr-primary); + border-color: var(--tblr-primary); +} +.calendar-range.range-start:before { + left: 50%; +} +.calendar-range.range-end:before { + right: 50%; +} + +.carousel-indicators-vertical { + left: auto; + top: 0; + margin: 0 1rem 0 0; + flex-direction: column; +} +.carousel-indicators-vertical [data-bs-target] { + margin: 3px 0 3px; + width: 3px; + height: 30px; + border: 0; + border-left: 10px var(--tblr-border-style) transparent; + border-right: 10px var(--tblr-border-style) transparent; +} + +.carousel-indicators-dot [data-bs-target] { + width: 0.5rem; + height: 0.5rem; + border-radius: 100rem; + border: 10px var(--tblr-border-style) transparent; + margin: 0; +} + +.carousel-indicators-thumb [data-bs-target] { + width: 2rem; + height: auto; + background: no-repeat center/cover; + border: 0; + border-radius: var(--tblr-border-radius); + box-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; + margin: 0 3px; + opacity: 0.75; +} +@media (min-width: 992px) { + .carousel-indicators-thumb [data-bs-target] { + width: 4rem; + } +} +.carousel-indicators-thumb [data-bs-target]:before { + content: ""; + padding-top: var(--tblr-aspect-ratio, 100%); + display: block; +} +.carousel-indicators-thumb.carousel-indicators-vertical [data-bs-target] { + margin: 3px 0; +} + +.carousel-caption-background { + background: red; + position: absolute; + left: 0; + right: 0; + bottom: 0; + height: 90%; + background: linear-gradient(0deg, rgba(24, 36, 51, 0.9), rgba(24, 36, 51, 0)); +} + +.card { + transition: transform 0.3s ease-out, opacity 0.3s ease-out, box-shadow 0.3s ease-out; +} +@media (prefers-reduced-motion: reduce) { + .card { + transition: none; + } +} +@media print { + .card { + border: none; + box-shadow: none; + } +} +a.card { + color: inherit; +} +a.card:hover { + text-decoration: none; + box-shadow: rgba(var(--tblr-body-color-rgb), 0.16) 0 2px 16px 0; +} + +.card .card { + box-shadow: none; +} + +.card-borderless, +.card-borderless .card-header, +.card-borderless .card-footer { + border-color: transparent; +} + +.card-stamp { + --tblr-stamp-size: 7rem; + position: absolute; + top: 0; + right: 0; + width: calc(var(--tblr-stamp-size) * 1); + height: calc(var(--tblr-stamp-size) * 1); + max-height: 100%; + border-top-right-radius: 4px; + opacity: 0.2; + overflow: hidden; + pointer-events: none; +} + +.card-stamp-lg { + --tblr-stamp-size: 13rem; +} + +.card-stamp-icon { + background: var(--tblr-muted); + color: var(--tblr-card-bg, var(--tblr-bg-surface)); + display: flex; + align-items: center; + justify-content: center; + border-radius: 100rem; + width: calc(var(--tblr-stamp-size) * 1); + height: calc(var(--tblr-stamp-size) * 1); + position: relative; + top: calc(var(--tblr-stamp-size) * -0.25); + right: calc(var(--tblr-stamp-size) * -0.25); + font-size: calc(var(--tblr-stamp-size) * 0.75); + transform: rotate(10deg); +} +.card-stamp-icon .icon { + stroke-width: 2; + width: calc(var(--tblr-stamp-size) * 0.75); + height: calc(var(--tblr-stamp-size) * 0.75); +} + +.card-img, +.card-img-start { + border-top-left-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); + border-bottom-left-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); +} + +.card-img, +.card-img-end { + border-top-right-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); + border-bottom-right-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); +} + +.card-img-overlay { + display: flex; + flex-direction: column; + justify-content: flex-end; +} + +.card-img-overlay-dark { + background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%); +} + +.card-inactive { + pointer-events: none; + box-shadow: none; +} +.card-inactive .card-body { + opacity: 0.64; +} + +.card-active { + --tblr-card-border-color: var(--tblr-primary); + --tblr-card-bg: var(--tblr-active-bg); +} + +.card-btn { + display: flex; + align-items: center; + justify-content: center; + padding: 1rem 1.5rem; + text-align: center; + transition: background 0.3s; + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + flex: 1; + color: inherit; + font-weight: var(--tblr-font-weight-medium); +} +@media (prefers-reduced-motion: reduce) { + .card-btn { + transition: none; + } +} +.card-btn:hover { + text-decoration: none; + background: rgba(var(--tblr-primary-rgb), 0.04); +} +.card-btn + .card-btn { + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +/** +Stacked card + */ +.card-stacked { + --tblr-card-stacked-offset: .25rem; + position: relative; +} +.card-stacked:after { + position: absolute; + top: calc(-1 * var(--tblr-card-stacked-offset)); + right: var(--tblr-card-stacked-offset); + left: var(--tblr-card-stacked-offset); + height: var(--tblr-card-stacked-offset); + content: ""; + background: var(--tblr-card-bg, var(--tblr-bg-surface)); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-card-border-color); + border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; +} + +.card-cover { + position: relative; + padding: 1rem 1.5rem; + background: #666666 no-repeat center/cover; +} +.card-cover:before { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + content: ""; + background: rgba(24, 36, 51, 0.48); +} +.card-cover:first-child, .card-cover:first-child:before { + border-radius: 4px 4px 0 0; +} + +.card-cover-blurred:before { + -webkit-backdrop-filter: blur(2px); + backdrop-filter: blur(2px); +} + +.card-actions { + margin: -0.5rem -0.5rem -0.5rem auto; + padding-left: 0.5rem; +} +.card-actions a { + text-decoration: none; +} + +.card-header { + color: inherit; + display: flex; + align-items: center; + background: transparent; +} +.card-header:first-child { + border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; +} + +.card-header-light { + border-bottom-color: transparent; + background: var(--tblr-bg-surface-tertiary); +} + +.card-header-tabs { + background: var(--tblr-bg-surface-tertiary); + flex: 1; + margin: calc(var(--tblr-card-cap-padding-y) * -1) calc(var(--tblr-card-cap-padding-x) * -1) calc(var(--tblr-card-cap-padding-y) * -1); + padding: calc(var(--tblr-card-cap-padding-y) * 0.5) calc(var(--tblr-card-cap-padding-x) * 0.5) 0; +} + +.card-header-pills { + flex: 1; + margin-top: -0.5rem; + margin-bottom: -0.5rem; +} + +.card-rotate-left { + transform: rotate(-1.5deg); +} + +.card-rotate-right { + transform: rotate(1.5deg); +} + +.card-link { + color: inherit; +} +.card-link:hover { + color: inherit; + text-decoration: none; + box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.08); +} + +.card-link-rotate:hover { + transform: rotate(1.5deg); + opacity: 1; +} + +.card-link-pop:hover { + transform: translateY(-2px); + opacity: 1; +} + +.card-footer { + margin-top: auto; +} +.card-footer:last-child { + border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius); +} + +.card-footer-transparent { + background: transparent; + border-color: transparent; + padding-top: 0; +} + +.card-footer-borderless { + border-top: none; +} + +.card-progress { + height: 0.25rem; +} +.card-progress:last-child { + border-radius: 0 0 2px 2px; +} +.card-progress:first-child { + border-radius: 2px 2px 0 0; +} + +.card-meta { + color: var(--tblr-muted); +} + +.card-title { + display: block; + margin: 0 0 1rem; + font-size: 1rem; + font-weight: var(--tblr-font-weight-medium); + line-height: 1.5rem; +} +a.card-title:hover { + color: inherit; +} + +.card-header .card-title { + margin: 0; +} + +.card-subtitle { + margin-bottom: 1.25rem; + color: var(--tblr-muted); + font-weight: normal; +} +.card-header .card-subtitle { + margin: 0; +} +.card-title .card-subtitle { + margin: 0 0 0 0.25rem; + font-size: 0.875rem; +} + +.card-body { + position: relative; +} +.card-body > :last-child { + margin-bottom: 0; +} +.card-sm > .card-body { + padding: 1rem; +} +@media (min-width: 768px) { + .card-md > .card-body { + padding: 2.5rem; + } +} +@media (min-width: 768px) { + .card-lg > .card-body { + padding: 2rem; + } +} +@media (min-width: 992px) { + .card-lg > .card-body { + padding: 4rem; + } +} +@media print { + .card-body { + padding: 0; + } +} +.card-body + .card-body { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +.card-body-scrollable { + overflow: auto; +} + +/** +Card optinos + */ +.card-options { + top: 1.5rem; + right: 0.75rem; + display: flex; + margin-left: auto; +} + +.card-options-link { + display: inline-block; + min-width: 1rem; + margin-left: 0.25rem; + color: var(--tblr-muted); +} + +/** +Card status + */ +.card-status-top { + position: absolute; + top: 0; + right: 0; + left: 0; + height: 2px; + border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; +} + +.card-status-start { + position: absolute; + right: auto; + bottom: 0; + width: 2px; + height: 100%; + border-radius: var(--tblr-card-border-radius) 0 0 var(--tblr-card-border-radius); +} + +.card-status-bottom { + position: absolute; + top: initial; + bottom: 0; + width: 100%; + height: 2px; + border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius); +} + +/** +Card table + */ +.card-table { + margin-bottom: 0 !important; +} +.card-table tr td:first-child, +.card-table tr th:first-child { + padding-left: 1.5rem; + border-left: 0; +} +.card-table tr td:last-child, +.card-table tr th:last-child { + padding-right: 1.5rem; + border-right: 0; +} +.card-table thead tr:first-child, +.card-table tbody tr:first-child, +.card-table tfoot tr:first-child { + border-top: 0; +} +.card-table thead tr:first-child td, +.card-table thead tr:first-child th, +.card-table tbody tr:first-child td, +.card-table tbody tr:first-child th, +.card-table tfoot tr:first-child td, +.card-table tfoot tr:first-child th { + border-top: 0; +} +.card-body + .card-table { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-table-border-color); +} + +/* +Card code + */ +.card-code { + padding: 0; +} +.card-code .highlight { + margin: 0; + border: 0; +} +.card-code pre { + margin: 0 !important; + border: 0 !important; +} + +/* +Card chart + */ +.card-chart { + position: relative; + z-index: 1; + height: 3.5rem; +} + +/** +Card avatar + */ +.card-avatar { + margin-left: auto; + margin-right: auto; + box-shadow: 0 0 0 0.25rem var(--tblr-card-bg, var(--tblr-bg-surface)); + margin-top: calc(-1 * var(--tblr-avatar-size) * 0.5); +} + +/* +Card list group + */ +.card-body + .card-list-group { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} +.card-list-group .list-group-item { + padding-right: 1.5rem; + padding-left: 1.5rem; + border-right: 0; + border-left: 0; + border-radius: 0; +} +.card-list-group .list-group-item:last-child { + border-bottom: 0; +} +.card-list-group .list-group-item:first-child { + border-top: 0; +} + +.card-tabs .nav-tabs { + position: relative; + z-index: 1000; + border-bottom: 0; +} +.card-tabs .nav-tabs .nav-link { + background: var(--tblr-bg-surface-tertiary); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); +} +.card-tabs .nav-tabs .nav-link.active, .card-tabs .nav-tabs .nav-link:active, .card-tabs .nav-tabs .nav-link:hover { + border-color: var(--tblr-border-color-translucent); + color: var(--tblr-body-color); +} +.card-tabs .nav-tabs .nav-link.active { + background: var(--tblr-card-bg, var(--tblr-bg-surface)); + border-bottom-color: transparent; +} +.card-tabs .nav-tabs .nav-item:not(:first-child) .nav-link { + border-top-left-radius: 0; +} +.card-tabs .nav-tabs .nav-item:not(:last-child) .nav-link { + border-top-right-radius: 0; +} +.card-tabs .nav-tabs .nav-item + .nav-item { + margin-left: calc(-1 * var(--tblr-border-width)); +} +.card-tabs .nav-tabs-bottom { + margin-bottom: 0; +} +.card-tabs .nav-tabs-bottom .nav-link { + margin-bottom: 0; +} +.card-tabs .nav-tabs-bottom .nav-link.active { + border-top-color: transparent; +} +.card-tabs .nav-tabs-bottom .nav-item { + margin-top: calc(-1 * var(--tblr-border-width)); + margin-bottom: 0; +} +.card-tabs .nav-tabs-bottom .nav-item .nav-link { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + border-radius: 0 0 var(--tblr-border-radius) var(--tblr-border-radius); +} +.card-tabs .nav-tabs-bottom .nav-item:not(:first-child) .nav-link { + border-bottom-left-radius: 0; +} +.card-tabs .nav-tabs-bottom .nav-item:not(:last-child) .nav-link { + border-bottom-right-radius: 0; +} +.card-tabs .card { + border-bottom-left-radius: 0; +} +.card-tabs .nav-tabs + .tab-content .card { + border-bottom-left-radius: var(--tblr-card-border-radius); + border-top-left-radius: 0; +} + +.btn-close { + cursor: pointer; +} +.btn-close:focus { + outline: none; +} + +.dropdown-menu { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.dropdown-menu.card { + padding: 0; + min-width: 25rem; + display: none; +} +.dropdown-menu.card.show { + display: flex; +} + +.dropdown-item { + min-width: 11rem; + display: flex; + align-items: center; + margin: 0; + line-height: 1.4285714286; +} + +.dropdown-item-icon { + width: 1.25rem !important; + height: 1.25rem !important; + margin-right: 0.5rem; + color: var(--tblr-muted); + opacity: 0.7; + text-align: center; +} + +.dropdown-item-indicator { + margin-right: 0.5rem; + margin-left: -0.25rem; + height: 1.25rem; + display: inline-flex; + line-height: 1; + vertical-align: bottom; + align-items: center; +} + +.dropdown-header { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + padding-bottom: 0.25rem; + pointer-events: none; +} + +.dropdown-menu-scrollable { + height: auto; + max-height: 13rem; + overflow-x: hidden; +} + +.dropdown-menu-column { + min-width: 11rem; +} +.dropdown-menu-column .dropdown-item { + min-width: 0; +} + +.dropdown-menu-columns { + display: flex; + flex: 0 0.25rem; +} + +.dropdown-menu-arrow:before { + content: ""; + position: absolute; + top: -0.25rem; + left: 0.75rem; + display: block; + background: inherit; + width: 14px; + height: 14px; + /*rtl:ignore*/ + transform: rotate(45deg); + transform-origin: center; + border: 1px solid; + border-color: inherit; + z-index: -1; + clip: rect(0px, 9px, 9px, 0px); +} +.dropdown-menu-arrow.dropdown-menu-end:before { + right: 0.75rem; + left: auto; +} + +.dropend > .dropdown-menu { + margin-top: calc(-0.25rem - 1px); + margin-left: -0.25rem; +} +.dropend .dropdown-toggle:after { + margin-left: auto; +} + +.dropdown-menu-card { + padding: 0; +} +.dropdown-menu-card > .card { + margin: 0; + border: 0; + box-shadow: none; +} + +.datagrid { + --tblr-datagrid-padding: 1.5rem; + --tblr-datagrid-item-width: 15rem; + display: grid; + grid-gap: var(--tblr-datagrid-padding); + grid-template-columns: repeat(auto-fit, minmax(var(--tblr-datagrid-item-width), 1fr)); +} + +.datagrid-title { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + margin-bottom: 0.25rem; +} + +.empty { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; + text-align: center; +} +@media (min-width: 768px) { + .empty { + padding: 3rem; + } +} + +.empty-icon { + margin: 0 0 1rem; + width: 3rem; + height: 3rem; + line-height: 1; + color: var(--tblr-muted); +} +.empty-icon svg { + width: 100%; + height: 100%; +} + +.empty-img { + margin: 0 0 2rem; + line-height: 1; +} +.empty-img img { + height: 8rem; + width: auto; +} + +.empty-header { + margin: 0 0 1rem; + font-size: 4rem; + font-weight: var(--tblr-font-weight-light); + line-height: 1; + color: var(--tblr-muted); +} + +.empty-title { + font-size: 1.25rem; + line-height: 1.75rem; + font-weight: var(--tblr-font-weight-bold); +} + +.empty-title, +.empty-subtitle { + margin: 0 0 0.5rem; +} + +.empty-action { + margin-top: 1.5rem; +} + +.empty-bordered { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} + +.row > * { + min-width: 0; +} + +.col-separator { + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +.container-slim { + --tblr-gutter-x: calc(var(--tblr-page-padding) * 2); + --tblr-gutter-y: 0; + width: 100%; + padding-right: calc(var(--tblr-gutter-x) * 0.5); + padding-left: calc(var(--tblr-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; + max-width: 16rem; +} +.container-tight { + --tblr-gutter-x: calc(var(--tblr-page-padding) * 2); + --tblr-gutter-y: 0; + width: 100%; + padding-right: calc(var(--tblr-gutter-x) * 0.5); + padding-left: calc(var(--tblr-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; + max-width: 30rem; +} +.container-narrow { + --tblr-gutter-x: calc(var(--tblr-page-padding) * 2); + --tblr-gutter-y: 0; + width: 100%; + padding-right: calc(var(--tblr-gutter-x) * 0.5); + padding-left: calc(var(--tblr-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; + max-width: 45rem; +} + +.row-0 { + margin-right: 0; + margin-left: 0; +} +.row-0 > .col, +.row-0 > [class*=col-] { + padding-right: 0; + padding-left: 0; +} +.row-0 .card { + margin-bottom: 0; +} + +.row-sm { + margin-right: -0.375rem; + margin-left: -0.375rem; +} +.row-sm > .col, +.row-sm > [class*=col-] { + padding-right: 0.375rem; + padding-left: 0.375rem; +} +.row-sm .card { + margin-bottom: 0.75rem; +} + +.row-md { + margin-right: -1.5rem; + margin-left: -1.5rem; +} +.row-md > .col, +.row-md > [class*=col-] { + padding-right: 1.5rem; + padding-left: 1.5rem; +} +.row-md .card { + margin-bottom: 3rem; +} + +.row-lg { + margin-right: -3rem; + margin-left: -3rem; +} +.row-lg > .col, +.row-lg > [class*=col-] { + padding-right: 3rem; + padding-left: 3rem; +} +.row-lg .card { + margin-bottom: 6rem; +} + +.row-deck > .col, +.row-deck > [class*=col-] { + display: flex; + align-items: stretch; +} +.row-deck > .col .card, +.row-deck > [class*=col-] .card { + flex: 1 1 auto; +} + +.row-cards { + --tblr-gutter-x: var(--tblr-page-padding); + --tblr-gutter-y: var(--tblr-page-padding); + min-width: 0; +} +.row-cards .row-cards { + flex: 1; +} + +.space-y { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.space-x { + display: flex; + gap: 1rem; +} + +.space-y-0 { + display: flex; + flex-direction: column; + gap: 0; +} + +.space-x-0 { + display: flex; + gap: 0; +} + +.space-y-1 { + display: flex; + flex-direction: column; + gap: 0.25rem; +} + +.space-x-1 { + display: flex; + gap: 0.25rem; +} + +.space-y-2 { + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +.space-x-2 { + display: flex; + gap: 0.5rem; +} + +.space-y-3 { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.space-x-3 { + display: flex; + gap: 1rem; +} + +.space-y-4 { + display: flex; + flex-direction: column; + gap: 1.5rem; +} + +.space-x-4 { + display: flex; + gap: 1.5rem; +} + +.space-y-5 { + display: flex; + flex-direction: column; + gap: 2rem; +} + +.space-x-5 { + display: flex; + gap: 2rem; +} + +.space-y-6 { + display: flex; + flex-direction: column; + gap: 3rem; +} + +.space-x-6 { + display: flex; + gap: 3rem; +} + +.space-y-7 { + display: flex; + flex-direction: column; + gap: 5rem; +} + +.space-x-7 { + display: flex; + gap: 5rem; +} + +.space-y-8 { + display: flex; + flex-direction: column; + gap: 8rem; +} + +.space-x-8 { + display: flex; + gap: 8rem; +} + +.divide-y > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y > :not(template):not(:first-child) { + padding-top: 1rem !important; +} +.divide-y > :not(template):not(:last-child) { + padding-bottom: 1rem !important; +} + +.divide-x > :not(template) ~ :not(template) { + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x > :not(template):not(:first-child) { + padding-left: 1rem !important; +} +.divide-x > :not(template):not(:last-child) { + padding-right: 1rem !important; +} + +.divide-y-0 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-0 > :not(template):not(:first-child) { + padding-top: 0 !important; +} +.divide-y-0 > :not(template):not(:last-child) { + padding-bottom: 0 !important; +} + +.divide-x-0 > :not(template) ~ :not(template) { + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-0 > :not(template):not(:first-child) { + padding-left: 0 !important; +} +.divide-x-0 > :not(template):not(:last-child) { + padding-right: 0 !important; +} + +.divide-y-1 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-1 > :not(template):not(:first-child) { + padding-top: 0.25rem !important; +} +.divide-y-1 > :not(template):not(:last-child) { + padding-bottom: 0.25rem !important; +} + +.divide-x-1 > :not(template) ~ :not(template) { + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-1 > :not(template):not(:first-child) { + padding-left: 0.25rem !important; +} +.divide-x-1 > :not(template):not(:last-child) { + padding-right: 0.25rem !important; +} + +.divide-y-2 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-2 > :not(template):not(:first-child) { + padding-top: 0.5rem !important; +} +.divide-y-2 > :not(template):not(:last-child) { + padding-bottom: 0.5rem !important; +} + +.divide-x-2 > :not(template) ~ :not(template) { + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-2 > :not(template):not(:first-child) { + padding-left: 0.5rem !important; +} +.divide-x-2 > :not(template):not(:last-child) { + padding-right: 0.5rem !important; +} + +.divide-y-3 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-3 > :not(template):not(:first-child) { + padding-top: 1rem !important; +} +.divide-y-3 > :not(template):not(:last-child) { + padding-bottom: 1rem !important; +} + +.divide-x-3 > :not(template) ~ :not(template) { + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-3 > :not(template):not(:first-child) { + padding-left: 1rem !important; +} +.divide-x-3 > :not(template):not(:last-child) { + padding-right: 1rem !important; +} + +.divide-y-4 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-4 > :not(template):not(:first-child) { + padding-top: 1.5rem !important; +} +.divide-y-4 > :not(template):not(:last-child) { + padding-bottom: 1.5rem !important; +} + +.divide-x-4 > :not(template) ~ :not(template) { + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-4 > :not(template):not(:first-child) { + padding-left: 1.5rem !important; +} +.divide-x-4 > :not(template):not(:last-child) { + padding-right: 1.5rem !important; +} + +.divide-y-5 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-5 > :not(template):not(:first-child) { + padding-top: 2rem !important; +} +.divide-y-5 > :not(template):not(:last-child) { + padding-bottom: 2rem !important; +} + +.divide-x-5 > :not(template) ~ :not(template) { + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-5 > :not(template):not(:first-child) { + padding-left: 2rem !important; +} +.divide-x-5 > :not(template):not(:last-child) { + padding-right: 2rem !important; +} + +.divide-y-6 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-6 > :not(template):not(:first-child) { + padding-top: 3rem !important; +} +.divide-y-6 > :not(template):not(:last-child) { + padding-bottom: 3rem !important; +} + +.divide-x-6 > :not(template) ~ :not(template) { + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-6 > :not(template):not(:first-child) { + padding-left: 3rem !important; +} +.divide-x-6 > :not(template):not(:last-child) { + padding-right: 3rem !important; +} + +.divide-y-7 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-7 > :not(template):not(:first-child) { + padding-top: 5rem !important; +} +.divide-y-7 > :not(template):not(:last-child) { + padding-bottom: 5rem !important; +} + +.divide-x-7 > :not(template) ~ :not(template) { + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-7 > :not(template):not(:first-child) { + padding-left: 5rem !important; +} +.divide-x-7 > :not(template):not(:last-child) { + padding-right: 5rem !important; +} + +.divide-y-8 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-8 > :not(template):not(:first-child) { + padding-top: 8rem !important; +} +.divide-y-8 > :not(template):not(:last-child) { + padding-bottom: 8rem !important; +} + +.divide-x-8 > :not(template) ~ :not(template) { + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-8 > :not(template):not(:first-child) { + padding-left: 8rem !important; +} +.divide-x-8 > :not(template):not(:last-child) { + padding-right: 8rem !important; +} + +.divide-y-fill { + display: flex; + flex-direction: column; + height: 100%; +} +.divide-y-fill > :not(template) { + flex: 1; + display: flex; + justify-content: center; + flex-direction: column; +} + +.icon { + --tblr-icon-size: 1.25rem; + width: var(--tblr-icon-size); + height: var(--tblr-icon-size); + font-size: var(--tblr-icon-size); + vertical-align: bottom; + stroke-width: 1.5; +} +.icon:hover { + text-decoration: none; +} + +.icon-inline { + --tblr-icon-size: 1rem; + vertical-align: -0.2rem; +} + +.icon-filled { + fill: currentColor; +} + +.icon-sm { + --tblr-icon-size: 1rem; + stroke-width: 1; +} + +.icon-md { + --tblr-icon-size: 2.5rem; + stroke-width: 1; +} + +.icon-lg { + --tblr-icon-size: 3.5rem; + stroke-width: 1; +} + +.icon-pulse { + transition: all 0.15s ease 0s; + animation: pulse 2s ease infinite; + animation-fill-mode: both; +} + +.icon-tada { + transition: all 0.15s ease 0s; + animation: tada 3s ease infinite; + animation-fill-mode: both; +} + +.icon-rotate { + transition: all 0.15s ease 0s; + animation: rotate-360 3s linear infinite; + animation-fill-mode: both; +} + +.img-responsive { + --tblr-img-responsive-ratio: 75%; + background: no-repeat center/cover; + padding-top: var(--tblr-img-responsive-ratio); +} + +.img-responsive-grid { + padding-top: calc(var(--tblr-img-responsive-ratio) - var(--tblr-gutter-y) / 2); +} + +.img-responsive-1x1 { + --tblr-img-responsive-ratio: 100%; +} + +.img-responsive-2x1 { + --tblr-img-responsive-ratio: 50%; +} + +.img-responsive-1x2 { + --tblr-img-responsive-ratio: 200%; +} + +.img-responsive-3x1 { + --tblr-img-responsive-ratio: 33.3333333333%; +} + +.img-responsive-1x3 { + --tblr-img-responsive-ratio: 300%; +} + +.img-responsive-4x3 { + --tblr-img-responsive-ratio: 75%; +} + +.img-responsive-3x4 { + --tblr-img-responsive-ratio: 133.3333333333%; +} + +.img-responsive-16x9 { + --tblr-img-responsive-ratio: 56.25%; +} + +.img-responsive-9x16 { + --tblr-img-responsive-ratio: 177.7777777778%; +} + +.img-responsive-21x9 { + --tblr-img-responsive-ratio: 42.8571428571%; +} + +.img-responsive-9x21 { + --tblr-img-responsive-ratio: 233.3333333333%; +} + +textarea[cols] { + height: auto; +} + +/** +Form label + */ +.col-form-label, +.form-label { + display: block; + font-weight: var(--tblr-font-weight-medium); +} +.col-form-label.required:after, +.form-label.required:after { + content: "*"; + margin-left: 0.25rem; + color: #d63939; +} + +.form-label-description { + float: right; + font-weight: var(--tblr-font-weight-normal); + color: var(--tblr-muted); +} + +/** +Form hint + */ +.form-hint { + display: block; + color: var(--tblr-muted); +} +.form-hint:last-child { + margin-bottom: 0; +} +.form-hint + .form-control { + margin-top: 0.25rem; +} +.form-label + .form-hint { + margin-top: -0.25rem; +} +.input-group + .form-hint, .form-control + .form-hint, .form-select + .form-hint { + margin-top: 0.5rem; +} + +/** +Form select + */ +.form-select:-moz-focusring { + color: var(--tblr-body-color); +} + +/** +Form control + */ +.form-control:-webkit-autofill { + box-shadow: 0 0 0 1000px var(--tblr-body-bg) inset; + color: var(--tblr-body-color); + -webkit-text-fill-color: var(--tblr-body-color); +} +.form-control:disabled, .form-control.disabled { + color: var(--tblr-muted); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.form-control[size] { + width: auto; +} + +.form-control-light { + background-color: var(--tblr-gray-100); + border-color: transparent; +} + +.form-control-dark { + background-color: rgba(0, 0, 0, 0.1); + color: #ffffff; + border-color: transparent; +} +.form-control-dark:focus { + background-color: rgba(0, 0, 0, 0.1); + box-shadow: none; + border-color: rgba(255, 255, 255, 0.24); +} +.form-control-dark::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.6); +} +.form-control-dark:-ms-input-placeholder { + color: rgba(255, 255, 255, 0.6); +} +.form-control-dark::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.6); +} +.form-control-dark::placeholder { + color: rgba(255, 255, 255, 0.6); +} + +.form-control-rounded { + border-radius: 10rem; +} + +.form-control-flush { + padding: 0; + background: none !important; + border-color: transparent !important; + resize: none; + box-shadow: none !important; + line-height: inherit; +} + +.form-footer { + margin-top: 2rem; +} + +.form-fieldset { + padding: 1rem; + margin-bottom: 1rem; + background: var(--tblr-body-bg); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} + +/** +Form help + */ +.form-help { + display: inline-flex; + font-weight: var(--tblr-font-weight-bold); + align-items: center; + justify-content: center; + width: 1.125rem; + height: 1.125rem; + font-size: 0.75rem; + color: var(--tblr-muted); + text-align: center; + text-decoration: none; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background: var(--tblr-gray-100); + border-radius: 100rem; + transition: background-color 0.3s, color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-help { + transition: none; + } +} +.form-help:hover, .form-help[aria-describedby] { + color: #ffffff; + background: var(--tblr-primary); +} + +/** +Input group + */ +.input-group-link { + font-size: 0.75rem; +} + +.input-group-flat:focus-within { + box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); + border-radius: var(--tblr-border-radius); +} +.input-group-flat:focus-within .form-control, +.input-group-flat:focus-within .input-group-text { + border-color: #90b5e2 !important; +} +.input-group-flat .form-control:focus { + border-color: var(--tblr-border-color); + box-shadow: none; +} +.input-group-flat .form-control:not(:last-child) { + border-right: 0; +} +.input-group-flat .form-control:not(:first-child) { + border-left: 0; +} +.input-group-flat .input-group-text { + background: var(--tblr-bg-forms); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .input-group-flat .input-group-text { + transition: none; + } +} +.input-group-flat .input-group-text:first-child { + padding-right: 0; +} +.input-group-flat .input-group-text:last-child { + padding-left: 0; +} + +/** +Upload files + */ +.form-file-button { + margin-left: 0; + border-left: 0; +} + +/** +Icon input + */ +.input-icon { + position: relative; +} +.input-icon .form-control:not(:last-child), +.input-icon .form-select:not(:last-child) { + padding-right: 2.5rem; +} +.input-icon .form-control:not(:first-child), +.input-icon .form-select:not(:last-child) { + padding-left: 2.5rem; +} + +.input-icon-addon { + position: absolute; + top: 0; + bottom: 0; + left: 0; + display: flex; + align-items: center; + justify-content: center; + min-width: 2.5rem; + color: var(--tblr-icon-color); + pointer-events: none; + font-size: 1.2em; +} +.input-icon-addon:last-child { + right: 0; + left: auto; +} + +/* +Color Input + */ +.form-colorinput { + position: relative; + display: inline-block; + margin: 0; + line-height: 1; + cursor: pointer; +} + +.form-colorinput-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +.form-colorinput-color { + display: block; + width: 1.5rem; + height: 1.5rem; + color: #ffffff; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + border-radius: 3px; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +.form-colorinput-color:before { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + content: ""; + background: no-repeat center center/1rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); + opacity: 0; + transition: opacity 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-colorinput-color:before { + transition: none; + } +} +.form-colorinput-input:checked ~ .form-colorinput-color:before { + opacity: 1; +} +.form-colorinput-input:focus ~ .form-colorinput-color { + border-color: var(--tblr-primary); + box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-colorinput-light .form-colorinput-color:before { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23182433' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); +} + +/** +Image check + */ +.form-imagecheck { + position: relative; + margin: 0; + cursor: pointer; +} + +.form-imagecheck-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +.form-imagecheck-figure { + position: relative; + display: block; + margin: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: 3px; +} +.form-imagecheck-input:focus ~ .form-imagecheck-figure { + border-color: var(--tblr-primary); + box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-imagecheck-input:checked ~ .form-imagecheck-figure { + border-color: var(--tblr-primary); +} +.form-imagecheck-figure:before { + position: absolute; + top: 0.25rem; + left: 0.25rem; + z-index: 1; + display: block; + width: 1rem; + height: 1rem; + color: #ffffff; + pointer-events: none; + content: ""; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background: var(--tblr-bg-forms); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); + transition: opacity 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-imagecheck-figure:before { + transition: none; + } +} +.form-imagecheck-input:checked ~ .form-imagecheck-figure:before { + background-color: var(--tblr-primary); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); + background-repeat: repeat; + background-position: center; + background-size: 1rem; + border-color: var(--tblr-border-color-translucent); +} +.form-imagecheck-input[type=radio] ~ .form-imagecheck-figure:before { + border-radius: 50%; +} +.form-imagecheck-input[type=radio]:checked ~ .form-imagecheck-figure:before { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); +} + +.form-imagecheck-image { + max-width: 100%; + display: block; + opacity: 0.64; + transition: opacity 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-imagecheck-image { + transition: none; + } +} +.form-imagecheck-image:first-child { + border-top-left-radius: 2px; + border-top-right-radius: 2px; +} +.form-imagecheck-image:last-child { + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.form-imagecheck:hover .form-imagecheck-image, .form-imagecheck-input:focus ~ .form-imagecheck-figure .form-imagecheck-image, .form-imagecheck-input:checked ~ .form-imagecheck-figure .form-imagecheck-image { + opacity: 1; +} + +.form-imagecheck-caption { + padding: 0.25rem; + font-size: 0.765625rem; + color: var(--tblr-muted); + text-align: center; + transition: color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-imagecheck-caption { + transition: none; + } +} +.form-imagecheck:hover .form-imagecheck-caption, .form-imagecheck-input:focus ~ .form-imagecheck-figure .form-imagecheck-caption, .form-imagecheck-input:checked ~ .form-imagecheck-figure .form-imagecheck-caption { + color: var(--tblr-body-color); +} + +/* +Select group + */ +.form-selectgroup { + display: inline-flex; + margin: 0 -0.5rem -0.5rem 0; + flex-wrap: wrap; +} +.form-selectgroup .form-selectgroup-item { + margin: 0 0.5rem 0.5rem 0; +} + +.form-selectgroup-vertical { + flex-direction: column; +} + +.form-selectgroup-item { + display: block; + position: relative; +} + +.form-selectgroup-input { + position: absolute; + top: 0; + left: 0; + z-index: -1; + opacity: 0; +} + +.form-selectgroup-label { + position: relative; + display: block; + min-width: calc(1.4285714286em + 0.875rem + calc(var(--tblr-border-width) * 2)); + margin: 0; + padding: 0.4375rem 0.75rem; + font-size: 0.875rem; + line-height: 1.4285714286; + color: var(--tblr-muted); + background: var(--tblr-bg-forms); + text-align: center; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: 3px; + transition: border-color 0.3s, background 0.3s, color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-selectgroup-label { + transition: none; + } +} +.form-selectgroup-label .icon:only-child { + margin: 0 -0.25rem; +} +.form-selectgroup-label:hover { + color: var(--tblr-body-color); +} + +.form-selectgroup-check { + display: inline-block; + width: 1rem; + height: 1rem; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + vertical-align: middle; +} +.form-selectgroup-input[type=checkbox] + .form-selectgroup-label .form-selectgroup-check { + border-radius: var(--tblr-border-radius); +} +.form-selectgroup-input[type=radio] + .form-selectgroup-label .form-selectgroup-check { + border-radius: 50%; +} +.form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-check { + background-color: var(--tblr-primary); + background-repeat: repeat; + background-position: center; + background-size: 1rem; + border-color: var(--tblr-border-color-translucent); +} +.form-selectgroup-input[type=checkbox]:checked + .form-selectgroup-label .form-selectgroup-check { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); +} +.form-selectgroup-input[type=radio]:checked + .form-selectgroup-label .form-selectgroup-check { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); +} + +.form-selectgroup-check-floated { + position: absolute; + top: 0.4375rem; + right: 0.4375rem; +} + +.form-selectgroup-input:checked + .form-selectgroup-label { + z-index: 1; + color: var(--tblr-primary); + background: rgba(var(--tblr-primary-rgb), 0.04); + border-color: var(--tblr-primary); +} + +.form-selectgroup-input:focus + .form-selectgroup-label { + z-index: 2; + color: var(--tblr-primary); + border-color: var(--tblr-primary); + box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} + +/** +Alternate version of form select group + */ +.form-selectgroup-boxes .form-selectgroup-label { + text-align: left; + padding: 1.5rem 1rem; + color: inherit; +} +.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label { + color: inherit; +} +.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-title { + color: var(--tblr-primary); +} +.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-label-content { + opacity: 1; +} + +/** +Select group + */ +.form-selectgroup-pills { + flex-wrap: wrap; + align-items: flex-start; +} +.form-selectgroup-pills .form-selectgroup-item { + flex-grow: 0; +} +.form-selectgroup-pills .form-selectgroup-label { + border-radius: 50px; +} + +/** +Bootstrap color input + */ +.form-control-color::-webkit-color-swatch { + border: none; +} + +/** +Remove the cancel buttons in Chrome and Safari on macOS. + */ +[type=search]::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +/** +Form control dark theme fix + */ +.form-control::-webkit-file-upload-button { + background-color: var(--tblr-btn-color, var(--tblr-tertiary-bg)); +} +.form-control::file-selector-button { + background-color: var(--tblr-btn-color, var(--tblr-tertiary-bg)); +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: var(--tblr-btn-color, var(--tblr-secondary-bg)); +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--tblr-btn-color, var(--tblr-secondary-bg)); +} + +/* +Form check + */ +.form-check { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.form-check.form-check-highlight .form-check-input:not(:checked) ~ .form-check-label { + color: var(--tblr-muted); +} +.form-check .form-check-label-off { + color: var(--tblr-muted); +} +.form-check .form-check-input:checked ~ .form-check-label-off { + display: none; +} +.form-check .form-check-input:not(:checked) ~ .form-check-label-on { + display: none; +} + +.form-check-input { + background-size: 1rem; + margin-top: 0.125rem; +} +.form-switch .form-check-input { + transition: background-color 0.3s, background-position 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} + +.form-check-label { + display: block; +} +.form-check-label.required:after { + content: "*"; + margin-left: 0.25rem; + color: #d63939; +} + +.form-check-description { + display: block; + color: var(--tblr-muted); + font-size: 0.75rem; + margin-top: 0.25rem; +} + +.form-check-single { + margin: 0; +} +.form-check-single .form-check-input { + margin: 0; +} + +/* +Form switch + */ +.form-switch .form-check-input { + height: 1.125rem; + margin-top: 0.0625rem; +} + +.form-switch-lg { + padding-left: 3.5rem; + min-height: 1.5rem; +} +.form-switch-lg .form-check-input { + height: 1.5rem; + width: 2.75rem; + background-size: 1.5rem; + margin-left: -3.5rem; +} +.form-switch-lg .form-check-label { + padding-top: 0.125rem; +} + +/*Correction of Form-check position*/ +.form-check-input:checked { + border: none; +} + +.form-select.is-invalid-lite, .form-control.is-invalid-lite, .form-select.is-valid-lite, .form-control.is-valid-lite { + border-color: var(--tblr-border-color) !important; +} + +/** +Legend + */ +.legend { + --tblr-legend-size: 0.75em; + display: inline-block; + background: var(--tblr-border-color); + width: var(--tblr-legend-size); + height: var(--tblr-legend-size); + border-radius: var(--tblr-border-radius-sm); +} + +.list-group { + margin-left: 0; + margin-right: 0; +} + +.list-group-header { + background: var(--tblr-bg-surface-tertiary); + padding: 0.5rem 1.5rem; + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + line-height: 1; + text-transform: uppercase; + color: var(--tblr-muted); + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} +.list-group-flush > .list-group-header:last-child { + border-bottom-width: 0; +} + +.list-group-item { + background-color: inherit; +} + +.list-group-item.active { + background-color: rgba(var(--tblr-muted-rgb), 0.04); + border-left-color: #206bc4; + border-left-width: 2px; +} + +.list-group-item:active, .list-group-item:focus, .list-group-item:hover { + background-color: rgba(var(--tblr-muted-rgb), 0.04); +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #929dab; + background-color: rgba(var(--tblr-muted-rgb), 0.04); +} + +.list-bordered .list-item { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + margin-top: -1px; +} +.list-bordered .list-item:first-child { + border-top: none; +} + +.list-group-hoverable .list-group-item-actions { + opacity: 0; + transition: opacity 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .list-group-hoverable .list-group-item-actions { + transition: none; + } +} +.list-group-hoverable .list-group-item:hover .list-group-item-actions, +.list-group-hoverable .list-group-item-actions.show { + opacity: 1; +} + +.list-group-transparent { + --tblr-list-group-border-radius: 0; + margin: 0 -1.5rem; +} +.list-group-transparent .list-group-item { + background: none; + border: 0; +} +.list-group-transparent .list-group-item .icon { + color: var(--tblr-muted); +} +.list-group-transparent .list-group-item.active { + font-weight: var(--tblr-font-weight-bold); + color: inherit; + background: var(--tblr-active-bg); +} +.list-group-transparent .list-group-item.active .icon { + color: inherit; +} + +.list-separated-item { + padding: 1rem 0; +} +.list-separated-item:first-child { + padding-top: 0; +} +.list-separated-item:last-child { + padding-bottom: 0; +} +.list-separated-item + .list-separated-item { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +/** +Inline list + */ +.list-inline-item:not(:last-child) { + margin-right: auto; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} + +.list-inline-dots .list-inline-item + .list-inline-item:before { + content: " · "; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} + +.loader { + position: relative; + display: block; + width: 2.5rem; + height: 2.5rem; + color: #206bc4; + vertical-align: middle; +} +.loader:after { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + content: ""; + border: 1px var(--tblr-border-style); + border-color: transparent; + border-top-color: currentColor; + border-left-color: currentColor; + border-radius: 100rem; + animation: rotate-360 0.6s linear; + animation-iteration-count: infinite; +} + +/** +Dimmer +*/ +.dimmer { + position: relative; +} +.dimmer .loader { + position: absolute; + top: 50%; + right: 0; + left: 0; + display: none; + margin: 0 auto; + transform: translateY(-50%); +} +.dimmer.active .loader { + display: block; +} +.dimmer.active .dimmer-content { + pointer-events: none; + opacity: 0.1; +} + +@keyframes animated-dots { + 0% { + transform: translateX(-100%); + } +} +.animated-dots { + display: inline-block; + overflow: hidden; + vertical-align: bottom; +} +.animated-dots:after { + display: inline-block; + content: "..."; + animation: animated-dots 1.2s steps(4, jump-none) infinite; +} + +.modal-content .btn-close { + position: absolute; + top: 0; + right: 0; + width: 3.5rem; + height: 3.5rem; + margin: 0; + padding: 0; + z-index: 10; +} + +.modal-body { + scrollbar-color: rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.16) transparent; +} +.modal-body::-webkit-scrollbar { + width: 1rem; + height: 1rem; + -webkit-transition: background 0.3s; + transition: background 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .modal-body::-webkit-scrollbar { + -webkit-transition: none; + transition: none; + } +} +.modal-body::-webkit-scrollbar-thumb { + border-radius: 1rem; + border: 5px solid transparent; + box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.16); +} +.modal-body::-webkit-scrollbar-track { + background: transparent; +} +.modal-body:hover::-webkit-scrollbar-thumb { + box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.32); +} +.modal-body::-webkit-scrollbar-corner { + background: transparent; +} +.modal-body .modal-title { + margin-bottom: 1rem; +} +.modal-body + .modal-body { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +.modal-status { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 2px; + background: var(--tblr-muted); + border-radius: var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0; +} + +.modal-header { + align-items: center; + min-height: 3.5rem; + background: transparent; + padding: 0 3.5rem 0 1.5rem; +} + +.modal-title { + font-size: 1rem; + font-weight: var(--tblr-font-weight-bold); + line-height: 1.4285714286; +} + +.modal-footer { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.modal-blur { + -webkit-backdrop-filter: blur(4px); + backdrop-filter: blur(4px); +} + +.modal-full-width { + max-width: none; + margin: 0 0.5rem; +} + +.nav-vertical, +.nav-vertical .nav { + flex-direction: column; + flex-wrap: nowrap; +} +.nav-vertical .nav { + margin-left: 1.25rem; + border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + padding-left: 0.5rem; +} +.nav-vertical .nav-link.active, +.nav-vertical .nav-item.show .nav-link { + font-weight: var(--tblr-font-weight-bold); +} +.nav-vertical.nav-pills { + margin: 0 -0.75rem; +} + +.nav-bordered { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} +.nav-bordered .nav-item + .nav-item { + margin-left: 1.25rem; +} +.nav-bordered .nav-link { + padding-left: 0; + padding-right: 0; + margin: 0 0 -var(--tblr-border-width); + border: 0; + border-bottom: 2px var(--tblr-border-style) transparent; + color: var(--tblr-muted); +} +.nav-bordered .nav-link.active, +.nav-bordered .nav-item.show .nav-link { + color: var(--tblr-primary); + border-color: var(--tblr-primary); +} + +.nav-link { + display: flex; + transition: color 0.3s; + align-items: center; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} + +.nav-link-toggle { + margin-left: auto; + padding: 0 0.25rem; + transition: transform 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .nav-link-toggle { + transition: none; + } +} +.nav-link-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.306em; + width: 0.36em; + height: 0.36em; + border-bottom: 1px var(--tblr-border-style); + border-left: 1px var(--tblr-border-style); + margin-right: 0.1em; + margin-left: 0.4em; + transform: rotate(-45deg); +} +.nav-link-toggle:after { + margin: 0; +} +.nav-link[aria-expanded=true] .nav-link-toggle { + transform: rotate(180deg); +} + +.nav-link-icon { + width: 1.25rem; + height: 1.25rem; + margin-right: 0.5rem; + color: var(--tblr-icon-color); +} +.nav-link-icon svg { + display: block; + height: 100%; +} + +.nav-fill .nav-item .nav-link { + justify-content: center; +} + +.stars { + display: inline-flex; + color: #bbc3cd; + font-size: 0.75rem; +} +.stars .star:not(:first-child) { + margin-left: 0.25rem; +} + +.pagination { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.page-link { + min-width: 1.75rem; + border-radius: var(--tblr-border-radius); +} + +.page-item { + text-align: center; +} +.page-item:not(.active) .page-link:hover { + background: transparent; +} +.page-item.page-prev, .page-item.page-next { + flex: 0 0 50%; + text-align: left; +} +.page-item.page-next { + margin-left: auto; + text-align: right; +} + +.page-item-subtitle { + margin-bottom: 2px; + font-size: 12px; + color: var(--tblr-muted); + text-transform: uppercase; +} +.page-item.disabled .page-item-subtitle { + color: var(--tblr-disabled-color); +} + +.page-item-title { + font-size: 1rem; + font-weight: var(--tblr-font-weight-normal); + color: var(--tblr-body-color); +} +.page-link:hover .page-item-title { + color: #206bc4; +} +.page-item.disabled .page-item-title { + color: var(--tblr-disabled-color); +} + +@keyframes progress-indeterminate { + 0% { + right: 100%; + left: -35%; + } + 100%, 60% { + right: -90%; + left: 100%; + } +} +/** +Progress + */ +.progress { + position: relative; + width: 100%; + line-height: 0.5rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.progress::-webkit-progress-bar { + background: var(--tblr-progress-bg); +} +.progress::-webkit-progress-value { + background-color: var(--tblr-primary); +} +.progress::-moz-progress-bar { + background-color: var(--tblr-primary); +} +.progress::-ms-fill { + background-color: var(--tblr-primary); + border: none; +} + +.progress-sm { + height: 0.25rem; +} + +/** +Progress bar + */ +.progress-bar { + height: 100%; +} + +.progress-bar-indeterminate:after, .progress-bar-indeterminate:before { + position: absolute; + top: 0; + bottom: 0; + left: 0; + content: ""; + background-color: inherit; + will-change: left, right; +} +.progress-bar-indeterminate:before { + animation: progress-indeterminate 1.5s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; +} + +.progress-separated .progress-bar { + box-shadow: 0 0 0 2px var(--tblr-card-bg, var(--tblr-bg-surface)); +} + +/** +Progressbg + */ +.progressbg { + position: relative; + padding: 0.25rem 0.5rem; + display: flex; +} + +.progressbg-text { + position: relative; + z-index: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.progressbg-progress { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 0; + height: 100%; + background: transparent; + pointer-events: none; +} + +.progressbg-value { + font-weight: var(--tblr-font-weight-medium); + margin-left: auto; + padding-left: 2rem; +} + +.ribbon { + --tblr-ribbon-margin: 0.25rem; + --tblr-ribbon-border-radius: var(--tblr-border-radius); + position: absolute; + top: 0.75rem; + right: calc(-1 * var(--tblr-ribbon-margin)); + z-index: 1; + padding: 0.25rem 0.75rem; + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + line-height: 1; + color: #ffffff; + text-align: center; + text-transform: uppercase; + background: var(--tblr-primary); + border-color: var(--tblr-primary); + border-radius: var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius); + display: inline-flex; + align-items: center; + justify-content: center; + min-height: 2rem; + min-width: 2rem; +} +.ribbon:before { + position: absolute; + right: 0; + bottom: 100%; + width: 0; + height: 0; + content: ""; + filter: brightness(70%); + border: calc(var(--tblr-ribbon-margin) * 0.5) var(--tblr-border-style); + border-color: inherit; + border-top-color: transparent; + border-right-color: transparent; +} +.ribbon.bg-blue { + border-color: var(--tblr-blue); +} +.ribbon.bg-blue-lt { + border-color: rgba(var(--tblr-blue-rgb), 0.1) !important; +} +.ribbon.bg-azure { + border-color: var(--tblr-azure); +} +.ribbon.bg-azure-lt { + border-color: rgba(var(--tblr-azure-rgb), 0.1) !important; +} +.ribbon.bg-indigo { + border-color: var(--tblr-indigo); +} +.ribbon.bg-indigo-lt { + border-color: rgba(var(--tblr-indigo-rgb), 0.1) !important; +} +.ribbon.bg-purple { + border-color: var(--tblr-purple); +} +.ribbon.bg-purple-lt { + border-color: rgba(var(--tblr-purple-rgb), 0.1) !important; +} +.ribbon.bg-pink { + border-color: var(--tblr-pink); +} +.ribbon.bg-pink-lt { + border-color: rgba(var(--tblr-pink-rgb), 0.1) !important; +} +.ribbon.bg-red { + border-color: var(--tblr-red); +} +.ribbon.bg-red-lt { + border-color: rgba(var(--tblr-red-rgb), 0.1) !important; +} +.ribbon.bg-orange { + border-color: var(--tblr-orange); +} +.ribbon.bg-orange-lt { + border-color: rgba(var(--tblr-orange-rgb), 0.1) !important; +} +.ribbon.bg-yellow { + border-color: var(--tblr-yellow); +} +.ribbon.bg-yellow-lt { + border-color: rgba(var(--tblr-yellow-rgb), 0.1) !important; +} +.ribbon.bg-lime { + border-color: var(--tblr-lime); +} +.ribbon.bg-lime-lt { + border-color: rgba(var(--tblr-lime-rgb), 0.1) !important; +} +.ribbon.bg-green { + border-color: var(--tblr-green); +} +.ribbon.bg-green-lt { + border-color: rgba(var(--tblr-green-rgb), 0.1) !important; +} +.ribbon.bg-teal { + border-color: var(--tblr-teal); +} +.ribbon.bg-teal-lt { + border-color: rgba(var(--tblr-teal-rgb), 0.1) !important; +} +.ribbon.bg-cyan { + border-color: var(--tblr-cyan); +} +.ribbon.bg-cyan-lt { + border-color: rgba(var(--tblr-cyan-rgb), 0.1) !important; +} +.ribbon .icon { + width: 1.25rem; + height: 1.25rem; + font-size: 1.25rem; +} + +.ribbon-top { + top: calc(-1 * var(--tblr-ribbon-margin)); + right: 0.75rem; + width: 2rem; + padding: 0.5rem 0; + border-radius: 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius); +} +.ribbon-top:before { + top: 0; + right: 100%; + bottom: auto; + border-color: inherit; + border-top-color: transparent; + border-left-color: transparent; +} +.ribbon-top.ribbon-start { + right: auto; + left: 0.75rem; +} +.ribbon-top.ribbon-start:before { + top: 0; + right: 100%; + left: auto; +} + +.ribbon-start { + right: auto; + left: calc(-1 * var(--tblr-ribbon-margin)); +} +.ribbon-start:before { + top: auto; + bottom: 100%; + left: 0; + border-color: inherit; + border-top-color: transparent; + border-left-color: transparent; +} + +.ribbon-bottom { + top: auto; + bottom: 0.75rem; +} + +.ribbon-bookmark { + padding-left: 0.25rem; + border-radius: 0 0 var(--tblr-ribbon-border-radius) 0; +} +.ribbon-bookmark:after { + position: absolute; + top: 0; + right: 100%; + display: block; + width: 0; + height: 0; + content: ""; + border: 1rem var(--tblr-border-style); + border-color: inherit; + border-right-width: 0; + border-left-color: transparent; + border-left-width: 0.5rem; +} +.ribbon-bookmark.ribbon-left { + padding-right: 0.5rem; +} +.ribbon-bookmark.ribbon-left:after { + right: auto; + left: 100%; + border-right-color: transparent; + border-right-width: 0.5rem; + border-left-width: 0; +} +.ribbon-bookmark.ribbon-top { + padding-right: 0; + padding-bottom: 0.25rem; + padding-left: 0; + border-radius: 0 var(--tblr-ribbon-border-radius) 0 0; +} +.ribbon-bookmark.ribbon-top:after { + top: 100%; + right: 0; + left: 0; + border-color: inherit; + border-width: 1rem; + border-top-width: 0; + border-bottom-color: transparent; + border-bottom-width: 0.5rem; +} + +/** +Markdown + */ +.markdown { + line-height: 1.7142857143; +} +.markdown > :first-child { + margin-top: 0; +} +.markdown > :last-child, +.markdown > :last-child .highlight { + margin-bottom: 0; +} +@media (min-width: 768px) { + .markdown > hr, .markdown > .hr { + margin-top: 3em; + margin-bottom: 3em; + } +} +.markdown > h1, .markdown > .h1, .markdown > h2, .markdown > .h2, .markdown > h3, .markdown > .h3, .markdown > h4, .markdown > .h4, .markdown > h5, .markdown > .h5, .markdown > h6, .markdown > .h6 { + font-weight: var(--tblr-font-weight-bold); +} +.markdown > blockquote { + font-size: 1rem; + margin: 1.5rem 0; + padding: 0.5rem 1.5rem; +} +.markdown > img { + border-radius: var(--tblr-border-radius); +} + +.placeholder:not(.btn):not([class*=bg-]) { + background-color: currentColor !important; +} +.placeholder:not(.avatar):not([class*=card-img-]) { + border-radius: var(--tblr-border-radius); +} + +.steps { + --tblr-steps-color: var(--tblr-primary); + --tblr-steps-inactive-color: var(--tblr-border-color); + --tblr-steps-dot-size: .5rem; + --tblr-steps-border-width: 2px; + display: flex; + flex-wrap: nowrap; + width: 100%; + padding: 0; + margin: 0; + list-style: none; +} + +.steps-blue { + --tblr-steps-color: var(--tblr-blue); +} + +.steps-azure { + --tblr-steps-color: var(--tblr-azure); +} + +.steps-indigo { + --tblr-steps-color: var(--tblr-indigo); +} + +.steps-purple { + --tblr-steps-color: var(--tblr-purple); +} + +.steps-pink { + --tblr-steps-color: var(--tblr-pink); +} + +.steps-red { + --tblr-steps-color: var(--tblr-red); +} + +.steps-orange { + --tblr-steps-color: var(--tblr-orange); +} + +.steps-yellow { + --tblr-steps-color: var(--tblr-yellow); +} + +.steps-lime { + --tblr-steps-color: var(--tblr-lime); +} + +.steps-green { + --tblr-steps-color: var(--tblr-green); +} + +.steps-teal { + --tblr-steps-color: var(--tblr-teal); +} + +.steps-cyan { + --tblr-steps-color: var(--tblr-cyan); +} + +.step-item { + position: relative; + flex: 1 1 0; + min-height: 1rem; + margin-top: 0; + color: inherit; + text-align: center; + cursor: default; + padding-top: calc(var(--tblr-steps-dot-size)); +} +a.step-item { + cursor: pointer; +} +a.step-item:hover { + color: inherit; +} + +.step-item:after, .step-item:before { + background: var(--tblr-steps-color); +} +.step-item:not(:last-child):after { + position: absolute; + left: 50%; + width: 100%; + content: ""; + transform: translateY(-50%); +} +.step-item:after { + top: calc(var(--tblr-steps-dot-size) * 0.5); + height: var(--tblr-steps-border-width); +} +.step-item:before { + content: ""; + position: absolute; + top: 0; + left: 50%; + z-index: 1; + box-sizing: content-box; + display: flex; + align-items: center; + justify-content: center; + border-radius: 100rem; + transform: translateX(-50%); + color: var(--tblr-white); + width: var(--tblr-steps-dot-size); + height: var(--tblr-steps-dot-size); +} +.step-item.active { + font-weight: var(--tblr-font-weight-bold); +} +.step-item.active:after { + background: var(--tblr-steps-inactive-color); +} +.step-item.active ~ .step-item { + color: var(--tblr-disabled-color); +} +.step-item.active ~ .step-item:after, .step-item.active ~ .step-item:before { + background: var(--tblr-steps-inactive-color); +} + +.steps-counter { + --tblr-steps-dot-size: 1.5rem; + counter-reset: steps; +} +.steps-counter .step-item { + counter-increment: steps; +} +.steps-counter .step-item:before { + content: counter(steps); +} + +.steps-vertical { + --tblr-steps-dot-offset: 6px; + flex-direction: column; +} +.steps-vertical.steps-counter { + --tblr-steps-dot-offset: -2px; +} +.steps-vertical .step-item { + text-align: left; + padding-top: 0; + padding-left: calc(var(--tblr-steps-dot-size) + 1rem); + min-height: auto; +} +.steps-vertical .step-item:not(:first-child) { + margin-top: 1rem; +} +.steps-vertical .step-item:before { + top: var(--tblr-steps-dot-offset); + left: 0; + transform: translate(0, 0); +} +.steps-vertical .step-item:not(:last-child):after { + position: absolute; + content: ""; + transform: translateX(-50%); + top: var(--tblr-steps-dot-offset); + left: calc(var(--tblr-steps-dot-size) * 0.5); + width: var(--tblr-steps-border-width); + height: calc(100% + 1rem); +} + +@keyframes status-pulsate-main { + 40% { + transform: scale(1.25, 1.25); + } + 60% { + transform: scale(1.25, 1.25); + } +} +@keyframes status-pulsate-secondary { + 10% { + transform: scale(1, 1); + } + 30% { + transform: scale(3, 3); + } + 80% { + transform: scale(3, 3); + } + 100% { + transform: scale(1, 1); + } +} +@keyframes status-pulsate-tertiary { + 25% { + transform: scale(1, 1); + } + 80% { + transform: scale(3, 3); + opacity: 0; + } + 100% { + transform: scale(3, 3); + opacity: 0; + } +} +.status { + --tblr-status-height: 1.5rem; + --tblr-status-color: #667382; + --tblr-status-color-rgb: 102, 115, 130; + display: inline-flex; + align-items: center; + height: var(--tblr-status-height); + padding: 0.25rem 0.75rem; + gap: 0.5rem; + color: var(--tblr-status-color); + background: rgba(var(--tblr-status-color-rgb), 0.1); + font-size: 0.875rem; + text-transform: none; + letter-spacing: normal; + border-radius: 100rem; + font-weight: var(--tblr-font-weight-medium); + line-height: 1; + margin: 0; +} +.status .status-dot { + background: var(--tblr-status-color); +} +.status .icon { + font-size: 1.25rem; +} + +.status-lite { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; + background: transparent !important; + color: var(--tblr-body-color) !important; +} + +.status-primary { + --tblr-status-color: #206bc4; + --tblr-status-color-rgb: 32, 107, 196; +} + +.status-secondary { + --tblr-status-color: #667382; + --tblr-status-color-rgb: 102, 115, 130; +} + +.status-success { + --tblr-status-color: #2fb344; + --tblr-status-color-rgb: 47, 179, 68; +} + +.status-info { + --tblr-status-color: #4299e1; + --tblr-status-color-rgb: 66, 153, 225; +} + +.status-warning { + --tblr-status-color: #f76707; + --tblr-status-color-rgb: 247, 103, 7; +} + +.status-danger { + --tblr-status-color: #d63939; + --tblr-status-color-rgb: 214, 57, 57; +} + +.status-light { + --tblr-status-color: #fcfdfe; + --tblr-status-color-rgb: 252, 253, 254; +} + +.status-dark { + --tblr-status-color: #182433; + --tblr-status-color-rgb: 24, 36, 51; +} + +.status-muted { + --tblr-status-color: #667382; + --tblr-status-color-rgb: 102, 115, 130; +} + +.status-blue { + --tblr-status-color: #206bc4; + --tblr-status-color-rgb: 32, 107, 196; +} + +.status-azure { + --tblr-status-color: #4299e1; + --tblr-status-color-rgb: 66, 153, 225; +} + +.status-indigo { + --tblr-status-color: #4263eb; + --tblr-status-color-rgb: 66, 99, 235; +} + +.status-purple { + --tblr-status-color: #ae3ec9; + --tblr-status-color-rgb: 174, 62, 201; +} + +.status-pink { + --tblr-status-color: #d6336c; + --tblr-status-color-rgb: 214, 51, 108; +} + +.status-red { + --tblr-status-color: #d63939; + --tblr-status-color-rgb: 214, 57, 57; +} + +.status-orange { + --tblr-status-color: #f76707; + --tblr-status-color-rgb: 247, 103, 7; +} + +.status-yellow { + --tblr-status-color: #f59f00; + --tblr-status-color-rgb: 245, 159, 0; +} + +.status-lime { + --tblr-status-color: #74b816; + --tblr-status-color-rgb: 116, 184, 22; +} + +.status-green { + --tblr-status-color: #2fb344; + --tblr-status-color-rgb: 47, 179, 68; +} + +.status-teal { + --tblr-status-color: #0ca678; + --tblr-status-color-rgb: 12, 166, 120; +} + +.status-cyan { + --tblr-status-color: #17a2b8; + --tblr-status-color-rgb: 23, 162, 184; +} + +.status-facebook { + --tblr-status-color: #1877f2; + --tblr-status-color-rgb: 24, 119, 242; +} + +.status-twitter { + --tblr-status-color: #1da1f2; + --tblr-status-color-rgb: 29, 161, 242; +} + +.status-linkedin { + --tblr-status-color: #0a66c2; + --tblr-status-color-rgb: 10, 102, 194; +} + +.status-google { + --tblr-status-color: #dc4e41; + --tblr-status-color-rgb: 220, 78, 65; +} + +.status-youtube { + --tblr-status-color: #ff0000; + --tblr-status-color-rgb: 255, 0, 0; +} + +.status-vimeo { + --tblr-status-color: #1ab7ea; + --tblr-status-color-rgb: 26, 183, 234; +} + +.status-dribbble { + --tblr-status-color: #ea4c89; + --tblr-status-color-rgb: 234, 76, 137; +} + +.status-github { + --tblr-status-color: #181717; + --tblr-status-color-rgb: 24, 23, 23; +} + +.status-instagram { + --tblr-status-color: #e4405f; + --tblr-status-color-rgb: 228, 64, 95; +} + +.status-pinterest { + --tblr-status-color: #bd081c; + --tblr-status-color-rgb: 189, 8, 28; +} + +.status-vk { + --tblr-status-color: #6383a8; + --tblr-status-color-rgb: 99, 131, 168; +} + +.status-rss { + --tblr-status-color: #ffa500; + --tblr-status-color-rgb: 255, 165, 0; +} + +.status-flickr { + --tblr-status-color: #0063dc; + --tblr-status-color-rgb: 0, 99, 220; +} + +.status-bitbucket { + --tblr-status-color: #0052cc; + --tblr-status-color-rgb: 0, 82, 204; +} + +.status-tabler { + --tblr-status-color: #206bc4; + --tblr-status-color-rgb: 32, 107, 196; +} + +.status-dot { + --tblr-status-dot-color: var(--tblr-status-color, #667382); + --tblr-status-size: 0.5rem; + position: relative; + display: inline-block; + width: var(--tblr-status-size); + height: var(--tblr-status-size); + background: var(--tblr-status-dot-color); + border-radius: 100rem; +} + +.status-dot-animated:before { + content: ""; + position: absolute; + inset: 0; + z-index: 0; + background: inherit; + border-radius: inherit; + opacity: 0.6; + animation: 1s linear 2s backwards infinite status-pulsate-tertiary; +} + +.status-indicator { + --tblr-status-indicator-size: 2.5rem; + --tblr-status-indicator-color: var(--tblr-status-color, #667382); + display: block; + position: relative; + width: var(--tblr-status-indicator-size); + height: var(--tblr-status-indicator-size); +} + +.status-indicator-circle { + --tblr-status-circle-size: .75rem; + position: absolute; + left: 50%; + top: 50%; + margin: calc(var(--tblr-status-circle-size) / -2) 0 0 calc(var(--tblr-status-circle-size) / -2); + width: var(--tblr-status-circle-size); + height: var(--tblr-status-circle-size); + border-radius: 100rem; + background: var(--tblr-status-color); +} +.status-indicator-circle:nth-child(1) { + z-index: 3; +} +.status-indicator-circle:nth-child(2) { + z-index: 2; + opacity: 0.1; +} +.status-indicator-circle:nth-child(3) { + z-index: 1; + opacity: 0.3; +} + +.status-indicator-animated .status-indicator-circle:nth-child(1) { + animation: 2s linear 1s infinite backwards status-pulsate-main; +} +.status-indicator-animated .status-indicator-circle:nth-child(2) { + animation: 2s linear 1s infinite backwards status-pulsate-secondary; +} +.status-indicator-animated .status-indicator-circle:nth-child(3) { + animation: 2s linear 1s infinite backwards status-pulsate-tertiary; +} + +.switch-icon { + display: inline-block; + line-height: 1; + border: 0; + padding: 0; + background: transparent; + width: 1.25rem; + height: 1.25rem; + vertical-align: bottom; + position: relative; + cursor: pointer; +} +.switch-icon.disabled { + pointer-events: none; + opacity: 0.4; +} +.switch-icon:focus { + outline: none; +} +.switch-icon svg { + display: block; + width: 100%; + height: 100%; +} +.switch-icon .switch-icon-a, +.switch-icon .switch-icon-b { + display: block; + width: 100%; + height: 100%; +} +.switch-icon .switch-icon-a { + opacity: 1; +} +.switch-icon .switch-icon-b { + position: absolute; + top: 0; + left: 0; + opacity: 0; +} +.switch-icon.active .switch-icon-a { + opacity: 0; +} +.switch-icon.active .switch-icon-b { + opacity: 1; +} + +.switch-icon-fade .switch-icon-a, +.switch-icon-fade .switch-icon-b { + transition: opacity 0.5s; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-fade .switch-icon-a, + .switch-icon-fade .switch-icon-b { + transition: none; + } +} + +.switch-icon-scale .switch-icon-a, +.switch-icon-scale .switch-icon-b { + transition: opacity 0.5s, transform 0s 0.5s; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-scale .switch-icon-a, + .switch-icon-scale .switch-icon-b { + transition: none; + } +} +.switch-icon-scale .switch-icon-b { + transform: scale(1.5); +} +.switch-icon-scale.active .switch-icon-a, +.switch-icon-scale.active .switch-icon-b { + transition: opacity 0s, transform 0.5s; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-scale.active .switch-icon-a, + .switch-icon-scale.active .switch-icon-b { + transition: none; + } +} +.switch-icon-scale.active .switch-icon-b { + transform: scale(1); +} + +.switch-icon-flip { + perspective: 10em; +} +.switch-icon-flip .switch-icon-a, +.switch-icon-flip .switch-icon-b { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transform-style: preserve-3d; + transition: opacity 0s 0.2s, transform 0.4s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-flip .switch-icon-a, + .switch-icon-flip .switch-icon-b { + transition: none; + } +} +.switch-icon-flip .switch-icon-a { + opacity: 1; + transform: rotateY(0deg); +} +.switch-icon-flip .switch-icon-b { + opacity: 1; + transform: rotateY(-180deg); +} +.switch-icon-flip.active .switch-icon-a { + opacity: 1; + transform: rotateY(180deg); +} +.switch-icon-flip.active .switch-icon-b { + opacity: 1; + transform: rotateY(0deg); +} + +.switch-icon-slide-up, +.switch-icon-slide-left, +.switch-icon-slide-right, +.switch-icon-slide-down { + overflow: hidden; +} +.switch-icon-slide-up .switch-icon-a, +.switch-icon-slide-up .switch-icon-b, +.switch-icon-slide-left .switch-icon-a, +.switch-icon-slide-left .switch-icon-b, +.switch-icon-slide-right .switch-icon-a, +.switch-icon-slide-right .switch-icon-b, +.switch-icon-slide-down .switch-icon-a, +.switch-icon-slide-down .switch-icon-b { + transition: opacity 0.3s, transform 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-slide-up .switch-icon-a, + .switch-icon-slide-up .switch-icon-b, + .switch-icon-slide-left .switch-icon-a, + .switch-icon-slide-left .switch-icon-b, + .switch-icon-slide-right .switch-icon-a, + .switch-icon-slide-right .switch-icon-b, + .switch-icon-slide-down .switch-icon-a, + .switch-icon-slide-down .switch-icon-b { + transition: none; + } +} +.switch-icon-slide-up .switch-icon-a, +.switch-icon-slide-left .switch-icon-a, +.switch-icon-slide-right .switch-icon-a, +.switch-icon-slide-down .switch-icon-a { + transform: translateY(0); +} +.switch-icon-slide-up .switch-icon-b, +.switch-icon-slide-left .switch-icon-b, +.switch-icon-slide-right .switch-icon-b, +.switch-icon-slide-down .switch-icon-b { + transform: translateY(100%); +} +.switch-icon-slide-up.active .switch-icon-a, +.switch-icon-slide-left.active .switch-icon-a, +.switch-icon-slide-right.active .switch-icon-a, +.switch-icon-slide-down.active .switch-icon-a { + transform: translateY(-100%); +} +.switch-icon-slide-up.active .switch-icon-b, +.switch-icon-slide-left.active .switch-icon-b, +.switch-icon-slide-right.active .switch-icon-b, +.switch-icon-slide-down.active .switch-icon-b { + transform: translateY(0); +} + +.switch-icon-slide-left .switch-icon-a { + transform: translateX(0); +} +.switch-icon-slide-left .switch-icon-b { + transform: translateX(100%); +} +.switch-icon-slide-left.active .switch-icon-a { + transform: translateX(-100%); +} +.switch-icon-slide-left.active .switch-icon-b { + transform: translateX(0); +} + +.switch-icon-slide-right .switch-icon-a { + transform: translateX(0); +} +.switch-icon-slide-right .switch-icon-b { + transform: translateX(-100%); +} +.switch-icon-slide-right.active .switch-icon-a { + transform: translateX(100%); +} +.switch-icon-slide-right.active .switch-icon-b { + transform: translateX(0); +} + +.switch-icon-slide-down .switch-icon-a { + transform: translateY(0); +} +.switch-icon-slide-down .switch-icon-b { + transform: translateY(-100%); +} +.switch-icon-slide-down.active .switch-icon-a { + transform: translateY(100%); +} +.switch-icon-slide-down.active .switch-icon-b { + transform: translateY(0); +} + +.table thead th, .markdown > table thead th { + color: var(--tblr-muted); + background: var(--tblr-bg-surface-tertiary); + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + white-space: nowrap; +} +@media print { + .table thead th, .markdown > table thead th { + background: transparent; + } +} + +.table-responsive .table, .table-responsive .markdown > table { + margin-bottom: 0; +} +.table-responsive + .card-footer { + border-top: 0; +} + +.table-transparent thead th { + background: transparent; +} + +.table-nowrap > :not(caption) > * > * { + white-space: nowrap; +} + +.table-vcenter > :not(caption) > * > * { + vertical-align: middle; +} + +.table-center > :not(caption) > * > * { + text-align: center; +} + +.td-truncate { + max-width: 1px; + width: 100%; +} + +.table-mobile { + display: block; +} +.table-mobile thead { + display: none; +} +.table-mobile tbody, +.table-mobile tr { + display: flex; + flex-direction: column; +} +.table-mobile td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; +} +.table-mobile td[data-label]:before { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + content: attr(data-label); + display: block; +} +.table-mobile tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); +} +.table-mobile .btn { + display: block; +} +@media (max-width: 575.98px) { + .table-mobile-sm { + display: block; + } + .table-mobile-sm thead { + display: none; + } + .table-mobile-sm tbody, + .table-mobile-sm tr { + display: flex; + flex-direction: column; + } + .table-mobile-sm td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-sm td[data-label]:before { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + content: attr(data-label); + display: block; + } + .table-mobile-sm tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-sm .btn { + display: block; + } +} +@media (max-width: 767.98px) { + .table-mobile-md { + display: block; + } + .table-mobile-md thead { + display: none; + } + .table-mobile-md tbody, + .table-mobile-md tr { + display: flex; + flex-direction: column; + } + .table-mobile-md td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-md td[data-label]:before { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + content: attr(data-label); + display: block; + } + .table-mobile-md tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-md .btn { + display: block; + } +} +@media (max-width: 991.98px) { + .table-mobile-lg { + display: block; + } + .table-mobile-lg thead { + display: none; + } + .table-mobile-lg tbody, + .table-mobile-lg tr { + display: flex; + flex-direction: column; + } + .table-mobile-lg td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-lg td[data-label]:before { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + content: attr(data-label); + display: block; + } + .table-mobile-lg tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-lg .btn { + display: block; + } +} +@media (max-width: 1199.98px) { + .table-mobile-xl { + display: block; + } + .table-mobile-xl thead { + display: none; + } + .table-mobile-xl tbody, + .table-mobile-xl tr { + display: flex; + flex-direction: column; + } + .table-mobile-xl td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-xl td[data-label]:before { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + content: attr(data-label); + display: block; + } + .table-mobile-xl tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-xl .btn { + display: block; + } +} +@media (max-width: 1399.98px) { + .table-mobile-xxl { + display: block; + } + .table-mobile-xxl thead { + display: none; + } + .table-mobile-xxl tbody, + .table-mobile-xxl tr { + display: flex; + flex-direction: column; + } + .table-mobile-xxl td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-xxl td[data-label]:before { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + content: attr(data-label); + display: block; + } + .table-mobile-xxl tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-xxl .btn { + display: block; + } +} + +/** +Table sort + */ +.table-sort { + font: inherit; + color: inherit; + text-transform: inherit; + letter-spacing: inherit; + border: 0; + background: inherit; + display: block; + width: 100%; + text-align: inherit; + transition: color 0.3s; + margin: -0.5rem -0.75rem; + padding: 0.5rem 0.75rem; +} +@media (prefers-reduced-motion: reduce) { + .table-sort { + transition: none; + } +} +.table-sort:hover, .table-sort.asc, .table-sort.desc { + color: var(--tblr-body-color); +} +.table-sort:after { + content: ""; + display: inline-flex; + width: 1rem; + height: 1rem; + vertical-align: bottom; + -webkit-mask-image: url("data:image/svg+xml,"); + mask-image: url("data:image/svg+xml,"); + background: currentColor; + margin-left: 0.25rem; +} +.table-sort.asc:after { + -webkit-mask-image: url("data:image/svg+xml,"); + mask-image: url("data:image/svg+xml,"); +} +.table-sort.desc:after { + -webkit-mask-image: url("data:image/svg+xml,"); + mask-image: url("data:image/svg+xml,"); +} + +.table-borderless thead th { + background: transparent; +} + +.toast { + background: #ffffff; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + box-shadow: rgba(24, 36, 51, 0.04) 0 2px 4px 0; +} +.toast .toast-header { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.toast button[data-bs-dismiss=toast] { + outline: none; +} + +.toast-primary { + --tblr-toast-color: #206bc4; +} + +.toast-secondary { + --tblr-toast-color: #667382; +} + +.toast-success { + --tblr-toast-color: #2fb344; +} + +.toast-info { + --tblr-toast-color: #4299e1; +} + +.toast-warning { + --tblr-toast-color: #f76707; +} + +.toast-danger { + --tblr-toast-color: #d63939; +} + +.toast-light { + --tblr-toast-color: #fcfdfe; +} + +.toast-dark { + --tblr-toast-color: #182433; +} + +.toast-muted { + --tblr-toast-color: #667382; +} + +.toast-blue { + --tblr-toast-color: #206bc4; +} + +.toast-azure { + --tblr-toast-color: #4299e1; +} + +.toast-indigo { + --tblr-toast-color: #4263eb; +} + +.toast-purple { + --tblr-toast-color: #ae3ec9; +} + +.toast-pink { + --tblr-toast-color: #d6336c; +} + +.toast-red { + --tblr-toast-color: #d63939; +} + +.toast-orange { + --tblr-toast-color: #f76707; +} + +.toast-yellow { + --tblr-toast-color: #f59f00; +} + +.toast-lime { + --tblr-toast-color: #74b816; +} + +.toast-green { + --tblr-toast-color: #2fb344; +} + +.toast-teal { + --tblr-toast-color: #0ca678; +} + +.toast-cyan { + --tblr-toast-color: #17a2b8; +} + +.toast-facebook { + --tblr-toast-color: #1877f2; +} + +.toast-twitter { + --tblr-toast-color: #1da1f2; +} + +.toast-linkedin { + --tblr-toast-color: #0a66c2; +} + +.toast-google { + --tblr-toast-color: #dc4e41; +} + +.toast-youtube { + --tblr-toast-color: #ff0000; +} + +.toast-vimeo { + --tblr-toast-color: #1ab7ea; +} + +.toast-dribbble { + --tblr-toast-color: #ea4c89; +} + +.toast-github { + --tblr-toast-color: #181717; +} + +.toast-instagram { + --tblr-toast-color: #e4405f; +} + +.toast-pinterest { + --tblr-toast-color: #bd081c; +} + +.toast-vk { + --tblr-toast-color: #6383a8; +} + +.toast-rss { + --tblr-toast-color: #ffa500; +} + +.toast-flickr { + --tblr-toast-color: #0063dc; +} + +.toast-bitbucket { + --tblr-toast-color: #0052cc; +} + +.toast-tabler { + --tblr-toast-color: #206bc4; +} + +.toolbar { + display: flex; + flex-wrap: nowrap; + flex-shrink: 0; + margin: 0 -0.5rem; +} +.toolbar > * { + margin: 0 0.5rem; +} + +.tracking { + --tblr-tracking-height: 1.5rem; + --tblr-tracking-gap-width: 0.125rem; + --tblr-tracking-block-border-radius: var(--tblr-border-radius); + display: flex; + gap: var(--tblr-tracking-gap-width); +} + +.tracking-squares { + --tblr-tracking-block-border-radius: var(--tblr-border-radius-sm); +} +.tracking-squares .tracking-block { + height: auto; +} +.tracking-squares .tracking-block:before { + content: ""; + display: block; + padding-top: 100%; +} + +.tracking-block { + flex: 1; + border-radius: var(--tblr-tracking-block-border-radius); + height: var(--tblr-tracking-height); + min-width: 0.25rem; + background: var(--tblr-border-color); +} + +.timeline { + --tblr-timeline-icon-size: 2.5rem; + position: relative; + list-style: none; + padding: 0; +} + +.timeline-event { + position: relative; +} +.timeline-event:not(:last-child) { + margin-bottom: var(--tblr-page-padding); +} +.timeline-event:not(:last-child):before { + content: ""; + position: absolute; + top: var(--tblr-timeline-icon-size); + left: calc(var(--tblr-timeline-icon-size) / 2); + bottom: calc(-1 * var(--tblr-page-padding)); + width: var(--tblr-border-width); + background-color: var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} + +.timeline-event-icon { + position: absolute; + display: flex; + align-items: center; + justify-content: center; + width: var(--tblr-timeline-icon-size, 2.5rem); + height: var(--tblr-timeline-icon-size, 2.5rem); + background: var(--tblr-gray-200); + color: var(--tblr-muted); + border-radius: var(--tblr-border-radius); + z-index: 5; +} + +.timeline-event-card { + margin-left: calc(var(--tblr-timeline-icon-size, 2.5rem) + var(--tblr-page-padding)); +} + +.timeline-simple .timeline-event-icon { + display: none; +} +.timeline-simple .timeline-event-card { + margin-left: 0; +} + +/** +Horizontal rules + */ +/** +Hr text + */ +.hr-text { + display: flex; + align-items: center; + margin: 2rem 0; + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + height: 1px; +} +.hr-text:after, .hr-text:before { + flex: 1 1 auto; + height: 1px; + background-color: var(--tblr-border-color); +} +.hr-text:before { + content: ""; + margin-right: 0.5rem; +} +.hr-text:after { + content: ""; + margin-left: 0.5rem; +} +.hr-text > *:first-child { + padding-right: 0.5rem; + padding-left: 0; + color: var(--tblr-muted); +} +.hr-text.hr-text-left:before { + content: none; +} +.hr-text.hr-text-left > *:first-child { + padding-right: 0.5rem; + padding-left: 0.5rem; +} +.hr-text.hr-text-right:before { + content: ""; +} +.hr-text.hr-text-right:after { + content: none; +} +.hr-text.hr-text-right > *:first-child { + padding-right: 0; + padding-left: 0.5rem; +} +.card > .hr-text { + margin: 0; +} + +.hr-text-spaceless { + margin: -0.5rem 0; +} + +.lead { + line-height: 1.4; +} + +a { + -webkit-text-decoration-skip: ink; + text-decoration-skip-ink: auto; +} + +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a, +.h1 a, +.h2 a, +.h3 a, +.h4 a, +.h5 a, +.h6 a { + color: inherit; +} +h1 a:hover, +h2 a:hover, +h3 a:hover, +h4 a:hover, +h5 a:hover, +h6 a:hover, +.h1 a:hover, +.h2 a:hover, +.h3 a:hover, +.h4 a:hover, +.h5 a:hover, +.h6 a:hover { + color: inherit; +} + +h1, +.h1 { + font-size: var(--tblr-font-size-h1); + line-height: var(--tblr-line-height-h1); +} + +h2, +.h2 { + font-size: var(--tblr-font-size-h2); + line-height: var(--tblr-line-height-h2); +} + +h3, +.h3 { + font-size: var(--tblr-font-size-h3); + line-height: var(--tblr-line-height-h3); +} + +h4, +.h4 { + font-size: var(--tblr-font-size-h4); + line-height: var(--tblr-line-height-h4); +} + +h5, +.h5 { + font-size: var(--tblr-font-size-h5); + line-height: var(--tblr-line-height-h5); +} + +h6, +.h6 { + font-size: var(--tblr-font-size-h6); + line-height: var(--tblr-line-height-h6); +} + +strong, +.strong, +b { + font-weight: var(--tblr-font-weight-bold); +} + +blockquote { + padding-left: 1rem; + border-left: 2px var(--tblr-border-style) var(--tblr-border-color); +} +blockquote p { + margin-bottom: 1rem; +} +blockquote cite { + display: block; + text-align: right; +} +blockquote cite:before { + content: "— "; +} + +ul, ol { + padding-left: 1.5rem; +} + +hr, .hr { + margin: 2rem 0; +} + +dl dd:last-child { + margin-bottom: 0; +} + +pre { + padding: 1rem; + background: var(--tblr-bg-surface-dark); + color: var(--tblr-light); + border-radius: var(--tblr-border-radius); +} +pre code { + background: transparent; +} + +code { + background: var(--tblr-code-bg); + padding: 2px 4px; + border-radius: var(--tblr-border-radius); +} + +kbd, +.kbd { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + display: inline-block; + box-sizing: border-box; + max-width: 100%; + font-size: var(--tblr-font-size-h5); + font-weight: var(--tblr-font-weight-medium); + line-height: 1; + vertical-align: baseline; + border-radius: var(--tblr-border-radius); +} + +img { + max-width: 100%; +} + +.list-unstyled { + margin-left: 0; +} + +/** +Selection + */ +::-moz-selection { + background-color: rgba(var(--tblr-primary-rgb), 0.16); +} +::selection { + background-color: rgba(var(--tblr-primary-rgb), 0.16); +} + +/** +Links + */ +[class^=link-].disabled, [class*=" link-"].disabled { + color: var(--tblr-disabled-color); + pointer-events: none; +} + +/** +Subheader + */ +.subheader { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); +} + +.chart { + display: block; + min-height: 10rem; +} +.chart text { + font-family: inherit; +} + +.chart-sm { + height: 2.5rem; +} + +.chart-lg { + height: 15rem; +} + +.chart-square { + height: 5.75rem; +} + +/** +Chart sparkline + */ +.chart-sparkline { + position: relative; + width: 4rem; + height: 2.5rem; + line-height: 1; + min-height: 0 !important; +} + +.chart-sparkline-sm { + height: 1.5rem; +} + +.chart-sparkline-square { + width: 2.5rem; +} + +.chart-sparkline-wide { + width: 6rem; +} + +.chart-sparkline-label { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.625rem; +} +.chart-sparkline-label .icon { + width: 1rem; + height: 1rem; + font-size: 1rem; +} + +.offcanvas-header { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14); +} + +.offcanvas-footer { + padding: 1.5rem 1.5rem; +} + +.offcanvas-title { + font-size: 1rem; + font-weight: var(--tblr-font-weight-medium); + line-height: 1.5rem; +} + +.offcanvas-narrow { + width: 20rem; +} + +.bg-white-overlay { + color: #ffffff; + background-color: rgba(252, 253, 254, 0.24); +} + +.bg-dark-overlay { + color: #ffffff; + background-color: rgba(24, 36, 51, 0.24); +} + +.bg-cover { + background-repeat: no-repeat; + background-size: cover; + background-position: center; +} + +.bg-primary { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-primary-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-primary-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-primary-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-primary-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-primary { + border-color: #206bc4 !important; +} + +.bg-secondary { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-secondary-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-secondary-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-secondary-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-secondary-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-secondary { + border-color: #667382 !important; +} + +.bg-success { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-success-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-success-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-success-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-success-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-success { + border-color: #2fb344 !important; +} + +.bg-info { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-info-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-info-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-info-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-info-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-info { + border-color: #4299e1 !important; +} + +.bg-warning { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-warning-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-warning-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-warning-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-warning-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-warning { + border-color: #f76707 !important; +} + +.bg-danger { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-danger-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-danger-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-danger-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-danger-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-danger { + border-color: #d63939 !important; +} + +.bg-light { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-light-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-light-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-light-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-light-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-light { + border-color: #fcfdfe !important; +} + +.bg-dark { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-dark-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-dark-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-dark-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-dark-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-dark { + border-color: #182433 !important; +} + +.bg-muted { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-muted-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-muted-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-muted-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-muted-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-muted { + border-color: #667382 !important; +} + +.bg-blue { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-blue-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-blue-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-blue-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-blue-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-blue { + border-color: #206bc4 !important; +} + +.bg-azure { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-azure-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-azure-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-azure-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-azure-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-azure { + border-color: #4299e1 !important; +} + +.bg-indigo { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-indigo-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-indigo-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-indigo-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-indigo-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-indigo { + border-color: #4263eb !important; +} + +.bg-purple { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-purple-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-purple-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-purple-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-purple-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-purple { + border-color: #ae3ec9 !important; +} + +.bg-pink { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-pink-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-pink-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-pink-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-pink-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-pink { + border-color: #d6336c !important; +} + +.bg-red { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-red-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-red-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-red-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-red-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-red { + border-color: #d63939 !important; +} + +.bg-orange { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-orange-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-orange-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-orange-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-orange-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-orange { + border-color: #f76707 !important; +} + +.bg-yellow { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-yellow-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-yellow-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-yellow-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-yellow-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-yellow { + border-color: #f59f00 !important; +} + +.bg-lime { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-lime-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-lime-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-lime-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-lime-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-lime { + border-color: #74b816 !important; +} + +.bg-green { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-green-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-green-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-green-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-green-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-green { + border-color: #2fb344 !important; +} + +.bg-teal { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-teal-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-teal-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-teal-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-teal-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-teal { + border-color: #0ca678 !important; +} + +.bg-cyan { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-cyan-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-cyan-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-cyan-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-cyan-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-cyan { + border-color: #17a2b8 !important; +} + +.bg-facebook { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-facebook-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-facebook-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-facebook-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-facebook-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-facebook { + border-color: #1877f2 !important; +} + +.bg-twitter { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-twitter-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-twitter-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-twitter-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-twitter-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-twitter { + border-color: #1da1f2 !important; +} + +.bg-linkedin { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-linkedin-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-linkedin-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-linkedin-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-linkedin { + border-color: #0a66c2 !important; +} + +.bg-google { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-google-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-google-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-google-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-google-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-google { + border-color: #dc4e41 !important; +} + +.bg-youtube { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-youtube-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-youtube-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-youtube-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-youtube-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-youtube { + border-color: #ff0000 !important; +} + +.bg-vimeo { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-vimeo-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-vimeo-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-vimeo-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-vimeo { + border-color: #1ab7ea !important; +} + +.bg-dribbble { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-dribbble-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-dribbble-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-dribbble-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-dribbble { + border-color: #ea4c89 !important; +} + +.bg-github { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-github-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-github-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-github-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-github-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-github { + border-color: #181717 !important; +} + +.bg-instagram { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-instagram-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-instagram-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-instagram-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-instagram-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-instagram { + border-color: #e4405f !important; +} + +.bg-pinterest { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-pinterest-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-pinterest-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-pinterest-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-pinterest { + border-color: #bd081c !important; +} + +.bg-vk { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-vk-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-vk-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-vk-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-vk-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-vk { + border-color: #6383a8 !important; +} + +.bg-rss { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-rss-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-rss-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-rss-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-rss-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-rss { + border-color: #ffa500 !important; +} + +.bg-flickr { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-flickr-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-flickr-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-flickr-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-flickr-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-flickr { + border-color: #0063dc !important; +} + +.bg-bitbucket { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-bitbucket-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-bitbucket-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-bitbucket { + border-color: #0052cc !important; +} + +.bg-tabler { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-tabler-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-tabler-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-tabler-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-tabler-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-tabler { + border-color: #206bc4 !important; +} + +.bg-white { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-white-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-white-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-white-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-white-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-white { + border-color: #ffffff !important; +} + +.text-primary { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-primary-rgb), var(--tblr-text-opacity)) !important; +} + +.text-primary-fg { + color: var(--tblr-primary-fg) !important; +} + +.text-secondary { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-secondary-rgb), var(--tblr-text-opacity)) !important; +} + +.text-secondary-fg { + color: var(--tblr-secondary-fg) !important; +} + +.text-success { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-success-rgb), var(--tblr-text-opacity)) !important; +} + +.text-success-fg { + color: var(--tblr-success-fg) !important; +} + +.text-info { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-info-rgb), var(--tblr-text-opacity)) !important; +} + +.text-info-fg { + color: var(--tblr-info-fg) !important; +} + +.text-warning { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-warning-rgb), var(--tblr-text-opacity)) !important; +} + +.text-warning-fg { + color: var(--tblr-warning-fg) !important; +} + +.text-danger { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-danger-rgb), var(--tblr-text-opacity)) !important; +} + +.text-danger-fg { + color: var(--tblr-danger-fg) !important; +} + +.text-light { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-light-rgb), var(--tblr-text-opacity)) !important; +} + +.text-light-fg { + color: var(--tblr-light-fg) !important; +} + +.text-dark { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-dark-rgb), var(--tblr-text-opacity)) !important; +} + +.text-dark-fg { + color: var(--tblr-dark-fg) !important; +} + +.text-muted { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-muted-rgb), var(--tblr-text-opacity)) !important; +} + +.text-muted-fg { + color: var(--tblr-muted-fg) !important; +} + +.text-blue { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-blue-rgb), var(--tblr-text-opacity)) !important; +} + +.text-blue-fg { + color: var(--tblr-blue-fg) !important; +} + +.text-azure { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-azure-rgb), var(--tblr-text-opacity)) !important; +} + +.text-azure-fg { + color: var(--tblr-azure-fg) !important; +} + +.text-indigo { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-indigo-rgb), var(--tblr-text-opacity)) !important; +} + +.text-indigo-fg { + color: var(--tblr-indigo-fg) !important; +} + +.text-purple { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-purple-rgb), var(--tblr-text-opacity)) !important; +} + +.text-purple-fg { + color: var(--tblr-purple-fg) !important; +} + +.text-pink { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-pink-rgb), var(--tblr-text-opacity)) !important; +} + +.text-pink-fg { + color: var(--tblr-pink-fg) !important; +} + +.text-red { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-red-rgb), var(--tblr-text-opacity)) !important; +} + +.text-red-fg { + color: var(--tblr-red-fg) !important; +} + +.text-orange { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-orange-rgb), var(--tblr-text-opacity)) !important; +} + +.text-orange-fg { + color: var(--tblr-orange-fg) !important; +} + +.text-yellow { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-yellow-rgb), var(--tblr-text-opacity)) !important; +} + +.text-yellow-fg { + color: var(--tblr-yellow-fg) !important; +} + +.text-lime { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-lime-rgb), var(--tblr-text-opacity)) !important; +} + +.text-lime-fg { + color: var(--tblr-lime-fg) !important; +} + +.text-green { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-green-rgb), var(--tblr-text-opacity)) !important; +} + +.text-green-fg { + color: var(--tblr-green-fg) !important; +} + +.text-teal { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-teal-rgb), var(--tblr-text-opacity)) !important; +} + +.text-teal-fg { + color: var(--tblr-teal-fg) !important; +} + +.text-cyan { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-cyan-rgb), var(--tblr-text-opacity)) !important; +} + +.text-cyan-fg { + color: var(--tblr-cyan-fg) !important; +} + +.text-facebook { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-facebook-rgb), var(--tblr-text-opacity)) !important; +} + +.text-facebook-fg { + color: var(--tblr-facebook-fg) !important; +} + +.text-twitter { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-twitter-rgb), var(--tblr-text-opacity)) !important; +} + +.text-twitter-fg { + color: var(--tblr-twitter-fg) !important; +} + +.text-linkedin { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-linkedin-rgb), var(--tblr-text-opacity)) !important; +} + +.text-linkedin-fg { + color: var(--tblr-linkedin-fg) !important; +} + +.text-google { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-google-rgb), var(--tblr-text-opacity)) !important; +} + +.text-google-fg { + color: var(--tblr-google-fg) !important; +} + +.text-youtube { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-youtube-rgb), var(--tblr-text-opacity)) !important; +} + +.text-youtube-fg { + color: var(--tblr-youtube-fg) !important; +} + +.text-vimeo { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-vimeo-rgb), var(--tblr-text-opacity)) !important; +} + +.text-vimeo-fg { + color: var(--tblr-vimeo-fg) !important; +} + +.text-dribbble { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-dribbble-rgb), var(--tblr-text-opacity)) !important; +} + +.text-dribbble-fg { + color: var(--tblr-dribbble-fg) !important; +} + +.text-github { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-github-rgb), var(--tblr-text-opacity)) !important; +} + +.text-github-fg { + color: var(--tblr-github-fg) !important; +} + +.text-instagram { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-instagram-rgb), var(--tblr-text-opacity)) !important; +} + +.text-instagram-fg { + color: var(--tblr-instagram-fg) !important; +} + +.text-pinterest { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-pinterest-rgb), var(--tblr-text-opacity)) !important; +} + +.text-pinterest-fg { + color: var(--tblr-pinterest-fg) !important; +} + +.text-vk { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-vk-rgb), var(--tblr-text-opacity)) !important; +} + +.text-vk-fg { + color: var(--tblr-vk-fg) !important; +} + +.text-rss { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-rss-rgb), var(--tblr-text-opacity)) !important; +} + +.text-rss-fg { + color: var(--tblr-rss-fg) !important; +} + +.text-flickr { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-flickr-rgb), var(--tblr-text-opacity)) !important; +} + +.text-flickr-fg { + color: var(--tblr-flickr-fg) !important; +} + +.text-bitbucket { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-text-opacity)) !important; +} + +.text-bitbucket-fg { + color: var(--tblr-bitbucket-fg) !important; +} + +.text-tabler { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-tabler-rgb), var(--tblr-text-opacity)) !important; +} + +.text-tabler-fg { + color: var(--tblr-tabler-fg) !important; +} + +.bg-gray-50 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-50-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-50-fg { + color: #182433 !important; +} + +.bg-gray-100 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-100-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-100-fg { + color: #182433 !important; +} + +.bg-gray-200 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-200-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-200-fg { + color: #182433 !important; +} + +.bg-gray-300 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-300-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-300-fg { + color: #182433 !important; +} + +.bg-gray-400 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-400-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-400-fg { + color: #fcfdfe !important; +} + +.bg-gray-500 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-500-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-500-fg { + color: #fcfdfe !important; +} + +.bg-gray-600 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-600-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-600-fg { + color: #fcfdfe !important; +} + +.bg-gray-700 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-700-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-700-fg { + color: #fcfdfe !important; +} + +.bg-gray-800 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-800-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-800-fg { + color: #fcfdfe !important; +} + +.bg-gray-900 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-900-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-900-fg { + color: #fcfdfe !important; +} + +/* +Scrollable +*/ +.scrollable { + overflow-x: hidden; + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} +.scrollable.hover { + overflow-y: hidden; +} +.scrollable.hover > * { + margin-top: -1px; +} +.scrollable.hover:hover, .scrollable.hover:focus, .scrollable.hover:active { + overflow: visible; + overflow-y: auto; +} +.touch .scrollable { + overflow-y: auto !important; +} + +.scroll-x, +.scroll-y { + overflow: hidden; + -webkit-overflow-scrolling: touch; +} + +.scroll-y { + overflow-y: auto; +} + +.scroll-x { + overflow-x: auto; +} + +.no-scroll { + overflow: hidden; +} + +.w-0 { + width: 0 !important; +} + +.h-0 { + height: 0 !important; +} + +.w-1 { + width: 0.25rem !important; +} + +.h-1 { + height: 0.25rem !important; +} + +.w-2 { + width: 0.5rem !important; +} + +.h-2 { + height: 0.5rem !important; +} + +.w-3 { + width: 1rem !important; +} + +.h-3 { + height: 1rem !important; +} + +.w-4 { + width: 1.5rem !important; +} + +.h-4 { + height: 1.5rem !important; +} + +.w-5 { + width: 2rem !important; +} + +.h-5 { + height: 2rem !important; +} + +.w-6 { + width: 3rem !important; +} + +.h-6 { + height: 3rem !important; +} + +.w-7 { + width: 5rem !important; +} + +.h-7 { + height: 5rem !important; +} + +.w-8 { + width: 8rem !important; +} + +.h-8 { + height: 8rem !important; +} + +.w-auto { + width: auto !important; +} + +.h-auto { + height: auto !important; +} + +.w-px { + width: 1px !important; +} + +.h-px { + height: 1px !important; +} + +.w-full { + width: 100% !important; +} + +.h-full { + height: 100% !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-5 { + opacity: 0.05 !important; +} + +.opacity-10 { + opacity: 0.1 !important; +} + +.opacity-15 { + opacity: 0.15 !important; +} + +.opacity-20 { + opacity: 0.2 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-30 { + opacity: 0.3 !important; +} + +.opacity-35 { + opacity: 0.35 !important; +} + +.opacity-40 { + opacity: 0.4 !important; +} + +.opacity-45 { + opacity: 0.45 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-55 { + opacity: 0.55 !important; +} + +.opacity-60 { + opacity: 0.6 !important; +} + +.opacity-65 { + opacity: 0.65 !important; +} + +.opacity-70 { + opacity: 0.7 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-80 { + opacity: 0.8 !important; +} + +.opacity-85 { + opacity: 0.85 !important; +} + +.opacity-90 { + opacity: 0.9 !important; +} + +.opacity-95 { + opacity: 0.95 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.hover-shadow-sm:hover { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.hover-shadow:hover { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.hover-shadow-lg:hover { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.hover-shadow-none:hover { + box-shadow: none !important; +} + +/** +Antialiasing + */ +.antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.subpixel-antialiased { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler.min.css b/bin/main/static/tabler/dist/css/tabler.min.css new file mode 100644 index 0000000..7a8e53e --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler.min.css @@ -0,0 +1,13 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +@charset "UTF-8";:root,[data-bs-theme=light]{--tblr-blue:#206bc4;--tblr-indigo:#4263eb;--tblr-purple:#ae3ec9;--tblr-pink:#d6336c;--tblr-red:#d63939;--tblr-orange:#f76707;--tblr-yellow:#f59f00;--tblr-green:#2fb344;--tblr-teal:#0ca678;--tblr-cyan:#17a2b8;--tblr-black:#000000;--tblr-white:#ffffff;--tblr-gray:#667382;--tblr-gray-dark:#182433;--tblr-gray-100:#f6f8fb;--tblr-gray-200:#eef1f4;--tblr-gray-300:#dadfe5;--tblr-gray-400:#bbc3cd;--tblr-gray-500:#929dab;--tblr-gray-600:#667382;--tblr-gray-700:#3a4859;--tblr-gray-800:#182433;--tblr-gray-900:#040a11;--tblr-primary:#206bc4;--tblr-secondary:#667382;--tblr-success:#2fb344;--tblr-info:#4299e1;--tblr-warning:#f76707;--tblr-danger:#d63939;--tblr-light:#fcfdfe;--tblr-dark:#182433;--tblr-muted:#667382;--tblr-blue:#206bc4;--tblr-azure:#4299e1;--tblr-indigo:#4263eb;--tblr-purple:#ae3ec9;--tblr-pink:#d6336c;--tblr-red:#d63939;--tblr-orange:#f76707;--tblr-yellow:#f59f00;--tblr-lime:#74b816;--tblr-green:#2fb344;--tblr-teal:#0ca678;--tblr-cyan:#17a2b8;--tblr-facebook:#1877f2;--tblr-twitter:#1da1f2;--tblr-linkedin:#0a66c2;--tblr-google:#dc4e41;--tblr-youtube:#ff0000;--tblr-vimeo:#1ab7ea;--tblr-dribbble:#ea4c89;--tblr-github:#181717;--tblr-instagram:#e4405f;--tblr-pinterest:#bd081c;--tblr-vk:#6383a8;--tblr-rss:#ffa500;--tblr-flickr:#0063dc;--tblr-bitbucket:#0052cc;--tblr-tabler:#206bc4;--tblr-primary-rgb:32,107,196;--tblr-secondary-rgb:102,115,130;--tblr-success-rgb:47,179,68;--tblr-info-rgb:66,153,225;--tblr-warning-rgb:247,103,7;--tblr-danger-rgb:214,57,57;--tblr-light-rgb:252,253,254;--tblr-dark-rgb:24,36,51;--tblr-muted-rgb:102,115,130;--tblr-blue-rgb:32,107,196;--tblr-azure-rgb:66,153,225;--tblr-indigo-rgb:66,99,235;--tblr-purple-rgb:174,62,201;--tblr-pink-rgb:214,51,108;--tblr-red-rgb:214,57,57;--tblr-orange-rgb:247,103,7;--tblr-yellow-rgb:245,159,0;--tblr-lime-rgb:116,184,22;--tblr-green-rgb:47,179,68;--tblr-teal-rgb:12,166,120;--tblr-cyan-rgb:23,162,184;--tblr-facebook-rgb:24,119,242;--tblr-twitter-rgb:29,161,242;--tblr-linkedin-rgb:10,102,194;--tblr-google-rgb:220,78,65;--tblr-youtube-rgb:255,0,0;--tblr-vimeo-rgb:26,183,234;--tblr-dribbble-rgb:234,76,137;--tblr-github-rgb:24,23,23;--tblr-instagram-rgb:228,64,95;--tblr-pinterest-rgb:189,8,28;--tblr-vk-rgb:99,131,168;--tblr-rss-rgb:255,165,0;--tblr-flickr-rgb:0,99,220;--tblr-bitbucket-rgb:0,82,204;--tblr-tabler-rgb:32,107,196;--tblr-primary-text-emphasis:#0d2b4e;--tblr-secondary-text-emphasis:#292e34;--tblr-success-text-emphasis:#13481b;--tblr-info-text-emphasis:#1a3d5a;--tblr-warning-text-emphasis:#632903;--tblr-danger-text-emphasis:#561717;--tblr-light-text-emphasis:#3a4859;--tblr-dark-text-emphasis:#3a4859;--tblr-primary-bg-subtle:#d2e1f3;--tblr-secondary-bg-subtle:#e0e3e6;--tblr-success-bg-subtle:#d5f0da;--tblr-info-bg-subtle:#d9ebf9;--tblr-warning-bg-subtle:#fde1cd;--tblr-danger-bg-subtle:#f7d7d7;--tblr-light-bg-subtle:#fbfcfd;--tblr-dark-bg-subtle:#bbc3cd;--tblr-primary-border-subtle:#a6c4e7;--tblr-secondary-border-subtle:#c2c7cd;--tblr-success-border-subtle:#ace1b4;--tblr-info-border-subtle:#b3d6f3;--tblr-warning-border-subtle:#fcc29c;--tblr-danger-border-subtle:#efb0b0;--tblr-light-border-subtle:#eef1f4;--tblr-dark-border-subtle:#929dab;--tblr-white-rgb:255,255,255;--tblr-black-rgb:0,0,0;--tblr-font-sans-serif:-apple-system,BlinkMacSystemFont,San Francisco,Segoe UI,Roboto,Helvetica Neue,sans-serif;--tblr-font-monospace:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;--tblr-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--tblr-body-font-family:var(--tblr-font-sans-serif);--tblr-body-font-size:0.875rem;--tblr-body-font-weight:400;--tblr-body-line-height:1.4285714286;--tblr-body-color:#182433;--tblr-body-color-rgb:24,36,51;--tblr-body-bg:#f6f8fb;--tblr-body-bg-rgb:246,248,251;--tblr-emphasis-color:#182433;--tblr-emphasis-color-rgb:24,36,51;--tblr-secondary-color:rgba(24, 36, 51, 0.75);--tblr-secondary-color-rgb:24,36,51;--tblr-secondary-bg:#eef1f4;--tblr-secondary-bg-rgb:238,241,244;--tblr-tertiary-color:rgba(24, 36, 51, 0.5);--tblr-tertiary-color-rgb:24,36,51;--tblr-tertiary-bg:#f6f8fb;--tblr-tertiary-bg-rgb:246,248,251;--tblr-link-color:#206bc4;--tblr-link-color-rgb:32,107,196;--tblr-link-decoration:none;--tblr-link-hover-color:#1a569d;--tblr-link-hover-color-rgb:26,86,157;--tblr-link-hover-decoration:underline;--tblr-code-color:var(--tblr-gray-600);--tblr-highlight-bg:#fdeccc;--tblr-border-width:1px;--tblr-border-style:solid;--tblr-border-color:#dadfe5;--tblr-border-color-translucent:rgba(4, 32, 69, 0.14);--tblr-border-radius:4px;--tblr-border-radius-sm:2px;--tblr-border-radius-lg:8px;--tblr-border-radius-xl:1rem;--tblr-border-radius-xxl:2rem;--tblr-border-radius-2xl:var(--tblr-border-radius-xxl);--tblr-border-radius-pill:100rem;--tblr-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--tblr-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--tblr-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--tblr-box-shadow-inset:0 0 transparent;--tblr-focus-ring-width:0.25rem;--tblr-focus-ring-opacity:0.25;--tblr-focus-ring-color:rgba(32, 107, 196, 0.25);--tblr-form-valid-color:#2fb344;--tblr-form-valid-border-color:#2fb344;--tblr-form-invalid-color:#d63939;--tblr-form-invalid-border-color:#d63939}[data-bs-theme=dark]{color-scheme:dark;--tblr-body-color:#fcfdfe;--tblr-body-color-rgb:252,253,254;--tblr-body-bg:#040a11;--tblr-body-bg-rgb:4,10,17;--tblr-emphasis-color:#ffffff;--tblr-emphasis-color-rgb:255,255,255;--tblr-secondary-color:rgba(252, 253, 254, 0.75);--tblr-secondary-color-rgb:252,253,254;--tblr-secondary-bg:#182433;--tblr-secondary-bg-rgb:24,36,51;--tblr-tertiary-color:rgba(252, 253, 254, 0.5);--tblr-tertiary-color-rgb:252,253,254;--tblr-tertiary-bg:#0e1722;--tblr-tertiary-bg-rgb:14,23,34;--tblr-primary-text-emphasis:#79a6dc;--tblr-secondary-text-emphasis:#a3abb4;--tblr-success-text-emphasis:#82d18f;--tblr-info-text-emphasis:#8ec2ed;--tblr-warning-text-emphasis:#faa46a;--tblr-danger-text-emphasis:#e68888;--tblr-light-text-emphasis:#f6f8fb;--tblr-dark-text-emphasis:#dadfe5;--tblr-primary-bg-subtle:#061527;--tblr-secondary-bg-subtle:#14171a;--tblr-success-bg-subtle:#09240e;--tblr-info-bg-subtle:#0d1f2d;--tblr-warning-bg-subtle:#311501;--tblr-danger-bg-subtle:#2b0b0b;--tblr-light-bg-subtle:#182433;--tblr-dark-bg-subtle:#0c121a;--tblr-primary-border-subtle:#134076;--tblr-secondary-border-subtle:#3d454e;--tblr-success-border-subtle:#1c6b29;--tblr-info-border-subtle:#285c87;--tblr-warning-border-subtle:#943e04;--tblr-danger-border-subtle:#802222;--tblr-light-border-subtle:#3a4859;--tblr-dark-border-subtle:#182433;--tblr-link-color:#79a6dc;--tblr-link-hover-color:#94b8e3;--tblr-link-color-rgb:121,166,220;--tblr-link-hover-color-rgb:148,184,227;--tblr-code-color:var(--tblr-gray-300);--tblr-border-color:#1f2e41;--tblr-border-color-translucent:rgba(72, 110, 149, 0.14);--tblr-form-valid-color:#82d18f;--tblr-form-valid-border-color:#82d18f;--tblr-form-invalid-color:#e68888;--tblr-form-invalid-border-color:#e68888}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--tblr-body-font-family);font-size:var(--tblr-body-font-size);font-weight:var(--tblr-body-font-weight);line-height:var(--tblr-body-line-height);color:var(--tblr-body-color);text-align:var(--tblr-body-text-align);background-color:var(--tblr-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.hr,hr{margin:2rem 0;color:inherit;border:0;border-top:var(--tblr-border-width) solid;opacity:.16}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--tblr-spacer);font-weight:var(--tblr-font-weight-bold);line-height:1.2;color:var(--tblr-heading-color,inherit)}.h1,h1{font-size:1.5rem}.h2,h2{font-size:1.25rem}.h3,h3{font-size:1rem}.h4,h4{font-size:.875rem}.h5,h5{font-size:.75rem}.h6,h6{font-size:.625rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:600}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:85.714285%}.mark,mark{padding:.1875em;background-color:var(--tblr-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-opacity,1));text-decoration:none}a:hover{--tblr-link-color-rgb:var(--tblr-link-hover-color-rgb);text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--tblr-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:85.714285%;color:var(--tblr-light)}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:85.714285%;color:var(--tblr-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.25rem .5rem;font-size:var(--tblr-font-size-h5);color:var(--tblr-muted-dark);background-color:var(--tblr-code-bg);border-radius:2px}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:var(--tblr-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:.875rem;font-weight:var(--tblr-font-weight-normal)}.display-1{font-size:5rem;font-weight:300;line-height:1.2}.display-2{font-size:4.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}.display-5{font-size:3rem;font-weight:300;line-height:1.2}.display-6{font-size:2rem;font-weight:300;line-height:1.2}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:85.714285%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:.875rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:85.714285%;color:#667382}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--tblr-body-bg);border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-box-shadow-sm);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:85.714285%;color:var(--tblr-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--tblr-gutter-x:calc(var(--tblr-page-padding) * 2);--tblr-gutter-y:0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--tblr-breakpoint-xs:0;--tblr-breakpoint-sm:576px;--tblr-breakpoint-md:768px;--tblr-breakpoint-lg:992px;--tblr-breakpoint-xl:1200px;--tblr-breakpoint-xxl:1400px}.row{--tblr-gutter-x:var(--tblr-page-padding);--tblr-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--tblr-gutter-y));margin-right:calc(-.5 * var(--tblr-gutter-x));margin-left:calc(-.5 * var(--tblr-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-top:var(--tblr-gutter-y)}.grid{display:grid;grid-template-rows:repeat(var(--tblr-rows,1),1fr);grid-template-columns:repeat(var(--tblr-columns,12),1fr);gap:var(--tblr-gap,var(--tblr-page-padding))}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media (min-width:576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media (min-width:768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media (min-width:992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media (min-width:1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media (min-width:1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--tblr-gutter-x:0}.g-0,.gy-0{--tblr-gutter-y:0}.g-1,.gx-1{--tblr-gutter-x:0.25rem}.g-1,.gy-1{--tblr-gutter-y:0.25rem}.g-2,.gx-2{--tblr-gutter-x:0.5rem}.g-2,.gy-2{--tblr-gutter-y:0.5rem}.g-3,.gx-3{--tblr-gutter-x:1rem}.g-3,.gy-3{--tblr-gutter-y:1rem}.g-4,.gx-4{--tblr-gutter-x:1.5rem}.g-4,.gy-4{--tblr-gutter-y:1.5rem}.g-5,.gx-5{--tblr-gutter-x:2rem}.g-5,.gy-5{--tblr-gutter-y:2rem}.g-6,.gx-6{--tblr-gutter-x:3rem}.g-6,.gy-6{--tblr-gutter-y:3rem}.g-7,.gx-7{--tblr-gutter-x:5rem}.g-7,.gy-7{--tblr-gutter-y:5rem}.g-8,.gx-8{--tblr-gutter-x:8rem}.g-8,.gy-8{--tblr-gutter-y:8rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--tblr-gutter-x:0}.g-sm-0,.gy-sm-0{--tblr-gutter-y:0}.g-sm-1,.gx-sm-1{--tblr-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--tblr-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--tblr-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--tblr-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--tblr-gutter-x:1rem}.g-sm-3,.gy-sm-3{--tblr-gutter-y:1rem}.g-sm-4,.gx-sm-4{--tblr-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--tblr-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--tblr-gutter-x:2rem}.g-sm-5,.gy-sm-5{--tblr-gutter-y:2rem}.g-sm-6,.gx-sm-6{--tblr-gutter-x:3rem}.g-sm-6,.gy-sm-6{--tblr-gutter-y:3rem}.g-sm-7,.gx-sm-7{--tblr-gutter-x:5rem}.g-sm-7,.gy-sm-7{--tblr-gutter-y:5rem}.g-sm-8,.gx-sm-8{--tblr-gutter-x:8rem}.g-sm-8,.gy-sm-8{--tblr-gutter-y:8rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--tblr-gutter-x:0}.g-md-0,.gy-md-0{--tblr-gutter-y:0}.g-md-1,.gx-md-1{--tblr-gutter-x:0.25rem}.g-md-1,.gy-md-1{--tblr-gutter-y:0.25rem}.g-md-2,.gx-md-2{--tblr-gutter-x:0.5rem}.g-md-2,.gy-md-2{--tblr-gutter-y:0.5rem}.g-md-3,.gx-md-3{--tblr-gutter-x:1rem}.g-md-3,.gy-md-3{--tblr-gutter-y:1rem}.g-md-4,.gx-md-4{--tblr-gutter-x:1.5rem}.g-md-4,.gy-md-4{--tblr-gutter-y:1.5rem}.g-md-5,.gx-md-5{--tblr-gutter-x:2rem}.g-md-5,.gy-md-5{--tblr-gutter-y:2rem}.g-md-6,.gx-md-6{--tblr-gutter-x:3rem}.g-md-6,.gy-md-6{--tblr-gutter-y:3rem}.g-md-7,.gx-md-7{--tblr-gutter-x:5rem}.g-md-7,.gy-md-7{--tblr-gutter-y:5rem}.g-md-8,.gx-md-8{--tblr-gutter-x:8rem}.g-md-8,.gy-md-8{--tblr-gutter-y:8rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--tblr-gutter-x:0}.g-lg-0,.gy-lg-0{--tblr-gutter-y:0}.g-lg-1,.gx-lg-1{--tblr-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--tblr-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--tblr-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--tblr-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--tblr-gutter-x:1rem}.g-lg-3,.gy-lg-3{--tblr-gutter-y:1rem}.g-lg-4,.gx-lg-4{--tblr-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--tblr-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--tblr-gutter-x:2rem}.g-lg-5,.gy-lg-5{--tblr-gutter-y:2rem}.g-lg-6,.gx-lg-6{--tblr-gutter-x:3rem}.g-lg-6,.gy-lg-6{--tblr-gutter-y:3rem}.g-lg-7,.gx-lg-7{--tblr-gutter-x:5rem}.g-lg-7,.gy-lg-7{--tblr-gutter-y:5rem}.g-lg-8,.gx-lg-8{--tblr-gutter-x:8rem}.g-lg-8,.gy-lg-8{--tblr-gutter-y:8rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--tblr-gutter-x:0}.g-xl-0,.gy-xl-0{--tblr-gutter-y:0}.g-xl-1,.gx-xl-1{--tblr-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--tblr-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--tblr-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--tblr-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--tblr-gutter-x:1rem}.g-xl-3,.gy-xl-3{--tblr-gutter-y:1rem}.g-xl-4,.gx-xl-4{--tblr-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--tblr-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--tblr-gutter-x:2rem}.g-xl-5,.gy-xl-5{--tblr-gutter-y:2rem}.g-xl-6,.gx-xl-6{--tblr-gutter-x:3rem}.g-xl-6,.gy-xl-6{--tblr-gutter-y:3rem}.g-xl-7,.gx-xl-7{--tblr-gutter-x:5rem}.g-xl-7,.gy-xl-7{--tblr-gutter-y:5rem}.g-xl-8,.gx-xl-8{--tblr-gutter-x:8rem}.g-xl-8,.gy-xl-8{--tblr-gutter-y:8rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--tblr-gutter-x:0}.g-xxl-0,.gy-xxl-0{--tblr-gutter-y:0}.g-xxl-1,.gx-xxl-1{--tblr-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--tblr-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--tblr-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--tblr-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--tblr-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--tblr-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--tblr-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--tblr-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--tblr-gutter-x:2rem}.g-xxl-5,.gy-xxl-5{--tblr-gutter-y:2rem}.g-xxl-6,.gx-xxl-6{--tblr-gutter-x:3rem}.g-xxl-6,.gy-xxl-6{--tblr-gutter-y:3rem}.g-xxl-7,.gx-xxl-7{--tblr-gutter-x:5rem}.g-xxl-7,.gy-xxl-7{--tblr-gutter-y:5rem}.g-xxl-8,.gx-xxl-8{--tblr-gutter-x:8rem}.g-xxl-8,.gy-xxl-8{--tblr-gutter-y:8rem}}.markdown>table,.table{--tblr-table-color:inherit;--tblr-table-bg:transparent;--tblr-table-border-color:var(--tblr-border-color-translucent);--tblr-table-accent-bg:transparent;--tblr-table-striped-color:inherit;--tblr-table-striped-bg:var(--tblr-bg-surface-tertiary);--tblr-table-active-color:inherit;--tblr-table-active-bg:rgba(0, 0, 0, 0.1);--tblr-table-hover-color:inherit;--tblr-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:var(--tblr-table-color);vertical-align:top;border-color:var(--tblr-table-border-color)}.markdown>table>:not(caption)>*>*,.table>:not(caption)>*>*{padding:.75rem .75rem;background-color:var(--tblr-table-bg);border-bottom-width:var(--tblr-border-width);box-shadow:inset 0 0 0 9999px var(--tblr-table-accent-bg)}.markdown>table>tbody,.table>tbody{vertical-align:inherit}.markdown>table>thead,.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--tblr-border-width) * 2) solid var(--tblr-border-color-translucent)}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.markdown>table>:not(caption)>*,.table-bordered>:not(caption)>*{border-width:var(--tblr-border-width) 0}.markdown>table>:not(caption)>*>*,.table-bordered>:not(caption)>*>*{border-width:0 var(--tblr-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(even)>*{--tblr-table-accent-bg:var(--tblr-table-striped-bg);color:var(--tblr-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--tblr-table-accent-bg:var(--tblr-table-striped-bg);color:var(--tblr-table-striped-color)}.table-active{--tblr-table-accent-bg:var(--tblr-table-active-bg);color:var(--tblr-table-active-color)}.table-hover>tbody>tr:hover>*{--tblr-table-accent-bg:var(--tblr-table-hover-bg);color:var(--tblr-table-hover-color)}.table-primary{--tblr-table-color:#182433;--tblr-table-bg:#d2e1f3;--tblr-table-border-color:#bfcee0;--tblr-table-striped-bg:#c9d8e9;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#bfcee0;--tblr-table-active-color:#fcfdfe;--tblr-table-hover-bg:#c4d3e5;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-secondary{--tblr-table-color:#182433;--tblr-table-bg:#e0e3e6;--tblr-table-border-color:#ccd0d4;--tblr-table-striped-bg:#d6d9dd;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#ccd0d4;--tblr-table-active-color:#fcfdfe;--tblr-table-hover-bg:#d1d5d9;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-success{--tblr-table-color:#182433;--tblr-table-bg:#d5f0da;--tblr-table-border-color:#c2dcc9;--tblr-table-striped-bg:#cce6d2;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#c2dcc9;--tblr-table-active-color:#182433;--tblr-table-hover-bg:#c7e1cd;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-info{--tblr-table-color:#182433;--tblr-table-bg:#d9ebf9;--tblr-table-border-color:#c6d7e5;--tblr-table-striped-bg:#cfe1ef;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#c6d7e5;--tblr-table-active-color:#182433;--tblr-table-hover-bg:#cbdcea;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-warning{--tblr-table-color:#182433;--tblr-table-bg:#fde1cd;--tblr-table-border-color:#e6cebe;--tblr-table-striped-bg:#f2d8c5;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#e6cebe;--tblr-table-active-color:#182433;--tblr-table-hover-bg:#ecd3c1;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-danger{--tblr-table-color:#182433;--tblr-table-bg:#f7d7d7;--tblr-table-border-color:#e1c5c7;--tblr-table-striped-bg:#eccecf;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#e1c5c7;--tblr-table-active-color:#fcfdfe;--tblr-table-hover-bg:#e6cacb;--tblr-table-hover-color:#fcfdfe;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-light{--tblr-table-color:#182433;--tblr-table-bg:#fcfdfe;--tblr-table-border-color:#e5e7ea;--tblr-table-striped-bg:#f1f2f4;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#e5e7ea;--tblr-table-active-color:#182433;--tblr-table-hover-bg:#ebedef;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-dark{--tblr-table-color:#fcfdfe;--tblr-table-bg:#182433;--tblr-table-border-color:#2f3a47;--tblr-table-striped-bg:#232f3d;--tblr-table-striped-color:#fcfdfe;--tblr-table-active-bg:#2f3a47;--tblr-table-active-color:#fcfdfe;--tblr-table-hover-bg:#293442;--tblr-table-hover-color:#fcfdfe;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem;font-size:.875rem;font-weight:var(--tblr-font-weight-medium)}.col-form-label{padding-top:calc(.4375rem + var(--tblr-border-width));padding-bottom:calc(.4375rem + var(--tblr-border-width));margin-bottom:0;font-size:inherit;font-weight:var(--tblr-font-weight-medium);line-height:1.4285714286}.col-form-label-lg{padding-top:calc(.5rem + var(--tblr-border-width));padding-bottom:calc(.5rem + var(--tblr-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.125rem + var(--tblr-border-width));padding-bottom:calc(.125rem + var(--tblr-border-width));font-size:.75rem}.form-text{margin-top:.25rem;font-size:85.714285%;color:var(--tblr-secondary-color)}.form-control{display:block;width:100%;padding:.4375rem .75rem;font-family:var(--tblr-font-sans-serif);font-size:.875rem;font-weight:400;line-height:1.4285714286;color:inherit;background-color:var(--tblr-bg-forms);background-clip:padding-box;border:var(--tblr-border-width) solid var(--tblr-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--tblr-border-radius);box-shadow:0 0 transparent;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:inherit;background-color:var(--tblr-bg-forms);border-color:#90b5e2;outline:0;box-shadow:0 0 transparent,0 0 0 .25rem rgba(32,107,196,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.4285714286em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-webkit-input-placeholder{color:#929dab;opacity:1}.form-control:-ms-input-placeholder{color:#929dab;opacity:1}.form-control::-ms-input-placeholder{color:#929dab;opacity:1}.form-control::placeholder{color:#929dab;opacity:1}.form-control:disabled{background-color:var(--tblr-bg-surface-secondary);opacity:1}.form-control::-webkit-file-upload-button{padding:.4375rem .75rem;margin:-.4375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:inherit;background-color:var(--tblr-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--tblr-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.4375rem .75rem;margin:-.4375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:inherit;background-color:var(--tblr-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--tblr-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--tblr-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--tblr-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.4375rem 0;margin-bottom:0;line-height:1.4285714286;color:var(--tblr-body-color);background-color:transparent;border:solid transparent;border-width:var(--tblr-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.4285714286em + .25rem + calc(var(--tblr-border-width) * 2));padding:.125rem .25rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.125rem .25rem;margin:-.125rem -.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.form-control-sm::file-selector-button{padding:.125rem .25rem;margin:-.125rem -.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.form-control-lg{min-height:calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2));padding:.5rem .75rem;font-size:1.25rem;border-radius:var(--tblr-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem .75rem;margin:-.5rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem}.form-control-lg::file-selector-button{padding:.5rem .75rem;margin:-.5rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem}textarea.form-control{min-height:calc(1.4285714286em + .875rem + calc(var(--tblr-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.4285714286em + .25rem + calc(var(--tblr-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.4285714286em + .875rem + calc(var(--tblr-border-width) * 2));padding:.4375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--tblr-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--tblr-border-radius)}.form-control-color.form-control-sm{height:calc(1.4285714286em + .25rem + calc(var(--tblr-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2))}.form-select{--tblr-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.4375rem 2.25rem .4375rem .75rem;font-family:var(--tblr-font-sans-serif);font-size:.875rem;font-weight:400;line-height:1.4285714286;color:inherit;background-color:var(--tblr-bg-forms);background-image:var(--tblr-form-select-bg-img),var(--tblr-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:0 0 transparent;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#90b5e2;outline:0;box-shadow:0 0 transparent,0 0 0 .25rem rgba(32,107,196,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--tblr-bg-surface-secondary)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 inherit}.form-select-sm{padding-top:.125rem;padding-bottom:.125rem;padding-left:.25rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:.75rem;font-size:1.25rem;border-radius:var(--tblr-border-radius-lg)}[data-bs-theme=dark] .form-select{--tblr-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fcfdfe' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.25rem;padding-left:1.5rem;margin-bottom:.5rem}.form-check .form-check-input{float:left;margin-left:-1.5rem}.form-check-reverse{padding-right:1.5rem;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5rem;margin-left:0}.form-check-input{--tblr-form-check-bg:var(--tblr-bg-forms);width:1rem;height:1rem;margin-top:.2142857143rem;vertical-align:top;background-color:var(--tblr-form-check-bg);background-image:var(--tblr-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:var(--tblr-border-radius)}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#90b5e2;outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-check-input:checked{background-color:var(--tblr-primary);border-color:var(--tblr-border-color-translucent)}.form-check-input:checked[type=checkbox]{--tblr-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--tblr-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:var(--tblr-primary);border-color:var(--tblr-primary);--tblr-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.7}.form-switch{padding-left:2.5rem}.form-switch .form-check-input{--tblr-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23dadfe5'/%3e%3c/svg%3e");width:2rem;margin-left:-2.5rem;background-image:var(--tblr-form-switch-bg);background-position:left center;border-radius:2rem;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--tblr-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2390b5e2'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--tblr-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5rem;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5rem;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.4}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--tblr-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.25rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f6f8fb,0 0 0 .25rem rgba(32,107,196,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f6f8fb,0 0 0 .25rem rgba(32,107,196,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.375rem;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #fff;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#bcd3ed}.form-range::-webkit-slider-runnable-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem;box-shadow:0 0 transparent}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #fff;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#bcd3ed}.form-range::-moz-range-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem;box-shadow:0 0 transparent}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--tblr-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--tblr-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--tblr-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--tblr-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-webkit-input-placeholder,.form-floating>.form-control::-webkit-input-placeholder{color:transparent}.form-floating>.form-control-plaintext:-ms-input-placeholder,.form-floating>.form-control:-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::-ms-input-placeholder,.form-floating>.form-control::-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-ms-input-placeholder),.form-floating>.form-control:not(:-ms-input-placeholder){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-ms-input-placeholder)~label{color:rgba(var(--tblr-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--tblr-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-ms-input-placeholder)~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--tblr-bg-forms);border-radius:var(--tblr-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--tblr-bg-forms);border-radius:var(--tblr-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--tblr-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--tblr-border-width) 0}.form-floating>:disabled~label{color:#667382}.form-floating>:disabled~label::after{background-color:var(--tblr-bg-surface-secondary)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.4375rem .75rem;font-size:.875rem;font-weight:400;line-height:1.4285714286;color:var(--tblr-muted);text-align:center;white-space:nowrap;background-color:var(--tblr-bg-surface-secondary);border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem .75rem;font-size:1.25rem;border-radius:var(--tblr-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.125rem .25rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--tblr-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:85.714285%;color:var(--tblr-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:var(--tblr-spacer-2) var(--tblr-spacer-2);margin-top:.1rem;font-size:.765625rem;color:#fff;background-color:var(--tblr-success);border-radius:var(--tblr-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--tblr-form-valid-border-color);padding-right:calc(1.4285714286em + .875rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--tblr-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.4285714286em + .875rem);background-position:top calc(.3571428572em + .21875rem) right calc(.3571428572em + .21875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--tblr-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--tblr-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--tblr-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.4285714286em + .875rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--tblr-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--tblr-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--tblr-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:85.714285%;color:var(--tblr-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:var(--tblr-spacer-2) var(--tblr-spacer-2);margin-top:.1rem;font-size:.765625rem;color:#fff;background-color:var(--tblr-danger);border-radius:var(--tblr-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--tblr-form-invalid-border-color);padding-right:calc(1.4285714286em + .875rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--tblr-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.4285714286em + .875rem);background-position:top calc(.3571428572em + .21875rem) right calc(.3571428572em + .21875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--tblr-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--tblr-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--tblr-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.4285714286em + .875rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--tblr-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--tblr-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--tblr-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--tblr-btn-padding-x:1rem;--tblr-btn-padding-y:0.4375rem;--tblr-btn-font-family:var(--tblr-font-sans-serif);--tblr-btn-font-size:0.875rem;--tblr-btn-font-weight:var(--tblr-font-weight-medium);--tblr-btn-line-height:1.4285714286;--tblr-btn-color:var(--tblr-body-color);--tblr-btn-bg:transparent;--tblr-btn-border-width:var(--tblr-border-width);--tblr-btn-border-color:transparent;--tblr-btn-border-radius:var(--tblr-border-radius);--tblr-btn-hover-border-color:transparent;--tblr-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--tblr-btn-disabled-opacity:0.4;--tblr-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--tblr-btn-padding-y) var(--tblr-btn-padding-x);font-family:var(--tblr-btn-font-family);font-size:var(--tblr-btn-font-size);font-weight:var(--tblr-btn-font-weight);line-height:var(--tblr-btn-line-height);color:var(--tblr-btn-color);text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-btn-border-width) solid var(--tblr-btn-border-color);border-radius:var(--tblr-btn-border-radius);background-color:var(--tblr-btn-bg);box-shadow:var(--tblr-btn-box-shadow);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--tblr-btn-hover-color);text-decoration:none;background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--tblr-btn-color);background-color:var(--tblr-btn-bg);border-color:var(--tblr-btn-border-color)}.btn:focus-visible{color:var(--tblr-btn-hover-color);background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-box-shadow),var(--tblr-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-box-shadow),var(--tblr-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--tblr-btn-active-color);background-color:var(--tblr-btn-active-bg);border-color:var(--tblr-btn-active-border-color);box-shadow:var(--tblr-btn-active-shadow)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--tblr-btn-active-shadow),var(--tblr-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--tblr-btn-disabled-color);pointer-events:none;background-color:var(--tblr-btn-disabled-bg);border-color:var(--tblr-btn-disabled-border-color);opacity:var(--tblr-btn-disabled-opacity);box-shadow:none}.btn-link{--tblr-btn-font-weight:400;--tblr-btn-color:var(--tblr-link-color);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-link-hover-color);--tblr-btn-hover-border-color:transparent;--tblr-btn-active-color:var(--tblr-link-hover-color);--tblr-btn-active-border-color:transparent;--tblr-btn-disabled-color:#667382;--tblr-btn-disabled-border-color:transparent;--tblr-btn-box-shadow:0 0 0 #000;--tblr-btn-focus-shadow-rgb:65,129,205;text-decoration:none}.btn-link:focus-visible,.btn-link:hover{text-decoration:underline}.btn-link:focus-visible{color:var(--tblr-btn-color)}.btn-link:hover{color:var(--tblr-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--tblr-btn-padding-y:0.5rem;--tblr-btn-padding-x:0.75rem;--tblr-btn-font-size:1.25rem;--tblr-btn-border-radius:var(--tblr-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--tblr-btn-padding-y:0.125rem;--tblr-btn-padding-x:0.25rem;--tblr-btn-font-size:0.75rem;--tblr-btn-border-radius:var(--tblr-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(-45deg)}.dropdown-menu{--tblr-dropdown-zindex:1000;--tblr-dropdown-min-width:11rem;--tblr-dropdown-padding-x:0;--tblr-dropdown-padding-y:0.25rem;--tblr-dropdown-spacer:1px;--tblr-dropdown-font-size:0.875rem;--tblr-dropdown-color:var(--tblr-body-color);--tblr-dropdown-bg:var(--tblr-bg-surface);--tblr-dropdown-border-color:var(--tblr-border-color-translucent);--tblr-dropdown-border-radius:var(--tblr-border-radius);--tblr-dropdown-border-width:var(--tblr-border-width);--tblr-dropdown-inner-border-radius:calc(var(--tblr-border-radius) - var(--tblr-border-width));--tblr-dropdown-divider-bg:var(--tblr-border-color-translucent);--tblr-dropdown-divider-margin-y:var(--tblr-spacer);--tblr-dropdown-box-shadow:var(--tblr-shadow-dropdown);--tblr-dropdown-link-color:inherit;--tblr-dropdown-link-hover-color:inherit;--tblr-dropdown-link-hover-bg:rgba(var(--tblr-muted-rgb), 0.04);--tblr-dropdown-link-active-color:var(--tblr-primary);--tblr-dropdown-link-active-bg:var(--tblr-active-bg);--tblr-dropdown-link-disabled-color:var(--tblr-tertiary-color);--tblr-dropdown-item-padding-x:0.75rem;--tblr-dropdown-item-padding-y:0.5rem;--tblr-dropdown-header-color:#667382;--tblr-dropdown-header-padding-x:0.75rem;--tblr-dropdown-header-padding-y:0.25rem;position:absolute;z-index:var(--tblr-dropdown-zindex);display:none;min-width:var(--tblr-dropdown-min-width);padding:var(--tblr-dropdown-padding-y) var(--tblr-dropdown-padding-x);margin:0;font-size:var(--tblr-dropdown-font-size);color:var(--tblr-dropdown-color);text-align:left;list-style:none;background-color:var(--tblr-dropdown-bg);background-clip:padding-box;border:var(--tblr-dropdown-border-width) solid var(--tblr-dropdown-border-color);border-radius:var(--tblr-dropdown-border-radius);box-shadow:var(--tblr-dropdown-box-shadow)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--tblr-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--tblr-dropdown-spacer)}.dropup .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(135deg)}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--tblr-dropdown-spacer)}.dropend .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(-135deg)}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--tblr-dropdown-spacer)}.dropstart .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(45deg)}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--tblr-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--tblr-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--tblr-dropdown-link-color);text-align:inherit;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--tblr-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--tblr-dropdown-link-hover-color);text-decoration:none;background-color:var(--tblr-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--tblr-dropdown-link-active-color);text-decoration:none;background-color:var(--tblr-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--tblr-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--tblr-dropdown-header-padding-y) var(--tblr-dropdown-header-padding-x);margin-bottom:0;font-size:.765625rem;color:var(--tblr-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);color:var(--tblr-dropdown-link-color)}.dropdown-menu-dark{--tblr-dropdown-color:#dadfe5;--tblr-dropdown-bg:#182433;--tblr-dropdown-border-color:var(--tblr-border-color-translucent);--tblr-dropdown-link-color:#dadfe5;--tblr-dropdown-link-hover-color:#ffffff;--tblr-dropdown-divider-bg:var(--tblr-border-color-translucent);--tblr-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--tblr-dropdown-link-active-color:var(--tblr-primary);--tblr-dropdown-link-active-bg:var(--tblr-active-bg);--tblr-dropdown-link-disabled-color:#929dab;--tblr-dropdown-header-color:#929dab}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--tblr-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--tblr-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.1875rem;padding-left:.1875rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.btn-group.show .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--tblr-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--tblr-nav-link-padding-x:0.75rem;--tblr-nav-link-padding-y:0.5rem;--tblr-nav-link-color:var(--tblr-muted);--tblr-nav-link-hover-color:var(--tblr-link-hover-color);--tblr-nav-link-disabled-color:var(--tblr-disabled-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--tblr-nav-link-padding-y) var(--tblr-nav-link-padding-x);font-size:var(--tblr-nav-link-font-size);font-weight:var(--tblr-nav-link-font-weight);color:var(--tblr-nav-link-color);background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--tblr-nav-link-hover-color);text-decoration:none}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.nav-link.disabled{color:var(--tblr-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--tblr-nav-tabs-border-width:var(--tblr-border-width);--tblr-nav-tabs-border-color:var(--tblr-border-color);--tblr-nav-tabs-border-radius:var(--tblr-border-radius);--tblr-nav-tabs-link-hover-border-color:var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);--tblr-nav-tabs-link-active-color:var(--tblr-body-color);--tblr-nav-tabs-link-active-bg:var(--tblr-body-bg);--tblr-nav-tabs-link-active-border-color:var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);border-bottom:var(--tblr-nav-tabs-border-width) solid var(--tblr-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--tblr-nav-tabs-border-width));border:var(--tblr-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--tblr-nav-tabs-border-radius);border-top-right-radius:var(--tblr-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--tblr-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--tblr-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--tblr-nav-tabs-link-active-color);background-color:var(--tblr-nav-tabs-link-active-bg);border-color:var(--tblr-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--tblr-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--tblr-nav-pills-border-radius:var(--tblr-border-radius);--tblr-nav-pills-link-active-color:var(--tblr-primary);--tblr-nav-pills-link-active-bg:var(--tblr-active-bg)}.nav-pills .nav-link{border-radius:var(--tblr-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--tblr-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--tblr-nav-pills-link-active-color);background-color:var(--tblr-nav-pills-link-active-bg)}.nav-underline{--tblr-nav-underline-gap:1rem;--tblr-nav-underline-border-width:0.125rem;--tblr-nav-underline-link-active-color:var(--tblr-emphasis-color);gap:var(--tblr-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--tblr-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:600;color:var(--tblr-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--tblr-navbar-padding-x:0;--tblr-navbar-padding-y:0.25rem;--tblr-navbar-color:var(--tblr-body-color);--tblr-navbar-hover-color:rgba(var(--tblr-emphasis-color-rgb), 0.8);--tblr-navbar-disabled-color:var(--tblr-disabled-color);--tblr-navbar-active-color:var(--tblr-body-color) color;--tblr-navbar-brand-padding-y:0.5rem;--tblr-navbar-brand-margin-end:1rem;--tblr-navbar-brand-font-size:1.25rem;--tblr-navbar-brand-color:var(--tblr-body-color);--tblr-navbar-brand-hover-color:var(--tblr-body-color) color;--tblr-navbar-nav-link-padding-x:0.75rem;--tblr-navbar-toggler-padding-y:0;--tblr-navbar-toggler-padding-x:0;--tblr-navbar-toggler-font-size:1rem;--tblr-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2824, 36, 51, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--tblr-navbar-toggler-border-color:rgba(var(--tblr-emphasis-color-rgb), 0.15);--tblr-navbar-toggler-border-radius:var(--tblr-border-radius);--tblr-navbar-toggler-focus-width:0;--tblr-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--tblr-navbar-padding-y) var(--tblr-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--tblr-navbar-brand-padding-y);padding-bottom:var(--tblr-navbar-brand-padding-y);margin-right:var(--tblr-navbar-brand-margin-end);font-size:var(--tblr-navbar-brand-font-size);color:var(--tblr-navbar-brand-color);white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--tblr-navbar-brand-hover-color);text-decoration:none}.navbar-nav{--tblr-nav-link-padding-x:0;--tblr-nav-link-padding-y:0.5rem;--tblr-nav-link-color:var(--tblr-navbar-color);--tblr-nav-link-hover-color:var(--tblr-navbar-hover-color);--tblr-nav-link-disabled-color:var(--tblr-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--tblr-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--tblr-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--tblr-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--tblr-navbar-toggler-padding-y) var(--tblr-navbar-toggler-padding-x);font-size:var(--tblr-navbar-toggler-font-size);line-height:1;color:var(--tblr-navbar-color);background-color:transparent;border:var(--tblr-border-width) solid var(--tblr-navbar-toggler-border-color);border-radius:var(--tblr-navbar-toggler-border-radius);transition:var(--tblr-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--tblr-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--tblr-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--tblr-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark{--tblr-navbar-color:rgba(255, 255, 255, 0.7);--tblr-navbar-hover-color:rgba(255, 255, 255, 0.75);--tblr-navbar-disabled-color:var(--tblr-disabled-color);--tblr-navbar-active-color:#ffffff;--tblr-navbar-brand-color:#ffffff;--tblr-navbar-brand-hover-color:#ffffff;--tblr-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--tblr-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--tblr-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--tblr-card-spacer-y:1rem;--tblr-card-spacer-x:1.5rem;--tblr-card-title-spacer-y:1.25rem;--tblr-card-border-width:var(--tblr-border-width);--tblr-card-border-color:var(--tblr-border-color-translucent);--tblr-card-border-radius:var(--tblr-border-radius);--tblr-card-box-shadow:var(--tblr-shadow-card);--tblr-card-inner-border-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));--tblr-card-cap-padding-y:1rem;--tblr-card-cap-padding-x:1.5rem;--tblr-card-cap-bg:var(--tblr-bg-surface-tertiary);--tblr-card-cap-color:inherit;--tblr-card-color:inherit;--tblr-card-bg:var(--tblr-bg-surface);--tblr-card-img-overlay-padding:1rem;--tblr-card-group-margin:1.5rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--tblr-card-height);color:var(--tblr-body-color);word-wrap:break-word;background-color:var(--tblr-card-bg);background-clip:border-box;border:var(--tblr-card-border-width) solid var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius);box-shadow:var(--tblr-card-box-shadow)}.card>.hr,.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--tblr-card-inner-border-radius);border-top-right-radius:var(--tblr-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--tblr-card-inner-border-radius);border-bottom-left-radius:var(--tblr-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--tblr-card-spacer-y) var(--tblr-card-spacer-x);color:var(--tblr-card-color)}.card-title{margin-bottom:var(--tblr-card-title-spacer-y);color:var(--tblr-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--tblr-card-title-spacer-y));margin-bottom:0;color:var(--tblr-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:var(--tblr-card-spacer-x)}.card-header{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);margin-bottom:0;color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-bottom:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-header:first-child{border-radius:var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0}.card-footer{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-top:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--tblr-card-cap-padding-x));margin-bottom:calc(-1 * var(--tblr-card-cap-padding-y));margin-left:calc(-.5 * var(--tblr-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--tblr-card-bg);border-bottom-color:var(--tblr-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--tblr-card-cap-padding-x));margin-left:calc(-.5 * var(--tblr-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--tblr-card-img-overlay-padding);border-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--tblr-card-inner-border-radius);border-top-right-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--tblr-card-inner-border-radius);border-bottom-left-radius:var(--tblr-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--tblr-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--tblr-accordion-color:var(--tblr-body-color);--tblr-accordion-bg:transparent;--tblr-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--tblr-accordion-border-color:var(--tblr-border-color-translucent);--tblr-accordion-border-width:var(--tblr-border-width);--tblr-accordion-border-radius:var(--tblr-border-radius);--tblr-accordion-inner-border-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));--tblr-accordion-btn-padding-x:1.25rem;--tblr-accordion-btn-padding-y:1rem;--tblr-accordion-btn-color:var(--tblr-body-color);--tblr-accordion-btn-bg:transparent;--tblr-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23182433'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--tblr-accordion-btn-icon-width:1rem;--tblr-accordion-btn-icon-transform:rotate(-180deg);--tblr-accordion-btn-icon-transition:transform 0.2s ease-in-out;--tblr-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230d2b4e'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--tblr-accordion-btn-focus-border-color:var(--tblr-border-color-translucent);--tblr-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(32, 107, 196, 0.25);--tblr-accordion-body-padding-x:1.25rem;--tblr-accordion-body-padding-y:1rem;--tblr-accordion-active-color:inherit;--tblr-accordion-active-bg:transparent}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--tblr-accordion-btn-padding-y) var(--tblr-accordion-btn-padding-x);font-size:.875rem;color:var(--tblr-accordion-btn-color);text-align:left;background-color:var(--tblr-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--tblr-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--tblr-accordion-active-color);background-color:var(--tblr-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--tblr-accordion-border-width)) 0 var(--tblr-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--tblr-accordion-btn-active-icon);transform:var(--tblr-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--tblr-accordion-btn-icon-width);height:var(--tblr-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--tblr-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--tblr-accordion-btn-icon-width);transition:var(--tblr-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--tblr-accordion-btn-focus-border-color);outline:0;box-shadow:var(--tblr-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--tblr-accordion-color);background-color:var(--tblr-accordion-bg);border:var(--tblr-accordion-border-width) solid var(--tblr-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--tblr-accordion-border-radius);border-top-right-radius:var(--tblr-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--tblr-accordion-inner-border-radius);border-top-right-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--tblr-accordion-border-radius);border-bottom-left-radius:var(--tblr-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--tblr-accordion-inner-border-radius);border-bottom-left-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--tblr-accordion-border-radius);border-bottom-left-radius:var(--tblr-accordion-border-radius)}.accordion-body{padding:var(--tblr-accordion-body-padding-y) var(--tblr-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--tblr-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2379a6dc'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--tblr-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2379a6dc'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--tblr-breadcrumb-padding-x:0;--tblr-breadcrumb-padding-y:0;--tblr-breadcrumb-margin-bottom:1rem;--tblr-breadcrumb-divider-color:var(--tblr-muted);--tblr-breadcrumb-item-padding-x:0.5rem;--tblr-breadcrumb-item-active-color:inherit;display:flex;flex-wrap:wrap;padding:var(--tblr-breadcrumb-padding-y) var(--tblr-breadcrumb-padding-x);margin-bottom:var(--tblr-breadcrumb-margin-bottom);font-size:var(--tblr-breadcrumb-font-size);list-style:none;background-color:var(--tblr-breadcrumb-bg);border-radius:var(--tblr-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--tblr-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--tblr-breadcrumb-item-padding-x);color:var(--tblr-breadcrumb-divider-color);content:var(--tblr-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--tblr-breadcrumb-item-active-color)}.pagination{--tblr-pagination-padding-x:0.25rem;--tblr-pagination-padding-y:0.25rem;--tblr-pagination-font-size:0.875rem;--tblr-pagination-color:var(--tblr-muted);--tblr-pagination-bg:transparent;--tblr-pagination-border-width:0;--tblr-pagination-border-color:var(--tblr-border-color);--tblr-pagination-border-radius:var(--tblr-border-radius);--tblr-pagination-hover-color:var(--tblr-link-hover-color);--tblr-pagination-hover-bg:var(--tblr-tertiary-bg);--tblr-pagination-hover-border-color:var(--tblr-border-color);--tblr-pagination-focus-color:var(--tblr-link-hover-color);--tblr-pagination-focus-bg:var(--tblr-secondary-bg);--tblr-pagination-focus-box-shadow:0 0 0 0.25rem rgba(32, 107, 196, 0.25);--tblr-pagination-active-color:#ffffff;--tblr-pagination-active-bg:var(--tblr-primary);--tblr-pagination-active-border-color:var(--tblr-primary);--tblr-pagination-disabled-color:var(--tblr-disabled-color);--tblr-pagination-disabled-bg:transparent;--tblr-pagination-disabled-border-color:var(--tblr-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--tblr-pagination-padding-y) var(--tblr-pagination-padding-x);font-size:var(--tblr-pagination-font-size);color:var(--tblr-pagination-color);background-color:var(--tblr-pagination-bg);border:var(--tblr-pagination-border-width) solid var(--tblr-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--tblr-pagination-hover-color);text-decoration:none;background-color:var(--tblr-pagination-hover-bg);border-color:var(--tblr-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--tblr-pagination-focus-color);background-color:var(--tblr-pagination-focus-bg);outline:0;box-shadow:var(--tblr-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--tblr-pagination-active-color);background-color:var(--tblr-pagination-active-bg);border-color:var(--tblr-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--tblr-pagination-disabled-color);pointer-events:none;background-color:var(--tblr-pagination-disabled-bg);border-color:var(--tblr-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(0 * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--tblr-pagination-border-radius);border-bottom-left-radius:var(--tblr-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--tblr-pagination-border-radius);border-bottom-right-radius:var(--tblr-pagination-border-radius)}.pagination-lg{--tblr-pagination-padding-x:1.5rem;--tblr-pagination-padding-y:0.75rem;--tblr-pagination-font-size:1.09375rem;--tblr-pagination-border-radius:var(--tblr-border-radius-lg)}.pagination-sm{--tblr-pagination-padding-x:0.5rem;--tblr-pagination-padding-y:0.25rem;--tblr-pagination-font-size:0.765625rem;--tblr-pagination-border-radius:var(--tblr-border-radius-sm)}.badge{--tblr-badge-padding-x:0.5em;--tblr-badge-padding-y:0.25em;--tblr-badge-font-size:85.714285%;--tblr-badge-font-weight:var(--tblr-font-weight-medium);--tblr-badge-color:#ffffff;--tblr-badge-border-radius:var(--tblr-border-radius);display:inline-block;padding:var(--tblr-badge-padding-y) var(--tblr-badge-padding-x);font-size:var(--tblr-badge-font-size);font-weight:var(--tblr-badge-font-weight);line-height:1;color:var(--tblr-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--tblr-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--tblr-alert-bg:transparent;--tblr-alert-padding-x:1rem;--tblr-alert-padding-y:1rem;--tblr-alert-margin-bottom:1rem;--tblr-alert-color:inherit;--tblr-alert-border-color:transparent;--tblr-alert-border:var(--tblr-border-width) solid var(--tblr-alert-border-color);--tblr-alert-border-radius:var(--tblr-border-radius);--tblr-alert-link-color:inherit;position:relative;padding:var(--tblr-alert-padding-y) var(--tblr-alert-padding-x);margin-bottom:var(--tblr-alert-margin-bottom);color:var(--tblr-alert-color);background-color:var(--tblr-alert-bg);border:var(--tblr-alert-border);border-radius:var(--tblr-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:var(--tblr-font-weight-bold);color:var(--tblr-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--tblr-alert-color:var(--tblr-primary-text-emphasis);--tblr-alert-bg:var(--tblr-primary-bg-subtle);--tblr-alert-border-color:var(--tblr-primary-border-subtle);--tblr-alert-link-color:var(--tblr-primary-text-emphasis)}.alert-secondary{--tblr-alert-color:var(--tblr-secondary-text-emphasis);--tblr-alert-bg:var(--tblr-secondary-bg-subtle);--tblr-alert-border-color:var(--tblr-secondary-border-subtle);--tblr-alert-link-color:var(--tblr-secondary-text-emphasis)}.alert-success{--tblr-alert-color:var(--tblr-success-text-emphasis);--tblr-alert-bg:var(--tblr-success-bg-subtle);--tblr-alert-border-color:var(--tblr-success-border-subtle);--tblr-alert-link-color:var(--tblr-success-text-emphasis)}.alert-info{--tblr-alert-color:var(--tblr-info-text-emphasis);--tblr-alert-bg:var(--tblr-info-bg-subtle);--tblr-alert-border-color:var(--tblr-info-border-subtle);--tblr-alert-link-color:var(--tblr-info-text-emphasis)}.alert-warning{--tblr-alert-color:var(--tblr-warning-text-emphasis);--tblr-alert-bg:var(--tblr-warning-bg-subtle);--tblr-alert-border-color:var(--tblr-warning-border-subtle);--tblr-alert-link-color:var(--tblr-warning-text-emphasis)}.alert-danger{--tblr-alert-color:var(--tblr-danger-text-emphasis);--tblr-alert-bg:var(--tblr-danger-bg-subtle);--tblr-alert-border-color:var(--tblr-danger-border-subtle);--tblr-alert-link-color:var(--tblr-danger-text-emphasis)}.alert-light{--tblr-alert-color:var(--tblr-light-text-emphasis);--tblr-alert-bg:var(--tblr-light-bg-subtle);--tblr-alert-border-color:var(--tblr-light-border-subtle);--tblr-alert-link-color:var(--tblr-light-text-emphasis)}.alert-dark{--tblr-alert-color:var(--tblr-dark-text-emphasis);--tblr-alert-bg:var(--tblr-dark-bg-subtle);--tblr-alert-border-color:var(--tblr-dark-border-subtle);--tblr-alert-link-color:var(--tblr-dark-text-emphasis)}.alert-muted{--tblr-alert-color:var(--tblr-muted-text-emphasis);--tblr-alert-bg:var(--tblr-muted-bg-subtle);--tblr-alert-border-color:var(--tblr-muted-border-subtle);--tblr-alert-link-color:var(--tblr-muted-text-emphasis)}.alert-blue{--tblr-alert-color:var(--tblr-blue-text-emphasis);--tblr-alert-bg:var(--tblr-blue-bg-subtle);--tblr-alert-border-color:var(--tblr-blue-border-subtle);--tblr-alert-link-color:var(--tblr-blue-text-emphasis)}.alert-azure{--tblr-alert-color:var(--tblr-azure-text-emphasis);--tblr-alert-bg:var(--tblr-azure-bg-subtle);--tblr-alert-border-color:var(--tblr-azure-border-subtle);--tblr-alert-link-color:var(--tblr-azure-text-emphasis)}.alert-indigo{--tblr-alert-color:var(--tblr-indigo-text-emphasis);--tblr-alert-bg:var(--tblr-indigo-bg-subtle);--tblr-alert-border-color:var(--tblr-indigo-border-subtle);--tblr-alert-link-color:var(--tblr-indigo-text-emphasis)}.alert-purple{--tblr-alert-color:var(--tblr-purple-text-emphasis);--tblr-alert-bg:var(--tblr-purple-bg-subtle);--tblr-alert-border-color:var(--tblr-purple-border-subtle);--tblr-alert-link-color:var(--tblr-purple-text-emphasis)}.alert-pink{--tblr-alert-color:var(--tblr-pink-text-emphasis);--tblr-alert-bg:var(--tblr-pink-bg-subtle);--tblr-alert-border-color:var(--tblr-pink-border-subtle);--tblr-alert-link-color:var(--tblr-pink-text-emphasis)}.alert-red{--tblr-alert-color:var(--tblr-red-text-emphasis);--tblr-alert-bg:var(--tblr-red-bg-subtle);--tblr-alert-border-color:var(--tblr-red-border-subtle);--tblr-alert-link-color:var(--tblr-red-text-emphasis)}.alert-orange{--tblr-alert-color:var(--tblr-orange-text-emphasis);--tblr-alert-bg:var(--tblr-orange-bg-subtle);--tblr-alert-border-color:var(--tblr-orange-border-subtle);--tblr-alert-link-color:var(--tblr-orange-text-emphasis)}.alert-yellow{--tblr-alert-color:var(--tblr-yellow-text-emphasis);--tblr-alert-bg:var(--tblr-yellow-bg-subtle);--tblr-alert-border-color:var(--tblr-yellow-border-subtle);--tblr-alert-link-color:var(--tblr-yellow-text-emphasis)}.alert-lime{--tblr-alert-color:var(--tblr-lime-text-emphasis);--tblr-alert-bg:var(--tblr-lime-bg-subtle);--tblr-alert-border-color:var(--tblr-lime-border-subtle);--tblr-alert-link-color:var(--tblr-lime-text-emphasis)}.alert-green{--tblr-alert-color:var(--tblr-green-text-emphasis);--tblr-alert-bg:var(--tblr-green-bg-subtle);--tblr-alert-border-color:var(--tblr-green-border-subtle);--tblr-alert-link-color:var(--tblr-green-text-emphasis)}.alert-teal{--tblr-alert-color:var(--tblr-teal-text-emphasis);--tblr-alert-bg:var(--tblr-teal-bg-subtle);--tblr-alert-border-color:var(--tblr-teal-border-subtle);--tblr-alert-link-color:var(--tblr-teal-text-emphasis)}.alert-cyan{--tblr-alert-color:var(--tblr-cyan-text-emphasis);--tblr-alert-bg:var(--tblr-cyan-bg-subtle);--tblr-alert-border-color:var(--tblr-cyan-border-subtle);--tblr-alert-link-color:var(--tblr-cyan-text-emphasis)}.alert-facebook{--tblr-alert-color:var(--tblr-facebook-text-emphasis);--tblr-alert-bg:var(--tblr-facebook-bg-subtle);--tblr-alert-border-color:var(--tblr-facebook-border-subtle);--tblr-alert-link-color:var(--tblr-facebook-text-emphasis)}.alert-twitter{--tblr-alert-color:var(--tblr-twitter-text-emphasis);--tblr-alert-bg:var(--tblr-twitter-bg-subtle);--tblr-alert-border-color:var(--tblr-twitter-border-subtle);--tblr-alert-link-color:var(--tblr-twitter-text-emphasis)}.alert-linkedin{--tblr-alert-color:var(--tblr-linkedin-text-emphasis);--tblr-alert-bg:var(--tblr-linkedin-bg-subtle);--tblr-alert-border-color:var(--tblr-linkedin-border-subtle);--tblr-alert-link-color:var(--tblr-linkedin-text-emphasis)}.alert-google{--tblr-alert-color:var(--tblr-google-text-emphasis);--tblr-alert-bg:var(--tblr-google-bg-subtle);--tblr-alert-border-color:var(--tblr-google-border-subtle);--tblr-alert-link-color:var(--tblr-google-text-emphasis)}.alert-youtube{--tblr-alert-color:var(--tblr-youtube-text-emphasis);--tblr-alert-bg:var(--tblr-youtube-bg-subtle);--tblr-alert-border-color:var(--tblr-youtube-border-subtle);--tblr-alert-link-color:var(--tblr-youtube-text-emphasis)}.alert-vimeo{--tblr-alert-color:var(--tblr-vimeo-text-emphasis);--tblr-alert-bg:var(--tblr-vimeo-bg-subtle);--tblr-alert-border-color:var(--tblr-vimeo-border-subtle);--tblr-alert-link-color:var(--tblr-vimeo-text-emphasis)}.alert-dribbble{--tblr-alert-color:var(--tblr-dribbble-text-emphasis);--tblr-alert-bg:var(--tblr-dribbble-bg-subtle);--tblr-alert-border-color:var(--tblr-dribbble-border-subtle);--tblr-alert-link-color:var(--tblr-dribbble-text-emphasis)}.alert-github{--tblr-alert-color:var(--tblr-github-text-emphasis);--tblr-alert-bg:var(--tblr-github-bg-subtle);--tblr-alert-border-color:var(--tblr-github-border-subtle);--tblr-alert-link-color:var(--tblr-github-text-emphasis)}.alert-instagram{--tblr-alert-color:var(--tblr-instagram-text-emphasis);--tblr-alert-bg:var(--tblr-instagram-bg-subtle);--tblr-alert-border-color:var(--tblr-instagram-border-subtle);--tblr-alert-link-color:var(--tblr-instagram-text-emphasis)}.alert-pinterest{--tblr-alert-color:var(--tblr-pinterest-text-emphasis);--tblr-alert-bg:var(--tblr-pinterest-bg-subtle);--tblr-alert-border-color:var(--tblr-pinterest-border-subtle);--tblr-alert-link-color:var(--tblr-pinterest-text-emphasis)}.alert-vk{--tblr-alert-color:var(--tblr-vk-text-emphasis);--tblr-alert-bg:var(--tblr-vk-bg-subtle);--tblr-alert-border-color:var(--tblr-vk-border-subtle);--tblr-alert-link-color:var(--tblr-vk-text-emphasis)}.alert-rss{--tblr-alert-color:var(--tblr-rss-text-emphasis);--tblr-alert-bg:var(--tblr-rss-bg-subtle);--tblr-alert-border-color:var(--tblr-rss-border-subtle);--tblr-alert-link-color:var(--tblr-rss-text-emphasis)}.alert-flickr{--tblr-alert-color:var(--tblr-flickr-text-emphasis);--tblr-alert-bg:var(--tblr-flickr-bg-subtle);--tblr-alert-border-color:var(--tblr-flickr-border-subtle);--tblr-alert-link-color:var(--tblr-flickr-text-emphasis)}.alert-bitbucket{--tblr-alert-color:var(--tblr-bitbucket-text-emphasis);--tblr-alert-bg:var(--tblr-bitbucket-bg-subtle);--tblr-alert-border-color:var(--tblr-bitbucket-border-subtle);--tblr-alert-link-color:var(--tblr-bitbucket-text-emphasis)}.alert-tabler{--tblr-alert-color:var(--tblr-tabler-text-emphasis);--tblr-alert-bg:var(--tblr-tabler-bg-subtle);--tblr-alert-border-color:var(--tblr-tabler-border-subtle);--tblr-alert-link-color:var(--tblr-tabler-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:.5rem}}.progress,.progress-stacked{--tblr-progress-height:0.5rem;--tblr-progress-font-size:0.65625rem;--tblr-progress-bg:var(--tblr-border-color);--tblr-progress-border-radius:var(--tblr-border-radius);--tblr-progress-box-shadow:var(--tblr-box-shadow-inset);--tblr-progress-bar-color:#ffffff;--tblr-progress-bar-bg:var(--tblr-primary);--tblr-progress-bar-transition:width 0.6s ease;display:flex;height:var(--tblr-progress-height);overflow:hidden;font-size:var(--tblr-progress-font-size);background-color:var(--tblr-progress-bg);border-radius:var(--tblr-progress-border-radius);box-shadow:var(--tblr-progress-box-shadow)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--tblr-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--tblr-progress-bar-bg);transition:var(--tblr-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--tblr-progress-height) var(--tblr-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--tblr-list-group-color:var(--tblr-body-color);--tblr-list-group-bg:inherit;--tblr-list-group-border-color:var(--tblr-border-color);--tblr-list-group-border-width:var(--tblr-border-width);--tblr-list-group-border-radius:var(--tblr-border-radius);--tblr-list-group-item-padding-x:1.5rem;--tblr-list-group-item-padding-y:1rem;--tblr-list-group-action-color:inherit;--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:rgba(var(--tblr-muted-rgb), 0.04);--tblr-list-group-action-active-color:var(--tblr-body-color);--tblr-list-group-action-active-bg:var(--tblr-secondary-bg);--tblr-list-group-disabled-color:var(--tblr-secondary-color);--tblr-list-group-disabled-bg:inherit;--tblr-list-group-active-color:inherit;--tblr-list-group-active-bg:var(--tblr-active-bg);--tblr-list-group-active-border-color:var(--tblr-border-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--tblr-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--tblr-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--tblr-list-group-action-hover-color);text-decoration:none;background-color:var(--tblr-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--tblr-list-group-action-active-color);background-color:var(--tblr-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--tblr-list-group-item-padding-y) var(--tblr-list-group-item-padding-x);color:var(--tblr-list-group-color);background-color:var(--tblr-list-group-bg);border:var(--tblr-list-group-border-width) solid var(--tblr-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--tblr-list-group-disabled-color);pointer-events:none;background-color:var(--tblr-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--tblr-list-group-active-color);background-color:var(--tblr-list-group-active-bg);border-color:var(--tblr-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--tblr-list-group-border-width));border-top-width:var(--tblr-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--tblr-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--tblr-list-group-color:var(--tblr-primary-text-emphasis);--tblr-list-group-bg:var(--tblr-primary-bg-subtle);--tblr-list-group-border-color:var(--tblr-primary-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-primary-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-primary-border-subtle);--tblr-list-group-active-color:var(--tblr-primary-bg-subtle);--tblr-list-group-active-bg:var(--tblr-primary-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-primary-text-emphasis)}.list-group-item-secondary{--tblr-list-group-color:var(--tblr-secondary-text-emphasis);--tblr-list-group-bg:var(--tblr-secondary-bg-subtle);--tblr-list-group-border-color:var(--tblr-secondary-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-secondary-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-secondary-border-subtle);--tblr-list-group-active-color:var(--tblr-secondary-bg-subtle);--tblr-list-group-active-bg:var(--tblr-secondary-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-secondary-text-emphasis)}.list-group-item-success{--tblr-list-group-color:var(--tblr-success-text-emphasis);--tblr-list-group-bg:var(--tblr-success-bg-subtle);--tblr-list-group-border-color:var(--tblr-success-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-success-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-success-border-subtle);--tblr-list-group-active-color:var(--tblr-success-bg-subtle);--tblr-list-group-active-bg:var(--tblr-success-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-success-text-emphasis)}.list-group-item-info{--tblr-list-group-color:var(--tblr-info-text-emphasis);--tblr-list-group-bg:var(--tblr-info-bg-subtle);--tblr-list-group-border-color:var(--tblr-info-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-info-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-info-border-subtle);--tblr-list-group-active-color:var(--tblr-info-bg-subtle);--tblr-list-group-active-bg:var(--tblr-info-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-info-text-emphasis)}.list-group-item-warning{--tblr-list-group-color:var(--tblr-warning-text-emphasis);--tblr-list-group-bg:var(--tblr-warning-bg-subtle);--tblr-list-group-border-color:var(--tblr-warning-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-warning-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-warning-border-subtle);--tblr-list-group-active-color:var(--tblr-warning-bg-subtle);--tblr-list-group-active-bg:var(--tblr-warning-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-warning-text-emphasis)}.list-group-item-danger{--tblr-list-group-color:var(--tblr-danger-text-emphasis);--tblr-list-group-bg:var(--tblr-danger-bg-subtle);--tblr-list-group-border-color:var(--tblr-danger-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-danger-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-danger-border-subtle);--tblr-list-group-active-color:var(--tblr-danger-bg-subtle);--tblr-list-group-active-bg:var(--tblr-danger-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-danger-text-emphasis)}.list-group-item-light{--tblr-list-group-color:var(--tblr-light-text-emphasis);--tblr-list-group-bg:var(--tblr-light-bg-subtle);--tblr-list-group-border-color:var(--tblr-light-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-light-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-light-border-subtle);--tblr-list-group-active-color:var(--tblr-light-bg-subtle);--tblr-list-group-active-bg:var(--tblr-light-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-light-text-emphasis)}.list-group-item-dark{--tblr-list-group-color:var(--tblr-dark-text-emphasis);--tblr-list-group-bg:var(--tblr-dark-bg-subtle);--tblr-list-group-border-color:var(--tblr-dark-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-dark-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-dark-border-subtle);--tblr-list-group-active-color:var(--tblr-dark-bg-subtle);--tblr-list-group-active-bg:var(--tblr-dark-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-dark-text-emphasis)}.list-group-item-muted{--tblr-list-group-color:var(--tblr-muted-text-emphasis);--tblr-list-group-bg:var(--tblr-muted-bg-subtle);--tblr-list-group-border-color:var(--tblr-muted-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-muted-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-muted-border-subtle);--tblr-list-group-active-color:var(--tblr-muted-bg-subtle);--tblr-list-group-active-bg:var(--tblr-muted-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-muted-text-emphasis)}.list-group-item-blue{--tblr-list-group-color:var(--tblr-blue-text-emphasis);--tblr-list-group-bg:var(--tblr-blue-bg-subtle);--tblr-list-group-border-color:var(--tblr-blue-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-blue-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-blue-border-subtle);--tblr-list-group-active-color:var(--tblr-blue-bg-subtle);--tblr-list-group-active-bg:var(--tblr-blue-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-blue-text-emphasis)}.list-group-item-azure{--tblr-list-group-color:var(--tblr-azure-text-emphasis);--tblr-list-group-bg:var(--tblr-azure-bg-subtle);--tblr-list-group-border-color:var(--tblr-azure-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-azure-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-azure-border-subtle);--tblr-list-group-active-color:var(--tblr-azure-bg-subtle);--tblr-list-group-active-bg:var(--tblr-azure-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-azure-text-emphasis)}.list-group-item-indigo{--tblr-list-group-color:var(--tblr-indigo-text-emphasis);--tblr-list-group-bg:var(--tblr-indigo-bg-subtle);--tblr-list-group-border-color:var(--tblr-indigo-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-indigo-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-indigo-border-subtle);--tblr-list-group-active-color:var(--tblr-indigo-bg-subtle);--tblr-list-group-active-bg:var(--tblr-indigo-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-indigo-text-emphasis)}.list-group-item-purple{--tblr-list-group-color:var(--tblr-purple-text-emphasis);--tblr-list-group-bg:var(--tblr-purple-bg-subtle);--tblr-list-group-border-color:var(--tblr-purple-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-purple-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-purple-border-subtle);--tblr-list-group-active-color:var(--tblr-purple-bg-subtle);--tblr-list-group-active-bg:var(--tblr-purple-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-purple-text-emphasis)}.list-group-item-pink{--tblr-list-group-color:var(--tblr-pink-text-emphasis);--tblr-list-group-bg:var(--tblr-pink-bg-subtle);--tblr-list-group-border-color:var(--tblr-pink-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-pink-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-pink-border-subtle);--tblr-list-group-active-color:var(--tblr-pink-bg-subtle);--tblr-list-group-active-bg:var(--tblr-pink-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-pink-text-emphasis)}.list-group-item-red{--tblr-list-group-color:var(--tblr-red-text-emphasis);--tblr-list-group-bg:var(--tblr-red-bg-subtle);--tblr-list-group-border-color:var(--tblr-red-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-red-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-red-border-subtle);--tblr-list-group-active-color:var(--tblr-red-bg-subtle);--tblr-list-group-active-bg:var(--tblr-red-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-red-text-emphasis)}.list-group-item-orange{--tblr-list-group-color:var(--tblr-orange-text-emphasis);--tblr-list-group-bg:var(--tblr-orange-bg-subtle);--tblr-list-group-border-color:var(--tblr-orange-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-orange-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-orange-border-subtle);--tblr-list-group-active-color:var(--tblr-orange-bg-subtle);--tblr-list-group-active-bg:var(--tblr-orange-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-orange-text-emphasis)}.list-group-item-yellow{--tblr-list-group-color:var(--tblr-yellow-text-emphasis);--tblr-list-group-bg:var(--tblr-yellow-bg-subtle);--tblr-list-group-border-color:var(--tblr-yellow-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-yellow-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-yellow-border-subtle);--tblr-list-group-active-color:var(--tblr-yellow-bg-subtle);--tblr-list-group-active-bg:var(--tblr-yellow-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-yellow-text-emphasis)}.list-group-item-lime{--tblr-list-group-color:var(--tblr-lime-text-emphasis);--tblr-list-group-bg:var(--tblr-lime-bg-subtle);--tblr-list-group-border-color:var(--tblr-lime-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-lime-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-lime-border-subtle);--tblr-list-group-active-color:var(--tblr-lime-bg-subtle);--tblr-list-group-active-bg:var(--tblr-lime-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-lime-text-emphasis)}.list-group-item-green{--tblr-list-group-color:var(--tblr-green-text-emphasis);--tblr-list-group-bg:var(--tblr-green-bg-subtle);--tblr-list-group-border-color:var(--tblr-green-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-green-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-green-border-subtle);--tblr-list-group-active-color:var(--tblr-green-bg-subtle);--tblr-list-group-active-bg:var(--tblr-green-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-green-text-emphasis)}.list-group-item-teal{--tblr-list-group-color:var(--tblr-teal-text-emphasis);--tblr-list-group-bg:var(--tblr-teal-bg-subtle);--tblr-list-group-border-color:var(--tblr-teal-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-teal-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-teal-border-subtle);--tblr-list-group-active-color:var(--tblr-teal-bg-subtle);--tblr-list-group-active-bg:var(--tblr-teal-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-teal-text-emphasis)}.list-group-item-cyan{--tblr-list-group-color:var(--tblr-cyan-text-emphasis);--tblr-list-group-bg:var(--tblr-cyan-bg-subtle);--tblr-list-group-border-color:var(--tblr-cyan-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-cyan-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-cyan-border-subtle);--tblr-list-group-active-color:var(--tblr-cyan-bg-subtle);--tblr-list-group-active-bg:var(--tblr-cyan-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-cyan-text-emphasis)}.list-group-item-facebook{--tblr-list-group-color:var(--tblr-facebook-text-emphasis);--tblr-list-group-bg:var(--tblr-facebook-bg-subtle);--tblr-list-group-border-color:var(--tblr-facebook-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-facebook-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-facebook-border-subtle);--tblr-list-group-active-color:var(--tblr-facebook-bg-subtle);--tblr-list-group-active-bg:var(--tblr-facebook-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-facebook-text-emphasis)}.list-group-item-twitter{--tblr-list-group-color:var(--tblr-twitter-text-emphasis);--tblr-list-group-bg:var(--tblr-twitter-bg-subtle);--tblr-list-group-border-color:var(--tblr-twitter-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-twitter-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-twitter-border-subtle);--tblr-list-group-active-color:var(--tblr-twitter-bg-subtle);--tblr-list-group-active-bg:var(--tblr-twitter-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-twitter-text-emphasis)}.list-group-item-linkedin{--tblr-list-group-color:var(--tblr-linkedin-text-emphasis);--tblr-list-group-bg:var(--tblr-linkedin-bg-subtle);--tblr-list-group-border-color:var(--tblr-linkedin-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-linkedin-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-linkedin-border-subtle);--tblr-list-group-active-color:var(--tblr-linkedin-bg-subtle);--tblr-list-group-active-bg:var(--tblr-linkedin-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-linkedin-text-emphasis)}.list-group-item-google{--tblr-list-group-color:var(--tblr-google-text-emphasis);--tblr-list-group-bg:var(--tblr-google-bg-subtle);--tblr-list-group-border-color:var(--tblr-google-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-google-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-google-border-subtle);--tblr-list-group-active-color:var(--tblr-google-bg-subtle);--tblr-list-group-active-bg:var(--tblr-google-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-google-text-emphasis)}.list-group-item-youtube{--tblr-list-group-color:var(--tblr-youtube-text-emphasis);--tblr-list-group-bg:var(--tblr-youtube-bg-subtle);--tblr-list-group-border-color:var(--tblr-youtube-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-youtube-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-youtube-border-subtle);--tblr-list-group-active-color:var(--tblr-youtube-bg-subtle);--tblr-list-group-active-bg:var(--tblr-youtube-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-youtube-text-emphasis)}.list-group-item-vimeo{--tblr-list-group-color:var(--tblr-vimeo-text-emphasis);--tblr-list-group-bg:var(--tblr-vimeo-bg-subtle);--tblr-list-group-border-color:var(--tblr-vimeo-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-vimeo-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-vimeo-border-subtle);--tblr-list-group-active-color:var(--tblr-vimeo-bg-subtle);--tblr-list-group-active-bg:var(--tblr-vimeo-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-vimeo-text-emphasis)}.list-group-item-dribbble{--tblr-list-group-color:var(--tblr-dribbble-text-emphasis);--tblr-list-group-bg:var(--tblr-dribbble-bg-subtle);--tblr-list-group-border-color:var(--tblr-dribbble-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-dribbble-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-dribbble-border-subtle);--tblr-list-group-active-color:var(--tblr-dribbble-bg-subtle);--tblr-list-group-active-bg:var(--tblr-dribbble-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-dribbble-text-emphasis)}.list-group-item-github{--tblr-list-group-color:var(--tblr-github-text-emphasis);--tblr-list-group-bg:var(--tblr-github-bg-subtle);--tblr-list-group-border-color:var(--tblr-github-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-github-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-github-border-subtle);--tblr-list-group-active-color:var(--tblr-github-bg-subtle);--tblr-list-group-active-bg:var(--tblr-github-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-github-text-emphasis)}.list-group-item-instagram{--tblr-list-group-color:var(--tblr-instagram-text-emphasis);--tblr-list-group-bg:var(--tblr-instagram-bg-subtle);--tblr-list-group-border-color:var(--tblr-instagram-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-instagram-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-instagram-border-subtle);--tblr-list-group-active-color:var(--tblr-instagram-bg-subtle);--tblr-list-group-active-bg:var(--tblr-instagram-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-instagram-text-emphasis)}.list-group-item-pinterest{--tblr-list-group-color:var(--tblr-pinterest-text-emphasis);--tblr-list-group-bg:var(--tblr-pinterest-bg-subtle);--tblr-list-group-border-color:var(--tblr-pinterest-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-pinterest-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-pinterest-border-subtle);--tblr-list-group-active-color:var(--tblr-pinterest-bg-subtle);--tblr-list-group-active-bg:var(--tblr-pinterest-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-pinterest-text-emphasis)}.list-group-item-vk{--tblr-list-group-color:var(--tblr-vk-text-emphasis);--tblr-list-group-bg:var(--tblr-vk-bg-subtle);--tblr-list-group-border-color:var(--tblr-vk-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-vk-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-vk-border-subtle);--tblr-list-group-active-color:var(--tblr-vk-bg-subtle);--tblr-list-group-active-bg:var(--tblr-vk-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-vk-text-emphasis)}.list-group-item-rss{--tblr-list-group-color:var(--tblr-rss-text-emphasis);--tblr-list-group-bg:var(--tblr-rss-bg-subtle);--tblr-list-group-border-color:var(--tblr-rss-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-rss-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-rss-border-subtle);--tblr-list-group-active-color:var(--tblr-rss-bg-subtle);--tblr-list-group-active-bg:var(--tblr-rss-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-rss-text-emphasis)}.list-group-item-flickr{--tblr-list-group-color:var(--tblr-flickr-text-emphasis);--tblr-list-group-bg:var(--tblr-flickr-bg-subtle);--tblr-list-group-border-color:var(--tblr-flickr-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-flickr-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-flickr-border-subtle);--tblr-list-group-active-color:var(--tblr-flickr-bg-subtle);--tblr-list-group-active-bg:var(--tblr-flickr-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-flickr-text-emphasis)}.list-group-item-bitbucket{--tblr-list-group-color:var(--tblr-bitbucket-text-emphasis);--tblr-list-group-bg:var(--tblr-bitbucket-bg-subtle);--tblr-list-group-border-color:var(--tblr-bitbucket-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-bitbucket-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-bitbucket-border-subtle);--tblr-list-group-active-color:var(--tblr-bitbucket-bg-subtle);--tblr-list-group-active-bg:var(--tblr-bitbucket-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-bitbucket-text-emphasis)}.list-group-item-tabler{--tblr-list-group-color:var(--tblr-tabler-text-emphasis);--tblr-list-group-bg:var(--tblr-tabler-bg-subtle);--tblr-list-group-border-color:var(--tblr-tabler-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-tabler-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-tabler-border-subtle);--tblr-list-group-active-color:var(--tblr-tabler-bg-subtle);--tblr-list-group-active-bg:var(--tblr-tabler-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-tabler-text-emphasis)}.btn-close{--tblr-btn-close-color:#000000;--tblr-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--tblr-btn-close-opacity:0.3;--tblr-btn-close-hover-opacity:0.75;--tblr-btn-close-focus-shadow:0 0 0 0.25rem rgba(32, 107, 196, 0.25);--tblr-btn-close-focus-opacity:1;--tblr-btn-close-disabled-opacity:0.25;--tblr-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:.75rem;height:.75rem;padding:.25em .25em;color:var(--tblr-btn-close-color);background:transparent var(--tblr-btn-close-bg) center/.75rem auto no-repeat;border:0;border-radius:4px;opacity:var(--tblr-btn-close-opacity)}.btn-close:hover{color:var(--tblr-btn-close-color);text-decoration:none;opacity:var(--tblr-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--tblr-btn-close-focus-shadow);opacity:var(--tblr-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:var(--tblr-btn-close-disabled-opacity)}.btn-close-white{filter:var(--tblr-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--tblr-btn-close-white-filter)}.toast{--tblr-toast-zindex:1090;--tblr-toast-padding-x:0.75rem;--tblr-toast-padding-y:0.5rem;--tblr-toast-spacing:calc(var(--tblr-page-padding) * 2);--tblr-toast-max-width:350px;--tblr-toast-font-size:0.875rem;--tblr-toast-bg:rgba(var(--tblr-body-bg-rgb), 0.85);--tblr-toast-border-width:var(--tblr-border-width);--tblr-toast-border-color:var(--tblr-border-color);--tblr-toast-border-radius:var(--tblr-border-radius);--tblr-toast-box-shadow:var(--tblr-box-shadow);--tblr-toast-header-color:var(--tblr-muted);--tblr-toast-header-bg:rgba(var(--tblr-body-bg-rgb), 0.85);--tblr-toast-header-border-color:var(--tblr-border-color);width:var(--tblr-toast-max-width);max-width:100%;font-size:var(--tblr-toast-font-size);color:var(--tblr-toast-color);pointer-events:auto;background-color:var(--tblr-toast-bg);background-clip:padding-box;border:var(--tblr-toast-border-width) solid var(--tblr-toast-border-color);box-shadow:var(--tblr-toast-box-shadow);border-radius:var(--tblr-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--tblr-toast-zindex:1090;position:absolute;z-index:var(--tblr-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--tblr-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--tblr-toast-padding-y) var(--tblr-toast-padding-x);color:var(--tblr-toast-header-color);background-color:var(--tblr-toast-header-bg);background-clip:padding-box;border-bottom:var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color);border-top-left-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width));border-top-right-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--tblr-toast-padding-x));margin-left:var(--tblr-toast-padding-x)}.toast-body{padding:var(--tblr-toast-padding-x);word-wrap:break-word}.modal{--tblr-modal-zindex:1055;--tblr-modal-width:540px;--tblr-modal-padding:1.5rem;--tblr-modal-margin:0.5rem;--tblr-modal-bg:var(--tblr-bg-surface);--tblr-modal-border-color:transparent;--tblr-modal-border-width:var(--tblr-border-width);--tblr-modal-border-radius:var(--tblr-border-radius-lg);--tblr-modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--tblr-modal-inner-border-radius:calc(var(--tblr-modal-border-radius) - 1px);--tblr-modal-header-padding-x:1.5rem;--tblr-modal-header-padding-y:1.5rem;--tblr-modal-header-padding:1.5rem;--tblr-modal-header-border-color:var(--tblr-border-color);--tblr-modal-header-border-width:var(--tblr-border-width);--tblr-modal-title-line-height:1.4285714286;--tblr-modal-footer-gap:0.75rem;--tblr-modal-footer-bg:var(--tblr-bg-surface-tertiary);--tblr-modal-footer-border-color:var(--tblr-border-color);--tblr-modal-footer-border-width:var(--tblr-border-width);position:fixed;top:0;left:0;z-index:var(--tblr-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--tblr-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-1rem)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--tblr-modal-color);pointer-events:auto;background-color:var(--tblr-modal-bg);background-clip:padding-box;border:var(--tblr-modal-border-width) solid var(--tblr-modal-border-color);border-radius:var(--tblr-modal-border-radius);box-shadow:var(--tblr-modal-box-shadow);outline:0}.modal-backdrop{--tblr-backdrop-zindex:1050;--tblr-backdrop-bg:#182433;--tblr-backdrop-opacity:0.24;position:fixed;top:0;left:0;z-index:var(--tblr-backdrop-zindex);width:100vw;height:100vh;background-color:var(--tblr-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--tblr-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--tblr-modal-header-padding);border-bottom:var(--tblr-modal-header-border-width) solid var(--tblr-modal-header-border-color);border-top-left-radius:var(--tblr-modal-inner-border-radius);border-top-right-radius:var(--tblr-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--tblr-modal-header-padding-y) * .5) calc(var(--tblr-modal-header-padding-x) * .5);margin:calc(-.5 * var(--tblr-modal-header-padding-y)) calc(-.5 * var(--tblr-modal-header-padding-x)) calc(-.5 * var(--tblr-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--tblr-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--tblr-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--tblr-modal-padding) - var(--tblr-modal-footer-gap) * .5);background-color:var(--tblr-modal-footer-bg);border-top:var(--tblr-modal-footer-border-width) solid var(--tblr-modal-footer-border-color);border-bottom-right-radius:var(--tblr-modal-inner-border-radius);border-bottom-left-radius:var(--tblr-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--tblr-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--tblr-modal-margin:1.75rem;--tblr-modal-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--tblr-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--tblr-modal-width:380px}}@media (min-width:992px){.modal-lg,.modal-xl{--tblr-modal-width:720px}}@media (min-width:1200px){.modal-xl{--tblr-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--tblr-tooltip-zindex:1080;--tblr-tooltip-max-width:200px;--tblr-tooltip-padding-x:var(--tblr-spacer-2);--tblr-tooltip-padding-y:var(--tblr-spacer-2);--tblr-tooltip-font-size:0.765625rem;--tblr-tooltip-color:var(--tblr-light);--tblr-tooltip-bg:var(--tblr-bg-surface-dark);--tblr-tooltip-border-radius:var(--tblr-border-radius);--tblr-tooltip-opacity:0.9;--tblr-tooltip-arrow-width:0.8rem;--tblr-tooltip-arrow-height:0.4rem;z-index:var(--tblr-tooltip-zindex);display:block;margin:var(--tblr-tooltip-margin);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--tblr-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--tblr-tooltip-arrow-width);height:var(--tblr-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--tblr-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-top-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--tblr-tooltip-arrow-height));width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-right-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--tblr-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-bottom-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--tblr-tooltip-arrow-height));width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) 0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-left-color:var(--tblr-tooltip-bg)}.tooltip-inner{max-width:var(--tblr-tooltip-max-width);padding:var(--tblr-tooltip-padding-y) var(--tblr-tooltip-padding-x);color:var(--tblr-tooltip-color);text-align:center;background-color:var(--tblr-tooltip-bg);border-radius:var(--tblr-tooltip-border-radius)}.popover{--tblr-popover-zindex:1070;--tblr-popover-max-width:276px;--tblr-popover-font-size:0.765625rem;--tblr-popover-bg:var(--tblr-bg-surface);--tblr-popover-border-width:var(--tblr-border-width);--tblr-popover-border-color:var(--tblr-border-color);--tblr-popover-border-radius:var(--tblr-border-radius-lg);--tblr-popover-inner-border-radius:calc(var(--tblr-border-radius-lg) - var(--tblr-border-width));--tblr-popover-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--tblr-popover-header-padding-x:1rem;--tblr-popover-header-padding-y:0.5rem;--tblr-popover-header-font-size:0.875rem;--tblr-popover-header-bg:transparent;--tblr-popover-body-padding-x:1rem;--tblr-popover-body-padding-y:1rem;--tblr-popover-body-color:inherit;--tblr-popover-arrow-width:1rem;--tblr-popover-arrow-height:0.5rem;--tblr-popover-arrow-border:var(--tblr-popover-border-color);z-index:var(--tblr-popover-zindex);display:block;max-width:var(--tblr-popover-max-width);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-popover-font-size);word-wrap:break-word;background-color:var(--tblr-popover-bg);background-clip:padding-box;border:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-radius:var(--tblr-popover-border-radius);box-shadow:var(--tblr-popover-box-shadow)}.popover .popover-arrow{display:block;width:var(--tblr-popover-arrow-width);height:var(--tblr-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--tblr-popover-border-width);border-top-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--tblr-popover-border-width);border-right-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--tblr-popover-border-width);border-bottom-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--tblr-popover-arrow-width);margin-left:calc(-.5 * var(--tblr-popover-arrow-width));content:"";border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--tblr-popover-arrow-width) * .5) 0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--tblr-popover-border-width);border-left-color:var(--tblr-popover-bg)}.popover-header{padding:var(--tblr-popover-header-padding-y) var(--tblr-popover-header-padding-x);margin-bottom:0;font-size:var(--tblr-popover-header-font-size);color:var(--tblr-popover-header-color);background-color:var(--tblr-popover-header-bg);border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-top-left-radius:var(--tblr-popover-inner-border-radius);border-top-right-radius:var(--tblr-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--tblr-popover-body-padding-y) var(--tblr-popover-body-padding-x);color:var(--tblr-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:1.5rem;height:1.5rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--tblr-spinner-width);height:var(--tblr-spinner-height);vertical-align:var(--tblr-spinner-vertical-align);border-radius:50%;animation:var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--tblr-spinner-width:1.5rem;--tblr-spinner-height:1.5rem;--tblr-spinner-vertical-align:-0.125em;--tblr-spinner-border-width:2px;--tblr-spinner-animation-speed:0.75s;--tblr-spinner-animation-name:spinner-border;border:var(--tblr-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--tblr-spinner-width:1rem;--tblr-spinner-height:1rem;--tblr-spinner-border-width:1px}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--tblr-spinner-width:1.5rem;--tblr-spinner-height:1.5rem;--tblr-spinner-vertical-align:-0.125em;--tblr-spinner-animation-speed:0.75s;--tblr-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--tblr-spinner-width:1rem;--tblr-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--tblr-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--tblr-offcanvas-zindex:1045;--tblr-offcanvas-width:400px;--tblr-offcanvas-height:30vh;--tblr-offcanvas-padding-x:1.5rem;--tblr-offcanvas-padding-y:1.5rem;--tblr-offcanvas-color:var(--tblr-body-color);--tblr-offcanvas-bg:var(--tblr-bg-surface);--tblr-offcanvas-border-width:var(--tblr-border-width);--tblr-offcanvas-border-color:var(--tblr-border-color);--tblr-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--tblr-offcanvas-transition:transform 0.3s ease-in-out;--tblr-offcanvas-title-line-height:1.4285714286}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#182433}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.24}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--tblr-offcanvas-padding-y) * .5) calc(var(--tblr-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--tblr-offcanvas-padding-y));margin-right:calc(-.5 * var(--tblr-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--tblr-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--tblr-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.2}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.1}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.9) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.9) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0;mask-position:-200% 0}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fcfdfe!important;background-color:RGBA(32,107,196,var(--tblr-bg-opacity,1))!important}.text-bg-secondary{color:#fcfdfe!important;background-color:RGBA(102,115,130,var(--tblr-bg-opacity,1))!important}.text-bg-success{color:#fcfdfe!important;background-color:RGBA(47,179,68,var(--tblr-bg-opacity,1))!important}.text-bg-info{color:#fcfdfe!important;background-color:RGBA(66,153,225,var(--tblr-bg-opacity,1))!important}.text-bg-warning{color:#fcfdfe!important;background-color:RGBA(247,103,7,var(--tblr-bg-opacity,1))!important}.text-bg-danger{color:#fcfdfe!important;background-color:RGBA(214,57,57,var(--tblr-bg-opacity,1))!important}.text-bg-light{color:#182433!important;background-color:RGBA(252,253,254,var(--tblr-bg-opacity,1))!important}.text-bg-dark{color:#fcfdfe!important;background-color:RGBA(24,36,51,var(--tblr-bg-opacity,1))!important}.text-bg-muted{color:#fcfdfe!important;background-color:RGBA(102,115,130,var(--tblr-bg-opacity,1))!important}.text-bg-blue{color:#fcfdfe!important;background-color:RGBA(32,107,196,var(--tblr-bg-opacity,1))!important}.text-bg-azure{color:#fcfdfe!important;background-color:RGBA(66,153,225,var(--tblr-bg-opacity,1))!important}.text-bg-indigo{color:#fcfdfe!important;background-color:RGBA(66,99,235,var(--tblr-bg-opacity,1))!important}.text-bg-purple{color:#fcfdfe!important;background-color:RGBA(174,62,201,var(--tblr-bg-opacity,1))!important}.text-bg-pink{color:#fcfdfe!important;background-color:RGBA(214,51,108,var(--tblr-bg-opacity,1))!important}.text-bg-red{color:#fcfdfe!important;background-color:RGBA(214,57,57,var(--tblr-bg-opacity,1))!important}.text-bg-orange{color:#fcfdfe!important;background-color:RGBA(247,103,7,var(--tblr-bg-opacity,1))!important}.text-bg-yellow{color:#fcfdfe!important;background-color:RGBA(245,159,0,var(--tblr-bg-opacity,1))!important}.text-bg-lime{color:#fcfdfe!important;background-color:RGBA(116,184,22,var(--tblr-bg-opacity,1))!important}.text-bg-green{color:#fcfdfe!important;background-color:RGBA(47,179,68,var(--tblr-bg-opacity,1))!important}.text-bg-teal{color:#fcfdfe!important;background-color:RGBA(12,166,120,var(--tblr-bg-opacity,1))!important}.text-bg-cyan{color:#fcfdfe!important;background-color:RGBA(23,162,184,var(--tblr-bg-opacity,1))!important}.text-bg-facebook{color:#fcfdfe!important;background-color:RGBA(24,119,242,var(--tblr-bg-opacity,1))!important}.text-bg-twitter{color:#fcfdfe!important;background-color:RGBA(29,161,242,var(--tblr-bg-opacity,1))!important}.text-bg-linkedin{color:#fcfdfe!important;background-color:RGBA(10,102,194,var(--tblr-bg-opacity,1))!important}.text-bg-google{color:#fcfdfe!important;background-color:RGBA(220,78,65,var(--tblr-bg-opacity,1))!important}.text-bg-youtube{color:#fcfdfe!important;background-color:RGBA(255,0,0,var(--tblr-bg-opacity,1))!important}.text-bg-vimeo{color:#fcfdfe!important;background-color:RGBA(26,183,234,var(--tblr-bg-opacity,1))!important}.text-bg-dribbble{color:#fcfdfe!important;background-color:RGBA(234,76,137,var(--tblr-bg-opacity,1))!important}.text-bg-github{color:#fcfdfe!important;background-color:RGBA(24,23,23,var(--tblr-bg-opacity,1))!important}.text-bg-instagram{color:#fcfdfe!important;background-color:RGBA(228,64,95,var(--tblr-bg-opacity,1))!important}.text-bg-pinterest{color:#fcfdfe!important;background-color:RGBA(189,8,28,var(--tblr-bg-opacity,1))!important}.text-bg-vk{color:#fcfdfe!important;background-color:RGBA(99,131,168,var(--tblr-bg-opacity,1))!important}.text-bg-rss{color:#fcfdfe!important;background-color:RGBA(255,165,0,var(--tblr-bg-opacity,1))!important}.text-bg-flickr{color:#fcfdfe!important;background-color:RGBA(0,99,220,var(--tblr-bg-opacity,1))!important}.text-bg-bitbucket{color:#fcfdfe!important;background-color:RGBA(0,82,204,var(--tblr-bg-opacity,1))!important}.text-bg-tabler{color:#fcfdfe!important;background-color:RGBA(32,107,196,var(--tblr-bg-opacity,1))!important}.link-primary{color:RGBA(var(--tblr-primary-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity,1))}.link-primary:focus,.link-primary:hover{color:RGBA(26,86,157,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(26,86,157,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(26,86,157,var(--tblr-link-underline-opacity,1))}.link-secondary{color:RGBA(var(--tblr-secondary-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity,1))}.link-secondary:focus,.link-secondary:hover{color:RGBA(82,92,104,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(82,92,104,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(82,92,104,var(--tblr-link-underline-opacity,1))}.link-success{color:RGBA(var(--tblr-success-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-success-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-success-rgb),var(--tblr-link-underline-opacity,1))}.link-success:focus,.link-success:hover{color:RGBA(38,143,54,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity,1))}.link-info{color:RGBA(var(--tblr-info-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-info-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-info-rgb),var(--tblr-link-underline-opacity,1))}.link-info:focus,.link-info:hover{color:RGBA(53,122,180,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity,1))}.link-warning{color:RGBA(var(--tblr-warning-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity,1))}.link-warning:focus,.link-warning:hover{color:RGBA(198,82,6,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity,1))}.link-danger{color:RGBA(var(--tblr-danger-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity,1))}.link-danger:focus,.link-danger:hover{color:RGBA(171,46,46,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity,1))}.link-light{color:RGBA(var(--tblr-light-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-light-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-light-rgb),var(--tblr-link-underline-opacity,1))}.link-light:focus,.link-light:hover{color:RGBA(253,253,254,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(253,253,254,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(253,253,254,var(--tblr-link-underline-opacity,1))}.link-dark{color:RGBA(var(--tblr-dark-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity,1))}.link-dark:focus,.link-dark:hover{color:RGBA(19,29,41,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(19,29,41,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(19,29,41,var(--tblr-link-underline-opacity,1))}.link-muted{color:RGBA(var(--tblr-muted-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity,1))}.link-muted:focus,.link-muted:hover{color:RGBA(82,92,104,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(82,92,104,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(82,92,104,var(--tblr-link-underline-opacity,1))}.link-blue{color:RGBA(var(--tblr-blue-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity,1))}.link-blue:focus,.link-blue:hover{color:RGBA(26,86,157,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(26,86,157,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(26,86,157,var(--tblr-link-underline-opacity,1))}.link-azure{color:RGBA(var(--tblr-azure-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity,1))}.link-azure:focus,.link-azure:hover{color:RGBA(53,122,180,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity,1))}.link-indigo{color:RGBA(var(--tblr-indigo-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity,1))}.link-indigo:focus,.link-indigo:hover{color:RGBA(53,79,188,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(53,79,188,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(53,79,188,var(--tblr-link-underline-opacity,1))}.link-purple{color:RGBA(var(--tblr-purple-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity,1))}.link-purple:focus,.link-purple:hover{color:RGBA(139,50,161,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(139,50,161,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(139,50,161,var(--tblr-link-underline-opacity,1))}.link-pink{color:RGBA(var(--tblr-pink-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity,1))}.link-pink:focus,.link-pink:hover{color:RGBA(171,41,86,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(171,41,86,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(171,41,86,var(--tblr-link-underline-opacity,1))}.link-red{color:RGBA(var(--tblr-red-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-red-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-red-rgb),var(--tblr-link-underline-opacity,1))}.link-red:focus,.link-red:hover{color:RGBA(171,46,46,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity,1))}.link-orange{color:RGBA(var(--tblr-orange-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity,1))}.link-orange:focus,.link-orange:hover{color:RGBA(198,82,6,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity,1))}.link-yellow{color:RGBA(var(--tblr-yellow-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity,1))}.link-yellow:focus,.link-yellow:hover{color:RGBA(196,127,0,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(196,127,0,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(196,127,0,var(--tblr-link-underline-opacity,1))}.link-lime{color:RGBA(var(--tblr-lime-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity,1))}.link-lime:focus,.link-lime:hover{color:RGBA(93,147,18,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(93,147,18,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(93,147,18,var(--tblr-link-underline-opacity,1))}.link-green{color:RGBA(var(--tblr-green-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-green-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-green-rgb),var(--tblr-link-underline-opacity,1))}.link-green:focus,.link-green:hover{color:RGBA(38,143,54,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity,1))}.link-teal{color:RGBA(var(--tblr-teal-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity,1))}.link-teal:focus,.link-teal:hover{color:RGBA(10,133,96,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(10,133,96,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(10,133,96,var(--tblr-link-underline-opacity,1))}.link-cyan{color:RGBA(var(--tblr-cyan-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity,1))}.link-cyan:focus,.link-cyan:hover{color:RGBA(18,130,147,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(18,130,147,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(18,130,147,var(--tblr-link-underline-opacity,1))}.link-facebook{color:RGBA(var(--tblr-facebook-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-facebook-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-facebook-rgb),var(--tblr-link-underline-opacity,1))}.link-facebook:focus,.link-facebook:hover{color:RGBA(19,95,194,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(19,95,194,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(19,95,194,var(--tblr-link-underline-opacity,1))}.link-twitter{color:RGBA(var(--tblr-twitter-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-twitter-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-twitter-rgb),var(--tblr-link-underline-opacity,1))}.link-twitter:focus,.link-twitter:hover{color:RGBA(23,129,194,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(23,129,194,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(23,129,194,var(--tblr-link-underline-opacity,1))}.link-linkedin{color:RGBA(var(--tblr-linkedin-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-linkedin-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-linkedin-rgb),var(--tblr-link-underline-opacity,1))}.link-linkedin:focus,.link-linkedin:hover{color:RGBA(8,82,155,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(8,82,155,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(8,82,155,var(--tblr-link-underline-opacity,1))}.link-google{color:RGBA(var(--tblr-google-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-google-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-google-rgb),var(--tblr-link-underline-opacity,1))}.link-google:focus,.link-google:hover{color:RGBA(176,62,52,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(176,62,52,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(176,62,52,var(--tblr-link-underline-opacity,1))}.link-youtube{color:RGBA(var(--tblr-youtube-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-youtube-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-youtube-rgb),var(--tblr-link-underline-opacity,1))}.link-youtube:focus,.link-youtube:hover{color:RGBA(204,0,0,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(204,0,0,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(204,0,0,var(--tblr-link-underline-opacity,1))}.link-vimeo{color:RGBA(var(--tblr-vimeo-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-vimeo-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-vimeo-rgb),var(--tblr-link-underline-opacity,1))}.link-vimeo:focus,.link-vimeo:hover{color:RGBA(21,146,187,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(21,146,187,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(21,146,187,var(--tblr-link-underline-opacity,1))}.link-dribbble{color:RGBA(var(--tblr-dribbble-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-dribbble-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-dribbble-rgb),var(--tblr-link-underline-opacity,1))}.link-dribbble:focus,.link-dribbble:hover{color:RGBA(187,61,110,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(187,61,110,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(187,61,110,var(--tblr-link-underline-opacity,1))}.link-github{color:RGBA(var(--tblr-github-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-github-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-github-rgb),var(--tblr-link-underline-opacity,1))}.link-github:focus,.link-github:hover{color:RGBA(19,18,18,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(19,18,18,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(19,18,18,var(--tblr-link-underline-opacity,1))}.link-instagram{color:RGBA(var(--tblr-instagram-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-instagram-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-instagram-rgb),var(--tblr-link-underline-opacity,1))}.link-instagram:focus,.link-instagram:hover{color:RGBA(182,51,76,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(182,51,76,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(182,51,76,var(--tblr-link-underline-opacity,1))}.link-pinterest{color:RGBA(var(--tblr-pinterest-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-pinterest-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-pinterest-rgb),var(--tblr-link-underline-opacity,1))}.link-pinterest:focus,.link-pinterest:hover{color:RGBA(151,6,22,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(151,6,22,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(151,6,22,var(--tblr-link-underline-opacity,1))}.link-vk{color:RGBA(var(--tblr-vk-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-vk-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-vk-rgb),var(--tblr-link-underline-opacity,1))}.link-vk:focus,.link-vk:hover{color:RGBA(79,105,134,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(79,105,134,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(79,105,134,var(--tblr-link-underline-opacity,1))}.link-rss{color:RGBA(var(--tblr-rss-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-rss-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-rss-rgb),var(--tblr-link-underline-opacity,1))}.link-rss:focus,.link-rss:hover{color:RGBA(204,132,0,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(204,132,0,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(204,132,0,var(--tblr-link-underline-opacity,1))}.link-flickr{color:RGBA(var(--tblr-flickr-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-flickr-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-flickr-rgb),var(--tblr-link-underline-opacity,1))}.link-flickr:focus,.link-flickr:hover{color:RGBA(0,79,176,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(0,79,176,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(0,79,176,var(--tblr-link-underline-opacity,1))}.link-bitbucket{color:RGBA(var(--tblr-bitbucket-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-bitbucket-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-bitbucket-rgb),var(--tblr-link-underline-opacity,1))}.link-bitbucket:focus,.link-bitbucket:hover{color:RGBA(0,66,163,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(0,66,163,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(0,66,163,var(--tblr-link-underline-opacity,1))}.link-tabler{color:RGBA(var(--tblr-tabler-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-tabler-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-tabler-rgb),var(--tblr-link-underline-opacity,1))}.link-tabler:focus,.link-tabler:hover{color:RGBA(26,86,157,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(26,86,157,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(26,86,157,var(--tblr-link-underline-opacity,1))}.link-body-emphasis{color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-underline-opacity,1))}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-opacity,.75));-webkit-text-decoration-color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-underline-opacity,.75));text-decoration-color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-underline-opacity,.75))}.focus-ring:focus{outline:0;box-shadow:var(--tblr-focus-ring-x,0) var(--tblr-focus-ring-y,0) var(--tblr-focus-ring-blur,0) var(--tblr-focus-ring-width) var(--tblr-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-opacity,.5));text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-opacity,.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--tblr-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--tblr-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--tblr-aspect-ratio:100%}.ratio-2x1{--tblr-aspect-ratio:50%}.ratio-1x2{--tblr-aspect-ratio:200%}.ratio-3x1{--tblr-aspect-ratio:33.3333333333%}.ratio-1x3{--tblr-aspect-ratio:300%}.ratio-4x3{--tblr-aspect-ratio:75%}.ratio-3x4{--tblr-aspect-ratio:133.3333333333%}.ratio-16x9{--tblr-aspect-ratio:56.25%}.ratio-9x16{--tblr-aspect-ratio:177.7777777778%}.ratio-21x9{--tblr-aspect-ratio:42.8571428571%}.ratio-9x21{--tblr-aspect-ratio:233.3333333333%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.16}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--tblr-focus-ring-color:rgba(var(--tblr-primary-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-secondary{--tblr-focus-ring-color:rgba(var(--tblr-secondary-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-success{--tblr-focus-ring-color:rgba(var(--tblr-success-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-info{--tblr-focus-ring-color:rgba(var(--tblr-info-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-warning{--tblr-focus-ring-color:rgba(var(--tblr-warning-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-danger{--tblr-focus-ring-color:rgba(var(--tblr-danger-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-light{--tblr-focus-ring-color:rgba(var(--tblr-light-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-dark{--tblr-focus-ring-color:rgba(var(--tblr-dark-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-muted{--tblr-focus-ring-color:rgba(var(--tblr-muted-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-blue{--tblr-focus-ring-color:rgba(var(--tblr-blue-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-azure{--tblr-focus-ring-color:rgba(var(--tblr-azure-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-indigo{--tblr-focus-ring-color:rgba(var(--tblr-indigo-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-purple{--tblr-focus-ring-color:rgba(var(--tblr-purple-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-pink{--tblr-focus-ring-color:rgba(var(--tblr-pink-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-red{--tblr-focus-ring-color:rgba(var(--tblr-red-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-orange{--tblr-focus-ring-color:rgba(var(--tblr-orange-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-yellow{--tblr-focus-ring-color:rgba(var(--tblr-yellow-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-lime{--tblr-focus-ring-color:rgba(var(--tblr-lime-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-green{--tblr-focus-ring-color:rgba(var(--tblr-green-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-teal{--tblr-focus-ring-color:rgba(var(--tblr-teal-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-cyan{--tblr-focus-ring-color:rgba(var(--tblr-cyan-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-facebook{--tblr-focus-ring-color:rgba(var(--tblr-facebook-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-twitter{--tblr-focus-ring-color:rgba(var(--tblr-twitter-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-linkedin{--tblr-focus-ring-color:rgba(var(--tblr-linkedin-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-google{--tblr-focus-ring-color:rgba(var(--tblr-google-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-youtube{--tblr-focus-ring-color:rgba(var(--tblr-youtube-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-vimeo{--tblr-focus-ring-color:rgba(var(--tblr-vimeo-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-dribbble{--tblr-focus-ring-color:rgba(var(--tblr-dribbble-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-github{--tblr-focus-ring-color:rgba(var(--tblr-github-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-instagram{--tblr-focus-ring-color:rgba(var(--tblr-instagram-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-pinterest{--tblr-focus-ring-color:rgba(var(--tblr-pinterest-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-vk{--tblr-focus-ring-color:rgba(var(--tblr-vk-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-rss{--tblr-focus-ring-color:rgba(var(--tblr-rss-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-flickr{--tblr-focus-ring-color:rgba(var(--tblr-flickr-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-bitbucket{--tblr-focus-ring-color:rgba(var(--tblr-bitbucket-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-tabler{--tblr-focus-ring-color:rgba(var(--tblr-tabler-rgb), var(--tblr-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-wide{border:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-0{border:0!important}.border-top{border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-top-wide{border-top:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-end-wide{border-right:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-bottom-wide{border-bottom:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-start-wide{border-left:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-start-0{border-left:0!important}.border-primary{--tblr-border-opacity:1;border-color:rgba(var(--tblr-primary-rgb),var(--tblr-border-opacity))!important}.border-secondary{--tblr-border-opacity:1;border-color:rgba(var(--tblr-secondary-rgb),var(--tblr-border-opacity))!important}.border-success{--tblr-border-opacity:1;border-color:rgba(var(--tblr-success-rgb),var(--tblr-border-opacity))!important}.border-info{--tblr-border-opacity:1;border-color:rgba(var(--tblr-info-rgb),var(--tblr-border-opacity))!important}.border-warning{--tblr-border-opacity:1;border-color:rgba(var(--tblr-warning-rgb),var(--tblr-border-opacity))!important}.border-danger{--tblr-border-opacity:1;border-color:rgba(var(--tblr-danger-rgb),var(--tblr-border-opacity))!important}.border-light{--tblr-border-opacity:1;border-color:rgba(var(--tblr-light-rgb),var(--tblr-border-opacity))!important}.border-dark{--tblr-border-opacity:1;border-color:rgba(var(--tblr-dark-rgb),var(--tblr-border-opacity))!important}.border-muted{--tblr-border-opacity:1;border-color:rgba(var(--tblr-muted-rgb),var(--tblr-border-opacity))!important}.border-blue{--tblr-border-opacity:1;border-color:rgba(var(--tblr-blue-rgb),var(--tblr-border-opacity))!important}.border-azure{--tblr-border-opacity:1;border-color:rgba(var(--tblr-azure-rgb),var(--tblr-border-opacity))!important}.border-indigo{--tblr-border-opacity:1;border-color:rgba(var(--tblr-indigo-rgb),var(--tblr-border-opacity))!important}.border-purple{--tblr-border-opacity:1;border-color:rgba(var(--tblr-purple-rgb),var(--tblr-border-opacity))!important}.border-pink{--tblr-border-opacity:1;border-color:rgba(var(--tblr-pink-rgb),var(--tblr-border-opacity))!important}.border-red{--tblr-border-opacity:1;border-color:rgba(var(--tblr-red-rgb),var(--tblr-border-opacity))!important}.border-orange{--tblr-border-opacity:1;border-color:rgba(var(--tblr-orange-rgb),var(--tblr-border-opacity))!important}.border-yellow{--tblr-border-opacity:1;border-color:rgba(var(--tblr-yellow-rgb),var(--tblr-border-opacity))!important}.border-lime{--tblr-border-opacity:1;border-color:rgba(var(--tblr-lime-rgb),var(--tblr-border-opacity))!important}.border-green{--tblr-border-opacity:1;border-color:rgba(var(--tblr-green-rgb),var(--tblr-border-opacity))!important}.border-teal{--tblr-border-opacity:1;border-color:rgba(var(--tblr-teal-rgb),var(--tblr-border-opacity))!important}.border-cyan{--tblr-border-opacity:1;border-color:rgba(var(--tblr-cyan-rgb),var(--tblr-border-opacity))!important}.border-facebook{--tblr-border-opacity:1;border-color:rgba(var(--tblr-facebook-rgb),var(--tblr-border-opacity))!important}.border-twitter{--tblr-border-opacity:1;border-color:rgba(var(--tblr-twitter-rgb),var(--tblr-border-opacity))!important}.border-linkedin{--tblr-border-opacity:1;border-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-border-opacity))!important}.border-google{--tblr-border-opacity:1;border-color:rgba(var(--tblr-google-rgb),var(--tblr-border-opacity))!important}.border-youtube{--tblr-border-opacity:1;border-color:rgba(var(--tblr-youtube-rgb),var(--tblr-border-opacity))!important}.border-vimeo{--tblr-border-opacity:1;border-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-border-opacity))!important}.border-dribbble{--tblr-border-opacity:1;border-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-border-opacity))!important}.border-github{--tblr-border-opacity:1;border-color:rgba(var(--tblr-github-rgb),var(--tblr-border-opacity))!important}.border-instagram{--tblr-border-opacity:1;border-color:rgba(var(--tblr-instagram-rgb),var(--tblr-border-opacity))!important}.border-pinterest{--tblr-border-opacity:1;border-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-border-opacity))!important}.border-vk{--tblr-border-opacity:1;border-color:rgba(var(--tblr-vk-rgb),var(--tblr-border-opacity))!important}.border-rss{--tblr-border-opacity:1;border-color:rgba(var(--tblr-rss-rgb),var(--tblr-border-opacity))!important}.border-flickr{--tblr-border-opacity:1;border-color:rgba(var(--tblr-flickr-rgb),var(--tblr-border-opacity))!important}.border-bitbucket{--tblr-border-opacity:1;border-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-border-opacity))!important}.border-tabler{--tblr-border-opacity:1;border-color:rgba(var(--tblr-tabler-rgb),var(--tblr-border-opacity))!important}.border-black{--tblr-border-opacity:1;border-color:rgba(var(--tblr-black-rgb),var(--tblr-border-opacity))!important}.border-white{--tblr-border-opacity:1;border-color:rgba(var(--tblr-white-rgb),var(--tblr-border-opacity))!important}.border-primary-subtle{border-color:var(--tblr-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--tblr-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--tblr-success-border-subtle)!important}.border-info-subtle{border-color:var(--tblr-info-border-subtle)!important}.border-warning-subtle{border-color:var(--tblr-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--tblr-danger-border-subtle)!important}.border-light-subtle{border-color:var(--tblr-light-border-subtle)!important}.border-dark-subtle{border-color:var(--tblr-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--tblr-border-opacity:0.1}.border-opacity-25{--tblr-border-opacity:0.25}.border-opacity-50{--tblr-border-opacity:0.5}.border-opacity-75{--tblr-border-opacity:0.75}.border-opacity-100{--tblr-border-opacity:1}.w-0{width:0!important}.w-1{width:.25rem!important}.w-2{width:.5rem!important}.w-3{width:1rem!important}.w-4{width:1.5rem!important}.w-5{width:2rem!important}.w-6{width:3rem!important}.w-7{width:5rem!important}.w-8{width:8rem!important}.w-25{width:25%!important}.w-33{width:33.33333%!important}.w-50{width:50%!important}.w-66{width:66.66666%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-0{height:0!important}.h-1{height:.25rem!important}.h-2{height:.5rem!important}.h-3{height:1rem!important}.h-4{height:1.5rem!important}.h-5{height:2rem!important}.h-6{height:3rem!important}.h-7{height:5rem!important}.h-8{height:8rem!important}.h-25{height:25%!important}.h-33{height:33.33333%!important}.h-50{height:50%!important}.h-66{height:66.66666%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:2rem!important}.m-6{margin:3rem!important}.m-7{margin:5rem!important}.m-8{margin:8rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:2rem!important;margin-left:2rem!important}.mx-6{margin-right:3rem!important;margin-left:3rem!important}.mx-7{margin-right:5rem!important;margin-left:5rem!important}.mx-8{margin-right:8rem!important;margin-left:8rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:2rem!important}.mt-6{margin-top:3rem!important}.mt-7{margin-top:5rem!important}.mt-8{margin-top:8rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:2rem!important}.me-6{margin-right:3rem!important}.me-7{margin-right:5rem!important}.me-8{margin-right:8rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:2rem!important}.mb-6{margin-bottom:3rem!important}.mb-7{margin-bottom:5rem!important}.mb-8{margin-bottom:8rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:2rem!important}.ms-6{margin-left:3rem!important}.ms-7{margin-left:5rem!important}.ms-8{margin-left:8rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:2rem!important}.p-6{padding:3rem!important}.p-7{padding:5rem!important}.p-8{padding:8rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:2rem!important;padding-left:2rem!important}.px-6{padding-right:3rem!important;padding-left:3rem!important}.px-7{padding-right:5rem!important;padding-left:5rem!important}.px-8{padding-right:8rem!important;padding-left:8rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:2rem!important}.pt-6{padding-top:3rem!important}.pt-7{padding-top:5rem!important}.pt-8{padding-top:8rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:2rem!important}.pe-6{padding-right:3rem!important}.pe-7{padding-right:5rem!important}.pe-8{padding-right:8rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:2rem!important}.pb-6{padding-bottom:3rem!important}.pb-7{padding-bottom:5rem!important}.pb-8{padding-bottom:8rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:2rem!important}.ps-6{padding-left:3rem!important}.ps-7{padding-left:5rem!important}.ps-8{padding-left:8rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:2rem!important}.gap-6{gap:3rem!important}.gap-7{gap:5rem!important}.gap-8{gap:8rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:2rem!important}.row-gap-6{row-gap:3rem!important}.row-gap-7{row-gap:5rem!important}.row-gap-8{row-gap:8rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.font-monospace{font-family:var(--tblr-font-monospace)!important}.fs-1{font-size:1.5rem!important}.fs-2{font-size:1.25rem!important}.fs-3{font-size:1rem!important}.fs-4{font-size:.875rem!important}.fs-5{font-size:.75rem!important}.fs-6{font-size:.625rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:600!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.1428571429!important}.lh-base{line-height:1.4285714286!important}.lh-lg{line-height:1.7142857143!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--tblr-text-opacity:1;color:rgba(var(--tblr-primary-rgb),var(--tblr-text-opacity))!important}.text-secondary{--tblr-text-opacity:1;color:rgba(var(--tblr-secondary-rgb),var(--tblr-text-opacity))!important}.text-success{--tblr-text-opacity:1;color:rgba(var(--tblr-success-rgb),var(--tblr-text-opacity))!important}.text-info{--tblr-text-opacity:1;color:rgba(var(--tblr-info-rgb),var(--tblr-text-opacity))!important}.text-warning{--tblr-text-opacity:1;color:rgba(var(--tblr-warning-rgb),var(--tblr-text-opacity))!important}.text-danger{--tblr-text-opacity:1;color:rgba(var(--tblr-danger-rgb),var(--tblr-text-opacity))!important}.text-light{--tblr-text-opacity:1;color:rgba(var(--tblr-light-rgb),var(--tblr-text-opacity))!important}.text-dark{--tblr-text-opacity:1;color:rgba(var(--tblr-dark-rgb),var(--tblr-text-opacity))!important}.text-muted{--tblr-text-opacity:1;color:var(--tblr-secondary-color)!important}.text-blue{--tblr-text-opacity:1;color:rgba(var(--tblr-blue-rgb),var(--tblr-text-opacity))!important}.text-azure{--tblr-text-opacity:1;color:rgba(var(--tblr-azure-rgb),var(--tblr-text-opacity))!important}.text-indigo{--tblr-text-opacity:1;color:rgba(var(--tblr-indigo-rgb),var(--tblr-text-opacity))!important}.text-purple{--tblr-text-opacity:1;color:rgba(var(--tblr-purple-rgb),var(--tblr-text-opacity))!important}.text-pink{--tblr-text-opacity:1;color:rgba(var(--tblr-pink-rgb),var(--tblr-text-opacity))!important}.text-red{--tblr-text-opacity:1;color:rgba(var(--tblr-red-rgb),var(--tblr-text-opacity))!important}.text-orange{--tblr-text-opacity:1;color:rgba(var(--tblr-orange-rgb),var(--tblr-text-opacity))!important}.text-yellow{--tblr-text-opacity:1;color:rgba(var(--tblr-yellow-rgb),var(--tblr-text-opacity))!important}.text-lime{--tblr-text-opacity:1;color:rgba(var(--tblr-lime-rgb),var(--tblr-text-opacity))!important}.text-green{--tblr-text-opacity:1;color:rgba(var(--tblr-green-rgb),var(--tblr-text-opacity))!important}.text-teal{--tblr-text-opacity:1;color:rgba(var(--tblr-teal-rgb),var(--tblr-text-opacity))!important}.text-cyan{--tblr-text-opacity:1;color:rgba(var(--tblr-cyan-rgb),var(--tblr-text-opacity))!important}.text-facebook{--tblr-text-opacity:1;color:rgba(var(--tblr-facebook-rgb),var(--tblr-text-opacity))!important}.text-twitter{--tblr-text-opacity:1;color:rgba(var(--tblr-twitter-rgb),var(--tblr-text-opacity))!important}.text-linkedin{--tblr-text-opacity:1;color:rgba(var(--tblr-linkedin-rgb),var(--tblr-text-opacity))!important}.text-google{--tblr-text-opacity:1;color:rgba(var(--tblr-google-rgb),var(--tblr-text-opacity))!important}.text-youtube{--tblr-text-opacity:1;color:rgba(var(--tblr-youtube-rgb),var(--tblr-text-opacity))!important}.text-vimeo{--tblr-text-opacity:1;color:rgba(var(--tblr-vimeo-rgb),var(--tblr-text-opacity))!important}.text-dribbble{--tblr-text-opacity:1;color:rgba(var(--tblr-dribbble-rgb),var(--tblr-text-opacity))!important}.text-github{--tblr-text-opacity:1;color:rgba(var(--tblr-github-rgb),var(--tblr-text-opacity))!important}.text-instagram{--tblr-text-opacity:1;color:rgba(var(--tblr-instagram-rgb),var(--tblr-text-opacity))!important}.text-pinterest{--tblr-text-opacity:1;color:rgba(var(--tblr-pinterest-rgb),var(--tblr-text-opacity))!important}.text-vk{--tblr-text-opacity:1;color:rgba(var(--tblr-vk-rgb),var(--tblr-text-opacity))!important}.text-rss{--tblr-text-opacity:1;color:rgba(var(--tblr-rss-rgb),var(--tblr-text-opacity))!important}.text-flickr{--tblr-text-opacity:1;color:rgba(var(--tblr-flickr-rgb),var(--tblr-text-opacity))!important}.text-bitbucket{--tblr-text-opacity:1;color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-text-opacity))!important}.text-tabler{--tblr-text-opacity:1;color:rgba(var(--tblr-tabler-rgb),var(--tblr-text-opacity))!important}.text-black{--tblr-text-opacity:1;color:rgba(var(--tblr-black-rgb),var(--tblr-text-opacity))!important}.text-white{--tblr-text-opacity:1;color:rgba(var(--tblr-white-rgb),var(--tblr-text-opacity))!important}.text-body{--tblr-text-opacity:1;color:rgba(var(--tblr-body-color-rgb),var(--tblr-text-opacity))!important}.text-black-50{--tblr-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--tblr-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--tblr-text-opacity:1;color:var(--tblr-secondary-color)!important}.text-body-tertiary{--tblr-text-opacity:1;color:var(--tblr-tertiary-color)!important}.text-body-emphasis{--tblr-text-opacity:1;color:var(--tblr-emphasis-color)!important}.text-reset{--tblr-text-opacity:1;color:inherit!important}.text-opacity-25{--tblr-text-opacity:0.25}.text-opacity-50{--tblr-text-opacity:0.5}.text-opacity-75{--tblr-text-opacity:0.75}.text-opacity-100{--tblr-text-opacity:1}.text-primary-emphasis{color:var(--tblr-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--tblr-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--tblr-success-text-emphasis)!important}.text-info-emphasis{color:var(--tblr-info-text-emphasis)!important}.text-warning-emphasis{color:var(--tblr-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--tblr-danger-text-emphasis)!important}.text-light-emphasis{color:var(--tblr-light-text-emphasis)!important}.text-dark-emphasis{color:var(--tblr-dark-text-emphasis)!important}.link-opacity-10{--tblr-link-opacity:0.1}.link-opacity-10-hover:hover{--tblr-link-opacity:0.1}.link-opacity-25{--tblr-link-opacity:0.25}.link-opacity-25-hover:hover{--tblr-link-opacity:0.25}.link-opacity-50{--tblr-link-opacity:0.5}.link-opacity-50-hover:hover{--tblr-link-opacity:0.5}.link-opacity-75{--tblr-link-opacity:0.75}.link-opacity-75-hover:hover{--tblr-link-opacity:0.75}.link-opacity-100{--tblr-link-opacity:1}.link-opacity-100-hover:hover{--tblr-link-opacity:1}.link-offset-1{text-underline-offset:.125em!important}.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2{text-underline-offset:.25em!important}.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3{text-underline-offset:.375em!important}.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-secondary{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-success{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-success-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-success-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-info{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-info-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-info-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-warning{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-danger{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-light{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-light-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-light-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-dark{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-muted{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-blue{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-azure{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-indigo{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-purple{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-pink{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-red{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-red-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-red-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-orange{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-yellow{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-lime{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-green{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-green-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-green-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-teal{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-cyan{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-facebook{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-facebook-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-facebook-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-twitter{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-twitter-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-twitter-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-linkedin{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-google{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-google-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-google-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-youtube{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-youtube-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-youtube-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-vimeo{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-dribbble{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-github{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-github-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-github-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-instagram{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-instagram-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-instagram-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-pinterest{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-vk{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-vk-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-vk-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-rss{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-rss-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-rss-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-flickr{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-flickr-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-flickr-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-bitbucket{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-tabler{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-tabler-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-tabler-rgb),var(--tblr-link-underline-opacity))!important}.link-underline{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-underline-opacity,1))!important}.link-underline-opacity-0{--tblr-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--tblr-link-underline-opacity:0}.link-underline-opacity-10{--tblr-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--tblr-link-underline-opacity:0.1}.link-underline-opacity-25{--tblr-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--tblr-link-underline-opacity:0.25}.link-underline-opacity-50{--tblr-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--tblr-link-underline-opacity:0.5}.link-underline-opacity-75{--tblr-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--tblr-link-underline-opacity:0.75}.link-underline-opacity-100{--tblr-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--tblr-link-underline-opacity:1}.bg-primary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-primary-rgb),var(--tblr-bg-opacity))!important}.bg-secondary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-secondary-rgb),var(--tblr-bg-opacity))!important}.bg-success{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-success-rgb),var(--tblr-bg-opacity))!important}.bg-info{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-info-rgb),var(--tblr-bg-opacity))!important}.bg-warning{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-warning-rgb),var(--tblr-bg-opacity))!important}.bg-danger{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-danger-rgb),var(--tblr-bg-opacity))!important}.bg-light{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-light-rgb),var(--tblr-bg-opacity))!important}.bg-dark{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dark-rgb),var(--tblr-bg-opacity))!important}.bg-muted{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-muted-rgb),var(--tblr-bg-opacity))!important}.bg-blue{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-blue-rgb),var(--tblr-bg-opacity))!important}.bg-azure{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-azure-rgb),var(--tblr-bg-opacity))!important}.bg-indigo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-indigo-rgb),var(--tblr-bg-opacity))!important}.bg-purple{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-purple-rgb),var(--tblr-bg-opacity))!important}.bg-pink{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pink-rgb),var(--tblr-bg-opacity))!important}.bg-red{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-red-rgb),var(--tblr-bg-opacity))!important}.bg-orange{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-orange-rgb),var(--tblr-bg-opacity))!important}.bg-yellow{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-yellow-rgb),var(--tblr-bg-opacity))!important}.bg-lime{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-lime-rgb),var(--tblr-bg-opacity))!important}.bg-green{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-green-rgb),var(--tblr-bg-opacity))!important}.bg-teal{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-teal-rgb),var(--tblr-bg-opacity))!important}.bg-cyan{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-cyan-rgb),var(--tblr-bg-opacity))!important}.bg-facebook{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-facebook-rgb),var(--tblr-bg-opacity))!important}.bg-twitter{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-twitter-rgb),var(--tblr-bg-opacity))!important}.bg-linkedin{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-bg-opacity))!important}.bg-google{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-google-rgb),var(--tblr-bg-opacity))!important}.bg-youtube{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-youtube-rgb),var(--tblr-bg-opacity))!important}.bg-vimeo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-bg-opacity))!important}.bg-dribbble{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-bg-opacity))!important}.bg-github{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-github-rgb),var(--tblr-bg-opacity))!important}.bg-instagram{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-instagram-rgb),var(--tblr-bg-opacity))!important}.bg-pinterest{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-bg-opacity))!important}.bg-vk{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vk-rgb),var(--tblr-bg-opacity))!important}.bg-rss{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-rss-rgb),var(--tblr-bg-opacity))!important}.bg-flickr{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-flickr-rgb),var(--tblr-bg-opacity))!important}.bg-bitbucket{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-bg-opacity))!important}.bg-tabler{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-tabler-rgb),var(--tblr-bg-opacity))!important}.bg-black{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-black-rgb),var(--tblr-bg-opacity))!important}.bg-white{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-white-rgb),var(--tblr-bg-opacity))!important}.bg-body{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-body-bg-rgb),var(--tblr-bg-opacity))!important}.bg-transparent{--tblr-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-secondary-bg-rgb),var(--tblr-bg-opacity))!important}.bg-body-tertiary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-tertiary-bg-rgb),var(--tblr-bg-opacity))!important}.bg-opacity-10{--tblr-bg-opacity:0.1}.bg-opacity-25{--tblr-bg-opacity:0.25}.bg-opacity-50{--tblr-bg-opacity:0.5}.bg-opacity-75{--tblr-bg-opacity:0.75}.bg-opacity-100{--tblr-bg-opacity:1}.bg-primary-subtle{background-color:var(--tblr-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--tblr-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--tblr-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--tblr-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--tblr-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--tblr-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--tblr-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--tblr-dark-bg-subtle)!important}.bg-gradient{background-image:var(--tblr-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--tblr-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--tblr-border-radius-sm)!important}.rounded-2{border-radius:var(--tblr-border-radius)!important}.rounded-3{border-radius:var(--tblr-border-radius-lg)!important}.rounded-4{border-radius:var(--tblr-border-radius-xl)!important}.rounded-5{border-radius:var(--tblr-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--tblr-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--tblr-border-radius)!important;border-top-right-radius:var(--tblr-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--tblr-border-radius-sm)!important;border-top-right-radius:var(--tblr-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--tblr-border-radius)!important;border-top-right-radius:var(--tblr-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--tblr-border-radius-lg)!important;border-top-right-radius:var(--tblr-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--tblr-border-radius-xl)!important;border-top-right-radius:var(--tblr-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--tblr-border-radius-xxl)!important;border-top-right-radius:var(--tblr-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--tblr-border-radius-pill)!important;border-top-right-radius:var(--tblr-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--tblr-border-radius)!important;border-bottom-right-radius:var(--tblr-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--tblr-border-radius-sm)!important;border-bottom-right-radius:var(--tblr-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--tblr-border-radius)!important;border-bottom-right-radius:var(--tblr-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--tblr-border-radius-lg)!important;border-bottom-right-radius:var(--tblr-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--tblr-border-radius-xl)!important;border-bottom-right-radius:var(--tblr-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--tblr-border-radius-xxl)!important;border-bottom-right-radius:var(--tblr-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--tblr-border-radius-pill)!important;border-bottom-right-radius:var(--tblr-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--tblr-border-radius)!important;border-bottom-left-radius:var(--tblr-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--tblr-border-radius-sm)!important;border-bottom-left-radius:var(--tblr-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--tblr-border-radius)!important;border-bottom-left-radius:var(--tblr-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--tblr-border-radius-lg)!important;border-bottom-left-radius:var(--tblr-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--tblr-border-radius-xl)!important;border-bottom-left-radius:var(--tblr-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--tblr-border-radius-xxl)!important;border-bottom-left-radius:var(--tblr-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--tblr-border-radius-pill)!important;border-bottom-left-radius:var(--tblr-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--tblr-border-radius)!important;border-top-left-radius:var(--tblr-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--tblr-border-radius-sm)!important;border-top-left-radius:var(--tblr-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--tblr-border-radius)!important;border-top-left-radius:var(--tblr-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--tblr-border-radius-lg)!important;border-top-left-radius:var(--tblr-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--tblr-border-radius-xl)!important;border-top-left-radius:var(--tblr-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--tblr-border-radius-xxl)!important;border-top-left-radius:var(--tblr-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--tblr-border-radius-pill)!important;border-top-left-radius:var(--tblr-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}.object-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-scale-down{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-none{-o-object-fit:none!important;object-fit:none!important}.tracking-tight{letter-spacing:-.05em!important}.tracking-normal{letter-spacing:0!important}.tracking-wide{letter-spacing:.05em!important}.cursor-auto{cursor:auto!important}.cursor-pointer{cursor:pointer!important}.cursor-move{cursor:move!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-zoom-in{cursor:zoom-in!important}.cursor-zoom-out{cursor:zoom-out!important}.cursor-default{cursor:default!important}.cursor-none{cursor:none!important}.cursor-help{cursor:help!important}.cursor-progress{cursor:progress!important}.cursor-wait{cursor:wait!important}.cursor-text{cursor:text!important}.cursor-v-text{cursor:vertical-text!important}.cursor-grab{cursor:-webkit-grab!important;cursor:grab!important}.cursor-grabbing{cursor:-webkit-grabbing!important;cursor:grabbing!important}.border-x{border-left:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important;border-right:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-x-wide{border-left:2px var(--tblr-border-style) rgba(4,32,69,.14)!important;border-right:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-x-0{border-left:0!important;border-right:0!important}.border-y{border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important;border-bottom:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-y-wide{border-top:2px var(--tblr-border-style) rgba(4,32,69,.14)!important;border-bottom:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-y-0{border-top:0!important;border-bottom:0!important}.columns-2{-moz-columns:2!important;columns:2!important}.columns-3{-moz-columns:3!important;columns:3!important}.columns-4{-moz-columns:4!important;columns:4!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:2rem!important}.m-sm-6{margin:3rem!important}.m-sm-7{margin:5rem!important}.m-sm-8{margin:8rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:2rem!important;margin-left:2rem!important}.mx-sm-6{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-7{margin-right:5rem!important;margin-left:5rem!important}.mx-sm-8{margin-right:8rem!important;margin-left:8rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-sm-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-sm-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:2rem!important}.mt-sm-6{margin-top:3rem!important}.mt-sm-7{margin-top:5rem!important}.mt-sm-8{margin-top:8rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:2rem!important}.me-sm-6{margin-right:3rem!important}.me-sm-7{margin-right:5rem!important}.me-sm-8{margin-right:8rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:2rem!important}.mb-sm-6{margin-bottom:3rem!important}.mb-sm-7{margin-bottom:5rem!important}.mb-sm-8{margin-bottom:8rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:2rem!important}.ms-sm-6{margin-left:3rem!important}.ms-sm-7{margin-left:5rem!important}.ms-sm-8{margin-left:8rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:2rem!important}.p-sm-6{padding:3rem!important}.p-sm-7{padding:5rem!important}.p-sm-8{padding:8rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:2rem!important;padding-left:2rem!important}.px-sm-6{padding-right:3rem!important;padding-left:3rem!important}.px-sm-7{padding-right:5rem!important;padding-left:5rem!important}.px-sm-8{padding-right:8rem!important;padding-left:8rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-sm-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-sm-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-sm-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:2rem!important}.pt-sm-6{padding-top:3rem!important}.pt-sm-7{padding-top:5rem!important}.pt-sm-8{padding-top:8rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:2rem!important}.pe-sm-6{padding-right:3rem!important}.pe-sm-7{padding-right:5rem!important}.pe-sm-8{padding-right:8rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:2rem!important}.pb-sm-6{padding-bottom:3rem!important}.pb-sm-7{padding-bottom:5rem!important}.pb-sm-8{padding-bottom:8rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:2rem!important}.ps-sm-6{padding-left:3rem!important}.ps-sm-7{padding-left:5rem!important}.ps-sm-8{padding-left:8rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:2rem!important}.gap-sm-6{gap:3rem!important}.gap-sm-7{gap:5rem!important}.gap-sm-8{gap:8rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:2rem!important}.row-gap-sm-6{row-gap:3rem!important}.row-gap-sm-7{row-gap:5rem!important}.row-gap-sm-8{row-gap:8rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-sm-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-sm-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-sm-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}.columns-sm-2{-moz-columns:2!important;columns:2!important}.columns-sm-3{-moz-columns:3!important;columns:3!important}.columns-sm-4{-moz-columns:4!important;columns:4!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:2rem!important}.m-md-6{margin:3rem!important}.m-md-7{margin:5rem!important}.m-md-8{margin:8rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:2rem!important;margin-left:2rem!important}.mx-md-6{margin-right:3rem!important;margin-left:3rem!important}.mx-md-7{margin-right:5rem!important;margin-left:5rem!important}.mx-md-8{margin-right:8rem!important;margin-left:8rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-md-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-md-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:2rem!important}.mt-md-6{margin-top:3rem!important}.mt-md-7{margin-top:5rem!important}.mt-md-8{margin-top:8rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:2rem!important}.me-md-6{margin-right:3rem!important}.me-md-7{margin-right:5rem!important}.me-md-8{margin-right:8rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:2rem!important}.mb-md-6{margin-bottom:3rem!important}.mb-md-7{margin-bottom:5rem!important}.mb-md-8{margin-bottom:8rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:2rem!important}.ms-md-6{margin-left:3rem!important}.ms-md-7{margin-left:5rem!important}.ms-md-8{margin-left:8rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:2rem!important}.p-md-6{padding:3rem!important}.p-md-7{padding:5rem!important}.p-md-8{padding:8rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:2rem!important;padding-left:2rem!important}.px-md-6{padding-right:3rem!important;padding-left:3rem!important}.px-md-7{padding-right:5rem!important;padding-left:5rem!important}.px-md-8{padding-right:8rem!important;padding-left:8rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-md-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-md-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-md-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:2rem!important}.pt-md-6{padding-top:3rem!important}.pt-md-7{padding-top:5rem!important}.pt-md-8{padding-top:8rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:2rem!important}.pe-md-6{padding-right:3rem!important}.pe-md-7{padding-right:5rem!important}.pe-md-8{padding-right:8rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:2rem!important}.pb-md-6{padding-bottom:3rem!important}.pb-md-7{padding-bottom:5rem!important}.pb-md-8{padding-bottom:8rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:2rem!important}.ps-md-6{padding-left:3rem!important}.ps-md-7{padding-left:5rem!important}.ps-md-8{padding-left:8rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:2rem!important}.gap-md-6{gap:3rem!important}.gap-md-7{gap:5rem!important}.gap-md-8{gap:8rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:2rem!important}.row-gap-md-6{row-gap:3rem!important}.row-gap-md-7{row-gap:5rem!important}.row-gap-md-8{row-gap:8rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-md-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-md-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-md-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}.columns-md-2{-moz-columns:2!important;columns:2!important}.columns-md-3{-moz-columns:3!important;columns:3!important}.columns-md-4{-moz-columns:4!important;columns:4!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:2rem!important}.m-lg-6{margin:3rem!important}.m-lg-7{margin:5rem!important}.m-lg-8{margin:8rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:2rem!important;margin-left:2rem!important}.mx-lg-6{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-7{margin-right:5rem!important;margin-left:5rem!important}.mx-lg-8{margin-right:8rem!important;margin-left:8rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-lg-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-lg-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:2rem!important}.mt-lg-6{margin-top:3rem!important}.mt-lg-7{margin-top:5rem!important}.mt-lg-8{margin-top:8rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:2rem!important}.me-lg-6{margin-right:3rem!important}.me-lg-7{margin-right:5rem!important}.me-lg-8{margin-right:8rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:2rem!important}.mb-lg-6{margin-bottom:3rem!important}.mb-lg-7{margin-bottom:5rem!important}.mb-lg-8{margin-bottom:8rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:2rem!important}.ms-lg-6{margin-left:3rem!important}.ms-lg-7{margin-left:5rem!important}.ms-lg-8{margin-left:8rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:2rem!important}.p-lg-6{padding:3rem!important}.p-lg-7{padding:5rem!important}.p-lg-8{padding:8rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:2rem!important;padding-left:2rem!important}.px-lg-6{padding-right:3rem!important;padding-left:3rem!important}.px-lg-7{padding-right:5rem!important;padding-left:5rem!important}.px-lg-8{padding-right:8rem!important;padding-left:8rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-lg-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-lg-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-lg-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:2rem!important}.pt-lg-6{padding-top:3rem!important}.pt-lg-7{padding-top:5rem!important}.pt-lg-8{padding-top:8rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:2rem!important}.pe-lg-6{padding-right:3rem!important}.pe-lg-7{padding-right:5rem!important}.pe-lg-8{padding-right:8rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:2rem!important}.pb-lg-6{padding-bottom:3rem!important}.pb-lg-7{padding-bottom:5rem!important}.pb-lg-8{padding-bottom:8rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:2rem!important}.ps-lg-6{padding-left:3rem!important}.ps-lg-7{padding-left:5rem!important}.ps-lg-8{padding-left:8rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:2rem!important}.gap-lg-6{gap:3rem!important}.gap-lg-7{gap:5rem!important}.gap-lg-8{gap:8rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:2rem!important}.row-gap-lg-6{row-gap:3rem!important}.row-gap-lg-7{row-gap:5rem!important}.row-gap-lg-8{row-gap:8rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-lg-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-lg-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-lg-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}.columns-lg-2{-moz-columns:2!important;columns:2!important}.columns-lg-3{-moz-columns:3!important;columns:3!important}.columns-lg-4{-moz-columns:4!important;columns:4!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:2rem!important}.m-xl-6{margin:3rem!important}.m-xl-7{margin:5rem!important}.m-xl-8{margin:8rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:2rem!important;margin-left:2rem!important}.mx-xl-6{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-7{margin-right:5rem!important;margin-left:5rem!important}.mx-xl-8{margin-right:8rem!important;margin-left:8rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-xl-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-xl-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:2rem!important}.mt-xl-6{margin-top:3rem!important}.mt-xl-7{margin-top:5rem!important}.mt-xl-8{margin-top:8rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:2rem!important}.me-xl-6{margin-right:3rem!important}.me-xl-7{margin-right:5rem!important}.me-xl-8{margin-right:8rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:2rem!important}.mb-xl-6{margin-bottom:3rem!important}.mb-xl-7{margin-bottom:5rem!important}.mb-xl-8{margin-bottom:8rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:2rem!important}.ms-xl-6{margin-left:3rem!important}.ms-xl-7{margin-left:5rem!important}.ms-xl-8{margin-left:8rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:2rem!important}.p-xl-6{padding:3rem!important}.p-xl-7{padding:5rem!important}.p-xl-8{padding:8rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:2rem!important;padding-left:2rem!important}.px-xl-6{padding-right:3rem!important;padding-left:3rem!important}.px-xl-7{padding-right:5rem!important;padding-left:5rem!important}.px-xl-8{padding-right:8rem!important;padding-left:8rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-xl-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-xl-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-xl-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:2rem!important}.pt-xl-6{padding-top:3rem!important}.pt-xl-7{padding-top:5rem!important}.pt-xl-8{padding-top:8rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:2rem!important}.pe-xl-6{padding-right:3rem!important}.pe-xl-7{padding-right:5rem!important}.pe-xl-8{padding-right:8rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:2rem!important}.pb-xl-6{padding-bottom:3rem!important}.pb-xl-7{padding-bottom:5rem!important}.pb-xl-8{padding-bottom:8rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:2rem!important}.ps-xl-6{padding-left:3rem!important}.ps-xl-7{padding-left:5rem!important}.ps-xl-8{padding-left:8rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:2rem!important}.gap-xl-6{gap:3rem!important}.gap-xl-7{gap:5rem!important}.gap-xl-8{gap:8rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:2rem!important}.row-gap-xl-6{row-gap:3rem!important}.row-gap-xl-7{row-gap:5rem!important}.row-gap-xl-8{row-gap:8rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-xl-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-xl-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-xl-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}.columns-xl-2{-moz-columns:2!important;columns:2!important}.columns-xl-3{-moz-columns:3!important;columns:3!important}.columns-xl-4{-moz-columns:4!important;columns:4!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:2rem!important}.m-xxl-6{margin:3rem!important}.m-xxl-7{margin:5rem!important}.m-xxl-8{margin:8rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:2rem!important;margin-left:2rem!important}.mx-xxl-6{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-7{margin-right:5rem!important;margin-left:5rem!important}.mx-xxl-8{margin-right:8rem!important;margin-left:8rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-xxl-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-xxl-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:2rem!important}.mt-xxl-6{margin-top:3rem!important}.mt-xxl-7{margin-top:5rem!important}.mt-xxl-8{margin-top:8rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:2rem!important}.me-xxl-6{margin-right:3rem!important}.me-xxl-7{margin-right:5rem!important}.me-xxl-8{margin-right:8rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:2rem!important}.mb-xxl-6{margin-bottom:3rem!important}.mb-xxl-7{margin-bottom:5rem!important}.mb-xxl-8{margin-bottom:8rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:2rem!important}.ms-xxl-6{margin-left:3rem!important}.ms-xxl-7{margin-left:5rem!important}.ms-xxl-8{margin-left:8rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:2rem!important}.p-xxl-6{padding:3rem!important}.p-xxl-7{padding:5rem!important}.p-xxl-8{padding:8rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:2rem!important;padding-left:2rem!important}.px-xxl-6{padding-right:3rem!important;padding-left:3rem!important}.px-xxl-7{padding-right:5rem!important;padding-left:5rem!important}.px-xxl-8{padding-right:8rem!important;padding-left:8rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-xxl-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-xxl-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-xxl-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:2rem!important}.pt-xxl-6{padding-top:3rem!important}.pt-xxl-7{padding-top:5rem!important}.pt-xxl-8{padding-top:8rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:2rem!important}.pe-xxl-6{padding-right:3rem!important}.pe-xxl-7{padding-right:5rem!important}.pe-xxl-8{padding-right:8rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:2rem!important}.pb-xxl-6{padding-bottom:3rem!important}.pb-xxl-7{padding-bottom:5rem!important}.pb-xxl-8{padding-bottom:8rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:2rem!important}.ps-xxl-6{padding-left:3rem!important}.ps-xxl-7{padding-left:5rem!important}.ps-xxl-8{padding-left:8rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:2rem!important}.gap-xxl-6{gap:3rem!important}.gap-xxl-7{gap:5rem!important}.gap-xxl-8{gap:8rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:2rem!important}.row-gap-xxl-6{row-gap:3rem!important}.row-gap-xxl-7{row-gap:5rem!important}.row-gap-xxl-8{row-gap:8rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-xxl-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-xxl-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-xxl-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}.columns-xxl-2{-moz-columns:2!important;columns:2!important}.columns-xxl-3{-moz-columns:3!important;columns:3!important}.columns-xxl-4{-moz-columns:4!important;columns:4!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}:host,:root{font-size:16px;height:100%;--tblr-primary:#206bc4;--tblr-primary-rgb:32,107,196;--tblr-primary-fg:var(--tblr-light);--tblr-primary-darken:#1d60b0;--tblr-primary-lt:#e9f0f9;--tblr-primary-lt-rgb:233,240,249;--tblr-secondary:#667382;--tblr-secondary-rgb:102,115,130;--tblr-secondary-fg:var(--tblr-light);--tblr-secondary-darken:#5c6875;--tblr-secondary-lt:#f0f1f3;--tblr-secondary-lt-rgb:240,241,243;--tblr-success:#2fb344;--tblr-success-rgb:47,179,68;--tblr-success-fg:var(--tblr-light);--tblr-success-darken:#2aa13d;--tblr-success-lt:#eaf7ec;--tblr-success-lt-rgb:234,247,236;--tblr-info:#4299e1;--tblr-info-rgb:66,153,225;--tblr-info-fg:var(--tblr-light);--tblr-info-darken:#3b8acb;--tblr-info-lt:#ecf5fc;--tblr-info-lt-rgb:236,245,252;--tblr-warning:#f76707;--tblr-warning-rgb:247,103,7;--tblr-warning-fg:var(--tblr-light);--tblr-warning-darken:#de5d06;--tblr-warning-lt:#fef0e6;--tblr-warning-lt-rgb:254,240,230;--tblr-danger:#d63939;--tblr-danger-rgb:214,57,57;--tblr-danger-fg:var(--tblr-light);--tblr-danger-darken:#c13333;--tblr-danger-lt:#fbebeb;--tblr-danger-lt-rgb:251,235,235;--tblr-light:#fcfdfe;--tblr-light-rgb:252,253,254;--tblr-light-fg:var(--tblr-dark);--tblr-light-darken:#e3e4e5;--tblr-light-lt:white;--tblr-light-lt-rgb:255,255,255;--tblr-dark:#182433;--tblr-dark-rgb:24,36,51;--tblr-dark-fg:var(--tblr-light);--tblr-dark-darken:#16202e;--tblr-dark-lt:#e8e9eb;--tblr-dark-lt-rgb:232,233,235;--tblr-muted:#667382;--tblr-muted-rgb:102,115,130;--tblr-muted-fg:var(--tblr-light);--tblr-muted-darken:#5c6875;--tblr-muted-lt:#f0f1f3;--tblr-muted-lt-rgb:240,241,243;--tblr-blue:#206bc4;--tblr-blue-rgb:32,107,196;--tblr-blue-fg:var(--tblr-light);--tblr-blue-darken:#1d60b0;--tblr-blue-lt:#e9f0f9;--tblr-blue-lt-rgb:233,240,249;--tblr-azure:#4299e1;--tblr-azure-rgb:66,153,225;--tblr-azure-fg:var(--tblr-light);--tblr-azure-darken:#3b8acb;--tblr-azure-lt:#ecf5fc;--tblr-azure-lt-rgb:236,245,252;--tblr-indigo:#4263eb;--tblr-indigo-rgb:66,99,235;--tblr-indigo-fg:var(--tblr-light);--tblr-indigo-darken:#3b59d4;--tblr-indigo-lt:#eceffd;--tblr-indigo-lt-rgb:236,239,253;--tblr-purple:#ae3ec9;--tblr-purple-rgb:174,62,201;--tblr-purple-fg:var(--tblr-light);--tblr-purple-darken:#9d38b5;--tblr-purple-lt:#f7ecfa;--tblr-purple-lt-rgb:247,236,250;--tblr-pink:#d6336c;--tblr-pink-rgb:214,51,108;--tblr-pink-fg:var(--tblr-light);--tblr-pink-darken:#c12e61;--tblr-pink-lt:#fbebf0;--tblr-pink-lt-rgb:251,235,240;--tblr-red:#d63939;--tblr-red-rgb:214,57,57;--tblr-red-fg:var(--tblr-light);--tblr-red-darken:#c13333;--tblr-red-lt:#fbebeb;--tblr-red-lt-rgb:251,235,235;--tblr-orange:#f76707;--tblr-orange-rgb:247,103,7;--tblr-orange-fg:var(--tblr-light);--tblr-orange-darken:#de5d06;--tblr-orange-lt:#fef0e6;--tblr-orange-lt-rgb:254,240,230;--tblr-yellow:#f59f00;--tblr-yellow-rgb:245,159,0;--tblr-yellow-fg:var(--tblr-light);--tblr-yellow-darken:#dd8f00;--tblr-yellow-lt:#fef5e6;--tblr-yellow-lt-rgb:254,245,230;--tblr-lime:#74b816;--tblr-lime-rgb:116,184,22;--tblr-lime-fg:var(--tblr-light);--tblr-lime-darken:#68a614;--tblr-lime-lt:#f1f8e8;--tblr-lime-lt-rgb:241,248,232;--tblr-green:#2fb344;--tblr-green-rgb:47,179,68;--tblr-green-fg:var(--tblr-light);--tblr-green-darken:#2aa13d;--tblr-green-lt:#eaf7ec;--tblr-green-lt-rgb:234,247,236;--tblr-teal:#0ca678;--tblr-teal-rgb:12,166,120;--tblr-teal-fg:var(--tblr-light);--tblr-teal-darken:#0b956c;--tblr-teal-lt:#e7f6f2;--tblr-teal-lt-rgb:231,246,242;--tblr-cyan:#17a2b8;--tblr-cyan-rgb:23,162,184;--tblr-cyan-fg:var(--tblr-light);--tblr-cyan-darken:#1592a6;--tblr-cyan-lt:#e8f6f8;--tblr-cyan-lt-rgb:232,246,248;--tblr-facebook:#1877f2;--tblr-facebook-rgb:24,119,242;--tblr-facebook-fg:var(--tblr-light);--tblr-facebook-darken:#166bda;--tblr-facebook-lt:#e8f1fe;--tblr-facebook-lt-rgb:232,241,254;--tblr-twitter:#1da1f2;--tblr-twitter-rgb:29,161,242;--tblr-twitter-fg:var(--tblr-light);--tblr-twitter-darken:#1a91da;--tblr-twitter-lt:#e8f6fe;--tblr-twitter-lt-rgb:232,246,254;--tblr-linkedin:#0a66c2;--tblr-linkedin-rgb:10,102,194;--tblr-linkedin-fg:var(--tblr-light);--tblr-linkedin-darken:#095caf;--tblr-linkedin-lt:#e7f0f9;--tblr-linkedin-lt-rgb:231,240,249;--tblr-google:#dc4e41;--tblr-google-rgb:220,78,65;--tblr-google-fg:var(--tblr-light);--tblr-google-darken:#c6463b;--tblr-google-lt:#fcedec;--tblr-google-lt-rgb:252,237,236;--tblr-youtube:#ff0000;--tblr-youtube-rgb:255,0,0;--tblr-youtube-fg:var(--tblr-light);--tblr-youtube-darken:#e60000;--tblr-youtube-lt:#ffe6e6;--tblr-youtube-lt-rgb:255,230,230;--tblr-vimeo:#1ab7ea;--tblr-vimeo-rgb:26,183,234;--tblr-vimeo-fg:var(--tblr-light);--tblr-vimeo-darken:#17a5d3;--tblr-vimeo-lt:#e8f8fd;--tblr-vimeo-lt-rgb:232,248,253;--tblr-dribbble:#ea4c89;--tblr-dribbble-rgb:234,76,137;--tblr-dribbble-fg:var(--tblr-light);--tblr-dribbble-darken:#d3447b;--tblr-dribbble-lt:#fdedf3;--tblr-dribbble-lt-rgb:253,237,243;--tblr-github:#181717;--tblr-github-rgb:24,23,23;--tblr-github-fg:var(--tblr-light);--tblr-github-darken:#161515;--tblr-github-lt:#e8e8e8;--tblr-github-lt-rgb:232,232,232;--tblr-instagram:#e4405f;--tblr-instagram-rgb:228,64,95;--tblr-instagram-fg:var(--tblr-light);--tblr-instagram-darken:#cd3a56;--tblr-instagram-lt:#fcecef;--tblr-instagram-lt-rgb:252,236,239;--tblr-pinterest:#bd081c;--tblr-pinterest-rgb:189,8,28;--tblr-pinterest-fg:var(--tblr-light);--tblr-pinterest-darken:#aa0719;--tblr-pinterest-lt:#f8e6e8;--tblr-pinterest-lt-rgb:248,230,232;--tblr-vk:#6383a8;--tblr-vk-rgb:99,131,168;--tblr-vk-fg:var(--tblr-light);--tblr-vk-darken:#597697;--tblr-vk-lt:#eff3f6;--tblr-vk-lt-rgb:239,243,246;--tblr-rss:#ffa500;--tblr-rss-rgb:255,165,0;--tblr-rss-fg:var(--tblr-light);--tblr-rss-darken:#e69500;--tblr-rss-lt:#fff6e6;--tblr-rss-lt-rgb:255,246,230;--tblr-flickr:#0063dc;--tblr-flickr-rgb:0,99,220;--tblr-flickr-fg:var(--tblr-light);--tblr-flickr-darken:#0059c6;--tblr-flickr-lt:#e6effc;--tblr-flickr-lt-rgb:230,239,252;--tblr-bitbucket:#0052cc;--tblr-bitbucket-rgb:0,82,204;--tblr-bitbucket-fg:var(--tblr-light);--tblr-bitbucket-darken:#004ab8;--tblr-bitbucket-lt:#e6eefa;--tblr-bitbucket-lt-rgb:230,238,250;--tblr-tabler:#206bc4;--tblr-tabler-rgb:32,107,196;--tblr-tabler-fg:var(--tblr-light);--tblr-tabler-darken:#1d60b0;--tblr-tabler-lt:#e9f0f9;--tblr-tabler-lt-rgb:233,240,249;--tblr-gray-50:#fcfdfe;--tblr-gray-50-rgb:252,253,254;--tblr-gray-50-fg:var(--tblr-dark);--tblr-gray-50-darken:#e3e4e5;--tblr-gray-50-lt:white;--tblr-gray-50-lt-rgb:255,255,255;--tblr-gray-100:#f6f8fb;--tblr-gray-100-rgb:246,248,251;--tblr-gray-100-fg:var(--tblr-dark);--tblr-gray-100-darken:#dddfe2;--tblr-gray-100-lt:#fefeff;--tblr-gray-100-lt-rgb:254,254,255;--tblr-gray-200:#eef1f4;--tblr-gray-200-rgb:238,241,244;--tblr-gray-200-fg:var(--tblr-dark);--tblr-gray-200-darken:#d6d9dc;--tblr-gray-200-lt:#fdfefe;--tblr-gray-200-lt-rgb:253,254,254;--tblr-gray-300:#dadfe5;--tblr-gray-300-rgb:218,223,229;--tblr-gray-300-fg:var(--tblr-dark);--tblr-gray-300-darken:#c4c9ce;--tblr-gray-300-lt:#fbfcfc;--tblr-gray-300-lt-rgb:251,252,252;--tblr-gray-400:#bbc3cd;--tblr-gray-400-rgb:187,195,205;--tblr-gray-400-fg:var(--tblr-light);--tblr-gray-400-darken:#a8b0b9;--tblr-gray-400-lt:#f8f9fa;--tblr-gray-400-lt-rgb:248,249,250;--tblr-gray-500:#929dab;--tblr-gray-500-rgb:146,157,171;--tblr-gray-500-fg:var(--tblr-light);--tblr-gray-500-darken:#838d9a;--tblr-gray-500-lt:#f4f5f7;--tblr-gray-500-lt-rgb:244,245,247;--tblr-gray-600:#667382;--tblr-gray-600-rgb:102,115,130;--tblr-gray-600-fg:var(--tblr-light);--tblr-gray-600-darken:#5c6875;--tblr-gray-600-lt:#f0f1f3;--tblr-gray-600-lt-rgb:240,241,243;--tblr-gray-700:#3a4859;--tblr-gray-700-rgb:58,72,89;--tblr-gray-700-fg:var(--tblr-light);--tblr-gray-700-darken:#344150;--tblr-gray-700-lt:#ebedee;--tblr-gray-700-lt-rgb:235,237,238;--tblr-gray-800:#182433;--tblr-gray-800-rgb:24,36,51;--tblr-gray-800-fg:var(--tblr-light);--tblr-gray-800-darken:#16202e;--tblr-gray-800-lt:#e8e9eb;--tblr-gray-800-lt-rgb:232,233,235;--tblr-gray-900:#040a11;--tblr-gray-900-rgb:4,10,17;--tblr-gray-900-fg:var(--tblr-light);--tblr-gray-900-darken:#04090f;--tblr-gray-900-lt:#e6e7e7;--tblr-gray-900-lt-rgb:230,231,231;--tblr-spacer-0:0;--tblr-spacer-1:0.25rem;--tblr-spacer-2:0.5rem;--tblr-spacer-3:1rem;--tblr-spacer-4:1.5rem;--tblr-spacer-5:2rem;--tblr-spacer-6:3rem;--tblr-spacer-7:5rem;--tblr-spacer-8:8rem;--tblr-spacer:1rem;--tblr-bg-surface:var(--tblr-white);--tblr-bg-surface-secondary:var(--tblr-gray-100);--tblr-bg-surface-tertiary:var(--tblr-gray-50);--tblr-bg-surface-dark:var(--tblr-dark);--tblr-bg-forms:var(--tblr-bg-surface);--tblr-border-color:#dadfe5;--tblr-border-color-translucent:rgba(4, 32, 69, 0.14);--tblr-border-dark-color:#bbc3cd;--tblr-border-dark-color-translucent:rgba(4, 32, 69, 0.27);--tblr-border-active-color:#b6bcc3;--tblr-icon-color:var(--tblr-gray-500);--tblr-active-bg:rgba(var(--tblr-primary-rgb), 0.04);--tblr-disabled-bg:var(--tblr-bg-surface-secondary);--tblr-disabled-color:var(--tblr-gray-300);--tblr-code-color:var(--tblr-gray-600);--tblr-code-bg:var(--tblr-bg-surface-secondary);--tblr-dark-mode-border-color:#1f2e41;--tblr-dark-mode-border-color-translucent:rgba(72, 110, 149, 0.14);--tblr-dark-mode-border-color-active:#2c415d;--tblr-dark-mode-border-dark-color:#1f2e41;--tblr-page-padding:var(--tblr-spacer-3);--tblr-page-padding-y:var(--tblr-spacer-4);--tblr-font-weight-light:300;--tblr-font-weight-normal:400;--tblr-font-weight-medium:500;--tblr-font-weight-bold:600;--tblr-font-weight-headings:var(--tblr-font-weight-bold);--tblr-font-size-h1:1.5rem;--tblr-font-size-h2:1.25rem;--tblr-font-size-h3:1rem;--tblr-font-size-h4:0.875rem;--tblr-font-size-h5:0.75rem;--tblr-font-size-h6:0.625rem;--tblr-line-height-h1:2rem;--tblr-line-height-h2:1.75rem;--tblr-line-height-h3:1.5rem;--tblr-line-height-h4:1.25rem;--tblr-line-height-h5:1rem;--tblr-line-height-h6:1rem;--tblr-shadow:rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0;--tblr-shadow-transparent:0 0 0 0 transparent;--tblr-shadow-button:0 1px 0 rgba(var(--tblr-body-color-rgb), 0.04);--tblr-shadow-button-inset:inset 0 -1px 0 rgba(var(--tblr-body-color-rgb), 0.2);--tblr-shadow-card:0 0 4px rgba(var(--tblr-body-color-rgb), 0.04);--tblr-shadow-card-hover:rgba(var(--tblr-body-color-rgb), 0.16) 0 2px 16px 0;--tblr-shadow-dropdown:0px 16px 24px 2px rgba(0, 0, 0, 0.07),0px 6px 30px 5px rgba(0, 0, 0, 0.06),0px 8px 10px -5px rgba(0, 0, 0, 0.1)}@media (max-width:991.98px){:host,:root{--tblr-page-padding:var(--tblr-spacer-2)}}@keyframes pulse{from{opacity:1;transform:scale3d(.8,.8,.8)}50%{transform:scale3d(1,1,1);opacity:1}to{opacity:1;transform:scale3d(.8,.8,.8)}}@keyframes tada{0%{transform:scale3d(1,1,1)}10%,5%{transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-5deg)}15%,25%,35%,45%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,5deg)}20%,30%,40%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-5deg)}50%{transform:scale3d(1,1,1)}}@keyframes rotate-360{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blink{from{opacity:0}50%{opacity:1}to{opacity:0}}body{letter-spacing:0;touch-action:manipulation;text-rendering:optimizeLegibility;font-feature-settings:"liga" 0;position:relative;min-height:100%;height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media print{body{background:0 0}}*{scrollbar-color:rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16) transparent}::-webkit-scrollbar{width:1rem;height:1rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){::-webkit-scrollbar{-webkit-transition:none;transition:none}}::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16)}::-webkit-scrollbar-track{background:0 0}:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.32)}::-webkit-scrollbar-corner{background:0 0}.layout-fluid .container,.layout-fluid [class*=" container-"],.layout-fluid [class^=container-]{max-width:100%}.layout-boxed{--tblr-theme-boxed-border-radius:0;--tblr-theme-boxed-width:1320px}@media (min-width:768px){.layout-boxed{background:#182433 linear-gradient(to right,rgba(255,255,255,.1),transparent) fixed;padding:1rem;--tblr-theme-boxed-border-radius:4px}}.layout-boxed .page{margin:0 auto;max-width:var(--tblr-theme-boxed-width);border-radius:var(--tblr-theme-boxed-border-radius);color:var(--tblr-body-color)}@media (min-width:768px){.layout-boxed .page{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background:var(--tblr-body-bg)}}.layout-boxed .page>.navbar:first-child{border-top-left-radius:var(--tblr-theme-boxed-border-radius);border-top-right-radius:var(--tblr-theme-boxed-border-radius)}.navbar{--tblr-navbar-bg:var(--tblr-bg-surface);--tblr-navbar-border-width:var(--tblr-border-width);--tblr-navbar-active-border-color:var(--tblr-primary);--tblr-navbar-active-bg:rgba(0, 0, 0, 0.06);--tblr-navbar-color:var(--tblr-body-color);--tblr-navbar-border-color:var(--tblr-border-color);align-items:stretch;min-height:3.5rem;box-shadow:inset 0 calc(-1 * var(--tblr-navbar-border-width)) 0 0 var(--tblr-navbar-border-color);background:var(--tblr-navbar-bg);color:var(--tblr-navbar-color)}.navbar-collapse .navbar{flex-grow:1}.navbar.collapsing{min-height:0}.navbar .dropdown-menu{position:absolute;z-index:1030}.navbar .navbar-nav{min-height:3rem}.navbar .navbar-nav .nav-link{position:relative;min-width:2rem;min-height:2rem;justify-content:center;border-radius:var(--tblr-border-radius)}.navbar .navbar-nav .nav-link .badge{position:absolute;top:.375rem;right:.375rem;transform:translate(50%,-50%)}.navbar-nav{margin:0;padding:0}@media (max-width:575.98px){.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-sm .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:576px){.navbar-expand-sm .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-sm .nav-item.active{position:relative}.navbar-expand-sm .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-sm.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical~.navbar,.navbar-expand-sm.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-sm.navbar-vertical.navbar-right~.navbar,.navbar-expand-sm.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}@media (max-width:767.98px){.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-md .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:768px){.navbar-expand-md .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-md .nav-item.active{position:relative}.navbar-expand-md .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-md.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical~.navbar,.navbar-expand-md.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-md.navbar-vertical.navbar-right~.navbar,.navbar-expand-md.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}@media (max-width:991.98px){.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-lg .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:992px){.navbar-expand-lg .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-lg .nav-item.active{position:relative}.navbar-expand-lg .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-lg.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical~.navbar,.navbar-expand-lg.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-lg.navbar-vertical.navbar-right~.navbar,.navbar-expand-lg.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}@media (max-width:1199.98px){.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:1200px){.navbar-expand-xl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xl .nav-item.active{position:relative}.navbar-expand-xl .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xl.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical~.navbar,.navbar-expand-xl.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-xl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xl.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}@media (max-width:1399.98px){.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:1400px){.navbar-expand-xxl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xxl .nav-item.active{position:relative}.navbar-expand-xxl .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xxl.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical~.navbar,.navbar-expand-xxl.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-xxl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xxl.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}.navbar-expand .navbar-collapse{flex-direction:column}.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}.navbar-expand .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand .nav-item.active{position:relative}.navbar-expand .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical~.navbar,.navbar-expand.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand.navbar-vertical.navbar-right~.navbar,.navbar-expand.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}.navbar-brand{display:inline-flex;align-items:center;font-weight:var(--tblr-font-weight-bold);margin:0;line-height:1;gap:.5rem}.navbar-brand-image{height:2rem;width:auto}.navbar-toggler{border:0;width:2rem;height:2rem;position:relative;display:flex;align-items:center;justify-content:center}.navbar-toggler-icon{height:2px;width:1.25em;background:currentColor;border-radius:10px;transition:top .2s .2s,bottom .2s .2s,transform .2s,opacity 0s .2s;position:relative}@media (prefers-reduced-motion:reduce){.navbar-toggler-icon{transition:none}}.navbar-toggler-icon:after,.navbar-toggler-icon:before{content:"";display:block;height:inherit;width:inherit;border-radius:inherit;background:inherit;position:absolute;left:0;transition:inherit}@media (prefers-reduced-motion:reduce){.navbar-toggler-icon:after,.navbar-toggler-icon:before{transition:none}}.navbar-toggler-icon:before{top:-.45em}.navbar-toggler-icon:after{bottom:-.45em}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transform:rotate(45deg);transition:top .3s,bottom .3s,transform .3s .3s,opacity 0s .3s}@media (prefers-reduced-motion:reduce){.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transition:none}}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before{top:0;transform:rotate(-90deg)}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after{bottom:0;opacity:0}.navbar-transparent{--tblr-navbar-border-color:transparent!important;background:0 0!important}.navbar-nav{align-items:stretch}.navbar-nav .nav-item{display:flex;flex-direction:column;justify-content:center}.navbar-side{margin:0;display:flex;flex-direction:row;align-items:center;justify-content:space-around}@media (min-width:576px){.navbar-vertical.navbar-expand-sm{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:576px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-sm{transition:none}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm.navbar-right{left:auto;right:0}.navbar-vertical.navbar-expand-sm .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-sm .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-sm .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-sm .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-sm>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-sm~.page{padding-left:15rem}.navbar-vertical.navbar-expand-sm~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-sm.navbar-right~.page{padding-left:0;padding-right:15rem}.navbar-vertical.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:768px){.navbar-vertical.navbar-expand-md{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:768px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-md{transition:none}}@media (min-width:768px){.navbar-vertical.navbar-expand-md.navbar-right{left:auto;right:0}.navbar-vertical.navbar-expand-md .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-md .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-md .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-md .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-md>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-md~.page{padding-left:15rem}.navbar-vertical.navbar-expand-md~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-md.navbar-right~.page{padding-left:0;padding-right:15rem}.navbar-vertical.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:992px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-lg{transition:none}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg.navbar-right{left:auto;right:0}.navbar-vertical.navbar-expand-lg .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-lg .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-lg .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-lg .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-lg>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-lg~.page{padding-left:15rem}.navbar-vertical.navbar-expand-lg~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-lg.navbar-right~.page{padding-left:0;padding-right:15rem}.navbar-vertical.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:1200px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xl{transition:none}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl.navbar-right{left:auto;right:0}.navbar-vertical.navbar-expand-xl .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-xl .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-xl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-xl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-xl~.page{padding-left:15rem}.navbar-vertical.navbar-expand-xl~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-xl.navbar-right~.page{padding-left:0;padding-right:15rem}.navbar-vertical.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:1400px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xxl{transition:none}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl.navbar-right{left:auto;right:0}.navbar-vertical.navbar-expand-xxl .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-xxl .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-xxl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xxl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-xxl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-xxl~.page{padding-left:15rem}.navbar-vertical.navbar-expand-xxl~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-xxl.navbar-right~.page{padding-left:0;padding-right:15rem}.navbar-vertical.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}.navbar-vertical.navbar-expand{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}@media (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand{transition:none}}.navbar-vertical.navbar-expand.navbar-right{left:auto;right:0}.navbar-vertical.navbar-expand .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand~.page{padding-left:15rem}.navbar-vertical.navbar-expand~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand.navbar-right~.page{padding-left:0;padding-right:15rem}.navbar-vertical.navbar-expand .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}.navbar-overlap:after{content:"";height:9rem;position:absolute;top:100%;left:0;right:0;background:inherit;z-index:-1;box-shadow:inherit}.page{display:flex;flex-direction:column;position:relative;min-height:100%}.page-center .container{margin-top:auto;margin-bottom:auto}.page-wrapper{flex:1;display:flex;flex-direction:column}@media print{.page-wrapper{margin:0!important}}.page-wrapper-full .page-body:first-child{margin:0;border-top:0}.page-body{margin-top:var(--tblr-page-padding-y);margin-bottom:var(--tblr-page-padding-y)}.page-body-card{background:var(--tblr-bg-surface);border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);padding:var(--tblr-page-padding) 0;margin-bottom:0;flex:1}.page-body~.page-body-card{margin-top:0}.page-cover{background:no-repeat center/cover;min-height:9rem}@media (min-width:768px){.page-cover{min-height:12rem}}@media (min-width:992px){.page-cover{min-height:15rem}}.page-cover-overlay{position:relative}.page-cover-overlay:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 100%)}.page-header{display:flex;flex-wrap:wrap;min-height:2.25rem;flex-direction:column;justify-content:center}.page-wrapper .page-header{margin:var(--tblr-page-padding-y) 0 0}.page-header-border{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding:var(--tblr-page-padding-y) 0;margin:0!important;background-color:var(--tblr-bg-surface)}.page-pretitle{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted)}.page-title{margin:0;font-size:1.25rem;line-height:1.75rem;font-weight:var(--tblr-font-weight-bold);color:inherit;display:flex;align-items:center}.page-title svg{width:1.5rem;height:1.5rem;margin-right:.25rem}.page-title-lg{font-size:1.5rem;line-height:2rem}.page-subtitle{margin-top:.25rem;color:var(--tblr-muted)}.page-cover{--tblr-page-cover-blur:20px;--tblr-page-cover-padding:1rem;min-height:6rem;padding:var(--tblr-page-cover-padding) 0;position:relative;overflow:hidden}.page-cover-img{position:absolute;top:calc(-2 * var(--tblr-page-cover-blur,0));left:calc(-2 * var(--tblr-page-cover-blur,0));right:calc(-2 * var(--tblr-page-cover-blur,0));bottom:calc(-2 * var(--tblr-page-cover-blur,0));pointer-events:none;filter:blur(var(--tblr-page-cover-blur));-o-object-fit:cover;object-fit:cover;background-size:cover;background-position:center;z-index:-1}.page-tabs{margin-top:.5rem;position:relative}.page-header-tabs .nav-bordered{border:0}.page-header-tabs+.page-body-card{margin-top:0}.footer{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background-color:#fff;padding:2rem 0;color:var(--tblr-muted);margin-top:auto}.footer-transparent{background-color:transparent;border-top:0}body:not(.theme-dark):not([data-bs-theme=dark]) .hide-theme-light{display:none!important}body.theme-dark .hide-theme-dark,body[data-bs-theme=dark] .hide-theme-dark{display:none!important}[data-bs-theme=dark]{--tblr-body-color:#fcfdfe;--tblr-body-color-rgb:252,253,254;--tblr-muted:#3a4859;--tblr-body-bg:#151f2c;--tblr-body-bg-rgb:21,31,44;--tblr-emphasis-color:#ffffff;--tblr-emphasis-color-rgb:255,255,255;--tblr-bg-forms:#151f2c;--tblr-bg-surface:#182433;--tblr-bg-surface-dark:#151f2c;--tblr-bg-surface-secondary:#1b293a;--tblr-bg-surface-tertiary:#151f2c;--tblr-link-color:#307fdd;--tblr-link-hover-color:#206bc4;--tblr-active-bg:#1b293a;--tblr-disabled-color:var(--tblr-gray-700);--tblr-border-color:var(--tblr-dark-mode-border-color);--tblr-border-color-translucent:var( + --tblr-dark-mode-border-color-translucent + );--tblr-border-dark-color:var(--tblr-dark-mode-border-dark-color);--tblr-border-color-active:var( + --tblr-dark-mode-border-color-active + );--tblr-btn-color:#151f2c;--tblr-code-color:var(--tblr-body-color);--tblr-code-bg:#1f2e41;--tblr-primary-lt:#192b42;--tblr-primary-lt-rgb:25,43,66;--tblr-secondary-lt:#202c3b;--tblr-secondary-lt-rgb:32,44,59;--tblr-success-lt:#1a3235;--tblr-success-lt-rgb:26,50,53;--tblr-info-lt:#1c3044;--tblr-info-lt-rgb:28,48,68;--tblr-warning-lt:#2e2b2f;--tblr-warning-lt-rgb:46,43,47;--tblr-danger-lt:#2b2634;--tblr-danger-lt-rgb:43,38,52;--tblr-light-lt:#2f3a47;--tblr-light-lt-rgb:47,58,71;--tblr-dark-lt:#182433;--tblr-dark-lt-rgb:24,36,51;--tblr-muted-lt:#202c3b;--tblr-muted-lt-rgb:32,44,59;--tblr-blue-lt:#192b42;--tblr-blue-lt-rgb:25,43,66;--tblr-azure-lt:#1c3044;--tblr-azure-lt-rgb:28,48,68;--tblr-indigo-lt:#1c2a45;--tblr-indigo-lt-rgb:28,42,69;--tblr-purple-lt:#272742;--tblr-purple-lt-rgb:39,39,66;--tblr-pink-lt:#2b2639;--tblr-pink-lt-rgb:43,38,57;--tblr-red-lt:#2b2634;--tblr-red-lt-rgb:43,38,52;--tblr-orange-lt:#2e2b2f;--tblr-orange-lt-rgb:46,43,47;--tblr-yellow-lt:#2e302e;--tblr-yellow-lt-rgb:46,48,46;--tblr-lime-lt:#213330;--tblr-lime-lt-rgb:33,51,48;--tblr-green-lt:#1a3235;--tblr-green-lt-rgb:26,50,53;--tblr-teal-lt:#17313a;--tblr-teal-lt-rgb:23,49,58;--tblr-cyan-lt:#183140;--tblr-cyan-lt-rgb:24,49,64;--tblr-facebook-lt:#182c46;--tblr-facebook-lt-rgb:24,44,70;--tblr-twitter-lt:#193146;--tblr-twitter-lt-rgb:25,49,70;--tblr-linkedin-lt:#172b41;--tblr-linkedin-lt-rgb:23,43,65;--tblr-google-lt:#2c2834;--tblr-google-lt-rgb:44,40,52;--tblr-youtube-lt:#2f202e;--tblr-youtube-lt-rgb:47,32,46;--tblr-vimeo-lt:#183345;--tblr-vimeo-lt-rgb:24,51,69;--tblr-dribbble-lt:#2d283c;--tblr-dribbble-lt-rgb:45,40,60;--tblr-github-lt:#182330;--tblr-github-lt-rgb:24,35,48;--tblr-instagram-lt:#2c2737;--tblr-instagram-lt-rgb:44,39,55;--tblr-pinterest-lt:#292131;--tblr-pinterest-lt-rgb:41,33,49;--tblr-vk-lt:#202e3f;--tblr-vk-lt-rgb:32,46,63;--tblr-rss-lt:#2f312e;--tblr-rss-lt-rgb:47,49,46;--tblr-flickr-lt:#162a44;--tblr-flickr-lt-rgb:22,42,68;--tblr-bitbucket-lt:#162942;--tblr-bitbucket-lt-rgb:22,41,66;--tblr-tabler-lt:#192b42;--tblr-tabler-lt-rgb:25,43,66}[data-bs-theme=dark] .navbar-brand-autodark .navbar-brand-image{filter:brightness(0) invert(1)}.accordion{--tblr-accordion-color:var(--tblr-body-color)}.accordion-button:focus:not(:focus-visible){outline:0;box-shadow:none}.accordion-button:after{opacity:.7}.accordion-button:not(.collapsed){font-weight:var(--tblr-font-weight-bold);border-bottom-color:transparent;box-shadow:none}.accordion-button:not(.collapsed):after{opacity:1}.alert{--tblr-alert-color:var(--tblr-muted);background:#fff;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-left:.25rem var(--tblr-border-style) var(--tblr-alert-color);box-shadow:rgba(24,36,51,.04) 0 2px 4px 0}.alert>:last-child{margin-bottom:0}.alert-important{border-color:transparent;background:var(--tblr-alert-color);color:#fff}.alert-important .alert-icon,.alert-important .alert-link{color:inherit}.alert-important .alert-link:hover{color:inherit}.alert-link,.alert-link:hover{color:var(--tblr-alert-color)}.alert-primary{--tblr-alert-color:var(--tblr-primary)}.alert-secondary{--tblr-alert-color:var(--tblr-secondary)}.alert-success{--tblr-alert-color:var(--tblr-success)}.alert-info{--tblr-alert-color:var(--tblr-info)}.alert-warning{--tblr-alert-color:var(--tblr-warning)}.alert-danger{--tblr-alert-color:var(--tblr-danger)}.alert-light{--tblr-alert-color:var(--tblr-light)}.alert-dark{--tblr-alert-color:var(--tblr-dark)}.alert-muted{--tblr-alert-color:var(--tblr-muted)}.alert-blue{--tblr-alert-color:var(--tblr-blue)}.alert-azure{--tblr-alert-color:var(--tblr-azure)}.alert-indigo{--tblr-alert-color:var(--tblr-indigo)}.alert-purple{--tblr-alert-color:var(--tblr-purple)}.alert-pink{--tblr-alert-color:var(--tblr-pink)}.alert-red{--tblr-alert-color:var(--tblr-red)}.alert-orange{--tblr-alert-color:var(--tblr-orange)}.alert-yellow{--tblr-alert-color:var(--tblr-yellow)}.alert-lime{--tblr-alert-color:var(--tblr-lime)}.alert-green{--tblr-alert-color:var(--tblr-green)}.alert-teal{--tblr-alert-color:var(--tblr-teal)}.alert-cyan{--tblr-alert-color:var(--tblr-cyan)}.alert-facebook{--tblr-alert-color:var(--tblr-facebook)}.alert-twitter{--tblr-alert-color:var(--tblr-twitter)}.alert-linkedin{--tblr-alert-color:var(--tblr-linkedin)}.alert-google{--tblr-alert-color:var(--tblr-google)}.alert-youtube{--tblr-alert-color:var(--tblr-youtube)}.alert-vimeo{--tblr-alert-color:var(--tblr-vimeo)}.alert-dribbble{--tblr-alert-color:var(--tblr-dribbble)}.alert-github{--tblr-alert-color:var(--tblr-github)}.alert-instagram{--tblr-alert-color:var(--tblr-instagram)}.alert-pinterest{--tblr-alert-color:var(--tblr-pinterest)}.alert-vk{--tblr-alert-color:var(--tblr-vk)}.alert-rss{--tblr-alert-color:var(--tblr-rss)}.alert-flickr{--tblr-alert-color:var(--tblr-flickr)}.alert-bitbucket{--tblr-alert-color:var(--tblr-bitbucket)}.alert-tabler{--tblr-alert-color:var(--tblr-tabler)}.alert-icon{color:var(--tblr-alert-color);width:1.5rem!important;height:1.5rem!important;margin:-.125rem 1rem -.125rem 0}.alert-title{font-size:.875rem;line-height:1.25rem;font-weight:var(--tblr-font-weight-bold);margin-bottom:.25rem;color:var(--tblr-alert-color)}.avatar{--tblr-avatar-size:2.5rem;--tblr-avatar-bg:var(--tblr-bg-surface-secondary);--tblr-avatar-shadow:inset var(--tblr-border-color-translucent) 0 0 0 1px;position:relative;width:var(--tblr-avatar-size);height:var(--tblr-avatar-size);font-size:calc(var(--tblr-avatar-size)/ 2.8571428572);font-weight:var(--tblr-font-weight-medium);display:inline-flex;align-items:center;justify-content:center;color:var(--tblr-muted);text-align:center;text-transform:uppercase;vertical-align:bottom;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-avatar-bg) no-repeat center/cover;border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-avatar-shadow)}.avatar svg{width:calc(var(--tblr-avatar-size)/ 1.6666666667);height:calc(var(--tblr-avatar-size)/ 1.6666666667)}.avatar .badge{position:absolute;right:0;bottom:0;border-radius:100rem;box-shadow:0 0 0 2px var(--tblr-bg-surface)}a.avatar{cursor:pointer}.avatar-rounded{border-radius:100rem}.avatar-xs{--tblr-avatar-size:1.5rem}.avatar-xs .badge:empty{width:.375rem;height:.375rem}.avatar-sm{--tblr-avatar-size:2rem}.avatar-sm .badge:empty{width:.5rem;height:.5rem}.avatar-md{--tblr-avatar-size:4rem}.avatar-md .badge:empty{width:1rem;height:1rem}.avatar-lg{--tblr-avatar-size:5.5rem}.avatar-lg .badge:empty{width:1.375rem;height:1.375rem}.avatar-xl{--tblr-avatar-size:7rem}.avatar-xl .badge:empty{width:1.75rem;height:1.75rem}.avatar-2xl{--tblr-avatar-size:11rem}.avatar-2xl .badge:empty{width:2.75rem;height:2.75rem}.avatar-list{--tblr-list-gap:0.5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.avatar-list a.avatar:hover{z-index:1}.avatar-list-stacked{display:block;--tblr-list-gap:0}.avatar-list-stacked .avatar{margin-right:calc(-.5 * var(--tblr-avatar-size))!important;box-shadow:var(--tblr-avatar-shadow),0 0 0 2px var(--tblr-card-cap-bg,var(--tblr-card-bg,var(--tblr-bg-surface)))}.avatar-upload{width:4rem;height:4rem;border:var(--tblr-border-width) dashed var(--tblr-border-color);background:var(--tblr-bg-forms);flex-direction:column;transition:color .3s,background-color .3s}@media (prefers-reduced-motion:reduce){.avatar-upload{transition:none}}.avatar-upload svg{width:1.5rem;height:1.5rem;stroke-width:1}.avatar-upload:hover{border-color:var(--tblr-primary);color:var(--tblr-primary);text-decoration:none}.avatar-upload-text{font-size:.625rem;line-height:1;margin-top:.25rem}.avatar-cover{margin-top:calc(-.5 * var(--tblr-avatar-size));box-shadow:0 0 0 .25rem var(--tblr-card-bg,var(--tblr-body-bg))}.badge{justify-content:center;align-items:center;background:#929dab;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) transparent;min-width:1.35714285em;font-weight:var(--tblr-font-weight-bold);letter-spacing:.04em;vertical-align:bottom}a.badge{color:var(--tblr-bg-surface)}.badge:empty{display:inline-block;width:.5rem;height:.5rem;min-width:0;min-height:auto;padding:0;border-radius:100rem;vertical-align:baseline}.badge .avatar{box-sizing:content-box;width:1.25rem;height:1.25rem;margin:0 .5rem 0 -.5rem}.badge .icon{width:1em;height:1em;font-size:1rem;stroke-width:2}.badge-outline{background-color:transparent;border:var(--tblr-border-width) var(--tblr-border-style) currentColor}.badge-pill{border-radius:100rem}.badges-list{--tblr-list-gap:0.5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.badge-notification{position:absolute!important;top:0!important;right:0!important;transform:translate(50%,-50%);z-index:1}.badge-blink{animation:blink 2s infinite}.breadcrumb{--tblr-breadcrumb-item-active-font-weight:var(--tblr-font-weight-bold);--tblr-breadcrumb-item-disabled-color:var(--tblr-disabled-color);--tblr-breadcrumb-link-color:var(--tblr-link-color);padding:0;margin:0;background:0 0}.breadcrumb a{color:var(--tblr-breadcrumb-link-color)}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-muted{--tblr-breadcrumb-link-color:var(--tblr-muted)}.breadcrumb-item.active{font-weight:var(--tblr-breadcrumb-item-active-font-weight)}.breadcrumb-item.active a{color:inherit;pointer-events:none}.breadcrumb-item.disabled{color:var(--tblr-breadcrumb-item-disabled-color)}.breadcrumb-item.disabled:before{color:inherit}.breadcrumb-item.disabled a{color:inherit;pointer-events:none}.breadcrumb-dots{--tblr-breadcrumb-divider:"·"}.breadcrumb-arrows{--tblr-breadcrumb-divider:"›"}.breadcrumb-bullets{--tblr-breadcrumb-divider:"•"}.btn{--tblr-btn-bg:var(--tblr-bg-surface);--tblr-btn-hover-bg:var(--tblr-bg-surface);--tblr-btn-icon-size:1.25rem;--tblr-btn-bg:var(--tblr-bg-surface);--tblr-btn-color:var(--tblr-body-color);--tblr-btn-border-color:var(--tblr-border-color);--tblr-btn-hover-bg:var(--tblr-btn-bg);--tblr-btn-hover-border-color:var(--tblr-border-color-active);--tblr-btn-box-shadow:var(--tblr-shadow-button);--tblr-btn-active-color:var(--tblr-primary);--tblr-btn-active-bg:rgba(var(--tblr-primary-rgb), 0.04);--tblr-btn-active-border-color:var(--tblr-primary);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:var(--tblr-btn-box-shadow)}.btn .icon{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);min-width:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x)/ 2) 0 calc(var(--tblr-btn-padding-x)/ -4);vertical-align:bottom;color:inherit}.btn .avatar{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x)/ 2) 0 calc(var(--tblr-btn-padding-x)/ -4)}.btn .icon-right{margin:0 calc(var(--tblr-btn-padding-x)/ -4) 0 calc(var(--tblr-btn-padding-x)/ 2)}.btn .badge{top:auto}.btn-check+.btn:hover{color:var(--tblr-btn-hover-color);background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color)}.btn-link{color:#206bc4;background-color:transparent;border-color:transparent;box-shadow:none}.btn-link .icon{color:inherit}.btn-link:hover{color:#1a569d;border-color:transparent}.btn-primary{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-primary-fg);--tblr-btn-bg:var(--tblr-primary);--tblr-btn-hover-color:var(--tblr-primary-fg);--tblr-btn-hover-bg:rgba(var(--tblr-primary-rgb), .8);--tblr-btn-active-color:var(--tblr-primary-fg);--tblr-btn-active-bg:rgba(var(--tblr-primary-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-primary);--tblr-btn-disabled-color:var(--tblr-primary-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-primary{--tblr-btn-color:var(--tblr-primary);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-primary);--tblr-btn-hover-color:var(--tblr-primary-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-primary);--tblr-btn-active-color:var(--tblr-primary-fg);--tblr-btn-active-bg:var(--tblr-primary);--tblr-btn-disabled-color:var(--tblr-primary);--tblr-btn-disabled-border-color:var(--tblr-primary)}.btn-secondary{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-secondary-fg);--tblr-btn-bg:var(--tblr-secondary);--tblr-btn-hover-color:var(--tblr-secondary-fg);--tblr-btn-hover-bg:rgba(var(--tblr-secondary-rgb), .8);--tblr-btn-active-color:var(--tblr-secondary-fg);--tblr-btn-active-bg:rgba(var(--tblr-secondary-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-secondary);--tblr-btn-disabled-color:var(--tblr-secondary-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-secondary{--tblr-btn-color:var(--tblr-secondary);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-secondary);--tblr-btn-hover-color:var(--tblr-secondary-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-secondary);--tblr-btn-active-color:var(--tblr-secondary-fg);--tblr-btn-active-bg:var(--tblr-secondary);--tblr-btn-disabled-color:var(--tblr-secondary);--tblr-btn-disabled-border-color:var(--tblr-secondary)}.btn-success{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-success-fg);--tblr-btn-bg:var(--tblr-success);--tblr-btn-hover-color:var(--tblr-success-fg);--tblr-btn-hover-bg:rgba(var(--tblr-success-rgb), .8);--tblr-btn-active-color:var(--tblr-success-fg);--tblr-btn-active-bg:rgba(var(--tblr-success-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-success);--tblr-btn-disabled-color:var(--tblr-success-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-success{--tblr-btn-color:var(--tblr-success);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-success);--tblr-btn-hover-color:var(--tblr-success-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-success);--tblr-btn-active-color:var(--tblr-success-fg);--tblr-btn-active-bg:var(--tblr-success);--tblr-btn-disabled-color:var(--tblr-success);--tblr-btn-disabled-border-color:var(--tblr-success)}.btn-info{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-info-fg);--tblr-btn-bg:var(--tblr-info);--tblr-btn-hover-color:var(--tblr-info-fg);--tblr-btn-hover-bg:rgba(var(--tblr-info-rgb), .8);--tblr-btn-active-color:var(--tblr-info-fg);--tblr-btn-active-bg:rgba(var(--tblr-info-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-info);--tblr-btn-disabled-color:var(--tblr-info-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-info{--tblr-btn-color:var(--tblr-info);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-info);--tblr-btn-hover-color:var(--tblr-info-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-info);--tblr-btn-active-color:var(--tblr-info-fg);--tblr-btn-active-bg:var(--tblr-info);--tblr-btn-disabled-color:var(--tblr-info);--tblr-btn-disabled-border-color:var(--tblr-info)}.btn-warning{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-warning-fg);--tblr-btn-bg:var(--tblr-warning);--tblr-btn-hover-color:var(--tblr-warning-fg);--tblr-btn-hover-bg:rgba(var(--tblr-warning-rgb), .8);--tblr-btn-active-color:var(--tblr-warning-fg);--tblr-btn-active-bg:rgba(var(--tblr-warning-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-warning);--tblr-btn-disabled-color:var(--tblr-warning-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-warning{--tblr-btn-color:var(--tblr-warning);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-warning);--tblr-btn-hover-color:var(--tblr-warning-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-warning);--tblr-btn-active-color:var(--tblr-warning-fg);--tblr-btn-active-bg:var(--tblr-warning);--tblr-btn-disabled-color:var(--tblr-warning);--tblr-btn-disabled-border-color:var(--tblr-warning)}.btn-danger{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-danger-fg);--tblr-btn-bg:var(--tblr-danger);--tblr-btn-hover-color:var(--tblr-danger-fg);--tblr-btn-hover-bg:rgba(var(--tblr-danger-rgb), .8);--tblr-btn-active-color:var(--tblr-danger-fg);--tblr-btn-active-bg:rgba(var(--tblr-danger-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-danger);--tblr-btn-disabled-color:var(--tblr-danger-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-danger{--tblr-btn-color:var(--tblr-danger);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-danger);--tblr-btn-hover-color:var(--tblr-danger-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-danger);--tblr-btn-active-color:var(--tblr-danger-fg);--tblr-btn-active-bg:var(--tblr-danger);--tblr-btn-disabled-color:var(--tblr-danger);--tblr-btn-disabled-border-color:var(--tblr-danger)}.btn-light{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-light-fg);--tblr-btn-bg:var(--tblr-light);--tblr-btn-hover-color:var(--tblr-light-fg);--tblr-btn-hover-bg:rgba(var(--tblr-light-rgb), .8);--tblr-btn-active-color:var(--tblr-light-fg);--tblr-btn-active-bg:rgba(var(--tblr-light-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-light);--tblr-btn-disabled-color:var(--tblr-light-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-light{--tblr-btn-color:var(--tblr-light);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-light);--tblr-btn-hover-color:var(--tblr-light-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-light);--tblr-btn-active-color:var(--tblr-light-fg);--tblr-btn-active-bg:var(--tblr-light);--tblr-btn-disabled-color:var(--tblr-light);--tblr-btn-disabled-border-color:var(--tblr-light)}.btn-dark{--tblr-btn-border-color:var(--tblr-dark-mode-border-color);--tblr-btn-hover-border-color:var(--tblr-dark-mode-border-color-active);--tblr-btn-active-border-color:var(--tblr-dark-mode-border-color-active);--tblr-btn-color:var(--tblr-dark-fg);--tblr-btn-bg:var(--tblr-dark);--tblr-btn-hover-color:var(--tblr-dark-fg);--tblr-btn-hover-bg:rgba(var(--tblr-dark-rgb), .8);--tblr-btn-active-color:var(--tblr-dark-fg);--tblr-btn-active-bg:rgba(var(--tblr-dark-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-dark);--tblr-btn-disabled-color:var(--tblr-dark-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-dark{--tblr-btn-color:var(--tblr-dark);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-dark);--tblr-btn-hover-color:var(--tblr-dark-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-dark);--tblr-btn-active-color:var(--tblr-dark-fg);--tblr-btn-active-bg:var(--tblr-dark);--tblr-btn-disabled-color:var(--tblr-dark);--tblr-btn-disabled-border-color:var(--tblr-dark)}.btn-muted{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-muted-fg);--tblr-btn-bg:var(--tblr-muted);--tblr-btn-hover-color:var(--tblr-muted-fg);--tblr-btn-hover-bg:rgba(var(--tblr-muted-rgb), .8);--tblr-btn-active-color:var(--tblr-muted-fg);--tblr-btn-active-bg:rgba(var(--tblr-muted-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-muted);--tblr-btn-disabled-color:var(--tblr-muted-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-muted{--tblr-btn-color:var(--tblr-muted);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-muted);--tblr-btn-hover-color:var(--tblr-muted-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-muted);--tblr-btn-active-color:var(--tblr-muted-fg);--tblr-btn-active-bg:var(--tblr-muted);--tblr-btn-disabled-color:var(--tblr-muted);--tblr-btn-disabled-border-color:var(--tblr-muted)}.btn-blue{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-blue-fg);--tblr-btn-bg:var(--tblr-blue);--tblr-btn-hover-color:var(--tblr-blue-fg);--tblr-btn-hover-bg:rgba(var(--tblr-blue-rgb), .8);--tblr-btn-active-color:var(--tblr-blue-fg);--tblr-btn-active-bg:rgba(var(--tblr-blue-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-blue);--tblr-btn-disabled-color:var(--tblr-blue-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-blue{--tblr-btn-color:var(--tblr-blue);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-blue);--tblr-btn-hover-color:var(--tblr-blue-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-blue);--tblr-btn-active-color:var(--tblr-blue-fg);--tblr-btn-active-bg:var(--tblr-blue);--tblr-btn-disabled-color:var(--tblr-blue);--tblr-btn-disabled-border-color:var(--tblr-blue)}.btn-azure{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-azure-fg);--tblr-btn-bg:var(--tblr-azure);--tblr-btn-hover-color:var(--tblr-azure-fg);--tblr-btn-hover-bg:rgba(var(--tblr-azure-rgb), .8);--tblr-btn-active-color:var(--tblr-azure-fg);--tblr-btn-active-bg:rgba(var(--tblr-azure-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-azure);--tblr-btn-disabled-color:var(--tblr-azure-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-azure{--tblr-btn-color:var(--tblr-azure);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-azure);--tblr-btn-hover-color:var(--tblr-azure-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-azure);--tblr-btn-active-color:var(--tblr-azure-fg);--tblr-btn-active-bg:var(--tblr-azure);--tblr-btn-disabled-color:var(--tblr-azure);--tblr-btn-disabled-border-color:var(--tblr-azure)}.btn-indigo{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-indigo-fg);--tblr-btn-bg:var(--tblr-indigo);--tblr-btn-hover-color:var(--tblr-indigo-fg);--tblr-btn-hover-bg:rgba(var(--tblr-indigo-rgb), .8);--tblr-btn-active-color:var(--tblr-indigo-fg);--tblr-btn-active-bg:rgba(var(--tblr-indigo-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-indigo);--tblr-btn-disabled-color:var(--tblr-indigo-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-indigo{--tblr-btn-color:var(--tblr-indigo);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-indigo);--tblr-btn-hover-color:var(--tblr-indigo-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-indigo);--tblr-btn-active-color:var(--tblr-indigo-fg);--tblr-btn-active-bg:var(--tblr-indigo);--tblr-btn-disabled-color:var(--tblr-indigo);--tblr-btn-disabled-border-color:var(--tblr-indigo)}.btn-purple{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-purple-fg);--tblr-btn-bg:var(--tblr-purple);--tblr-btn-hover-color:var(--tblr-purple-fg);--tblr-btn-hover-bg:rgba(var(--tblr-purple-rgb), .8);--tblr-btn-active-color:var(--tblr-purple-fg);--tblr-btn-active-bg:rgba(var(--tblr-purple-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-purple);--tblr-btn-disabled-color:var(--tblr-purple-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-purple{--tblr-btn-color:var(--tblr-purple);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-purple);--tblr-btn-hover-color:var(--tblr-purple-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-purple);--tblr-btn-active-color:var(--tblr-purple-fg);--tblr-btn-active-bg:var(--tblr-purple);--tblr-btn-disabled-color:var(--tblr-purple);--tblr-btn-disabled-border-color:var(--tblr-purple)}.btn-pink{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-pink-fg);--tblr-btn-bg:var(--tblr-pink);--tblr-btn-hover-color:var(--tblr-pink-fg);--tblr-btn-hover-bg:rgba(var(--tblr-pink-rgb), .8);--tblr-btn-active-color:var(--tblr-pink-fg);--tblr-btn-active-bg:rgba(var(--tblr-pink-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-pink);--tblr-btn-disabled-color:var(--tblr-pink-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-pink{--tblr-btn-color:var(--tblr-pink);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-pink);--tblr-btn-hover-color:var(--tblr-pink-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-pink);--tblr-btn-active-color:var(--tblr-pink-fg);--tblr-btn-active-bg:var(--tblr-pink);--tblr-btn-disabled-color:var(--tblr-pink);--tblr-btn-disabled-border-color:var(--tblr-pink)}.btn-red{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-red-fg);--tblr-btn-bg:var(--tblr-red);--tblr-btn-hover-color:var(--tblr-red-fg);--tblr-btn-hover-bg:rgba(var(--tblr-red-rgb), .8);--tblr-btn-active-color:var(--tblr-red-fg);--tblr-btn-active-bg:rgba(var(--tblr-red-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-red);--tblr-btn-disabled-color:var(--tblr-red-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-red{--tblr-btn-color:var(--tblr-red);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-red);--tblr-btn-hover-color:var(--tblr-red-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-red);--tblr-btn-active-color:var(--tblr-red-fg);--tblr-btn-active-bg:var(--tblr-red);--tblr-btn-disabled-color:var(--tblr-red);--tblr-btn-disabled-border-color:var(--tblr-red)}.btn-orange{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-orange-fg);--tblr-btn-bg:var(--tblr-orange);--tblr-btn-hover-color:var(--tblr-orange-fg);--tblr-btn-hover-bg:rgba(var(--tblr-orange-rgb), .8);--tblr-btn-active-color:var(--tblr-orange-fg);--tblr-btn-active-bg:rgba(var(--tblr-orange-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-orange);--tblr-btn-disabled-color:var(--tblr-orange-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-orange{--tblr-btn-color:var(--tblr-orange);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-orange);--tblr-btn-hover-color:var(--tblr-orange-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-orange);--tblr-btn-active-color:var(--tblr-orange-fg);--tblr-btn-active-bg:var(--tblr-orange);--tblr-btn-disabled-color:var(--tblr-orange);--tblr-btn-disabled-border-color:var(--tblr-orange)}.btn-yellow{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-yellow-fg);--tblr-btn-bg:var(--tblr-yellow);--tblr-btn-hover-color:var(--tblr-yellow-fg);--tblr-btn-hover-bg:rgba(var(--tblr-yellow-rgb), .8);--tblr-btn-active-color:var(--tblr-yellow-fg);--tblr-btn-active-bg:rgba(var(--tblr-yellow-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-yellow);--tblr-btn-disabled-color:var(--tblr-yellow-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-yellow{--tblr-btn-color:var(--tblr-yellow);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-yellow);--tblr-btn-hover-color:var(--tblr-yellow-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-yellow);--tblr-btn-active-color:var(--tblr-yellow-fg);--tblr-btn-active-bg:var(--tblr-yellow);--tblr-btn-disabled-color:var(--tblr-yellow);--tblr-btn-disabled-border-color:var(--tblr-yellow)}.btn-lime{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-lime-fg);--tblr-btn-bg:var(--tblr-lime);--tblr-btn-hover-color:var(--tblr-lime-fg);--tblr-btn-hover-bg:rgba(var(--tblr-lime-rgb), .8);--tblr-btn-active-color:var(--tblr-lime-fg);--tblr-btn-active-bg:rgba(var(--tblr-lime-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-lime);--tblr-btn-disabled-color:var(--tblr-lime-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-lime{--tblr-btn-color:var(--tblr-lime);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-lime);--tblr-btn-hover-color:var(--tblr-lime-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-lime);--tblr-btn-active-color:var(--tblr-lime-fg);--tblr-btn-active-bg:var(--tblr-lime);--tblr-btn-disabled-color:var(--tblr-lime);--tblr-btn-disabled-border-color:var(--tblr-lime)}.btn-green{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-green-fg);--tblr-btn-bg:var(--tblr-green);--tblr-btn-hover-color:var(--tblr-green-fg);--tblr-btn-hover-bg:rgba(var(--tblr-green-rgb), .8);--tblr-btn-active-color:var(--tblr-green-fg);--tblr-btn-active-bg:rgba(var(--tblr-green-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-green);--tblr-btn-disabled-color:var(--tblr-green-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-green{--tblr-btn-color:var(--tblr-green);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-green);--tblr-btn-hover-color:var(--tblr-green-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-green);--tblr-btn-active-color:var(--tblr-green-fg);--tblr-btn-active-bg:var(--tblr-green);--tblr-btn-disabled-color:var(--tblr-green);--tblr-btn-disabled-border-color:var(--tblr-green)}.btn-teal{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-teal-fg);--tblr-btn-bg:var(--tblr-teal);--tblr-btn-hover-color:var(--tblr-teal-fg);--tblr-btn-hover-bg:rgba(var(--tblr-teal-rgb), .8);--tblr-btn-active-color:var(--tblr-teal-fg);--tblr-btn-active-bg:rgba(var(--tblr-teal-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-teal);--tblr-btn-disabled-color:var(--tblr-teal-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-teal{--tblr-btn-color:var(--tblr-teal);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-teal);--tblr-btn-hover-color:var(--tblr-teal-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-teal);--tblr-btn-active-color:var(--tblr-teal-fg);--tblr-btn-active-bg:var(--tblr-teal);--tblr-btn-disabled-color:var(--tblr-teal);--tblr-btn-disabled-border-color:var(--tblr-teal)}.btn-cyan{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-cyan-fg);--tblr-btn-bg:var(--tblr-cyan);--tblr-btn-hover-color:var(--tblr-cyan-fg);--tblr-btn-hover-bg:rgba(var(--tblr-cyan-rgb), .8);--tblr-btn-active-color:var(--tblr-cyan-fg);--tblr-btn-active-bg:rgba(var(--tblr-cyan-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-cyan);--tblr-btn-disabled-color:var(--tblr-cyan-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-cyan{--tblr-btn-color:var(--tblr-cyan);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-cyan);--tblr-btn-hover-color:var(--tblr-cyan-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-cyan);--tblr-btn-active-color:var(--tblr-cyan-fg);--tblr-btn-active-bg:var(--tblr-cyan);--tblr-btn-disabled-color:var(--tblr-cyan);--tblr-btn-disabled-border-color:var(--tblr-cyan)}.btn-facebook{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-facebook-fg);--tblr-btn-bg:var(--tblr-facebook);--tblr-btn-hover-color:var(--tblr-facebook-fg);--tblr-btn-hover-bg:rgba(var(--tblr-facebook-rgb), .8);--tblr-btn-active-color:var(--tblr-facebook-fg);--tblr-btn-active-bg:rgba(var(--tblr-facebook-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-facebook);--tblr-btn-disabled-color:var(--tblr-facebook-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-facebook{--tblr-btn-color:var(--tblr-facebook);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-facebook);--tblr-btn-hover-color:var(--tblr-facebook-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-facebook);--tblr-btn-active-color:var(--tblr-facebook-fg);--tblr-btn-active-bg:var(--tblr-facebook);--tblr-btn-disabled-color:var(--tblr-facebook);--tblr-btn-disabled-border-color:var(--tblr-facebook)}.btn-twitter{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-twitter-fg);--tblr-btn-bg:var(--tblr-twitter);--tblr-btn-hover-color:var(--tblr-twitter-fg);--tblr-btn-hover-bg:rgba(var(--tblr-twitter-rgb), .8);--tblr-btn-active-color:var(--tblr-twitter-fg);--tblr-btn-active-bg:rgba(var(--tblr-twitter-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-twitter);--tblr-btn-disabled-color:var(--tblr-twitter-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-twitter{--tblr-btn-color:var(--tblr-twitter);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-twitter);--tblr-btn-hover-color:var(--tblr-twitter-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-twitter);--tblr-btn-active-color:var(--tblr-twitter-fg);--tblr-btn-active-bg:var(--tblr-twitter);--tblr-btn-disabled-color:var(--tblr-twitter);--tblr-btn-disabled-border-color:var(--tblr-twitter)}.btn-linkedin{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-linkedin-fg);--tblr-btn-bg:var(--tblr-linkedin);--tblr-btn-hover-color:var(--tblr-linkedin-fg);--tblr-btn-hover-bg:rgba(var(--tblr-linkedin-rgb), .8);--tblr-btn-active-color:var(--tblr-linkedin-fg);--tblr-btn-active-bg:rgba(var(--tblr-linkedin-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-linkedin);--tblr-btn-disabled-color:var(--tblr-linkedin-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-linkedin{--tblr-btn-color:var(--tblr-linkedin);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-linkedin);--tblr-btn-hover-color:var(--tblr-linkedin-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-linkedin);--tblr-btn-active-color:var(--tblr-linkedin-fg);--tblr-btn-active-bg:var(--tblr-linkedin);--tblr-btn-disabled-color:var(--tblr-linkedin);--tblr-btn-disabled-border-color:var(--tblr-linkedin)}.btn-google{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-google-fg);--tblr-btn-bg:var(--tblr-google);--tblr-btn-hover-color:var(--tblr-google-fg);--tblr-btn-hover-bg:rgba(var(--tblr-google-rgb), .8);--tblr-btn-active-color:var(--tblr-google-fg);--tblr-btn-active-bg:rgba(var(--tblr-google-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-google);--tblr-btn-disabled-color:var(--tblr-google-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-google{--tblr-btn-color:var(--tblr-google);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-google);--tblr-btn-hover-color:var(--tblr-google-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-google);--tblr-btn-active-color:var(--tblr-google-fg);--tblr-btn-active-bg:var(--tblr-google);--tblr-btn-disabled-color:var(--tblr-google);--tblr-btn-disabled-border-color:var(--tblr-google)}.btn-youtube{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-youtube-fg);--tblr-btn-bg:var(--tblr-youtube);--tblr-btn-hover-color:var(--tblr-youtube-fg);--tblr-btn-hover-bg:rgba(var(--tblr-youtube-rgb), .8);--tblr-btn-active-color:var(--tblr-youtube-fg);--tblr-btn-active-bg:rgba(var(--tblr-youtube-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-youtube);--tblr-btn-disabled-color:var(--tblr-youtube-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-youtube{--tblr-btn-color:var(--tblr-youtube);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-youtube);--tblr-btn-hover-color:var(--tblr-youtube-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-youtube);--tblr-btn-active-color:var(--tblr-youtube-fg);--tblr-btn-active-bg:var(--tblr-youtube);--tblr-btn-disabled-color:var(--tblr-youtube);--tblr-btn-disabled-border-color:var(--tblr-youtube)}.btn-vimeo{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-vimeo-fg);--tblr-btn-bg:var(--tblr-vimeo);--tblr-btn-hover-color:var(--tblr-vimeo-fg);--tblr-btn-hover-bg:rgba(var(--tblr-vimeo-rgb), .8);--tblr-btn-active-color:var(--tblr-vimeo-fg);--tblr-btn-active-bg:rgba(var(--tblr-vimeo-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-vimeo);--tblr-btn-disabled-color:var(--tblr-vimeo-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-vimeo{--tblr-btn-color:var(--tblr-vimeo);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-vimeo);--tblr-btn-hover-color:var(--tblr-vimeo-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-vimeo);--tblr-btn-active-color:var(--tblr-vimeo-fg);--tblr-btn-active-bg:var(--tblr-vimeo);--tblr-btn-disabled-color:var(--tblr-vimeo);--tblr-btn-disabled-border-color:var(--tblr-vimeo)}.btn-dribbble{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-dribbble-fg);--tblr-btn-bg:var(--tblr-dribbble);--tblr-btn-hover-color:var(--tblr-dribbble-fg);--tblr-btn-hover-bg:rgba(var(--tblr-dribbble-rgb), .8);--tblr-btn-active-color:var(--tblr-dribbble-fg);--tblr-btn-active-bg:rgba(var(--tblr-dribbble-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-dribbble);--tblr-btn-disabled-color:var(--tblr-dribbble-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-dribbble{--tblr-btn-color:var(--tblr-dribbble);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-dribbble);--tblr-btn-hover-color:var(--tblr-dribbble-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-dribbble);--tblr-btn-active-color:var(--tblr-dribbble-fg);--tblr-btn-active-bg:var(--tblr-dribbble);--tblr-btn-disabled-color:var(--tblr-dribbble);--tblr-btn-disabled-border-color:var(--tblr-dribbble)}.btn-github{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-github-fg);--tblr-btn-bg:var(--tblr-github);--tblr-btn-hover-color:var(--tblr-github-fg);--tblr-btn-hover-bg:rgba(var(--tblr-github-rgb), .8);--tblr-btn-active-color:var(--tblr-github-fg);--tblr-btn-active-bg:rgba(var(--tblr-github-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-github);--tblr-btn-disabled-color:var(--tblr-github-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-github{--tblr-btn-color:var(--tblr-github);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-github);--tblr-btn-hover-color:var(--tblr-github-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-github);--tblr-btn-active-color:var(--tblr-github-fg);--tblr-btn-active-bg:var(--tblr-github);--tblr-btn-disabled-color:var(--tblr-github);--tblr-btn-disabled-border-color:var(--tblr-github)}.btn-instagram{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-instagram-fg);--tblr-btn-bg:var(--tblr-instagram);--tblr-btn-hover-color:var(--tblr-instagram-fg);--tblr-btn-hover-bg:rgba(var(--tblr-instagram-rgb), .8);--tblr-btn-active-color:var(--tblr-instagram-fg);--tblr-btn-active-bg:rgba(var(--tblr-instagram-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-instagram);--tblr-btn-disabled-color:var(--tblr-instagram-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-instagram{--tblr-btn-color:var(--tblr-instagram);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-instagram);--tblr-btn-hover-color:var(--tblr-instagram-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-instagram);--tblr-btn-active-color:var(--tblr-instagram-fg);--tblr-btn-active-bg:var(--tblr-instagram);--tblr-btn-disabled-color:var(--tblr-instagram);--tblr-btn-disabled-border-color:var(--tblr-instagram)}.btn-pinterest{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-pinterest-fg);--tblr-btn-bg:var(--tblr-pinterest);--tblr-btn-hover-color:var(--tblr-pinterest-fg);--tblr-btn-hover-bg:rgba(var(--tblr-pinterest-rgb), .8);--tblr-btn-active-color:var(--tblr-pinterest-fg);--tblr-btn-active-bg:rgba(var(--tblr-pinterest-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-pinterest);--tblr-btn-disabled-color:var(--tblr-pinterest-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-pinterest{--tblr-btn-color:var(--tblr-pinterest);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-pinterest);--tblr-btn-hover-color:var(--tblr-pinterest-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-pinterest);--tblr-btn-active-color:var(--tblr-pinterest-fg);--tblr-btn-active-bg:var(--tblr-pinterest);--tblr-btn-disabled-color:var(--tblr-pinterest);--tblr-btn-disabled-border-color:var(--tblr-pinterest)}.btn-vk{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-vk-fg);--tblr-btn-bg:var(--tblr-vk);--tblr-btn-hover-color:var(--tblr-vk-fg);--tblr-btn-hover-bg:rgba(var(--tblr-vk-rgb), .8);--tblr-btn-active-color:var(--tblr-vk-fg);--tblr-btn-active-bg:rgba(var(--tblr-vk-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-vk);--tblr-btn-disabled-color:var(--tblr-vk-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-vk{--tblr-btn-color:var(--tblr-vk);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-vk);--tblr-btn-hover-color:var(--tblr-vk-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-vk);--tblr-btn-active-color:var(--tblr-vk-fg);--tblr-btn-active-bg:var(--tblr-vk);--tblr-btn-disabled-color:var(--tblr-vk);--tblr-btn-disabled-border-color:var(--tblr-vk)}.btn-rss{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-rss-fg);--tblr-btn-bg:var(--tblr-rss);--tblr-btn-hover-color:var(--tblr-rss-fg);--tblr-btn-hover-bg:rgba(var(--tblr-rss-rgb), .8);--tblr-btn-active-color:var(--tblr-rss-fg);--tblr-btn-active-bg:rgba(var(--tblr-rss-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-rss);--tblr-btn-disabled-color:var(--tblr-rss-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-rss{--tblr-btn-color:var(--tblr-rss);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-rss);--tblr-btn-hover-color:var(--tblr-rss-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-rss);--tblr-btn-active-color:var(--tblr-rss-fg);--tblr-btn-active-bg:var(--tblr-rss);--tblr-btn-disabled-color:var(--tblr-rss);--tblr-btn-disabled-border-color:var(--tblr-rss)}.btn-flickr{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-flickr-fg);--tblr-btn-bg:var(--tblr-flickr);--tblr-btn-hover-color:var(--tblr-flickr-fg);--tblr-btn-hover-bg:rgba(var(--tblr-flickr-rgb), .8);--tblr-btn-active-color:var(--tblr-flickr-fg);--tblr-btn-active-bg:rgba(var(--tblr-flickr-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-flickr);--tblr-btn-disabled-color:var(--tblr-flickr-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-flickr{--tblr-btn-color:var(--tblr-flickr);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-flickr);--tblr-btn-hover-color:var(--tblr-flickr-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-flickr);--tblr-btn-active-color:var(--tblr-flickr-fg);--tblr-btn-active-bg:var(--tblr-flickr);--tblr-btn-disabled-color:var(--tblr-flickr);--tblr-btn-disabled-border-color:var(--tblr-flickr)}.btn-bitbucket{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-bitbucket-fg);--tblr-btn-bg:var(--tblr-bitbucket);--tblr-btn-hover-color:var(--tblr-bitbucket-fg);--tblr-btn-hover-bg:rgba(var(--tblr-bitbucket-rgb), .8);--tblr-btn-active-color:var(--tblr-bitbucket-fg);--tblr-btn-active-bg:rgba(var(--tblr-bitbucket-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-bitbucket);--tblr-btn-disabled-color:var(--tblr-bitbucket-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-bitbucket{--tblr-btn-color:var(--tblr-bitbucket);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-bitbucket);--tblr-btn-hover-color:var(--tblr-bitbucket-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-bitbucket);--tblr-btn-active-color:var(--tblr-bitbucket-fg);--tblr-btn-active-bg:var(--tblr-bitbucket);--tblr-btn-disabled-color:var(--tblr-bitbucket);--tblr-btn-disabled-border-color:var(--tblr-bitbucket)}.btn-tabler{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-tabler-fg);--tblr-btn-bg:var(--tblr-tabler);--tblr-btn-hover-color:var(--tblr-tabler-fg);--tblr-btn-hover-bg:rgba(var(--tblr-tabler-rgb), .8);--tblr-btn-active-color:var(--tblr-tabler-fg);--tblr-btn-active-bg:rgba(var(--tblr-tabler-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-tabler);--tblr-btn-disabled-color:var(--tblr-tabler-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-tabler{--tblr-btn-color:var(--tblr-tabler);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-tabler);--tblr-btn-hover-color:var(--tblr-tabler-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-tabler);--tblr-btn-active-color:var(--tblr-tabler-fg);--tblr-btn-active-bg:var(--tblr-tabler);--tblr-btn-disabled-color:var(--tblr-tabler);--tblr-btn-disabled-border-color:var(--tblr-tabler)}.btn-ghost-primary{--tblr-btn-color:var(--tblr-primary);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-primary-fg);--tblr-btn-hover-bg:var(--tblr-primary);--tblr-btn-hover-border-color:var(--tblr-primary);--tblr-btn-active-color:var(--tblr-primary-fg);--tblr-btn-active-bg:var(--tblr-primary);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-primary);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-secondary{--tblr-btn-color:var(--tblr-secondary);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-secondary-fg);--tblr-btn-hover-bg:var(--tblr-secondary);--tblr-btn-hover-border-color:var(--tblr-secondary);--tblr-btn-active-color:var(--tblr-secondary-fg);--tblr-btn-active-bg:var(--tblr-secondary);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-secondary);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-success{--tblr-btn-color:var(--tblr-success);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-success-fg);--tblr-btn-hover-bg:var(--tblr-success);--tblr-btn-hover-border-color:var(--tblr-success);--tblr-btn-active-color:var(--tblr-success-fg);--tblr-btn-active-bg:var(--tblr-success);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-success);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-info{--tblr-btn-color:var(--tblr-info);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-info-fg);--tblr-btn-hover-bg:var(--tblr-info);--tblr-btn-hover-border-color:var(--tblr-info);--tblr-btn-active-color:var(--tblr-info-fg);--tblr-btn-active-bg:var(--tblr-info);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-info);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-warning{--tblr-btn-color:var(--tblr-warning);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-warning-fg);--tblr-btn-hover-bg:var(--tblr-warning);--tblr-btn-hover-border-color:var(--tblr-warning);--tblr-btn-active-color:var(--tblr-warning-fg);--tblr-btn-active-bg:var(--tblr-warning);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-warning);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-danger{--tblr-btn-color:var(--tblr-danger);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-danger-fg);--tblr-btn-hover-bg:var(--tblr-danger);--tblr-btn-hover-border-color:var(--tblr-danger);--tblr-btn-active-color:var(--tblr-danger-fg);--tblr-btn-active-bg:var(--tblr-danger);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-danger);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-light{--tblr-btn-color:var(--tblr-light);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-light-fg);--tblr-btn-hover-bg:var(--tblr-light);--tblr-btn-hover-border-color:var(--tblr-light);--tblr-btn-active-color:var(--tblr-light-fg);--tblr-btn-active-bg:var(--tblr-light);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-light);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-dark{--tblr-btn-color:var(--tblr-dark);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-dark-fg);--tblr-btn-hover-bg:var(--tblr-dark);--tblr-btn-hover-border-color:var(--tblr-dark);--tblr-btn-active-color:var(--tblr-dark-fg);--tblr-btn-active-bg:var(--tblr-dark);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-dark);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-muted{--tblr-btn-color:var(--tblr-muted);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-muted-fg);--tblr-btn-hover-bg:var(--tblr-muted);--tblr-btn-hover-border-color:var(--tblr-muted);--tblr-btn-active-color:var(--tblr-muted-fg);--tblr-btn-active-bg:var(--tblr-muted);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-muted);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-blue{--tblr-btn-color:var(--tblr-blue);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-blue-fg);--tblr-btn-hover-bg:var(--tblr-blue);--tblr-btn-hover-border-color:var(--tblr-blue);--tblr-btn-active-color:var(--tblr-blue-fg);--tblr-btn-active-bg:var(--tblr-blue);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-blue);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-azure{--tblr-btn-color:var(--tblr-azure);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-azure-fg);--tblr-btn-hover-bg:var(--tblr-azure);--tblr-btn-hover-border-color:var(--tblr-azure);--tblr-btn-active-color:var(--tblr-azure-fg);--tblr-btn-active-bg:var(--tblr-azure);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-azure);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-indigo{--tblr-btn-color:var(--tblr-indigo);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-indigo-fg);--tblr-btn-hover-bg:var(--tblr-indigo);--tblr-btn-hover-border-color:var(--tblr-indigo);--tblr-btn-active-color:var(--tblr-indigo-fg);--tblr-btn-active-bg:var(--tblr-indigo);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-indigo);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-purple{--tblr-btn-color:var(--tblr-purple);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-purple-fg);--tblr-btn-hover-bg:var(--tblr-purple);--tblr-btn-hover-border-color:var(--tblr-purple);--tblr-btn-active-color:var(--tblr-purple-fg);--tblr-btn-active-bg:var(--tblr-purple);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-purple);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-pink{--tblr-btn-color:var(--tblr-pink);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-pink-fg);--tblr-btn-hover-bg:var(--tblr-pink);--tblr-btn-hover-border-color:var(--tblr-pink);--tblr-btn-active-color:var(--tblr-pink-fg);--tblr-btn-active-bg:var(--tblr-pink);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-pink);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-red{--tblr-btn-color:var(--tblr-red);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-red-fg);--tblr-btn-hover-bg:var(--tblr-red);--tblr-btn-hover-border-color:var(--tblr-red);--tblr-btn-active-color:var(--tblr-red-fg);--tblr-btn-active-bg:var(--tblr-red);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-red);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-orange{--tblr-btn-color:var(--tblr-orange);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-orange-fg);--tblr-btn-hover-bg:var(--tblr-orange);--tblr-btn-hover-border-color:var(--tblr-orange);--tblr-btn-active-color:var(--tblr-orange-fg);--tblr-btn-active-bg:var(--tblr-orange);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-orange);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-yellow{--tblr-btn-color:var(--tblr-yellow);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-yellow-fg);--tblr-btn-hover-bg:var(--tblr-yellow);--tblr-btn-hover-border-color:var(--tblr-yellow);--tblr-btn-active-color:var(--tblr-yellow-fg);--tblr-btn-active-bg:var(--tblr-yellow);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-yellow);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-lime{--tblr-btn-color:var(--tblr-lime);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-lime-fg);--tblr-btn-hover-bg:var(--tblr-lime);--tblr-btn-hover-border-color:var(--tblr-lime);--tblr-btn-active-color:var(--tblr-lime-fg);--tblr-btn-active-bg:var(--tblr-lime);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-lime);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-green{--tblr-btn-color:var(--tblr-green);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-green-fg);--tblr-btn-hover-bg:var(--tblr-green);--tblr-btn-hover-border-color:var(--tblr-green);--tblr-btn-active-color:var(--tblr-green-fg);--tblr-btn-active-bg:var(--tblr-green);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-green);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-teal{--tblr-btn-color:var(--tblr-teal);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-teal-fg);--tblr-btn-hover-bg:var(--tblr-teal);--tblr-btn-hover-border-color:var(--tblr-teal);--tblr-btn-active-color:var(--tblr-teal-fg);--tblr-btn-active-bg:var(--tblr-teal);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-teal);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-cyan{--tblr-btn-color:var(--tblr-cyan);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-cyan-fg);--tblr-btn-hover-bg:var(--tblr-cyan);--tblr-btn-hover-border-color:var(--tblr-cyan);--tblr-btn-active-color:var(--tblr-cyan-fg);--tblr-btn-active-bg:var(--tblr-cyan);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-cyan);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-facebook{--tblr-btn-color:var(--tblr-facebook);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-facebook-fg);--tblr-btn-hover-bg:var(--tblr-facebook);--tblr-btn-hover-border-color:var(--tblr-facebook);--tblr-btn-active-color:var(--tblr-facebook-fg);--tblr-btn-active-bg:var(--tblr-facebook);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-facebook);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-twitter{--tblr-btn-color:var(--tblr-twitter);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-twitter-fg);--tblr-btn-hover-bg:var(--tblr-twitter);--tblr-btn-hover-border-color:var(--tblr-twitter);--tblr-btn-active-color:var(--tblr-twitter-fg);--tblr-btn-active-bg:var(--tblr-twitter);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-twitter);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-linkedin{--tblr-btn-color:var(--tblr-linkedin);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-linkedin-fg);--tblr-btn-hover-bg:var(--tblr-linkedin);--tblr-btn-hover-border-color:var(--tblr-linkedin);--tblr-btn-active-color:var(--tblr-linkedin-fg);--tblr-btn-active-bg:var(--tblr-linkedin);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-linkedin);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-google{--tblr-btn-color:var(--tblr-google);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-google-fg);--tblr-btn-hover-bg:var(--tblr-google);--tblr-btn-hover-border-color:var(--tblr-google);--tblr-btn-active-color:var(--tblr-google-fg);--tblr-btn-active-bg:var(--tblr-google);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-google);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-youtube{--tblr-btn-color:var(--tblr-youtube);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-youtube-fg);--tblr-btn-hover-bg:var(--tblr-youtube);--tblr-btn-hover-border-color:var(--tblr-youtube);--tblr-btn-active-color:var(--tblr-youtube-fg);--tblr-btn-active-bg:var(--tblr-youtube);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-youtube);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-vimeo{--tblr-btn-color:var(--tblr-vimeo);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-vimeo-fg);--tblr-btn-hover-bg:var(--tblr-vimeo);--tblr-btn-hover-border-color:var(--tblr-vimeo);--tblr-btn-active-color:var(--tblr-vimeo-fg);--tblr-btn-active-bg:var(--tblr-vimeo);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-vimeo);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-dribbble{--tblr-btn-color:var(--tblr-dribbble);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-dribbble-fg);--tblr-btn-hover-bg:var(--tblr-dribbble);--tblr-btn-hover-border-color:var(--tblr-dribbble);--tblr-btn-active-color:var(--tblr-dribbble-fg);--tblr-btn-active-bg:var(--tblr-dribbble);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-dribbble);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-github{--tblr-btn-color:var(--tblr-github);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-github-fg);--tblr-btn-hover-bg:var(--tblr-github);--tblr-btn-hover-border-color:var(--tblr-github);--tblr-btn-active-color:var(--tblr-github-fg);--tblr-btn-active-bg:var(--tblr-github);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-github);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-instagram{--tblr-btn-color:var(--tblr-instagram);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-instagram-fg);--tblr-btn-hover-bg:var(--tblr-instagram);--tblr-btn-hover-border-color:var(--tblr-instagram);--tblr-btn-active-color:var(--tblr-instagram-fg);--tblr-btn-active-bg:var(--tblr-instagram);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-instagram);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-pinterest{--tblr-btn-color:var(--tblr-pinterest);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-pinterest-fg);--tblr-btn-hover-bg:var(--tblr-pinterest);--tblr-btn-hover-border-color:var(--tblr-pinterest);--tblr-btn-active-color:var(--tblr-pinterest-fg);--tblr-btn-active-bg:var(--tblr-pinterest);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-pinterest);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-vk{--tblr-btn-color:var(--tblr-vk);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-vk-fg);--tblr-btn-hover-bg:var(--tblr-vk);--tblr-btn-hover-border-color:var(--tblr-vk);--tblr-btn-active-color:var(--tblr-vk-fg);--tblr-btn-active-bg:var(--tblr-vk);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-vk);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-rss{--tblr-btn-color:var(--tblr-rss);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-rss-fg);--tblr-btn-hover-bg:var(--tblr-rss);--tblr-btn-hover-border-color:var(--tblr-rss);--tblr-btn-active-color:var(--tblr-rss-fg);--tblr-btn-active-bg:var(--tblr-rss);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-rss);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-flickr{--tblr-btn-color:var(--tblr-flickr);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-flickr-fg);--tblr-btn-hover-bg:var(--tblr-flickr);--tblr-btn-hover-border-color:var(--tblr-flickr);--tblr-btn-active-color:var(--tblr-flickr-fg);--tblr-btn-active-bg:var(--tblr-flickr);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-flickr);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-bitbucket{--tblr-btn-color:var(--tblr-bitbucket);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-bitbucket-fg);--tblr-btn-hover-bg:var(--tblr-bitbucket);--tblr-btn-hover-border-color:var(--tblr-bitbucket);--tblr-btn-active-color:var(--tblr-bitbucket-fg);--tblr-btn-active-bg:var(--tblr-bitbucket);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-bitbucket);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-tabler{--tblr-btn-color:var(--tblr-tabler);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-tabler-fg);--tblr-btn-hover-bg:var(--tblr-tabler);--tblr-btn-hover-border-color:var(--tblr-tabler);--tblr-btn-active-color:var(--tblr-tabler-fg);--tblr-btn-active-bg:var(--tblr-tabler);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-tabler);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-group-sm>.btn,.btn-sm{--tblr-btn-line-height:1.5;--tblr-btn-icon-size:.75rem}.btn-group-lg>.btn,.btn-lg{--tblr-btn-line-height:1.5;--tblr-btn-icon-size:2rem}.btn-pill{padding-right:1.5em;padding-left:1.5em;border-radius:10rem}.btn-pill[class*=btn-icon]{padding:.375rem 15px}.btn-square{border-radius:0}.btn-icon{min-width:calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);min-height:calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);padding-left:0;padding-right:0}.btn-icon .icon{margin:calc(-1 * var(--tblr-btn-padding-x))}.btn-list{--tblr-list-gap:0.5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.btn-floating{position:fixed;z-index:1030;bottom:1.5rem;right:1.5rem;border-radius:100rem}.btn-loading{position:relative;color:transparent!important;text-shadow:none!important;pointer-events:none}.btn-loading>*{opacity:0}.btn-loading:after{content:"";display:inline-block;vertical-align:text-bottom;border:2px var(--tblr-border-style) currentColor;border-right-color:transparent;border-radius:100rem;color:var(--tblr-btn-color);position:absolute;width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);left:calc(50% - var(--tblr-btn-icon-size)/ 2);top:calc(50% - var(--tblr-btn-icon-size)/ 2);animation:spinner-border .75s linear infinite}.btn-action{padding:0;border:0;color:var(--tblr-muted);display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:var(--tblr-border-radius);background:0 0}.btn-action:after{content:none}.btn-action:focus{outline:0;box-shadow:none}.btn-action.show,.btn-action:hover{color:var(--tblr-body-color);background:var(--tblr-active-bg)}.btn-action.show{color:var(--tblr-primary)}.btn-action .icon{margin:0;width:1.25rem;height:1.25rem;font-size:1.25rem;stroke-width:1}.btn-actions{display:flex}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group>.btn-check:checked+.btn,.btn-group>.btn.active,.btn-group>.btn:active{z-index:5}.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.calendar{display:block;font-size:.765625rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.calendar-nav{display:flex;align-items:center}.calendar-title{flex:1;text-align:center}.calendar-body,.calendar-header{display:flex;flex-wrap:wrap;justify-content:flex-start;padding:.5rem 0}.calendar-header{color:var(--tblr-muted)}.calendar-date{flex:0 0 14.2857142857%;max-width:14.2857142857%;padding:.2rem;text-align:center;border:0}.calendar-date.next-month,.calendar-date.prev-month{opacity:.25}.calendar-date .date-item{position:relative;display:inline-block;width:1.4rem;height:1.4rem;line-height:1.4rem;color:#66758c;text-align:center;text-decoration:none;white-space:nowrap;vertical-align:middle;cursor:pointer;background:0 0;border:var(--tblr-border-width) var(--tblr-border-style) transparent;border-radius:100rem;outline:0;transition:background .3s,border .3s,box-shadow .32s,color .3s}@media (prefers-reduced-motion:reduce){.calendar-date .date-item{transition:none}}.calendar-date .date-item:hover{color:var(--tblr-primary);text-decoration:none;background:#fefeff;border-color:var(--tblr-border-color)}.calendar-date .date-today{color:var(--tblr-primary);border-color:var(--tblr-border-color)}.calendar-range{position:relative}.calendar-range:before{position:absolute;top:50%;right:0;left:0;height:1.4rem;content:"";background:rgba(var(--tblr-primary-rgb),.1);transform:translateY(-50%)}.calendar-range.range-end .date-item,.calendar-range.range-start .date-item{color:#fff;background:var(--tblr-primary);border-color:var(--tblr-primary)}.calendar-range.range-start:before{left:50%}.calendar-range.range-end:before{right:50%}.carousel-indicators-vertical{left:auto;top:0;margin:0 1rem 0 0;flex-direction:column}.carousel-indicators-vertical [data-bs-target]{margin:3px 0 3px;width:3px;height:30px;border:0;border-left:10px var(--tblr-border-style) transparent;border-right:10px var(--tblr-border-style) transparent}.carousel-indicators-dot [data-bs-target]{width:.5rem;height:.5rem;border-radius:100rem;border:10px var(--tblr-border-style) transparent;margin:0}.carousel-indicators-thumb [data-bs-target]{width:2rem;height:auto;background:no-repeat center/cover;border:0;border-radius:var(--tblr-border-radius);box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px 0;margin:0 3px;opacity:.75}@media (min-width:992px){.carousel-indicators-thumb [data-bs-target]{width:4rem}}.carousel-indicators-thumb [data-bs-target]:before{content:"";padding-top:var(--tblr-aspect-ratio,100%);display:block}.carousel-indicators-thumb.carousel-indicators-vertical [data-bs-target]{margin:3px 0}.carousel-caption-background{background:red;position:absolute;left:0;right:0;bottom:0;height:90%;background:linear-gradient(0deg,rgba(24,36,51,.9),rgba(24,36,51,0))}.card{transition:transform .3s ease-out,opacity .3s ease-out,box-shadow .3s ease-out}@media (prefers-reduced-motion:reduce){.card{transition:none}}@media print{.card{border:none;box-shadow:none}}a.card{color:inherit}a.card:hover{text-decoration:none;box-shadow:rgba(var(--tblr-body-color-rgb),.16) 0 2px 16px 0}.card .card{box-shadow:none}.card-borderless,.card-borderless .card-footer,.card-borderless .card-header{border-color:transparent}.card-stamp{--tblr-stamp-size:7rem;position:absolute;top:0;right:0;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);max-height:100%;border-top-right-radius:4px;opacity:.2;overflow:hidden;pointer-events:none}.card-stamp-lg{--tblr-stamp-size:13rem}.card-stamp-icon{background:var(--tblr-muted);color:var(--tblr-card-bg,var(--tblr-bg-surface));display:flex;align-items:center;justify-content:center;border-radius:100rem;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);position:relative;top:calc(var(--tblr-stamp-size) * -.25);right:calc(var(--tblr-stamp-size) * -.25);font-size:calc(var(--tblr-stamp-size) * .75);transform:rotate(10deg)}.card-stamp-icon .icon{stroke-width:2;width:calc(var(--tblr-stamp-size) * .75);height:calc(var(--tblr-stamp-size) * .75)}.card-img,.card-img-start{border-top-left-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));border-bottom-left-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)))}.card-img,.card-img-end{border-top-right-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));border-bottom-right-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)))}.card-img-overlay{display:flex;flex-direction:column;justify-content:flex-end}.card-img-overlay-dark{background-image:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 100%)}.card-inactive{pointer-events:none;box-shadow:none}.card-inactive .card-body{opacity:.64}.card-active{--tblr-card-border-color:var(--tblr-primary);--tblr-card-bg:var(--tblr-active-bg)}.card-btn{display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem;text-align:center;transition:background .3s;border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);flex:1;color:inherit;font-weight:var(--tblr-font-weight-medium)}@media (prefers-reduced-motion:reduce){.card-btn{transition:none}}.card-btn:hover{text-decoration:none;background:rgba(var(--tblr-primary-rgb),.04)}.card-btn+.card-btn{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-stacked{--tblr-card-stacked-offset:.25rem;position:relative}.card-stacked:after{position:absolute;top:calc(-1 * var(--tblr-card-stacked-offset));right:var(--tblr-card-stacked-offset);left:var(--tblr-card-stacked-offset);height:var(--tblr-card-stacked-offset);content:"";background:var(--tblr-card-bg,var(--tblr-bg-surface));border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-cover{position:relative;padding:1rem 1.5rem;background:#666 no-repeat center/cover}.card-cover:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:rgba(24,36,51,.48)}.card-cover:first-child,.card-cover:first-child:before{border-radius:4px 4px 0 0}.card-cover-blurred:before{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card-actions{margin:-.5rem -.5rem -.5rem auto;padding-left:.5rem}.card-actions a{text-decoration:none}.card-header{color:inherit;display:flex;align-items:center;background:0 0}.card-header:first-child{border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-header-light{border-bottom-color:transparent;background:var(--tblr-bg-surface-tertiary)}.card-header-tabs{background:var(--tblr-bg-surface-tertiary);flex:1;margin:calc(var(--tblr-card-cap-padding-y) * -1) calc(var(--tblr-card-cap-padding-x) * -1) calc(var(--tblr-card-cap-padding-y) * -1);padding:calc(var(--tblr-card-cap-padding-y) * .5) calc(var(--tblr-card-cap-padding-x) * .5) 0}.card-header-pills{flex:1;margin-top:-.5rem;margin-bottom:-.5rem}.card-rotate-left{transform:rotate(-1.5deg)}.card-rotate-right{transform:rotate(1.5deg)}.card-link{color:inherit}.card-link:hover{color:inherit;text-decoration:none;box-shadow:0 1px 6px 0 rgba(0,0,0,.08)}.card-link-rotate:hover{transform:rotate(1.5deg);opacity:1}.card-link-pop:hover{transform:translateY(-2px);opacity:1}.card-footer{margin-top:auto}.card-footer:last-child{border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-footer-transparent{background:0 0;border-color:transparent;padding-top:0}.card-footer-borderless{border-top:none}.card-progress{height:.25rem}.card-progress:last-child{border-radius:0 0 2px 2px}.card-progress:first-child{border-radius:2px 2px 0 0}.card-meta{color:var(--tblr-muted)}.card-title{display:block;margin:0 0 1rem;font-size:1rem;font-weight:var(--tblr-font-weight-medium);line-height:1.5rem}a.card-title:hover{color:inherit}.card-header .card-title{margin:0}.card-subtitle{margin-bottom:1.25rem;color:var(--tblr-muted);font-weight:400}.card-header .card-subtitle{margin:0}.card-title .card-subtitle{margin:0 0 0 .25rem;font-size:.875rem}.card-body{position:relative}.card-body>:last-child{margin-bottom:0}.card-sm>.card-body{padding:1rem}@media (min-width:768px){.card-md>.card-body{padding:2.5rem}}@media (min-width:768px){.card-lg>.card-body{padding:2rem}}@media (min-width:992px){.card-lg>.card-body{padding:4rem}}@media print{.card-body{padding:0}}.card-body+.card-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-body-scrollable{overflow:auto}.card-options{top:1.5rem;right:.75rem;display:flex;margin-left:auto}.card-options-link{display:inline-block;min-width:1rem;margin-left:.25rem;color:var(--tblr-muted)}.card-status-top{position:absolute;top:0;right:0;left:0;height:2px;border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-status-start{position:absolute;right:auto;bottom:0;width:2px;height:100%;border-radius:var(--tblr-card-border-radius) 0 0 var(--tblr-card-border-radius)}.card-status-bottom{position:absolute;top:initial;bottom:0;width:100%;height:2px;border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-table{margin-bottom:0!important}.card-table tr td:first-child,.card-table tr th:first-child{padding-left:1.5rem;border-left:0}.card-table tr td:last-child,.card-table tr th:last-child{padding-right:1.5rem;border-right:0}.card-table tbody tr:first-child,.card-table tfoot tr:first-child,.card-table thead tr:first-child{border-top:0}.card-table tbody tr:first-child td,.card-table tbody tr:first-child th,.card-table tfoot tr:first-child td,.card-table tfoot tr:first-child th,.card-table thead tr:first-child td,.card-table thead tr:first-child th{border-top:0}.card-body+.card-table{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-table-border-color)}.card-code{padding:0}.card-code .highlight{margin:0;border:0}.card-code pre{margin:0!important;border:0!important}.card-chart{position:relative;z-index:1;height:3.5rem}.card-avatar{margin-left:auto;margin-right:auto;box-shadow:0 0 0 .25rem var(--tblr-card-bg,var(--tblr-bg-surface));margin-top:calc(-1 * var(--tblr-avatar-size) * .5)}.card-body+.card-list-group{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-list-group .list-group-item{padding-right:1.5rem;padding-left:1.5rem;border-right:0;border-left:0;border-radius:0}.card-list-group .list-group-item:last-child{border-bottom:0}.card-list-group .list-group-item:first-child{border-top:0}.card-tabs .nav-tabs{position:relative;z-index:1000;border-bottom:0}.card-tabs .nav-tabs .nav-link{background:var(--tblr-bg-surface-tertiary);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.card-tabs .nav-tabs .nav-link.active,.card-tabs .nav-tabs .nav-link:active,.card-tabs .nav-tabs .nav-link:hover{border-color:var(--tblr-border-color-translucent);color:var(--tblr-body-color)}.card-tabs .nav-tabs .nav-link.active{background:var(--tblr-card-bg,var(--tblr-bg-surface));border-bottom-color:transparent}.card-tabs .nav-tabs .nav-item:not(:first-child) .nav-link{border-top-left-radius:0}.card-tabs .nav-tabs .nav-item:not(:last-child) .nav-link{border-top-right-radius:0}.card-tabs .nav-tabs .nav-item+.nav-item{margin-left:calc(-1 * var(--tblr-border-width))}.card-tabs .nav-tabs-bottom{margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-link{margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-link.active{border-top-color:transparent}.card-tabs .nav-tabs-bottom .nav-item{margin-top:calc(-1 * var(--tblr-border-width));margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-item .nav-link{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-radius:0 0 var(--tblr-border-radius) var(--tblr-border-radius)}.card-tabs .nav-tabs-bottom .nav-item:not(:first-child) .nav-link{border-bottom-left-radius:0}.card-tabs .nav-tabs-bottom .nav-item:not(:last-child) .nav-link{border-bottom-right-radius:0}.card-tabs .card{border-bottom-left-radius:0}.card-tabs .nav-tabs+.tab-content .card{border-bottom-left-radius:var(--tblr-card-border-radius);border-top-left-radius:0}.btn-close{cursor:pointer}.btn-close:focus{outline:0}.dropdown-menu{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dropdown-menu.card{padding:0;min-width:25rem;display:none}.dropdown-menu.card.show{display:flex}.dropdown-item{min-width:11rem;display:flex;align-items:center;margin:0;line-height:1.4285714286}.dropdown-item-icon{width:1.25rem!important;height:1.25rem!important;margin-right:.5rem;color:var(--tblr-muted);opacity:.7;text-align:center}.dropdown-item-indicator{margin-right:.5rem;margin-left:-.25rem;height:1.25rem;display:inline-flex;line-height:1;vertical-align:bottom;align-items:center}.dropdown-header{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);padding-bottom:.25rem;pointer-events:none}.dropdown-menu-scrollable{height:auto;max-height:13rem;overflow-x:hidden}.dropdown-menu-column{min-width:11rem}.dropdown-menu-column .dropdown-item{min-width:0}.dropdown-menu-columns{display:flex;flex:0 .25rem}.dropdown-menu-arrow:before{content:"";position:absolute;top:-.25rem;left:.75rem;display:block;background:inherit;width:14px;height:14px;transform:rotate(45deg);transform-origin:center;border:1px solid;border-color:inherit;z-index:-1;clip:rect(0,9px,9px,0)}.dropdown-menu-arrow.dropdown-menu-end:before{right:.75rem;left:auto}.dropend>.dropdown-menu{margin-top:calc(-.25rem - 1px);margin-left:-.25rem}.dropend .dropdown-toggle:after{margin-left:auto}.dropdown-menu-card{padding:0}.dropdown-menu-card>.card{margin:0;border:0;box-shadow:none}.datagrid{--tblr-datagrid-padding:1.5rem;--tblr-datagrid-item-width:15rem;display:grid;grid-gap:var(--tblr-datagrid-padding);grid-template-columns:repeat(auto-fit,minmax(var(--tblr-datagrid-item-width),1fr))}.datagrid-title{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);margin-bottom:.25rem}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:1rem;text-align:center}@media (min-width:768px){.empty{padding:3rem}}.empty-icon{margin:0 0 1rem;width:3rem;height:3rem;line-height:1;color:var(--tblr-muted)}.empty-icon svg{width:100%;height:100%}.empty-img{margin:0 0 2rem;line-height:1}.empty-img img{height:8rem;width:auto}.empty-header{margin:0 0 1rem;font-size:4rem;font-weight:var(--tblr-font-weight-light);line-height:1;color:var(--tblr-muted)}.empty-title{font-size:1.25rem;line-height:1.75rem;font-weight:var(--tblr-font-weight-bold)}.empty-subtitle,.empty-title{margin:0 0 .5rem}.empty-action{margin-top:1.5rem}.empty-bordered{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.row>*{min-width:0}.col-separator{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.container-slim{--tblr-gutter-x:calc(var(--tblr-page-padding) * 2);--tblr-gutter-y:0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:16rem}.container-tight{--tblr-gutter-x:calc(var(--tblr-page-padding) * 2);--tblr-gutter-y:0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:30rem}.container-narrow{--tblr-gutter-x:calc(var(--tblr-page-padding) * 2);--tblr-gutter-y:0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:45rem}.row-0{margin-right:0;margin-left:0}.row-0>.col,.row-0>[class*=col-]{padding-right:0;padding-left:0}.row-0 .card{margin-bottom:0}.row-sm{margin-right:-.375rem;margin-left:-.375rem}.row-sm>.col,.row-sm>[class*=col-]{padding-right:.375rem;padding-left:.375rem}.row-sm .card{margin-bottom:.75rem}.row-md{margin-right:-1.5rem;margin-left:-1.5rem}.row-md>.col,.row-md>[class*=col-]{padding-right:1.5rem;padding-left:1.5rem}.row-md .card{margin-bottom:3rem}.row-lg{margin-right:-3rem;margin-left:-3rem}.row-lg>.col,.row-lg>[class*=col-]{padding-right:3rem;padding-left:3rem}.row-lg .card{margin-bottom:6rem}.row-deck>.col,.row-deck>[class*=col-]{display:flex;align-items:stretch}.row-deck>.col .card,.row-deck>[class*=col-] .card{flex:1 1 auto}.row-cards{--tblr-gutter-x:var(--tblr-page-padding);--tblr-gutter-y:var(--tblr-page-padding);min-width:0}.row-cards .row-cards{flex:1}.space-y{display:flex;flex-direction:column;gap:1rem}.space-x{display:flex;gap:1rem}.space-y-0{display:flex;flex-direction:column;gap:0}.space-x-0{display:flex;gap:0}.space-y-1{display:flex;flex-direction:column;gap:.25rem}.space-x-1{display:flex;gap:.25rem}.space-y-2{display:flex;flex-direction:column;gap:.5rem}.space-x-2{display:flex;gap:.5rem}.space-y-3{display:flex;flex-direction:column;gap:1rem}.space-x-3{display:flex;gap:1rem}.space-y-4{display:flex;flex-direction:column;gap:1.5rem}.space-x-4{display:flex;gap:1.5rem}.space-y-5{display:flex;flex-direction:column;gap:2rem}.space-x-5{display:flex;gap:2rem}.space-y-6{display:flex;flex-direction:column;gap:3rem}.space-x-6{display:flex;gap:3rem}.space-y-7{display:flex;flex-direction:column;gap:5rem}.space-x-7{display:flex;gap:5rem}.space-y-8{display:flex;flex-direction:column;gap:8rem}.space-x-8{display:flex;gap:8rem}.divide-y>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y>:not(template):not(:first-child){padding-top:1rem!important}.divide-y>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x>:not(template):not(:first-child){padding-left:1rem!important}.divide-x>:not(template):not(:last-child){padding-right:1rem!important}.divide-y-0>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-0>:not(template):not(:first-child){padding-top:0!important}.divide-y-0>:not(template):not(:last-child){padding-bottom:0!important}.divide-x-0>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-0>:not(template):not(:first-child){padding-left:0!important}.divide-x-0>:not(template):not(:last-child){padding-right:0!important}.divide-y-1>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-1>:not(template):not(:first-child){padding-top:.25rem!important}.divide-y-1>:not(template):not(:last-child){padding-bottom:.25rem!important}.divide-x-1>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-1>:not(template):not(:first-child){padding-left:.25rem!important}.divide-x-1>:not(template):not(:last-child){padding-right:.25rem!important}.divide-y-2>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-2>:not(template):not(:first-child){padding-top:.5rem!important}.divide-y-2>:not(template):not(:last-child){padding-bottom:.5rem!important}.divide-x-2>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-2>:not(template):not(:first-child){padding-left:.5rem!important}.divide-x-2>:not(template):not(:last-child){padding-right:.5rem!important}.divide-y-3>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-3>:not(template):not(:first-child){padding-top:1rem!important}.divide-y-3>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x-3>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-3>:not(template):not(:first-child){padding-left:1rem!important}.divide-x-3>:not(template):not(:last-child){padding-right:1rem!important}.divide-y-4>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-4>:not(template):not(:first-child){padding-top:1.5rem!important}.divide-y-4>:not(template):not(:last-child){padding-bottom:1.5rem!important}.divide-x-4>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-4>:not(template):not(:first-child){padding-left:1.5rem!important}.divide-x-4>:not(template):not(:last-child){padding-right:1.5rem!important}.divide-y-5>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-5>:not(template):not(:first-child){padding-top:2rem!important}.divide-y-5>:not(template):not(:last-child){padding-bottom:2rem!important}.divide-x-5>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-5>:not(template):not(:first-child){padding-left:2rem!important}.divide-x-5>:not(template):not(:last-child){padding-right:2rem!important}.divide-y-6>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-6>:not(template):not(:first-child){padding-top:3rem!important}.divide-y-6>:not(template):not(:last-child){padding-bottom:3rem!important}.divide-x-6>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-6>:not(template):not(:first-child){padding-left:3rem!important}.divide-x-6>:not(template):not(:last-child){padding-right:3rem!important}.divide-y-7>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-7>:not(template):not(:first-child){padding-top:5rem!important}.divide-y-7>:not(template):not(:last-child){padding-bottom:5rem!important}.divide-x-7>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-7>:not(template):not(:first-child){padding-left:5rem!important}.divide-x-7>:not(template):not(:last-child){padding-right:5rem!important}.divide-y-8>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-8>:not(template):not(:first-child){padding-top:8rem!important}.divide-y-8>:not(template):not(:last-child){padding-bottom:8rem!important}.divide-x-8>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-8>:not(template):not(:first-child){padding-left:8rem!important}.divide-x-8>:not(template):not(:last-child){padding-right:8rem!important}.divide-y-fill{display:flex;flex-direction:column;height:100%}.divide-y-fill>:not(template){flex:1;display:flex;justify-content:center;flex-direction:column}.icon{--tblr-icon-size:1.25rem;width:var(--tblr-icon-size);height:var(--tblr-icon-size);font-size:var(--tblr-icon-size);vertical-align:bottom;stroke-width:1.5}.icon:hover{text-decoration:none}.icon-inline{--tblr-icon-size:1rem;vertical-align:-.2rem}.icon-filled{fill:currentColor}.icon-sm{--tblr-icon-size:1rem;stroke-width:1}.icon-md{--tblr-icon-size:2.5rem;stroke-width:1}.icon-lg{--tblr-icon-size:3.5rem;stroke-width:1}.icon-pulse{transition:all .15s ease 0s;animation:pulse 2s ease infinite;animation-fill-mode:both}.icon-tada{transition:all .15s ease 0s;animation:tada 3s ease infinite;animation-fill-mode:both}.icon-rotate{transition:all .15s ease 0s;animation:rotate-360 3s linear infinite;animation-fill-mode:both}.img-responsive{--tblr-img-responsive-ratio:75%;background:no-repeat center/cover;padding-top:var(--tblr-img-responsive-ratio)}.img-responsive-grid{padding-top:calc(var(--tblr-img-responsive-ratio) - var(--tblr-gutter-y)/ 2)}.img-responsive-1x1{--tblr-img-responsive-ratio:100%}.img-responsive-2x1{--tblr-img-responsive-ratio:50%}.img-responsive-1x2{--tblr-img-responsive-ratio:200%}.img-responsive-3x1{--tblr-img-responsive-ratio:33.3333333333%}.img-responsive-1x3{--tblr-img-responsive-ratio:300%}.img-responsive-4x3{--tblr-img-responsive-ratio:75%}.img-responsive-3x4{--tblr-img-responsive-ratio:133.3333333333%}.img-responsive-16x9{--tblr-img-responsive-ratio:56.25%}.img-responsive-9x16{--tblr-img-responsive-ratio:177.7777777778%}.img-responsive-21x9{--tblr-img-responsive-ratio:42.8571428571%}.img-responsive-9x21{--tblr-img-responsive-ratio:233.3333333333%}textarea[cols]{height:auto}.col-form-label,.form-label{display:block;font-weight:var(--tblr-font-weight-medium)}.col-form-label.required:after,.form-label.required:after{content:"*";margin-left:.25rem;color:#d63939}.form-label-description{float:right;font-weight:var(--tblr-font-weight-normal);color:var(--tblr-muted)}.form-hint{display:block;color:var(--tblr-muted)}.form-hint:last-child{margin-bottom:0}.form-hint+.form-control{margin-top:.25rem}.form-label+.form-hint{margin-top:-.25rem}.form-control+.form-hint,.form-select+.form-hint,.input-group+.form-hint{margin-top:.5rem}.form-select:-moz-focusring{color:var(--tblr-body-color)}.form-control:-webkit-autofill{box-shadow:0 0 0 1000px var(--tblr-body-bg) inset;color:var(--tblr-body-color);-webkit-text-fill-color:var(--tblr-body-color)}.form-control.disabled,.form-control:disabled{color:var(--tblr-muted);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-control[size]{width:auto}.form-control-light{background-color:var(--tblr-gray-100);border-color:transparent}.form-control-dark{background-color:rgba(0,0,0,.1);color:#fff;border-color:transparent}.form-control-dark:focus{background-color:rgba(0,0,0,.1);box-shadow:none;border-color:rgba(255,255,255,.24)}.form-control-dark::-webkit-input-placeholder{color:rgba(255,255,255,.6)}.form-control-dark:-ms-input-placeholder{color:rgba(255,255,255,.6)}.form-control-dark::-ms-input-placeholder{color:rgba(255,255,255,.6)}.form-control-dark::placeholder{color:rgba(255,255,255,.6)}.form-control-rounded{border-radius:10rem}.form-control-flush{padding:0;background:0 0!important;border-color:transparent!important;resize:none;box-shadow:none!important;line-height:inherit}.form-footer{margin-top:2rem}.form-fieldset{padding:1rem;margin-bottom:1rem;background:var(--tblr-body-bg);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.form-help{display:inline-flex;font-weight:var(--tblr-font-weight-bold);align-items:center;justify-content:center;width:1.125rem;height:1.125rem;font-size:.75rem;color:var(--tblr-muted);text-align:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-gray-100);border-radius:100rem;transition:background-color .3s,color .3s}@media (prefers-reduced-motion:reduce){.form-help{transition:none}}.form-help:hover,.form-help[aria-describedby]{color:#fff;background:var(--tblr-primary)}.input-group-link{font-size:.75rem}.input-group-flat:focus-within{box-shadow:0 0 0 .25rem rgba(32,107,196,.25);border-radius:var(--tblr-border-radius)}.input-group-flat:focus-within .form-control,.input-group-flat:focus-within .input-group-text{border-color:#90b5e2!important}.input-group-flat .form-control:focus{border-color:var(--tblr-border-color);box-shadow:none}.input-group-flat .form-control:not(:last-child){border-right:0}.input-group-flat .form-control:not(:first-child){border-left:0}.input-group-flat .input-group-text{background:var(--tblr-bg-forms);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group-flat .input-group-text{transition:none}}.input-group-flat .input-group-text:first-child{padding-right:0}.input-group-flat .input-group-text:last-child{padding-left:0}.form-file-button{margin-left:0;border-left:0}.input-icon{position:relative}.input-icon .form-control:not(:last-child),.input-icon .form-select:not(:last-child){padding-right:2.5rem}.input-icon .form-control:not(:first-child),.input-icon .form-select:not(:last-child){padding-left:2.5rem}.input-icon-addon{position:absolute;top:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;min-width:2.5rem;color:var(--tblr-icon-color);pointer-events:none;font-size:1.2em}.input-icon-addon:last-child{right:0;left:auto}.form-colorinput{position:relative;display:inline-block;margin:0;line-height:1;cursor:pointer}.form-colorinput-input{position:absolute;z-index:-1;opacity:0}.form-colorinput-color{display:block;width:1.5rem;height:1.5rem;color:#fff;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-radius:3px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.form-colorinput-color:before{position:absolute;top:0;left:0;width:100%;height:100%;content:"";background:no-repeat center center/1rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");opacity:0;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-colorinput-color:before{transition:none}}.form-colorinput-input:checked~.form-colorinput-color:before{opacity:1}.form-colorinput-input:focus~.form-colorinput-color{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-colorinput-light .form-colorinput-color:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23182433' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-imagecheck{position:relative;margin:0;cursor:pointer}.form-imagecheck-input{position:absolute;z-index:-1;opacity:0}.form-imagecheck-figure{position:relative;display:block;margin:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px}.form-imagecheck-input:focus~.form-imagecheck-figure{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-imagecheck-input:checked~.form-imagecheck-figure{border-color:var(--tblr-primary)}.form-imagecheck-figure:before{position:absolute;top:.25rem;left:.25rem;z-index:1;display:block;width:1rem;height:1rem;color:#fff;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-bg-forms);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius);transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-figure:before{transition:none}}.form-imagecheck-input:checked~.form-imagecheck-figure:before{background-color:var(--tblr-primary);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");background-repeat:repeat;background-position:center;background-size:1rem;border-color:var(--tblr-border-color-translucent)}.form-imagecheck-input[type=radio]~.form-imagecheck-figure:before{border-radius:50%}.form-imagecheck-input[type=radio]:checked~.form-imagecheck-figure:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-imagecheck-image{max-width:100%;display:block;opacity:.64;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-image{transition:none}}.form-imagecheck-image:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.form-imagecheck-image:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-image,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-image,.form-imagecheck:hover .form-imagecheck-image{opacity:1}.form-imagecheck-caption{padding:.25rem;font-size:.765625rem;color:var(--tblr-muted);text-align:center;transition:color .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-caption{transition:none}}.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-caption,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-caption,.form-imagecheck:hover .form-imagecheck-caption{color:var(--tblr-body-color)}.form-selectgroup{display:inline-flex;margin:0 -.5rem -.5rem 0;flex-wrap:wrap}.form-selectgroup .form-selectgroup-item{margin:0 .5rem .5rem 0}.form-selectgroup-vertical{flex-direction:column}.form-selectgroup-item{display:block;position:relative}.form-selectgroup-input{position:absolute;top:0;left:0;z-index:-1;opacity:0}.form-selectgroup-label{position:relative;display:block;min-width:calc(1.4285714286em + .875rem + calc(var(--tblr-border-width) * 2));margin:0;padding:.4375rem .75rem;font-size:.875rem;line-height:1.4285714286;color:var(--tblr-muted);background:var(--tblr-bg-forms);text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px;transition:border-color .3s,background .3s,color .3s}@media (prefers-reduced-motion:reduce){.form-selectgroup-label{transition:none}}.form-selectgroup-label .icon:only-child{margin:0 -.25rem}.form-selectgroup-label:hover{color:var(--tblr-body-color)}.form-selectgroup-check{display:inline-block;width:1rem;height:1rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);vertical-align:middle}.form-selectgroup-input[type=checkbox]+.form-selectgroup-label .form-selectgroup-check{border-radius:var(--tblr-border-radius)}.form-selectgroup-input[type=radio]+.form-selectgroup-label .form-selectgroup-check{border-radius:50%}.form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-check{background-color:var(--tblr-primary);background-repeat:repeat;background-position:center;background-size:1rem;border-color:var(--tblr-border-color-translucent)}.form-selectgroup-input[type=checkbox]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-selectgroup-input[type=radio]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-selectgroup-check-floated{position:absolute;top:.4375rem;right:.4375rem}.form-selectgroup-input:checked+.form-selectgroup-label{z-index:1;color:var(--tblr-primary);background:rgba(var(--tblr-primary-rgb),.04);border-color:var(--tblr-primary)}.form-selectgroup-input:focus+.form-selectgroup-label{z-index:2;color:var(--tblr-primary);border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-selectgroup-boxes .form-selectgroup-label{text-align:left;padding:1.5rem 1rem;color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label{color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-title{color:var(--tblr-primary)}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-label-content{opacity:1}.form-selectgroup-pills{flex-wrap:wrap;align-items:flex-start}.form-selectgroup-pills .form-selectgroup-item{flex-grow:0}.form-selectgroup-pills .form-selectgroup-label{border-radius:50px}.form-control-color::-webkit-color-swatch{border:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.form-control::-webkit-file-upload-button{background-color:var(--tblr-btn-color,var(--tblr-tertiary-bg))}.form-control::file-selector-button{background-color:var(--tblr-btn-color,var(--tblr-tertiary-bg))}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--tblr-btn-color,var(--tblr-secondary-bg))}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--tblr-btn-color,var(--tblr-secondary-bg))}.form-check{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-check.form-check-highlight .form-check-input:not(:checked)~.form-check-label{color:var(--tblr-muted)}.form-check .form-check-label-off{color:var(--tblr-muted)}.form-check .form-check-input:checked~.form-check-label-off{display:none}.form-check .form-check-input:not(:checked)~.form-check-label-on{display:none}.form-check-input{background-size:1rem;margin-top:.125rem}.form-switch .form-check-input{transition:background-color .3s,background-position .3s}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-check-label{display:block}.form-check-label.required:after{content:"*";margin-left:.25rem;color:#d63939}.form-check-description{display:block;color:var(--tblr-muted);font-size:.75rem;margin-top:.25rem}.form-check-single{margin:0}.form-check-single .form-check-input{margin:0}.form-switch .form-check-input{height:1.125rem;margin-top:.0625rem}.form-switch-lg{padding-left:3.5rem;min-height:1.5rem}.form-switch-lg .form-check-input{height:1.5rem;width:2.75rem;background-size:1.5rem;margin-left:-3.5rem}.form-switch-lg .form-check-label{padding-top:.125rem}.form-check-input:checked{border:none}.form-control.is-invalid-lite,.form-control.is-valid-lite,.form-select.is-invalid-lite,.form-select.is-valid-lite{border-color:var(--tblr-border-color)!important}.legend{--tblr-legend-size:0.75em;display:inline-block;background:var(--tblr-border-color);width:var(--tblr-legend-size);height:var(--tblr-legend-size);border-radius:var(--tblr-border-radius-sm)}.list-group{margin-left:0;margin-right:0}.list-group-header{background:var(--tblr-bg-surface-tertiary);padding:.5rem 1.5rem;font-size:.75rem;font-weight:var(--tblr-font-weight-medium);line-height:1;text-transform:uppercase;color:var(--tblr-muted);border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.list-group-flush>.list-group-header:last-child{border-bottom-width:0}.list-group-item{background-color:inherit}.list-group-item.active{background-color:rgba(var(--tblr-muted-rgb),.04);border-left-color:#206bc4;border-left-width:2px}.list-group-item:active,.list-group-item:focus,.list-group-item:hover{background-color:rgba(var(--tblr-muted-rgb),.04)}.list-group-item.disabled,.list-group-item:disabled{color:#929dab;background-color:rgba(var(--tblr-muted-rgb),.04)}.list-bordered .list-item{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);margin-top:-1px}.list-bordered .list-item:first-child{border-top:none}.list-group-hoverable .list-group-item-actions{opacity:0;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.list-group-hoverable .list-group-item-actions{transition:none}}.list-group-hoverable .list-group-item-actions.show,.list-group-hoverable .list-group-item:hover .list-group-item-actions{opacity:1}.list-group-transparent{--tblr-list-group-border-radius:0;margin:0 -1.5rem}.list-group-transparent .list-group-item{background:0 0;border:0}.list-group-transparent .list-group-item .icon{color:var(--tblr-muted)}.list-group-transparent .list-group-item.active{font-weight:var(--tblr-font-weight-bold);color:inherit;background:var(--tblr-active-bg)}.list-group-transparent .list-group-item.active .icon{color:inherit}.list-separated-item{padding:1rem 0}.list-separated-item:first-child{padding-top:0}.list-separated-item:last-child{padding-bottom:0}.list-separated-item+.list-separated-item{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.list-inline-item:not(:last-child){margin-right:auto;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.list-inline-dots .list-inline-item+.list-inline-item:before{content:" · ";-webkit-margin-end:.5rem;margin-inline-end:.5rem}.loader{position:relative;display:block;width:2.5rem;height:2.5rem;color:#206bc4;vertical-align:middle}.loader:after{position:absolute;top:0;left:0;width:100%;height:100%;content:"";border:1px var(--tblr-border-style);border-color:transparent;border-top-color:currentColor;border-left-color:currentColor;border-radius:100rem;animation:rotate-360 .6s linear;animation-iteration-count:infinite}.dimmer{position:relative}.dimmer .loader{position:absolute;top:50%;right:0;left:0;display:none;margin:0 auto;transform:translateY(-50%)}.dimmer.active .loader{display:block}.dimmer.active .dimmer-content{pointer-events:none;opacity:.1}@keyframes animated-dots{0%{transform:translateX(-100%)}}.animated-dots{display:inline-block;overflow:hidden;vertical-align:bottom}.animated-dots:after{display:inline-block;content:"...";animation:animated-dots 1.2s steps(4,jump-none) infinite}.modal-content .btn-close{position:absolute;top:0;right:0;width:3.5rem;height:3.5rem;margin:0;padding:0;z-index:10}.modal-body{scrollbar-color:rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16) transparent}.modal-body::-webkit-scrollbar{width:1rem;height:1rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){.modal-body::-webkit-scrollbar{-webkit-transition:none;transition:none}}.modal-body::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16)}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.32)}.modal-body::-webkit-scrollbar-corner{background:0 0}.modal-body .modal-title{margin-bottom:1rem}.modal-body+.modal-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.modal-status{position:absolute;top:0;left:0;right:0;height:2px;background:var(--tblr-muted);border-radius:var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0}.modal-header{align-items:center;min-height:3.5rem;background:0 0;padding:0 3.5rem 0 1.5rem}.modal-title{font-size:1rem;font-weight:var(--tblr-font-weight-bold);line-height:1.4285714286}.modal-footer{padding-top:.75rem;padding-bottom:.75rem}.modal-blur{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-full-width{max-width:none;margin:0 .5rem}.nav-vertical,.nav-vertical .nav{flex-direction:column;flex-wrap:nowrap}.nav-vertical .nav{margin-left:1.25rem;border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding-left:.5rem}.nav-vertical .nav-item.show .nav-link,.nav-vertical .nav-link.active{font-weight:var(--tblr-font-weight-bold)}.nav-vertical.nav-pills{margin:0 -.75rem}.nav-bordered{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.nav-bordered .nav-item+.nav-item{margin-left:1.25rem}.nav-bordered .nav-link{padding-left:0;padding-right:0;margin:0 0 -var(--tblr-border-width);border:0;border-bottom:2px var(--tblr-border-style) transparent;color:var(--tblr-muted)}.nav-bordered .nav-item.show .nav-link,.nav-bordered .nav-link.active{color:var(--tblr-primary);border-color:var(--tblr-primary)}.nav-link{display:flex;transition:color .3s;align-items:center}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link-toggle{margin-left:auto;padding:0 .25rem;transition:transform .3s}@media (prefers-reduced-motion:reduce){.nav-link-toggle{transition:none}}.nav-link-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(-45deg)}.nav-link-toggle:after{margin:0}.nav-link[aria-expanded=true] .nav-link-toggle{transform:rotate(180deg)}.nav-link-icon{width:1.25rem;height:1.25rem;margin-right:.5rem;color:var(--tblr-icon-color)}.nav-link-icon svg{display:block;height:100%}.nav-fill .nav-item .nav-link{justify-content:center}.stars{display:inline-flex;color:#bbc3cd;font-size:.75rem}.stars .star:not(:first-child){margin-left:.25rem}.pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.page-link{min-width:1.75rem;border-radius:var(--tblr-border-radius)}.page-item{text-align:center}.page-item:not(.active) .page-link:hover{background:0 0}.page-item.page-next,.page-item.page-prev{flex:0 0 50%;text-align:left}.page-item.page-next{margin-left:auto;text-align:right}.page-item-subtitle{margin-bottom:2px;font-size:12px;color:var(--tblr-muted);text-transform:uppercase}.page-item.disabled .page-item-subtitle{color:var(--tblr-disabled-color)}.page-item-title{font-size:1rem;font-weight:var(--tblr-font-weight-normal);color:var(--tblr-body-color)}.page-link:hover .page-item-title{color:#206bc4}.page-item.disabled .page-item-title{color:var(--tblr-disabled-color)}@keyframes progress-indeterminate{0%{right:100%;left:-35%}100%,60%{right:-90%;left:100%}}.progress{position:relative;width:100%;line-height:.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.progress::-webkit-progress-bar{background:var(--tblr-progress-bg)}.progress::-webkit-progress-value{background-color:var(--tblr-primary)}.progress::-moz-progress-bar{background-color:var(--tblr-primary)}.progress::-ms-fill{background-color:var(--tblr-primary);border:none}.progress-sm{height:.25rem}.progress-bar{height:100%}.progress-bar-indeterminate:after,.progress-bar-indeterminate:before{position:absolute;top:0;bottom:0;left:0;content:"";background-color:inherit;will-change:left,right}.progress-bar-indeterminate:before{animation:progress-indeterminate 1.5s cubic-bezier(.65,.815,.735,.395) infinite}.progress-separated .progress-bar{box-shadow:0 0 0 2px var(--tblr-card-bg,var(--tblr-bg-surface))}.progressbg{position:relative;padding:.25rem .5rem;display:flex}.progressbg-text{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progressbg-progress{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;height:100%;background:0 0;pointer-events:none}.progressbg-value{font-weight:var(--tblr-font-weight-medium);margin-left:auto;padding-left:2rem}.ribbon{--tblr-ribbon-margin:0.25rem;--tblr-ribbon-border-radius:var(--tblr-border-radius);position:absolute;top:.75rem;right:calc(-1 * var(--tblr-ribbon-margin));z-index:1;padding:.25rem .75rem;font-size:.625rem;font-weight:var(--tblr-font-weight-bold);line-height:1;color:#fff;text-align:center;text-transform:uppercase;background:var(--tblr-primary);border-color:var(--tblr-primary);border-radius:var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius);display:inline-flex;align-items:center;justify-content:center;min-height:2rem;min-width:2rem}.ribbon:before{position:absolute;right:0;bottom:100%;width:0;height:0;content:"";filter:brightness(70%);border:calc(var(--tblr-ribbon-margin) * .5) var(--tblr-border-style);border-color:inherit;border-top-color:transparent;border-right-color:transparent}.ribbon.bg-blue{border-color:var(--tblr-blue)}.ribbon.bg-blue-lt{border-color:rgba(var(--tblr-blue-rgb),.1)!important}.ribbon.bg-azure{border-color:var(--tblr-azure)}.ribbon.bg-azure-lt{border-color:rgba(var(--tblr-azure-rgb),.1)!important}.ribbon.bg-indigo{border-color:var(--tblr-indigo)}.ribbon.bg-indigo-lt{border-color:rgba(var(--tblr-indigo-rgb),.1)!important}.ribbon.bg-purple{border-color:var(--tblr-purple)}.ribbon.bg-purple-lt{border-color:rgba(var(--tblr-purple-rgb),.1)!important}.ribbon.bg-pink{border-color:var(--tblr-pink)}.ribbon.bg-pink-lt{border-color:rgba(var(--tblr-pink-rgb),.1)!important}.ribbon.bg-red{border-color:var(--tblr-red)}.ribbon.bg-red-lt{border-color:rgba(var(--tblr-red-rgb),.1)!important}.ribbon.bg-orange{border-color:var(--tblr-orange)}.ribbon.bg-orange-lt{border-color:rgba(var(--tblr-orange-rgb),.1)!important}.ribbon.bg-yellow{border-color:var(--tblr-yellow)}.ribbon.bg-yellow-lt{border-color:rgba(var(--tblr-yellow-rgb),.1)!important}.ribbon.bg-lime{border-color:var(--tblr-lime)}.ribbon.bg-lime-lt{border-color:rgba(var(--tblr-lime-rgb),.1)!important}.ribbon.bg-green{border-color:var(--tblr-green)}.ribbon.bg-green-lt{border-color:rgba(var(--tblr-green-rgb),.1)!important}.ribbon.bg-teal{border-color:var(--tblr-teal)}.ribbon.bg-teal-lt{border-color:rgba(var(--tblr-teal-rgb),.1)!important}.ribbon.bg-cyan{border-color:var(--tblr-cyan)}.ribbon.bg-cyan-lt{border-color:rgba(var(--tblr-cyan-rgb),.1)!important}.ribbon .icon{width:1.25rem;height:1.25rem;font-size:1.25rem}.ribbon-top{top:calc(-1 * var(--tblr-ribbon-margin));right:.75rem;width:2rem;padding:.5rem 0;border-radius:0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius)}.ribbon-top:before{top:0;right:100%;bottom:auto;border-color:inherit;border-top-color:transparent;border-left-color:transparent}.ribbon-top.ribbon-start{right:auto;left:.75rem}.ribbon-top.ribbon-start:before{top:0;right:100%;left:auto}.ribbon-start{right:auto;left:calc(-1 * var(--tblr-ribbon-margin))}.ribbon-start:before{top:auto;bottom:100%;left:0;border-color:inherit;border-top-color:transparent;border-left-color:transparent}.ribbon-bottom{top:auto;bottom:.75rem}.ribbon-bookmark{padding-left:.25rem;border-radius:0 0 var(--tblr-ribbon-border-radius) 0}.ribbon-bookmark:after{position:absolute;top:0;right:100%;display:block;width:0;height:0;content:"";border:1rem var(--tblr-border-style);border-color:inherit;border-right-width:0;border-left-color:transparent;border-left-width:.5rem}.ribbon-bookmark.ribbon-left{padding-right:.5rem}.ribbon-bookmark.ribbon-left:after{right:auto;left:100%;border-right-color:transparent;border-right-width:.5rem;border-left-width:0}.ribbon-bookmark.ribbon-top{padding-right:0;padding-bottom:.25rem;padding-left:0;border-radius:0 var(--tblr-ribbon-border-radius) 0 0}.ribbon-bookmark.ribbon-top:after{top:100%;right:0;left:0;border-color:inherit;border-width:1rem;border-top-width:0;border-bottom-color:transparent;border-bottom-width:.5rem}.markdown{line-height:1.7142857143}.markdown>:first-child{margin-top:0}.markdown>:last-child,.markdown>:last-child .highlight{margin-bottom:0}@media (min-width:768px){.markdown>.hr,.markdown>hr{margin-top:3em;margin-bottom:3em}}.markdown>.h1,.markdown>.h2,.markdown>.h3,.markdown>.h4,.markdown>.h5,.markdown>.h6,.markdown>h1,.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{font-weight:var(--tblr-font-weight-bold)}.markdown>blockquote{font-size:1rem;margin:1.5rem 0;padding:.5rem 1.5rem}.markdown>img{border-radius:var(--tblr-border-radius)}.placeholder:not(.btn):not([class*=bg-]){background-color:currentColor!important}.placeholder:not(.avatar):not([class*=card-img-]){border-radius:var(--tblr-border-radius)}.steps{--tblr-steps-color:var(--tblr-primary);--tblr-steps-inactive-color:var(--tblr-border-color);--tblr-steps-dot-size:.5rem;--tblr-steps-border-width:2px;display:flex;flex-wrap:nowrap;width:100%;padding:0;margin:0;list-style:none}.steps-blue{--tblr-steps-color:var(--tblr-blue)}.steps-azure{--tblr-steps-color:var(--tblr-azure)}.steps-indigo{--tblr-steps-color:var(--tblr-indigo)}.steps-purple{--tblr-steps-color:var(--tblr-purple)}.steps-pink{--tblr-steps-color:var(--tblr-pink)}.steps-red{--tblr-steps-color:var(--tblr-red)}.steps-orange{--tblr-steps-color:var(--tblr-orange)}.steps-yellow{--tblr-steps-color:var(--tblr-yellow)}.steps-lime{--tblr-steps-color:var(--tblr-lime)}.steps-green{--tblr-steps-color:var(--tblr-green)}.steps-teal{--tblr-steps-color:var(--tblr-teal)}.steps-cyan{--tblr-steps-color:var(--tblr-cyan)}.step-item{position:relative;flex:1 1 0;min-height:1rem;margin-top:0;color:inherit;text-align:center;cursor:default;padding-top:calc(var(--tblr-steps-dot-size))}a.step-item{cursor:pointer}a.step-item:hover{color:inherit}.step-item:after,.step-item:before{background:var(--tblr-steps-color)}.step-item:not(:last-child):after{position:absolute;left:50%;width:100%;content:"";transform:translateY(-50%)}.step-item:after{top:calc(var(--tblr-steps-dot-size) * .5);height:var(--tblr-steps-border-width)}.step-item:before{content:"";position:absolute;top:0;left:50%;z-index:1;box-sizing:content-box;display:flex;align-items:center;justify-content:center;border-radius:100rem;transform:translateX(-50%);color:var(--tblr-white);width:var(--tblr-steps-dot-size);height:var(--tblr-steps-dot-size)}.step-item.active{font-weight:var(--tblr-font-weight-bold)}.step-item.active:after{background:var(--tblr-steps-inactive-color)}.step-item.active~.step-item{color:var(--tblr-disabled-color)}.step-item.active~.step-item:after,.step-item.active~.step-item:before{background:var(--tblr-steps-inactive-color)}.steps-counter{--tblr-steps-dot-size:1.5rem;counter-reset:steps}.steps-counter .step-item{counter-increment:steps}.steps-counter .step-item:before{content:counter(steps)}.steps-vertical{--tblr-steps-dot-offset:6px;flex-direction:column}.steps-vertical.steps-counter{--tblr-steps-dot-offset:-2px}.steps-vertical .step-item{text-align:left;padding-top:0;padding-left:calc(var(--tblr-steps-dot-size) + 1rem);min-height:auto}.steps-vertical .step-item:not(:first-child){margin-top:1rem}.steps-vertical .step-item:before{top:var(--tblr-steps-dot-offset);left:0;transform:translate(0,0)}.steps-vertical .step-item:not(:last-child):after{position:absolute;content:"";transform:translateX(-50%);top:var(--tblr-steps-dot-offset);left:calc(var(--tblr-steps-dot-size) * .5);width:var(--tblr-steps-border-width);height:calc(100% + 1rem)}@keyframes status-pulsate-main{40%{transform:scale(1.25,1.25)}60%{transform:scale(1.25,1.25)}}@keyframes status-pulsate-secondary{10%{transform:scale(1,1)}30%{transform:scale(3,3)}80%{transform:scale(3,3)}100%{transform:scale(1,1)}}@keyframes status-pulsate-tertiary{25%{transform:scale(1,1)}80%{transform:scale(3,3);opacity:0}100%{transform:scale(3,3);opacity:0}}.status{--tblr-status-height:1.5rem;--tblr-status-color:#667382;--tblr-status-color-rgb:102,115,130;display:inline-flex;align-items:center;height:var(--tblr-status-height);padding:.25rem .75rem;gap:.5rem;color:var(--tblr-status-color);background:rgba(var(--tblr-status-color-rgb),.1);font-size:.875rem;text-transform:none;letter-spacing:normal;border-radius:100rem;font-weight:var(--tblr-font-weight-medium);line-height:1;margin:0}.status .status-dot{background:var(--tblr-status-color)}.status .icon{font-size:1.25rem}.status-lite{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;background:0 0!important;color:var(--tblr-body-color)!important}.status-primary{--tblr-status-color:#206bc4;--tblr-status-color-rgb:32,107,196}.status-secondary{--tblr-status-color:#667382;--tblr-status-color-rgb:102,115,130}.status-success{--tblr-status-color:#2fb344;--tblr-status-color-rgb:47,179,68}.status-info{--tblr-status-color:#4299e1;--tblr-status-color-rgb:66,153,225}.status-warning{--tblr-status-color:#f76707;--tblr-status-color-rgb:247,103,7}.status-danger{--tblr-status-color:#d63939;--tblr-status-color-rgb:214,57,57}.status-light{--tblr-status-color:#fcfdfe;--tblr-status-color-rgb:252,253,254}.status-dark{--tblr-status-color:#182433;--tblr-status-color-rgb:24,36,51}.status-muted{--tblr-status-color:#667382;--tblr-status-color-rgb:102,115,130}.status-blue{--tblr-status-color:#206bc4;--tblr-status-color-rgb:32,107,196}.status-azure{--tblr-status-color:#4299e1;--tblr-status-color-rgb:66,153,225}.status-indigo{--tblr-status-color:#4263eb;--tblr-status-color-rgb:66,99,235}.status-purple{--tblr-status-color:#ae3ec9;--tblr-status-color-rgb:174,62,201}.status-pink{--tblr-status-color:#d6336c;--tblr-status-color-rgb:214,51,108}.status-red{--tblr-status-color:#d63939;--tblr-status-color-rgb:214,57,57}.status-orange{--tblr-status-color:#f76707;--tblr-status-color-rgb:247,103,7}.status-yellow{--tblr-status-color:#f59f00;--tblr-status-color-rgb:245,159,0}.status-lime{--tblr-status-color:#74b816;--tblr-status-color-rgb:116,184,22}.status-green{--tblr-status-color:#2fb344;--tblr-status-color-rgb:47,179,68}.status-teal{--tblr-status-color:#0ca678;--tblr-status-color-rgb:12,166,120}.status-cyan{--tblr-status-color:#17a2b8;--tblr-status-color-rgb:23,162,184}.status-facebook{--tblr-status-color:#1877f2;--tblr-status-color-rgb:24,119,242}.status-twitter{--tblr-status-color:#1da1f2;--tblr-status-color-rgb:29,161,242}.status-linkedin{--tblr-status-color:#0a66c2;--tblr-status-color-rgb:10,102,194}.status-google{--tblr-status-color:#dc4e41;--tblr-status-color-rgb:220,78,65}.status-youtube{--tblr-status-color:#ff0000;--tblr-status-color-rgb:255,0,0}.status-vimeo{--tblr-status-color:#1ab7ea;--tblr-status-color-rgb:26,183,234}.status-dribbble{--tblr-status-color:#ea4c89;--tblr-status-color-rgb:234,76,137}.status-github{--tblr-status-color:#181717;--tblr-status-color-rgb:24,23,23}.status-instagram{--tblr-status-color:#e4405f;--tblr-status-color-rgb:228,64,95}.status-pinterest{--tblr-status-color:#bd081c;--tblr-status-color-rgb:189,8,28}.status-vk{--tblr-status-color:#6383a8;--tblr-status-color-rgb:99,131,168}.status-rss{--tblr-status-color:#ffa500;--tblr-status-color-rgb:255,165,0}.status-flickr{--tblr-status-color:#0063dc;--tblr-status-color-rgb:0,99,220}.status-bitbucket{--tblr-status-color:#0052cc;--tblr-status-color-rgb:0,82,204}.status-tabler{--tblr-status-color:#206bc4;--tblr-status-color-rgb:32,107,196}.status-dot{--tblr-status-dot-color:var(--tblr-status-color, #667382);--tblr-status-size:0.5rem;position:relative;display:inline-block;width:var(--tblr-status-size);height:var(--tblr-status-size);background:var(--tblr-status-dot-color);border-radius:100rem}.status-dot-animated:before{content:"";position:absolute;inset:0;z-index:0;background:inherit;border-radius:inherit;opacity:.6;animation:1s linear 2s backwards infinite status-pulsate-tertiary}.status-indicator{--tblr-status-indicator-size:2.5rem;--tblr-status-indicator-color:var(--tblr-status-color, #667382);display:block;position:relative;width:var(--tblr-status-indicator-size);height:var(--tblr-status-indicator-size)}.status-indicator-circle{--tblr-status-circle-size:.75rem;position:absolute;left:50%;top:50%;margin:calc(var(--tblr-status-circle-size)/ -2) 0 0 calc(var(--tblr-status-circle-size)/ -2);width:var(--tblr-status-circle-size);height:var(--tblr-status-circle-size);border-radius:100rem;background:var(--tblr-status-color)}.status-indicator-circle:nth-child(1){z-index:3}.status-indicator-circle:nth-child(2){z-index:2;opacity:.1}.status-indicator-circle:nth-child(3){z-index:1;opacity:.3}.status-indicator-animated .status-indicator-circle:nth-child(1){animation:2s linear 1s infinite backwards status-pulsate-main}.status-indicator-animated .status-indicator-circle:nth-child(2){animation:2s linear 1s infinite backwards status-pulsate-secondary}.status-indicator-animated .status-indicator-circle:nth-child(3){animation:2s linear 1s infinite backwards status-pulsate-tertiary}.switch-icon{display:inline-block;line-height:1;border:0;padding:0;background:0 0;width:1.25rem;height:1.25rem;vertical-align:bottom;position:relative;cursor:pointer}.switch-icon.disabled{pointer-events:none;opacity:.4}.switch-icon:focus{outline:0}.switch-icon svg{display:block;width:100%;height:100%}.switch-icon .switch-icon-a,.switch-icon .switch-icon-b{display:block;width:100%;height:100%}.switch-icon .switch-icon-a{opacity:1}.switch-icon .switch-icon-b{position:absolute;top:0;left:0;opacity:0}.switch-icon.active .switch-icon-a{opacity:0}.switch-icon.active .switch-icon-b{opacity:1}.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:opacity .5s}@media (prefers-reduced-motion:reduce){.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:opacity .5s,transform 0s .5s}@media (prefers-reduced-motion:reduce){.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-b{transform:scale(1.5)}.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:opacity 0s,transform .5s}@media (prefers-reduced-motion:reduce){.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:none}}.switch-icon-scale.active .switch-icon-b{transform:scale(1)}.switch-icon-flip{perspective:10em}.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d;transition:opacity 0s .2s,transform .4s ease-in-out}@media (prefers-reduced-motion:reduce){.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{transition:none}}.switch-icon-flip .switch-icon-a{opacity:1;transform:rotateY(0)}.switch-icon-flip .switch-icon-b{opacity:1;transform:rotateY(-180deg)}.switch-icon-flip.active .switch-icon-a{opacity:1;transform:rotateY(180deg)}.switch-icon-flip.active .switch-icon-b{opacity:1;transform:rotateY(0)}.switch-icon-slide-down,.switch-icon-slide-left,.switch-icon-slide-right,.switch-icon-slide-up{overflow:hidden}.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b{transition:opacity .3s,transform .3s}@media (prefers-reduced-motion:reduce){.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b{transition:none}}.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-up .switch-icon-a{transform:translateY(0)}.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-b{transform:translateY(100%)}.switch-icon-slide-down.active .switch-icon-a,.switch-icon-slide-left.active .switch-icon-a,.switch-icon-slide-right.active .switch-icon-a,.switch-icon-slide-up.active .switch-icon-a{transform:translateY(-100%)}.switch-icon-slide-down.active .switch-icon-b,.switch-icon-slide-left.active .switch-icon-b,.switch-icon-slide-right.active .switch-icon-b,.switch-icon-slide-up.active .switch-icon-b{transform:translateY(0)}.switch-icon-slide-left .switch-icon-a{transform:translateX(0)}.switch-icon-slide-left .switch-icon-b{transform:translateX(100%)}.switch-icon-slide-left.active .switch-icon-a{transform:translateX(-100%)}.switch-icon-slide-left.active .switch-icon-b{transform:translateX(0)}.switch-icon-slide-right .switch-icon-a{transform:translateX(0)}.switch-icon-slide-right .switch-icon-b{transform:translateX(-100%)}.switch-icon-slide-right.active .switch-icon-a{transform:translateX(100%)}.switch-icon-slide-right.active .switch-icon-b{transform:translateX(0)}.switch-icon-slide-down .switch-icon-a{transform:translateY(0)}.switch-icon-slide-down .switch-icon-b{transform:translateY(-100%)}.switch-icon-slide-down.active .switch-icon-a{transform:translateY(100%)}.switch-icon-slide-down.active .switch-icon-b{transform:translateY(0)}.markdown>table thead th,.table thead th{color:var(--tblr-muted);background:var(--tblr-bg-surface-tertiary);font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);padding-top:.5rem;padding-bottom:.5rem;white-space:nowrap}@media print{.markdown>table thead th,.table thead th{background:0 0}}.table-responsive .markdown>table,.table-responsive .table{margin-bottom:0}.table-responsive+.card-footer{border-top:0}.table-transparent thead th{background:0 0}.table-nowrap>:not(caption)>*>*{white-space:nowrap}.table-vcenter>:not(caption)>*>*{vertical-align:middle}.table-center>:not(caption)>*>*{text-align:center}.td-truncate{max-width:1px;width:100%}.table-mobile{display:block}.table-mobile thead{display:none}.table-mobile tbody,.table-mobile tr{display:flex;flex-direction:column}.table-mobile td{display:block;padding:.75rem .75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile .btn{display:block}@media (max-width:575.98px){.table-mobile-sm{display:block}.table-mobile-sm thead{display:none}.table-mobile-sm tbody,.table-mobile-sm tr{display:flex;flex-direction:column}.table-mobile-sm td{display:block;padding:.75rem .75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-sm td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-sm tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-sm .btn{display:block}}@media (max-width:767.98px){.table-mobile-md{display:block}.table-mobile-md thead{display:none}.table-mobile-md tbody,.table-mobile-md tr{display:flex;flex-direction:column}.table-mobile-md td{display:block;padding:.75rem .75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-md td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-md tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-md .btn{display:block}}@media (max-width:991.98px){.table-mobile-lg{display:block}.table-mobile-lg thead{display:none}.table-mobile-lg tbody,.table-mobile-lg tr{display:flex;flex-direction:column}.table-mobile-lg td{display:block;padding:.75rem .75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-lg td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-lg tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-lg .btn{display:block}}@media (max-width:1199.98px){.table-mobile-xl{display:block}.table-mobile-xl thead{display:none}.table-mobile-xl tbody,.table-mobile-xl tr{display:flex;flex-direction:column}.table-mobile-xl td{display:block;padding:.75rem .75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-xl td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-xl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xl .btn{display:block}}@media (max-width:1399.98px){.table-mobile-xxl{display:block}.table-mobile-xxl thead{display:none}.table-mobile-xxl tbody,.table-mobile-xxl tr{display:flex;flex-direction:column}.table-mobile-xxl td{display:block;padding:.75rem .75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-xxl td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-xxl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xxl .btn{display:block}}.table-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;border:0;background:inherit;display:block;width:100%;text-align:inherit;transition:color .3s;margin:-.5rem -.75rem;padding:.5rem .75rem}@media (prefers-reduced-motion:reduce){.table-sort{transition:none}}.table-sort.asc,.table-sort.desc,.table-sort:hover{color:var(--tblr-body-color)}.table-sort:after{content:"";display:inline-flex;width:1rem;height:1rem;vertical-align:bottom;-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,");background:currentColor;margin-left:.25rem}.table-sort.asc:after{-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,")}.table-sort.desc:after{-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,")}.table-borderless thead th{background:0 0}.toast{background:#fff;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);box-shadow:rgba(24,36,51,.04) 0 2px 4px 0}.toast .toast-header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.toast button[data-bs-dismiss=toast]{outline:0}.toast-primary{--tblr-toast-color:#206bc4}.toast-secondary{--tblr-toast-color:#667382}.toast-success{--tblr-toast-color:#2fb344}.toast-info{--tblr-toast-color:#4299e1}.toast-warning{--tblr-toast-color:#f76707}.toast-danger{--tblr-toast-color:#d63939}.toast-light{--tblr-toast-color:#fcfdfe}.toast-dark{--tblr-toast-color:#182433}.toast-muted{--tblr-toast-color:#667382}.toast-blue{--tblr-toast-color:#206bc4}.toast-azure{--tblr-toast-color:#4299e1}.toast-indigo{--tblr-toast-color:#4263eb}.toast-purple{--tblr-toast-color:#ae3ec9}.toast-pink{--tblr-toast-color:#d6336c}.toast-red{--tblr-toast-color:#d63939}.toast-orange{--tblr-toast-color:#f76707}.toast-yellow{--tblr-toast-color:#f59f00}.toast-lime{--tblr-toast-color:#74b816}.toast-green{--tblr-toast-color:#2fb344}.toast-teal{--tblr-toast-color:#0ca678}.toast-cyan{--tblr-toast-color:#17a2b8}.toast-facebook{--tblr-toast-color:#1877f2}.toast-twitter{--tblr-toast-color:#1da1f2}.toast-linkedin{--tblr-toast-color:#0a66c2}.toast-google{--tblr-toast-color:#dc4e41}.toast-youtube{--tblr-toast-color:#ff0000}.toast-vimeo{--tblr-toast-color:#1ab7ea}.toast-dribbble{--tblr-toast-color:#ea4c89}.toast-github{--tblr-toast-color:#181717}.toast-instagram{--tblr-toast-color:#e4405f}.toast-pinterest{--tblr-toast-color:#bd081c}.toast-vk{--tblr-toast-color:#6383a8}.toast-rss{--tblr-toast-color:#ffa500}.toast-flickr{--tblr-toast-color:#0063dc}.toast-bitbucket{--tblr-toast-color:#0052cc}.toast-tabler{--tblr-toast-color:#206bc4}.toolbar{display:flex;flex-wrap:nowrap;flex-shrink:0;margin:0 -.5rem}.toolbar>*{margin:0 .5rem}.tracking{--tblr-tracking-height:1.5rem;--tblr-tracking-gap-width:0.125rem;--tblr-tracking-block-border-radius:var(--tblr-border-radius);display:flex;gap:var(--tblr-tracking-gap-width)}.tracking-squares{--tblr-tracking-block-border-radius:var(--tblr-border-radius-sm)}.tracking-squares .tracking-block{height:auto}.tracking-squares .tracking-block:before{content:"";display:block;padding-top:100%}.tracking-block{flex:1;border-radius:var(--tblr-tracking-block-border-radius);height:var(--tblr-tracking-height);min-width:.25rem;background:var(--tblr-border-color)}.timeline{--tblr-timeline-icon-size:2.5rem;position:relative;list-style:none;padding:0}.timeline-event{position:relative}.timeline-event:not(:last-child){margin-bottom:var(--tblr-page-padding)}.timeline-event:not(:last-child):before{content:"";position:absolute;top:var(--tblr-timeline-icon-size);left:calc(var(--tblr-timeline-icon-size)/ 2);bottom:calc(-1 * var(--tblr-page-padding));width:var(--tblr-border-width);background-color:var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.timeline-event-icon{position:absolute;display:flex;align-items:center;justify-content:center;width:var(--tblr-timeline-icon-size,2.5rem);height:var(--tblr-timeline-icon-size,2.5rem);background:var(--tblr-gray-200);color:var(--tblr-muted);border-radius:var(--tblr-border-radius);z-index:5}.timeline-event-card{margin-left:calc(var(--tblr-timeline-icon-size,2.5rem) + var(--tblr-page-padding))}.timeline-simple .timeline-event-icon{display:none}.timeline-simple .timeline-event-card{margin-left:0}.hr-text{display:flex;align-items:center;margin:2rem 0;font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);height:1px}.hr-text:after,.hr-text:before{flex:1 1 auto;height:1px;background-color:var(--tblr-border-color)}.hr-text:before{content:"";margin-right:.5rem}.hr-text:after{content:"";margin-left:.5rem}.hr-text>:first-child{padding-right:.5rem;padding-left:0;color:var(--tblr-muted)}.hr-text.hr-text-left:before{content:none}.hr-text.hr-text-left>:first-child{padding-right:.5rem;padding-left:.5rem}.hr-text.hr-text-right:before{content:""}.hr-text.hr-text-right:after{content:none}.hr-text.hr-text-right>:first-child{padding-right:0;padding-left:.5rem}.card>.hr-text{margin:0}.hr-text-spaceless{margin:-.5rem 0}.lead{line-height:1.4}a{-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}.h1 a,.h2 a,.h3 a,.h4 a,.h5 a,.h6 a,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit}.h1 a:hover,.h2 a:hover,.h3 a:hover,.h4 a:hover,.h5 a:hover,.h6 a:hover,h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:inherit}.h1,h1{font-size:var(--tblr-font-size-h1);line-height:var(--tblr-line-height-h1)}.h2,h2{font-size:var(--tblr-font-size-h2);line-height:var(--tblr-line-height-h2)}.h3,h3{font-size:var(--tblr-font-size-h3);line-height:var(--tblr-line-height-h3)}.h4,h4{font-size:var(--tblr-font-size-h4);line-height:var(--tblr-line-height-h4)}.h5,h5{font-size:var(--tblr-font-size-h5);line-height:var(--tblr-line-height-h5)}.h6,h6{font-size:var(--tblr-font-size-h6);line-height:var(--tblr-line-height-h6)}.strong,b,strong{font-weight:var(--tblr-font-weight-bold)}blockquote{padding-left:1rem;border-left:2px var(--tblr-border-style) var(--tblr-border-color)}blockquote p{margin-bottom:1rem}blockquote cite{display:block;text-align:right}blockquote cite:before{content:"— "}ol,ul{padding-left:1.5rem}.hr,hr{margin:2rem 0}dl dd:last-child{margin-bottom:0}pre{padding:1rem;background:var(--tblr-bg-surface-dark);color:var(--tblr-light);border-radius:var(--tblr-border-radius)}pre code{background:0 0}code{background:var(--tblr-code-bg);padding:2px 4px;border-radius:var(--tblr-border-radius)}.kbd,kbd{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);display:inline-block;box-sizing:border-box;max-width:100%;font-size:var(--tblr-font-size-h5);font-weight:var(--tblr-font-weight-medium);line-height:1;vertical-align:baseline;border-radius:var(--tblr-border-radius)}img{max-width:100%}.list-unstyled{margin-left:0}::-moz-selection{background-color:rgba(var(--tblr-primary-rgb),.16)}::selection{background-color:rgba(var(--tblr-primary-rgb),.16)}[class*=" link-"].disabled,[class^=link-].disabled{color:var(--tblr-disabled-color);pointer-events:none}.subheader{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted)}.chart{display:block;min-height:10rem}.chart text{font-family:inherit}.chart-sm{height:2.5rem}.chart-lg{height:15rem}.chart-square{height:5.75rem}.chart-sparkline{position:relative;width:4rem;height:2.5rem;line-height:1;min-height:0!important}.chart-sparkline-sm{height:1.5rem}.chart-sparkline-square{width:2.5rem}.chart-sparkline-wide{width:6rem}.chart-sparkline-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.625rem}.chart-sparkline-label .icon{width:1rem;height:1rem;font-size:1rem}.offcanvas-header{border-bottom:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)}.offcanvas-footer{padding:1.5rem 1.5rem}.offcanvas-title{font-size:1rem;font-weight:var(--tblr-font-weight-medium);line-height:1.5rem}.offcanvas-narrow{width:20rem}.bg-white-overlay{color:#fff;background-color:rgba(252,253,254,.24)}.bg-dark-overlay{color:#fff;background-color:rgba(24,36,51,.24)}.bg-cover{background-repeat:no-repeat;background-size:cover;background-position:center}.bg-primary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-primary-rgb),var(--tblr-bg-opacity))!important}.bg-primary-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-primary-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-primary-lt-rgb),var(--tblr-bg-opacity))!important}.border-primary{border-color:#206bc4!important}.bg-secondary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-secondary-rgb),var(--tblr-bg-opacity))!important}.bg-secondary-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-secondary-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-secondary-lt-rgb),var(--tblr-bg-opacity))!important}.border-secondary{border-color:#667382!important}.bg-success{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-success-rgb),var(--tblr-bg-opacity))!important}.bg-success-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-success-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-success-lt-rgb),var(--tblr-bg-opacity))!important}.border-success{border-color:#2fb344!important}.bg-info{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-info-rgb),var(--tblr-bg-opacity))!important}.bg-info-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-info-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-info-lt-rgb),var(--tblr-bg-opacity))!important}.border-info{border-color:#4299e1!important}.bg-warning{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-warning-rgb),var(--tblr-bg-opacity))!important}.bg-warning-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-warning-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-warning-lt-rgb),var(--tblr-bg-opacity))!important}.border-warning{border-color:#f76707!important}.bg-danger{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-danger-rgb),var(--tblr-bg-opacity))!important}.bg-danger-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-danger-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-danger-lt-rgb),var(--tblr-bg-opacity))!important}.border-danger{border-color:#d63939!important}.bg-light{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-light-rgb),var(--tblr-bg-opacity))!important}.bg-light-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-light-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-light-lt-rgb),var(--tblr-bg-opacity))!important}.border-light{border-color:#fcfdfe!important}.bg-dark{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dark-rgb),var(--tblr-bg-opacity))!important}.bg-dark-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-dark-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-dark-lt-rgb),var(--tblr-bg-opacity))!important}.border-dark{border-color:#182433!important}.bg-muted{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-muted-rgb),var(--tblr-bg-opacity))!important}.bg-muted-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-muted-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-muted-lt-rgb),var(--tblr-bg-opacity))!important}.border-muted{border-color:#667382!important}.bg-blue{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-blue-rgb),var(--tblr-bg-opacity))!important}.bg-blue-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-blue-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-blue-lt-rgb),var(--tblr-bg-opacity))!important}.border-blue{border-color:#206bc4!important}.bg-azure{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-azure-rgb),var(--tblr-bg-opacity))!important}.bg-azure-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-azure-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-azure-lt-rgb),var(--tblr-bg-opacity))!important}.border-azure{border-color:#4299e1!important}.bg-indigo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-indigo-rgb),var(--tblr-bg-opacity))!important}.bg-indigo-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-indigo-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-indigo-lt-rgb),var(--tblr-bg-opacity))!important}.border-indigo{border-color:#4263eb!important}.bg-purple{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-purple-rgb),var(--tblr-bg-opacity))!important}.bg-purple-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-purple-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-purple-lt-rgb),var(--tblr-bg-opacity))!important}.border-purple{border-color:#ae3ec9!important}.bg-pink{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pink-rgb),var(--tblr-bg-opacity))!important}.bg-pink-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-pink-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-pink-lt-rgb),var(--tblr-bg-opacity))!important}.border-pink{border-color:#d6336c!important}.bg-red{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-red-rgb),var(--tblr-bg-opacity))!important}.bg-red-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-red-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-red-lt-rgb),var(--tblr-bg-opacity))!important}.border-red{border-color:#d63939!important}.bg-orange{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-orange-rgb),var(--tblr-bg-opacity))!important}.bg-orange-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-orange-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-orange-lt-rgb),var(--tblr-bg-opacity))!important}.border-orange{border-color:#f76707!important}.bg-yellow{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-yellow-rgb),var(--tblr-bg-opacity))!important}.bg-yellow-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-yellow-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-yellow-lt-rgb),var(--tblr-bg-opacity))!important}.border-yellow{border-color:#f59f00!important}.bg-lime{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-lime-rgb),var(--tblr-bg-opacity))!important}.bg-lime-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-lime-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-lime-lt-rgb),var(--tblr-bg-opacity))!important}.border-lime{border-color:#74b816!important}.bg-green{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-green-rgb),var(--tblr-bg-opacity))!important}.bg-green-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-green-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-green-lt-rgb),var(--tblr-bg-opacity))!important}.border-green{border-color:#2fb344!important}.bg-teal{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-teal-rgb),var(--tblr-bg-opacity))!important}.bg-teal-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-teal-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-teal-lt-rgb),var(--tblr-bg-opacity))!important}.border-teal{border-color:#0ca678!important}.bg-cyan{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-cyan-rgb),var(--tblr-bg-opacity))!important}.bg-cyan-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-cyan-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-cyan-lt-rgb),var(--tblr-bg-opacity))!important}.border-cyan{border-color:#17a2b8!important}.bg-facebook{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-facebook-rgb),var(--tblr-bg-opacity))!important}.bg-facebook-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-facebook-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-facebook-lt-rgb),var(--tblr-bg-opacity))!important}.border-facebook{border-color:#1877f2!important}.bg-twitter{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-twitter-rgb),var(--tblr-bg-opacity))!important}.bg-twitter-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-twitter-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-twitter-lt-rgb),var(--tblr-bg-opacity))!important}.border-twitter{border-color:#1da1f2!important}.bg-linkedin{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-bg-opacity))!important}.bg-linkedin-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-linkedin-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-linkedin-lt-rgb),var(--tblr-bg-opacity))!important}.border-linkedin{border-color:#0a66c2!important}.bg-google{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-google-rgb),var(--tblr-bg-opacity))!important}.bg-google-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-google-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-google-lt-rgb),var(--tblr-bg-opacity))!important}.border-google{border-color:#dc4e41!important}.bg-youtube{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-youtube-rgb),var(--tblr-bg-opacity))!important}.bg-youtube-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-youtube-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-youtube-lt-rgb),var(--tblr-bg-opacity))!important}.border-youtube{border-color:red!important}.bg-vimeo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-bg-opacity))!important}.bg-vimeo-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-vimeo-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-vimeo-lt-rgb),var(--tblr-bg-opacity))!important}.border-vimeo{border-color:#1ab7ea!important}.bg-dribbble{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-bg-opacity))!important}.bg-dribbble-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-dribbble-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-dribbble-lt-rgb),var(--tblr-bg-opacity))!important}.border-dribbble{border-color:#ea4c89!important}.bg-github{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-github-rgb),var(--tblr-bg-opacity))!important}.bg-github-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-github-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-github-lt-rgb),var(--tblr-bg-opacity))!important}.border-github{border-color:#181717!important}.bg-instagram{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-instagram-rgb),var(--tblr-bg-opacity))!important}.bg-instagram-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-instagram-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-instagram-lt-rgb),var(--tblr-bg-opacity))!important}.border-instagram{border-color:#e4405f!important}.bg-pinterest{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-bg-opacity))!important}.bg-pinterest-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-pinterest-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-pinterest-lt-rgb),var(--tblr-bg-opacity))!important}.border-pinterest{border-color:#bd081c!important}.bg-vk{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vk-rgb),var(--tblr-bg-opacity))!important}.bg-vk-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-vk-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-vk-lt-rgb),var(--tblr-bg-opacity))!important}.border-vk{border-color:#6383a8!important}.bg-rss{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-rss-rgb),var(--tblr-bg-opacity))!important}.bg-rss-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-rss-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-rss-lt-rgb),var(--tblr-bg-opacity))!important}.border-rss{border-color:orange!important}.bg-flickr{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-flickr-rgb),var(--tblr-bg-opacity))!important}.bg-flickr-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-flickr-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-flickr-lt-rgb),var(--tblr-bg-opacity))!important}.border-flickr{border-color:#0063dc!important}.bg-bitbucket{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-bg-opacity))!important}.bg-bitbucket-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-bitbucket-lt-rgb),var(--tblr-bg-opacity))!important}.border-bitbucket{border-color:#0052cc!important}.bg-tabler{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-tabler-rgb),var(--tblr-bg-opacity))!important}.bg-tabler-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-tabler-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-tabler-lt-rgb),var(--tblr-bg-opacity))!important}.border-tabler{border-color:#206bc4!important}.bg-white{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-white-rgb),var(--tblr-bg-opacity))!important}.bg-white-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-white-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-white-lt-rgb),var(--tblr-bg-opacity))!important}.border-white{border-color:#fff!important}.text-primary{--tblr-text-opacity:1;color:rgba(var(--tblr-primary-rgb),var(--tblr-text-opacity))!important}.text-primary-fg{color:var(--tblr-primary-fg)!important}.text-secondary{--tblr-text-opacity:1;color:rgba(var(--tblr-secondary-rgb),var(--tblr-text-opacity))!important}.text-secondary-fg{color:var(--tblr-secondary-fg)!important}.text-success{--tblr-text-opacity:1;color:rgba(var(--tblr-success-rgb),var(--tblr-text-opacity))!important}.text-success-fg{color:var(--tblr-success-fg)!important}.text-info{--tblr-text-opacity:1;color:rgba(var(--tblr-info-rgb),var(--tblr-text-opacity))!important}.text-info-fg{color:var(--tblr-info-fg)!important}.text-warning{--tblr-text-opacity:1;color:rgba(var(--tblr-warning-rgb),var(--tblr-text-opacity))!important}.text-warning-fg{color:var(--tblr-warning-fg)!important}.text-danger{--tblr-text-opacity:1;color:rgba(var(--tblr-danger-rgb),var(--tblr-text-opacity))!important}.text-danger-fg{color:var(--tblr-danger-fg)!important}.text-light{--tblr-text-opacity:1;color:rgba(var(--tblr-light-rgb),var(--tblr-text-opacity))!important}.text-light-fg{color:var(--tblr-light-fg)!important}.text-dark{--tblr-text-opacity:1;color:rgba(var(--tblr-dark-rgb),var(--tblr-text-opacity))!important}.text-dark-fg{color:var(--tblr-dark-fg)!important}.text-muted{--tblr-text-opacity:1;color:rgba(var(--tblr-muted-rgb),var(--tblr-text-opacity))!important}.text-muted-fg{color:var(--tblr-muted-fg)!important}.text-blue{--tblr-text-opacity:1;color:rgba(var(--tblr-blue-rgb),var(--tblr-text-opacity))!important}.text-blue-fg{color:var(--tblr-blue-fg)!important}.text-azure{--tblr-text-opacity:1;color:rgba(var(--tblr-azure-rgb),var(--tblr-text-opacity))!important}.text-azure-fg{color:var(--tblr-azure-fg)!important}.text-indigo{--tblr-text-opacity:1;color:rgba(var(--tblr-indigo-rgb),var(--tblr-text-opacity))!important}.text-indigo-fg{color:var(--tblr-indigo-fg)!important}.text-purple{--tblr-text-opacity:1;color:rgba(var(--tblr-purple-rgb),var(--tblr-text-opacity))!important}.text-purple-fg{color:var(--tblr-purple-fg)!important}.text-pink{--tblr-text-opacity:1;color:rgba(var(--tblr-pink-rgb),var(--tblr-text-opacity))!important}.text-pink-fg{color:var(--tblr-pink-fg)!important}.text-red{--tblr-text-opacity:1;color:rgba(var(--tblr-red-rgb),var(--tblr-text-opacity))!important}.text-red-fg{color:var(--tblr-red-fg)!important}.text-orange{--tblr-text-opacity:1;color:rgba(var(--tblr-orange-rgb),var(--tblr-text-opacity))!important}.text-orange-fg{color:var(--tblr-orange-fg)!important}.text-yellow{--tblr-text-opacity:1;color:rgba(var(--tblr-yellow-rgb),var(--tblr-text-opacity))!important}.text-yellow-fg{color:var(--tblr-yellow-fg)!important}.text-lime{--tblr-text-opacity:1;color:rgba(var(--tblr-lime-rgb),var(--tblr-text-opacity))!important}.text-lime-fg{color:var(--tblr-lime-fg)!important}.text-green{--tblr-text-opacity:1;color:rgba(var(--tblr-green-rgb),var(--tblr-text-opacity))!important}.text-green-fg{color:var(--tblr-green-fg)!important}.text-teal{--tblr-text-opacity:1;color:rgba(var(--tblr-teal-rgb),var(--tblr-text-opacity))!important}.text-teal-fg{color:var(--tblr-teal-fg)!important}.text-cyan{--tblr-text-opacity:1;color:rgba(var(--tblr-cyan-rgb),var(--tblr-text-opacity))!important}.text-cyan-fg{color:var(--tblr-cyan-fg)!important}.text-facebook{--tblr-text-opacity:1;color:rgba(var(--tblr-facebook-rgb),var(--tblr-text-opacity))!important}.text-facebook-fg{color:var(--tblr-facebook-fg)!important}.text-twitter{--tblr-text-opacity:1;color:rgba(var(--tblr-twitter-rgb),var(--tblr-text-opacity))!important}.text-twitter-fg{color:var(--tblr-twitter-fg)!important}.text-linkedin{--tblr-text-opacity:1;color:rgba(var(--tblr-linkedin-rgb),var(--tblr-text-opacity))!important}.text-linkedin-fg{color:var(--tblr-linkedin-fg)!important}.text-google{--tblr-text-opacity:1;color:rgba(var(--tblr-google-rgb),var(--tblr-text-opacity))!important}.text-google-fg{color:var(--tblr-google-fg)!important}.text-youtube{--tblr-text-opacity:1;color:rgba(var(--tblr-youtube-rgb),var(--tblr-text-opacity))!important}.text-youtube-fg{color:var(--tblr-youtube-fg)!important}.text-vimeo{--tblr-text-opacity:1;color:rgba(var(--tblr-vimeo-rgb),var(--tblr-text-opacity))!important}.text-vimeo-fg{color:var(--tblr-vimeo-fg)!important}.text-dribbble{--tblr-text-opacity:1;color:rgba(var(--tblr-dribbble-rgb),var(--tblr-text-opacity))!important}.text-dribbble-fg{color:var(--tblr-dribbble-fg)!important}.text-github{--tblr-text-opacity:1;color:rgba(var(--tblr-github-rgb),var(--tblr-text-opacity))!important}.text-github-fg{color:var(--tblr-github-fg)!important}.text-instagram{--tblr-text-opacity:1;color:rgba(var(--tblr-instagram-rgb),var(--tblr-text-opacity))!important}.text-instagram-fg{color:var(--tblr-instagram-fg)!important}.text-pinterest{--tblr-text-opacity:1;color:rgba(var(--tblr-pinterest-rgb),var(--tblr-text-opacity))!important}.text-pinterest-fg{color:var(--tblr-pinterest-fg)!important}.text-vk{--tblr-text-opacity:1;color:rgba(var(--tblr-vk-rgb),var(--tblr-text-opacity))!important}.text-vk-fg{color:var(--tblr-vk-fg)!important}.text-rss{--tblr-text-opacity:1;color:rgba(var(--tblr-rss-rgb),var(--tblr-text-opacity))!important}.text-rss-fg{color:var(--tblr-rss-fg)!important}.text-flickr{--tblr-text-opacity:1;color:rgba(var(--tblr-flickr-rgb),var(--tblr-text-opacity))!important}.text-flickr-fg{color:var(--tblr-flickr-fg)!important}.text-bitbucket{--tblr-text-opacity:1;color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-text-opacity))!important}.text-bitbucket-fg{color:var(--tblr-bitbucket-fg)!important}.text-tabler{--tblr-text-opacity:1;color:rgba(var(--tblr-tabler-rgb),var(--tblr-text-opacity))!important}.text-tabler-fg{color:var(--tblr-tabler-fg)!important}.bg-gray-50{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-50-rgb),var(--tblr-bg-opacity))!important}.text-gray-50-fg{color:#182433!important}.bg-gray-100{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-100-rgb),var(--tblr-bg-opacity))!important}.text-gray-100-fg{color:#182433!important}.bg-gray-200{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-200-rgb),var(--tblr-bg-opacity))!important}.text-gray-200-fg{color:#182433!important}.bg-gray-300{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-300-rgb),var(--tblr-bg-opacity))!important}.text-gray-300-fg{color:#182433!important}.bg-gray-400{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-400-rgb),var(--tblr-bg-opacity))!important}.text-gray-400-fg{color:#fcfdfe!important}.bg-gray-500{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-500-rgb),var(--tblr-bg-opacity))!important}.text-gray-500-fg{color:#fcfdfe!important}.bg-gray-600{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-600-rgb),var(--tblr-bg-opacity))!important}.text-gray-600-fg{color:#fcfdfe!important}.bg-gray-700{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-700-rgb),var(--tblr-bg-opacity))!important}.text-gray-700-fg{color:#fcfdfe!important}.bg-gray-800{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-800-rgb),var(--tblr-bg-opacity))!important}.text-gray-800-fg{color:#fcfdfe!important}.bg-gray-900{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-900-rgb),var(--tblr-bg-opacity))!important}.text-gray-900-fg{color:#fcfdfe!important}.scrollable{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scrollable.hover{overflow-y:hidden}.scrollable.hover>*{margin-top:-1px}.scrollable.hover:active,.scrollable.hover:focus,.scrollable.hover:hover{overflow:visible;overflow-y:auto}.touch .scrollable{overflow-y:auto!important}.scroll-x,.scroll-y{overflow:hidden;-webkit-overflow-scrolling:touch}.scroll-y{overflow-y:auto}.scroll-x{overflow-x:auto}.no-scroll{overflow:hidden}.w-0{width:0!important}.h-0{height:0!important}.w-1{width:.25rem!important}.h-1{height:.25rem!important}.w-2{width:.5rem!important}.h-2{height:.5rem!important}.w-3{width:1rem!important}.h-3{height:1rem!important}.w-4{width:1.5rem!important}.h-4{height:1.5rem!important}.w-5{width:2rem!important}.h-5{height:2rem!important}.w-6{width:3rem!important}.h-6{height:3rem!important}.w-7{width:5rem!important}.h-7{height:5rem!important}.w-8{width:8rem!important}.h-8{height:8rem!important}.w-auto{width:auto!important}.h-auto{height:auto!important}.w-px{width:1px!important}.h-px{height:1px!important}.w-full{width:100%!important}.h-full{height:100%!important}.opacity-0{opacity:0!important}.opacity-5{opacity:.05!important}.opacity-10{opacity:.1!important}.opacity-15{opacity:.15!important}.opacity-20{opacity:.2!important}.opacity-25{opacity:.25!important}.opacity-30{opacity:.3!important}.opacity-35{opacity:.35!important}.opacity-40{opacity:.4!important}.opacity-45{opacity:.45!important}.opacity-50{opacity:.5!important}.opacity-55{opacity:.55!important}.opacity-60{opacity:.6!important}.opacity-65{opacity:.65!important}.opacity-70{opacity:.7!important}.opacity-75{opacity:.75!important}.opacity-80{opacity:.8!important}.opacity-85{opacity:.85!important}.opacity-90{opacity:.9!important}.opacity-95{opacity:.95!important}.opacity-100{opacity:1!important}.hover-shadow-sm:hover{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.hover-shadow:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.hover-shadow-lg:hover{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.hover-shadow-none:hover{box-shadow:none!important}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler.rtl.css b/bin/main/static/tabler/dist/css/tabler.rtl.css new file mode 100644 index 0000000..2f2e334 --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler.rtl.css @@ -0,0 +1,25614 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +@charset "UTF-8"; +/* prettier-ignore */ +/* prettier-ignore */ +:root, +[data-bs-theme=light] { + --tblr-blue: #206bc4; + --tblr-indigo: #4263eb; + --tblr-purple: #ae3ec9; + --tblr-pink: #d6336c; + --tblr-red: #d63939; + --tblr-orange: #f76707; + --tblr-yellow: #f59f00; + --tblr-green: #2fb344; + --tblr-teal: #0ca678; + --tblr-cyan: #17a2b8; + --tblr-black: #000000; + --tblr-white: #ffffff; + --tblr-gray: #667382; + --tblr-gray-dark: #182433; + --tblr-gray-100: #f6f8fb; + --tblr-gray-200: #eef1f4; + --tblr-gray-300: #dadfe5; + --tblr-gray-400: #bbc3cd; + --tblr-gray-500: #929dab; + --tblr-gray-600: #667382; + --tblr-gray-700: #3a4859; + --tblr-gray-800: #182433; + --tblr-gray-900: #040a11; + --tblr-primary: #206bc4; + --tblr-secondary: #667382; + --tblr-success: #2fb344; + --tblr-info: #4299e1; + --tblr-warning: #f76707; + --tblr-danger: #d63939; + --tblr-light: #fcfdfe; + --tblr-dark: #182433; + --tblr-muted: #667382; + --tblr-blue: #206bc4; + --tblr-azure: #4299e1; + --tblr-indigo: #4263eb; + --tblr-purple: #ae3ec9; + --tblr-pink: #d6336c; + --tblr-red: #d63939; + --tblr-orange: #f76707; + --tblr-yellow: #f59f00; + --tblr-lime: #74b816; + --tblr-green: #2fb344; + --tblr-teal: #0ca678; + --tblr-cyan: #17a2b8; + --tblr-facebook: #1877f2; + --tblr-twitter: #1da1f2; + --tblr-linkedin: #0a66c2; + --tblr-google: #dc4e41; + --tblr-youtube: #ff0000; + --tblr-vimeo: #1ab7ea; + --tblr-dribbble: #ea4c89; + --tblr-github: #181717; + --tblr-instagram: #e4405f; + --tblr-pinterest: #bd081c; + --tblr-vk: #6383a8; + --tblr-rss: #ffa500; + --tblr-flickr: #0063dc; + --tblr-bitbucket: #0052cc; + --tblr-tabler: #206bc4; + --tblr-primary-rgb: 32, 107, 196; + --tblr-secondary-rgb: 102, 115, 130; + --tblr-success-rgb: 47, 179, 68; + --tblr-info-rgb: 66, 153, 225; + --tblr-warning-rgb: 247, 103, 7; + --tblr-danger-rgb: 214, 57, 57; + --tblr-light-rgb: 252, 253, 254; + --tblr-dark-rgb: 24, 36, 51; + --tblr-muted-rgb: 102, 115, 130; + --tblr-blue-rgb: 32, 107, 196; + --tblr-azure-rgb: 66, 153, 225; + --tblr-indigo-rgb: 66, 99, 235; + --tblr-purple-rgb: 174, 62, 201; + --tblr-pink-rgb: 214, 51, 108; + --tblr-red-rgb: 214, 57, 57; + --tblr-orange-rgb: 247, 103, 7; + --tblr-yellow-rgb: 245, 159, 0; + --tblr-lime-rgb: 116, 184, 22; + --tblr-green-rgb: 47, 179, 68; + --tblr-teal-rgb: 12, 166, 120; + --tblr-cyan-rgb: 23, 162, 184; + --tblr-facebook-rgb: 24, 119, 242; + --tblr-twitter-rgb: 29, 161, 242; + --tblr-linkedin-rgb: 10, 102, 194; + --tblr-google-rgb: 220, 78, 65; + --tblr-youtube-rgb: 255, 0, 0; + --tblr-vimeo-rgb: 26, 183, 234; + --tblr-dribbble-rgb: 234, 76, 137; + --tblr-github-rgb: 24, 23, 23; + --tblr-instagram-rgb: 228, 64, 95; + --tblr-pinterest-rgb: 189, 8, 28; + --tblr-vk-rgb: 99, 131, 168; + --tblr-rss-rgb: 255, 165, 0; + --tblr-flickr-rgb: 0, 99, 220; + --tblr-bitbucket-rgb: 0, 82, 204; + --tblr-tabler-rgb: 32, 107, 196; + --tblr-primary-text-emphasis: #0d2b4e; + --tblr-secondary-text-emphasis: #292e34; + --tblr-success-text-emphasis: #13481b; + --tblr-info-text-emphasis: #1a3d5a; + --tblr-warning-text-emphasis: #632903; + --tblr-danger-text-emphasis: #561717; + --tblr-light-text-emphasis: #3a4859; + --tblr-dark-text-emphasis: #3a4859; + --tblr-primary-bg-subtle: #d2e1f3; + --tblr-secondary-bg-subtle: #e0e3e6; + --tblr-success-bg-subtle: #d5f0da; + --tblr-info-bg-subtle: #d9ebf9; + --tblr-warning-bg-subtle: #fde1cd; + --tblr-danger-bg-subtle: #f7d7d7; + --tblr-light-bg-subtle: #fbfcfd; + --tblr-dark-bg-subtle: #bbc3cd; + --tblr-primary-border-subtle: #a6c4e7; + --tblr-secondary-border-subtle: #c2c7cd; + --tblr-success-border-subtle: #ace1b4; + --tblr-info-border-subtle: #b3d6f3; + --tblr-warning-border-subtle: #fcc29c; + --tblr-danger-border-subtle: #efb0b0; + --tblr-light-border-subtle: #eef1f4; + --tblr-dark-border-subtle: #929dab; + --tblr-white-rgb: 255, 255, 255; + --tblr-black-rgb: 0, 0, 0; + --tblr-font-sans-serif: -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif; + --tblr-font-monospace: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; + --tblr-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --tblr-body-font-family: var(--tblr-font-sans-serif); + --tblr-body-font-size: 0.875rem; + --tblr-body-font-weight: 400; + --tblr-body-line-height: 1.4285714286; + --tblr-body-color: #182433; + --tblr-body-color-rgb: 24, 36, 51; + --tblr-body-bg: #f6f8fb; + --tblr-body-bg-rgb: 246, 248, 251; + --tblr-emphasis-color: #182433; + --tblr-emphasis-color-rgb: 24, 36, 51; + --tblr-secondary-color: rgba(24, 36, 51, 0.75); + --tblr-secondary-color-rgb: 24, 36, 51; + --tblr-secondary-bg: #eef1f4; + --tblr-secondary-bg-rgb: 238, 241, 244; + --tblr-tertiary-color: rgba(24, 36, 51, 0.5); + --tblr-tertiary-color-rgb: 24, 36, 51; + --tblr-tertiary-bg: #f6f8fb; + --tblr-tertiary-bg-rgb: 246, 248, 251; + --tblr-link-color: #206bc4; + --tblr-link-color-rgb: 32, 107, 196; + --tblr-link-decoration: none; + --tblr-link-hover-color: #1a569d; + --tblr-link-hover-color-rgb: 26, 86, 157; + --tblr-link-hover-decoration: underline; + --tblr-code-color: var(--tblr-gray-600); + --tblr-highlight-bg: #fdeccc; + --tblr-border-width: 1px; + --tblr-border-style: solid; + --tblr-border-color: #dadfe5; + --tblr-border-color-translucent: rgba(4, 32, 69, 0.14); + --tblr-border-radius: 4px; + --tblr-border-radius-sm: 2px; + --tblr-border-radius-lg: 8px; + --tblr-border-radius-xl: 1rem; + --tblr-border-radius-xxl: 2rem; + --tblr-border-radius-2xl: var(--tblr-border-radius-xxl); + --tblr-border-radius-pill: 100rem; + --tblr-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --tblr-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --tblr-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); + --tblr-box-shadow-inset: 0 0 transparent; + --tblr-focus-ring-width: 0.25rem; + --tblr-focus-ring-opacity: 0.25; + --tblr-focus-ring-color: rgba(32, 107, 196, 0.25); + --tblr-form-valid-color: #2fb344; + --tblr-form-valid-border-color: #2fb344; + --tblr-form-invalid-color: #d63939; + --tblr-form-invalid-border-color: #d63939; +} + +[data-bs-theme=dark] { + color-scheme: dark; + --tblr-body-color: #fcfdfe; + --tblr-body-color-rgb: 252, 253, 254; + --tblr-body-bg: #040a11; + --tblr-body-bg-rgb: 4, 10, 17; + --tblr-emphasis-color: #ffffff; + --tblr-emphasis-color-rgb: 255, 255, 255; + --tblr-secondary-color: rgba(252, 253, 254, 0.75); + --tblr-secondary-color-rgb: 252, 253, 254; + --tblr-secondary-bg: #182433; + --tblr-secondary-bg-rgb: 24, 36, 51; + --tblr-tertiary-color: rgba(252, 253, 254, 0.5); + --tblr-tertiary-color-rgb: 252, 253, 254; + --tblr-tertiary-bg: #0e1722; + --tblr-tertiary-bg-rgb: 14, 23, 34; + --tblr-primary-text-emphasis: #79a6dc; + --tblr-secondary-text-emphasis: #a3abb4; + --tblr-success-text-emphasis: #82d18f; + --tblr-info-text-emphasis: #8ec2ed; + --tblr-warning-text-emphasis: #faa46a; + --tblr-danger-text-emphasis: #e68888; + --tblr-light-text-emphasis: #f6f8fb; + --tblr-dark-text-emphasis: #dadfe5; + --tblr-primary-bg-subtle: #061527; + --tblr-secondary-bg-subtle: #14171a; + --tblr-success-bg-subtle: #09240e; + --tblr-info-bg-subtle: #0d1f2d; + --tblr-warning-bg-subtle: #311501; + --tblr-danger-bg-subtle: #2b0b0b; + --tblr-light-bg-subtle: #182433; + --tblr-dark-bg-subtle: #0c121a; + --tblr-primary-border-subtle: #134076; + --tblr-secondary-border-subtle: #3d454e; + --tblr-success-border-subtle: #1c6b29; + --tblr-info-border-subtle: #285c87; + --tblr-warning-border-subtle: #943e04; + --tblr-danger-border-subtle: #802222; + --tblr-light-border-subtle: #3a4859; + --tblr-dark-border-subtle: #182433; + --tblr-link-color: #79a6dc; + --tblr-link-hover-color: #94b8e3; + --tblr-link-color-rgb: 121, 166, 220; + --tblr-link-hover-color-rgb: 148, 184, 227; + --tblr-code-color: var(--tblr-gray-300); + --tblr-border-color: #1f2e41; + --tblr-border-color-translucent: rgba(72, 110, 149, 0.14); + --tblr-form-valid-color: #82d18f; + --tblr-form-valid-border-color: #82d18f; + --tblr-form-invalid-color: #e68888; + --tblr-form-invalid-border-color: #e68888; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--tblr-body-font-family); + font-size: var(--tblr-body-font-size); + font-weight: var(--tblr-body-font-weight); + line-height: var(--tblr-body-line-height); + color: var(--tblr-body-color); + text-align: var(--tblr-body-text-align); + background-color: var(--tblr-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr, .hr { + margin: 2rem 0; + color: inherit; + border: 0; + border-top: var(--tblr-border-width) solid; + opacity: 0.16; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: var(--tblr-spacer); + font-weight: var(--tblr-font-weight-bold); + line-height: 1.2; + color: var(--tblr-heading-color, inherit); +} + +h1, .h1 { + font-size: 1.5rem; +} + +h2, .h2 { + font-size: 1.25rem; +} + +h3, .h3 { + font-size: 1rem; +} + +h4, .h4 { + font-size: 0.875rem; +} + +h5, .h5 { + font-size: 0.75rem; +} + +h6, .h6 { + font-size: 0.625rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-right: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 600; +} + +dd { + margin-bottom: 0.5rem; + margin-right: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small, .small { + font-size: 85.714285%; +} + +mark, .mark { + padding: 0.1875em; + background-color: var(--tblr-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: rgba(var(--tblr-link-color-rgb), var(--tblr-link-opacity, 1)); + text-decoration: none; +} +a:hover { + --tblr-link-color-rgb: var(--tblr-link-hover-color-rgb); + text-decoration: underline; +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--tblr-font-monospace); + font-size: 1em; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 85.714285%; + color: var(--tblr-light); +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 85.714285%; + color: var(--tblr-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.25rem 0.5rem; + font-size: var(--tblr-font-size-h5); + color: var(--tblr-muted-dark); + background-color: var(--tblr-code-bg); + border-radius: 2px; +} +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: var(--tblr-secondary-color); + text-align: right; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: right; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: 1.5rem; + line-height: inherit; +} +legend + * { + clear: right; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: textfield; +} + +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +.lead { + font-size: 0.875rem; + font-weight: var(--tblr-font-weight-normal); +} + +.display-1 { + font-size: 5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-5 { + font-size: 3rem; + font-weight: 300; + line-height: 1.2; +} + +.display-6 { + font-size: 2rem; + font-weight: 300; + line-height: 1.2; +} + +.list-unstyled { + padding-right: 0; + list-style: none; +} + +.list-inline { + padding-right: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-left: 0.5rem; +} + +.initialism { + font-size: 85.714285%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 0.875rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 85.714285%; + color: #667382; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: var(--tblr-body-bg); + border: var(--tblr-border-width) solid var(--tblr-border-color); + border-radius: var(--tblr-border-radius); + box-shadow: var(--tblr-box-shadow-sm); + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 85.714285%; + color: var(--tblr-secondary-color); +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --tblr-gutter-x: calc(var(--tblr-page-padding) * 2); + --tblr-gutter-y: 0; + width: 100%; + padding-left: calc(var(--tblr-gutter-x) * 0.5); + padding-right: calc(var(--tblr-gutter-x) * 0.5); + margin-left: auto; + margin-right: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --tblr-breakpoint-xs: 0; + --tblr-breakpoint-sm: 576px; + --tblr-breakpoint-md: 768px; + --tblr-breakpoint-lg: 992px; + --tblr-breakpoint-xl: 1200px; + --tblr-breakpoint-xxl: 1400px; +} + +.row { + --tblr-gutter-x: var(--tblr-page-padding); + --tblr-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--tblr-gutter-y)); + margin-left: calc(-0.5 * var(--tblr-gutter-x)); + margin-right: calc(-0.5 * var(--tblr-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-left: calc(var(--tblr-gutter-x) * 0.5); + padding-right: calc(var(--tblr-gutter-x) * 0.5); + margin-top: var(--tblr-gutter-y); +} + +.grid { + display: grid; + grid-template-rows: repeat(var(--tblr-rows, 1), 1fr); + grid-template-columns: repeat(var(--tblr-columns, 12), 1fr); + gap: var(--tblr-gap, var(--tblr-page-padding)); +} +.grid .g-col-1 { + grid-column: auto/span 1; +} +.grid .g-col-2 { + grid-column: auto/span 2; +} +.grid .g-col-3 { + grid-column: auto/span 3; +} +.grid .g-col-4 { + grid-column: auto/span 4; +} +.grid .g-col-5 { + grid-column: auto/span 5; +} +.grid .g-col-6 { + grid-column: auto/span 6; +} +.grid .g-col-7 { + grid-column: auto/span 7; +} +.grid .g-col-8 { + grid-column: auto/span 8; +} +.grid .g-col-9 { + grid-column: auto/span 9; +} +.grid .g-col-10 { + grid-column: auto/span 10; +} +.grid .g-col-11 { + grid-column: auto/span 11; +} +.grid .g-col-12 { + grid-column: auto/span 12; +} +.grid .g-start-1 { + grid-column-start: 1; +} +.grid .g-start-2 { + grid-column-start: 2; +} +.grid .g-start-3 { + grid-column-start: 3; +} +.grid .g-start-4 { + grid-column-start: 4; +} +.grid .g-start-5 { + grid-column-start: 5; +} +.grid .g-start-6 { + grid-column-start: 6; +} +.grid .g-start-7 { + grid-column-start: 7; +} +.grid .g-start-8 { + grid-column-start: 8; +} +.grid .g-start-9 { + grid-column-start: 9; +} +.grid .g-start-10 { + grid-column-start: 10; +} +.grid .g-start-11 { + grid-column-start: 11; +} +@media (min-width: 576px) { + .grid .g-col-sm-1 { + grid-column: auto/span 1; + } + .grid .g-col-sm-2 { + grid-column: auto/span 2; + } + .grid .g-col-sm-3 { + grid-column: auto/span 3; + } + .grid .g-col-sm-4 { + grid-column: auto/span 4; + } + .grid .g-col-sm-5 { + grid-column: auto/span 5; + } + .grid .g-col-sm-6 { + grid-column: auto/span 6; + } + .grid .g-col-sm-7 { + grid-column: auto/span 7; + } + .grid .g-col-sm-8 { + grid-column: auto/span 8; + } + .grid .g-col-sm-9 { + grid-column: auto/span 9; + } + .grid .g-col-sm-10 { + grid-column: auto/span 10; + } + .grid .g-col-sm-11 { + grid-column: auto/span 11; + } + .grid .g-col-sm-12 { + grid-column: auto/span 12; + } + .grid .g-start-sm-1 { + grid-column-start: 1; + } + .grid .g-start-sm-2 { + grid-column-start: 2; + } + .grid .g-start-sm-3 { + grid-column-start: 3; + } + .grid .g-start-sm-4 { + grid-column-start: 4; + } + .grid .g-start-sm-5 { + grid-column-start: 5; + } + .grid .g-start-sm-6 { + grid-column-start: 6; + } + .grid .g-start-sm-7 { + grid-column-start: 7; + } + .grid .g-start-sm-8 { + grid-column-start: 8; + } + .grid .g-start-sm-9 { + grid-column-start: 9; + } + .grid .g-start-sm-10 { + grid-column-start: 10; + } + .grid .g-start-sm-11 { + grid-column-start: 11; + } +} +@media (min-width: 768px) { + .grid .g-col-md-1 { + grid-column: auto/span 1; + } + .grid .g-col-md-2 { + grid-column: auto/span 2; + } + .grid .g-col-md-3 { + grid-column: auto/span 3; + } + .grid .g-col-md-4 { + grid-column: auto/span 4; + } + .grid .g-col-md-5 { + grid-column: auto/span 5; + } + .grid .g-col-md-6 { + grid-column: auto/span 6; + } + .grid .g-col-md-7 { + grid-column: auto/span 7; + } + .grid .g-col-md-8 { + grid-column: auto/span 8; + } + .grid .g-col-md-9 { + grid-column: auto/span 9; + } + .grid .g-col-md-10 { + grid-column: auto/span 10; + } + .grid .g-col-md-11 { + grid-column: auto/span 11; + } + .grid .g-col-md-12 { + grid-column: auto/span 12; + } + .grid .g-start-md-1 { + grid-column-start: 1; + } + .grid .g-start-md-2 { + grid-column-start: 2; + } + .grid .g-start-md-3 { + grid-column-start: 3; + } + .grid .g-start-md-4 { + grid-column-start: 4; + } + .grid .g-start-md-5 { + grid-column-start: 5; + } + .grid .g-start-md-6 { + grid-column-start: 6; + } + .grid .g-start-md-7 { + grid-column-start: 7; + } + .grid .g-start-md-8 { + grid-column-start: 8; + } + .grid .g-start-md-9 { + grid-column-start: 9; + } + .grid .g-start-md-10 { + grid-column-start: 10; + } + .grid .g-start-md-11 { + grid-column-start: 11; + } +} +@media (min-width: 992px) { + .grid .g-col-lg-1 { + grid-column: auto/span 1; + } + .grid .g-col-lg-2 { + grid-column: auto/span 2; + } + .grid .g-col-lg-3 { + grid-column: auto/span 3; + } + .grid .g-col-lg-4 { + grid-column: auto/span 4; + } + .grid .g-col-lg-5 { + grid-column: auto/span 5; + } + .grid .g-col-lg-6 { + grid-column: auto/span 6; + } + .grid .g-col-lg-7 { + grid-column: auto/span 7; + } + .grid .g-col-lg-8 { + grid-column: auto/span 8; + } + .grid .g-col-lg-9 { + grid-column: auto/span 9; + } + .grid .g-col-lg-10 { + grid-column: auto/span 10; + } + .grid .g-col-lg-11 { + grid-column: auto/span 11; + } + .grid .g-col-lg-12 { + grid-column: auto/span 12; + } + .grid .g-start-lg-1 { + grid-column-start: 1; + } + .grid .g-start-lg-2 { + grid-column-start: 2; + } + .grid .g-start-lg-3 { + grid-column-start: 3; + } + .grid .g-start-lg-4 { + grid-column-start: 4; + } + .grid .g-start-lg-5 { + grid-column-start: 5; + } + .grid .g-start-lg-6 { + grid-column-start: 6; + } + .grid .g-start-lg-7 { + grid-column-start: 7; + } + .grid .g-start-lg-8 { + grid-column-start: 8; + } + .grid .g-start-lg-9 { + grid-column-start: 9; + } + .grid .g-start-lg-10 { + grid-column-start: 10; + } + .grid .g-start-lg-11 { + grid-column-start: 11; + } +} +@media (min-width: 1200px) { + .grid .g-col-xl-1 { + grid-column: auto/span 1; + } + .grid .g-col-xl-2 { + grid-column: auto/span 2; + } + .grid .g-col-xl-3 { + grid-column: auto/span 3; + } + .grid .g-col-xl-4 { + grid-column: auto/span 4; + } + .grid .g-col-xl-5 { + grid-column: auto/span 5; + } + .grid .g-col-xl-6 { + grid-column: auto/span 6; + } + .grid .g-col-xl-7 { + grid-column: auto/span 7; + } + .grid .g-col-xl-8 { + grid-column: auto/span 8; + } + .grid .g-col-xl-9 { + grid-column: auto/span 9; + } + .grid .g-col-xl-10 { + grid-column: auto/span 10; + } + .grid .g-col-xl-11 { + grid-column: auto/span 11; + } + .grid .g-col-xl-12 { + grid-column: auto/span 12; + } + .grid .g-start-xl-1 { + grid-column-start: 1; + } + .grid .g-start-xl-2 { + grid-column-start: 2; + } + .grid .g-start-xl-3 { + grid-column-start: 3; + } + .grid .g-start-xl-4 { + grid-column-start: 4; + } + .grid .g-start-xl-5 { + grid-column-start: 5; + } + .grid .g-start-xl-6 { + grid-column-start: 6; + } + .grid .g-start-xl-7 { + grid-column-start: 7; + } + .grid .g-start-xl-8 { + grid-column-start: 8; + } + .grid .g-start-xl-9 { + grid-column-start: 9; + } + .grid .g-start-xl-10 { + grid-column-start: 10; + } + .grid .g-start-xl-11 { + grid-column-start: 11; + } +} +@media (min-width: 1400px) { + .grid .g-col-xxl-1 { + grid-column: auto/span 1; + } + .grid .g-col-xxl-2 { + grid-column: auto/span 2; + } + .grid .g-col-xxl-3 { + grid-column: auto/span 3; + } + .grid .g-col-xxl-4 { + grid-column: auto/span 4; + } + .grid .g-col-xxl-5 { + grid-column: auto/span 5; + } + .grid .g-col-xxl-6 { + grid-column: auto/span 6; + } + .grid .g-col-xxl-7 { + grid-column: auto/span 7; + } + .grid .g-col-xxl-8 { + grid-column: auto/span 8; + } + .grid .g-col-xxl-9 { + grid-column: auto/span 9; + } + .grid .g-col-xxl-10 { + grid-column: auto/span 10; + } + .grid .g-col-xxl-11 { + grid-column: auto/span 11; + } + .grid .g-col-xxl-12 { + grid-column: auto/span 12; + } + .grid .g-start-xxl-1 { + grid-column-start: 1; + } + .grid .g-start-xxl-2 { + grid-column-start: 2; + } + .grid .g-start-xxl-3 { + grid-column-start: 3; + } + .grid .g-start-xxl-4 { + grid-column-start: 4; + } + .grid .g-start-xxl-5 { + grid-column-start: 5; + } + .grid .g-start-xxl-6 { + grid-column-start: 6; + } + .grid .g-start-xxl-7 { + grid-column-start: 7; + } + .grid .g-start-xxl-8 { + grid-column-start: 8; + } + .grid .g-start-xxl-9 { + grid-column-start: 9; + } + .grid .g-start-xxl-10 { + grid-column-start: 10; + } + .grid .g-start-xxl-11 { + grid-column-start: 11; + } +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-right: 8.33333333%; +} + +.offset-2 { + margin-right: 16.66666667%; +} + +.offset-3 { + margin-right: 25%; +} + +.offset-4 { + margin-right: 33.33333333%; +} + +.offset-5 { + margin-right: 41.66666667%; +} + +.offset-6 { + margin-right: 50%; +} + +.offset-7 { + margin-right: 58.33333333%; +} + +.offset-8 { + margin-right: 66.66666667%; +} + +.offset-9 { + margin-right: 75%; +} + +.offset-10 { + margin-right: 83.33333333%; +} + +.offset-11 { + margin-right: 91.66666667%; +} + +.g-0, +.gx-0 { + --tblr-gutter-x: 0; +} + +.g-0, +.gy-0 { + --tblr-gutter-y: 0; +} + +.g-1, +.gx-1 { + --tblr-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --tblr-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --tblr-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --tblr-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --tblr-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --tblr-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --tblr-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --tblr-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --tblr-gutter-x: 2rem; +} + +.g-5, +.gy-5 { + --tblr-gutter-y: 2rem; +} + +.g-6, +.gx-6 { + --tblr-gutter-x: 3rem; +} + +.g-6, +.gy-6 { + --tblr-gutter-y: 3rem; +} + +.g-7, +.gx-7 { + --tblr-gutter-x: 5rem; +} + +.g-7, +.gy-7 { + --tblr-gutter-y: 5rem; +} + +.g-8, +.gx-8 { + --tblr-gutter-x: 8rem; +} + +.g-8, +.gy-8 { + --tblr-gutter-y: 8rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-right: 0; + } + .offset-sm-1 { + margin-right: 8.33333333%; + } + .offset-sm-2 { + margin-right: 16.66666667%; + } + .offset-sm-3 { + margin-right: 25%; + } + .offset-sm-4 { + margin-right: 33.33333333%; + } + .offset-sm-5 { + margin-right: 41.66666667%; + } + .offset-sm-6 { + margin-right: 50%; + } + .offset-sm-7 { + margin-right: 58.33333333%; + } + .offset-sm-8 { + margin-right: 66.66666667%; + } + .offset-sm-9 { + margin-right: 75%; + } + .offset-sm-10 { + margin-right: 83.33333333%; + } + .offset-sm-11 { + margin-right: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --tblr-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --tblr-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --tblr-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --tblr-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --tblr-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --tblr-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --tblr-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --tblr-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --tblr-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --tblr-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --tblr-gutter-x: 2rem; + } + .g-sm-5, + .gy-sm-5 { + --tblr-gutter-y: 2rem; + } + .g-sm-6, + .gx-sm-6 { + --tblr-gutter-x: 3rem; + } + .g-sm-6, + .gy-sm-6 { + --tblr-gutter-y: 3rem; + } + .g-sm-7, + .gx-sm-7 { + --tblr-gutter-x: 5rem; + } + .g-sm-7, + .gy-sm-7 { + --tblr-gutter-y: 5rem; + } + .g-sm-8, + .gx-sm-8 { + --tblr-gutter-x: 8rem; + } + .g-sm-8, + .gy-sm-8 { + --tblr-gutter-y: 8rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-right: 0; + } + .offset-md-1 { + margin-right: 8.33333333%; + } + .offset-md-2 { + margin-right: 16.66666667%; + } + .offset-md-3 { + margin-right: 25%; + } + .offset-md-4 { + margin-right: 33.33333333%; + } + .offset-md-5 { + margin-right: 41.66666667%; + } + .offset-md-6 { + margin-right: 50%; + } + .offset-md-7 { + margin-right: 58.33333333%; + } + .offset-md-8 { + margin-right: 66.66666667%; + } + .offset-md-9 { + margin-right: 75%; + } + .offset-md-10 { + margin-right: 83.33333333%; + } + .offset-md-11 { + margin-right: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --tblr-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --tblr-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --tblr-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --tblr-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --tblr-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --tblr-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --tblr-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --tblr-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --tblr-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --tblr-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --tblr-gutter-x: 2rem; + } + .g-md-5, + .gy-md-5 { + --tblr-gutter-y: 2rem; + } + .g-md-6, + .gx-md-6 { + --tblr-gutter-x: 3rem; + } + .g-md-6, + .gy-md-6 { + --tblr-gutter-y: 3rem; + } + .g-md-7, + .gx-md-7 { + --tblr-gutter-x: 5rem; + } + .g-md-7, + .gy-md-7 { + --tblr-gutter-y: 5rem; + } + .g-md-8, + .gx-md-8 { + --tblr-gutter-x: 8rem; + } + .g-md-8, + .gy-md-8 { + --tblr-gutter-y: 8rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-right: 0; + } + .offset-lg-1 { + margin-right: 8.33333333%; + } + .offset-lg-2 { + margin-right: 16.66666667%; + } + .offset-lg-3 { + margin-right: 25%; + } + .offset-lg-4 { + margin-right: 33.33333333%; + } + .offset-lg-5 { + margin-right: 41.66666667%; + } + .offset-lg-6 { + margin-right: 50%; + } + .offset-lg-7 { + margin-right: 58.33333333%; + } + .offset-lg-8 { + margin-right: 66.66666667%; + } + .offset-lg-9 { + margin-right: 75%; + } + .offset-lg-10 { + margin-right: 83.33333333%; + } + .offset-lg-11 { + margin-right: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --tblr-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --tblr-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --tblr-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --tblr-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --tblr-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --tblr-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --tblr-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --tblr-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --tblr-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --tblr-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --tblr-gutter-x: 2rem; + } + .g-lg-5, + .gy-lg-5 { + --tblr-gutter-y: 2rem; + } + .g-lg-6, + .gx-lg-6 { + --tblr-gutter-x: 3rem; + } + .g-lg-6, + .gy-lg-6 { + --tblr-gutter-y: 3rem; + } + .g-lg-7, + .gx-lg-7 { + --tblr-gutter-x: 5rem; + } + .g-lg-7, + .gy-lg-7 { + --tblr-gutter-y: 5rem; + } + .g-lg-8, + .gx-lg-8 { + --tblr-gutter-x: 8rem; + } + .g-lg-8, + .gy-lg-8 { + --tblr-gutter-y: 8rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-right: 0; + } + .offset-xl-1 { + margin-right: 8.33333333%; + } + .offset-xl-2 { + margin-right: 16.66666667%; + } + .offset-xl-3 { + margin-right: 25%; + } + .offset-xl-4 { + margin-right: 33.33333333%; + } + .offset-xl-5 { + margin-right: 41.66666667%; + } + .offset-xl-6 { + margin-right: 50%; + } + .offset-xl-7 { + margin-right: 58.33333333%; + } + .offset-xl-8 { + margin-right: 66.66666667%; + } + .offset-xl-9 { + margin-right: 75%; + } + .offset-xl-10 { + margin-right: 83.33333333%; + } + .offset-xl-11 { + margin-right: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --tblr-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --tblr-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --tblr-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --tblr-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --tblr-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --tblr-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --tblr-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --tblr-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --tblr-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --tblr-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --tblr-gutter-x: 2rem; + } + .g-xl-5, + .gy-xl-5 { + --tblr-gutter-y: 2rem; + } + .g-xl-6, + .gx-xl-6 { + --tblr-gutter-x: 3rem; + } + .g-xl-6, + .gy-xl-6 { + --tblr-gutter-y: 3rem; + } + .g-xl-7, + .gx-xl-7 { + --tblr-gutter-x: 5rem; + } + .g-xl-7, + .gy-xl-7 { + --tblr-gutter-y: 5rem; + } + .g-xl-8, + .gx-xl-8 { + --tblr-gutter-x: 8rem; + } + .g-xl-8, + .gy-xl-8 { + --tblr-gutter-y: 8rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-right: 0; + } + .offset-xxl-1 { + margin-right: 8.33333333%; + } + .offset-xxl-2 { + margin-right: 16.66666667%; + } + .offset-xxl-3 { + margin-right: 25%; + } + .offset-xxl-4 { + margin-right: 33.33333333%; + } + .offset-xxl-5 { + margin-right: 41.66666667%; + } + .offset-xxl-6 { + margin-right: 50%; + } + .offset-xxl-7 { + margin-right: 58.33333333%; + } + .offset-xxl-8 { + margin-right: 66.66666667%; + } + .offset-xxl-9 { + margin-right: 75%; + } + .offset-xxl-10 { + margin-right: 83.33333333%; + } + .offset-xxl-11 { + margin-right: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --tblr-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --tblr-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --tblr-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --tblr-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --tblr-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --tblr-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --tblr-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --tblr-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --tblr-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --tblr-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --tblr-gutter-x: 2rem; + } + .g-xxl-5, + .gy-xxl-5 { + --tblr-gutter-y: 2rem; + } + .g-xxl-6, + .gx-xxl-6 { + --tblr-gutter-x: 3rem; + } + .g-xxl-6, + .gy-xxl-6 { + --tblr-gutter-y: 3rem; + } + .g-xxl-7, + .gx-xxl-7 { + --tblr-gutter-x: 5rem; + } + .g-xxl-7, + .gy-xxl-7 { + --tblr-gutter-y: 5rem; + } + .g-xxl-8, + .gx-xxl-8 { + --tblr-gutter-x: 8rem; + } + .g-xxl-8, + .gy-xxl-8 { + --tblr-gutter-y: 8rem; + } +} +.table, .markdown > table { + --tblr-table-color: inherit; + --tblr-table-bg: transparent; + --tblr-table-border-color: var(--tblr-border-color-translucent); + --tblr-table-accent-bg: transparent; + --tblr-table-striped-color: inherit; + --tblr-table-striped-bg: var(--tblr-bg-surface-tertiary); + --tblr-table-active-color: inherit; + --tblr-table-active-bg: rgba(0, 0, 0, 0.1); + --tblr-table-hover-color: inherit; + --tblr-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: var(--tblr-table-color); + vertical-align: top; + border-color: var(--tblr-table-border-color); +} +.table > :not(caption) > * > *, .markdown > table > :not(caption) > * > * { + padding: 0.75rem 0.75rem; + background-color: var(--tblr-table-bg); + border-bottom-width: var(--tblr-border-width); + box-shadow: inset 0 0 0 9999px var(--tblr-table-accent-bg); +} +.table > tbody, .markdown > table > tbody { + vertical-align: inherit; +} +.table > thead, .markdown > table > thead { + vertical-align: bottom; +} + +.table-group-divider { + border-top: calc(var(--tblr-border-width) * 2) solid var(--tblr-border-color-translucent); +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.table-bordered > :not(caption) > *, .markdown > table > :not(caption) > * { + border-width: var(--tblr-border-width) 0; +} +.table-bordered > :not(caption) > * > *, .markdown > table > :not(caption) > * > * { + border-width: 0 var(--tblr-border-width); +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(even) > * { + --tblr-table-accent-bg: var(--tblr-table-striped-bg); + color: var(--tblr-table-striped-color); +} + +.table-striped-columns > :not(caption) > tr > :nth-child(even) { + --tblr-table-accent-bg: var(--tblr-table-striped-bg); + color: var(--tblr-table-striped-color); +} + +.table-active { + --tblr-table-accent-bg: var(--tblr-table-active-bg); + color: var(--tblr-table-active-color); +} + +.table-hover > tbody > tr:hover > * { + --tblr-table-accent-bg: var(--tblr-table-hover-bg); + color: var(--tblr-table-hover-color); +} + +.table-primary { + --tblr-table-color: #182433; + --tblr-table-bg: #d2e1f3; + --tblr-table-border-color: #bfcee0; + --tblr-table-striped-bg: #c9d8e9; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #bfcee0; + --tblr-table-active-color: #fcfdfe; + --tblr-table-hover-bg: #c4d3e5; + --tblr-table-hover-color: #182433; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-secondary { + --tblr-table-color: #182433; + --tblr-table-bg: #e0e3e6; + --tblr-table-border-color: #ccd0d4; + --tblr-table-striped-bg: #d6d9dd; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #ccd0d4; + --tblr-table-active-color: #fcfdfe; + --tblr-table-hover-bg: #d1d5d9; + --tblr-table-hover-color: #182433; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-success { + --tblr-table-color: #182433; + --tblr-table-bg: #d5f0da; + --tblr-table-border-color: #c2dcc9; + --tblr-table-striped-bg: #cce6d2; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #c2dcc9; + --tblr-table-active-color: #182433; + --tblr-table-hover-bg: #c7e1cd; + --tblr-table-hover-color: #182433; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-info { + --tblr-table-color: #182433; + --tblr-table-bg: #d9ebf9; + --tblr-table-border-color: #c6d7e5; + --tblr-table-striped-bg: #cfe1ef; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #c6d7e5; + --tblr-table-active-color: #182433; + --tblr-table-hover-bg: #cbdcea; + --tblr-table-hover-color: #182433; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-warning { + --tblr-table-color: #182433; + --tblr-table-bg: #fde1cd; + --tblr-table-border-color: #e6cebe; + --tblr-table-striped-bg: #f2d8c5; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #e6cebe; + --tblr-table-active-color: #182433; + --tblr-table-hover-bg: #ecd3c1; + --tblr-table-hover-color: #182433; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-danger { + --tblr-table-color: #182433; + --tblr-table-bg: #f7d7d7; + --tblr-table-border-color: #e1c5c7; + --tblr-table-striped-bg: #eccecf; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #e1c5c7; + --tblr-table-active-color: #fcfdfe; + --tblr-table-hover-bg: #e6cacb; + --tblr-table-hover-color: #fcfdfe; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-light { + --tblr-table-color: #182433; + --tblr-table-bg: #fcfdfe; + --tblr-table-border-color: #e5e7ea; + --tblr-table-striped-bg: #f1f2f4; + --tblr-table-striped-color: #182433; + --tblr-table-active-bg: #e5e7ea; + --tblr-table-active-color: #182433; + --tblr-table-hover-bg: #ebedef; + --tblr-table-hover-color: #182433; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-dark { + --tblr-table-color: #fcfdfe; + --tblr-table-bg: #182433; + --tblr-table-border-color: #2f3a47; + --tblr-table-striped-bg: #232f3d; + --tblr-table-striped-color: #fcfdfe; + --tblr-table-active-bg: #2f3a47; + --tblr-table-active-color: #fcfdfe; + --tblr-table-hover-bg: #293442; + --tblr-table-hover-color: #fcfdfe; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; + font-size: 0.875rem; + font-weight: var(--tblr-font-weight-medium); +} + +.col-form-label { + padding-top: calc(0.4375rem + var(--tblr-border-width)); + padding-bottom: calc(0.4375rem + var(--tblr-border-width)); + margin-bottom: 0; + font-size: inherit; + font-weight: var(--tblr-font-weight-medium); + line-height: 1.4285714286; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + var(--tblr-border-width)); + padding-bottom: calc(0.5rem + var(--tblr-border-width)); + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: calc(0.125rem + var(--tblr-border-width)); + padding-bottom: calc(0.125rem + var(--tblr-border-width)); + font-size: 0.75rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 85.714285%; + color: var(--tblr-secondary-color); +} + +.form-control { + display: block; + width: 100%; + padding: 0.4375rem 0.75rem; + font-family: var(--tblr-font-sans-serif); + font-size: 0.875rem; + font-weight: 400; + line-height: 1.4285714286; + color: inherit; + background-color: var(--tblr-bg-forms); + background-clip: padding-box; + border: var(--tblr-border-width) solid var(--tblr-border-color); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: var(--tblr-border-radius); + box-shadow: 0 0 transparent; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type=file] { + overflow: hidden; +} +.form-control[type=file]:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: inherit; + background-color: var(--tblr-bg-forms); + border-color: #90b5e2; + outline: 0; + box-shadow: 0 0 transparent, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-control::-webkit-date-and-time-value { + min-width: 85px; + height: 1.4285714286em; + margin: 0; +} +.form-control::-webkit-datetime-edit { + display: block; + padding: 0; +} +.form-control::-webkit-input-placeholder { + color: #929dab; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #929dab; + opacity: 1; +} +.form-control::-ms-input-placeholder { + color: #929dab; + opacity: 1; +} +.form-control::placeholder { + color: #929dab; + opacity: 1; +} +.form-control:disabled { + background-color: var(--tblr-bg-surface-secondary); + opacity: 1; +} +.form-control::-webkit-file-upload-button { + padding: 0.4375rem 0.75rem; + margin: -0.4375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: inherit; + background-color: var(--tblr-tertiary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--tblr-border-width); + border-radius: 0; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +.form-control::file-selector-button { + padding: 0.4375rem 0.75rem; + margin: -0.4375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: inherit; + background-color: var(--tblr-tertiary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--tblr-border-width); + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: var(--tblr-secondary-bg); +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--tblr-secondary-bg); +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.4375rem 0; + margin-bottom: 0; + line-height: 1.4285714286; + color: var(--tblr-body-color); + background-color: transparent; + border: solid transparent; + border-width: var(--tblr-border-width) 0; +} +.form-control-plaintext:focus { + outline: 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-left: 0; + padding-right: 0; +} + +.form-control-sm { + min-height: calc(1.4285714286em + 0.25rem + calc(var(--tblr-border-width) * 2)); + padding: 0.125rem 0.25rem; + font-size: 0.75rem; + border-radius: var(--tblr-border-radius-sm); +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.125rem 0.25rem; + margin: -0.125rem -0.25rem; + -webkit-margin-end: 0.25rem; + margin-inline-end: 0.25rem; +} +.form-control-sm::file-selector-button { + padding: 0.125rem 0.25rem; + margin: -0.125rem -0.25rem; + -webkit-margin-end: 0.25rem; + margin-inline-end: 0.25rem; +} + +.form-control-lg { + min-height: calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2)); + padding: 0.5rem 0.75rem; + font-size: 1.25rem; + border-radius: var(--tblr-border-radius-lg); +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 0.75rem; + margin: -0.5rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; +} +.form-control-lg::file-selector-button { + padding: 0.5rem 0.75rem; + margin: -0.5rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; +} + +textarea.form-control { + min-height: calc(1.4285714286em + 0.875rem + calc(var(--tblr-border-width) * 2)); +} +textarea.form-control-sm { + min-height: calc(1.4285714286em + 0.25rem + calc(var(--tblr-border-width) * 2)); +} +textarea.form-control-lg { + min-height: calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2)); +} + +.form-control-color { + width: 3rem; + height: calc(1.4285714286em + 0.875rem + calc(var(--tblr-border-width) * 2)); + padding: 0.4375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: var(--tblr-border-radius); +} +.form-control-color::-webkit-color-swatch { + border: 0 !important; + border-radius: var(--tblr-border-radius); +} +.form-control-color.form-control-sm { + height: calc(1.4285714286em + 0.25rem + calc(var(--tblr-border-width) * 2)); +} +.form-control-color.form-control-lg { + height: calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2)); +} + +.form-select { + --tblr-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + display: block; + width: 100%; + padding: 0.4375rem 0.75rem 0.4375rem 2.25rem; + font-family: var(--tblr-font-sans-serif); + font-size: 0.875rem; + font-weight: 400; + line-height: 1.4285714286; + color: inherit; + background-color: var(--tblr-bg-forms); + background-image: var(--tblr-form-select-bg-img), var(--tblr-form-select-bg-icon, none); + background-repeat: no-repeat; + background-position: left 0.75rem center; + background-size: 16px 12px; + border: var(--tblr-border-width) solid var(--tblr-border-color); + border-radius: var(--tblr-border-radius); + box-shadow: 0 0 transparent; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: #90b5e2; + outline: 0; + box-shadow: 0 0 transparent, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-left: 0.75rem; + background-image: none; +} +.form-select:disabled { + background-color: var(--tblr-bg-surface-secondary); +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 inherit; +} + +.form-select-sm { + padding-top: 0.125rem; + padding-bottom: 0.125rem; + padding-right: 0.25rem; + font-size: 0.75rem; + border-radius: var(--tblr-border-radius-sm); +} + +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-right: 0.75rem; + font-size: 1.25rem; + border-radius: var(--tblr-border-radius-lg); +} + +[data-bs-theme=dark] .form-select { + --tblr-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fcfdfe' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); +} + +.form-check { + display: block; + min-height: 1.25rem; + padding-right: 1.5rem; + margin-bottom: 0.5rem; +} +.form-check .form-check-input { + float: right; + margin-right: -1.5rem; +} + +.form-check-reverse { + padding-left: 1.5rem; + padding-right: 0; + text-align: left; +} +.form-check-reverse .form-check-input { + float: left; + margin-left: -1.5rem; + margin-right: 0; +} + +.form-check-input { + --tblr-form-check-bg: var(--tblr-bg-forms); + width: 1rem; + height: 1rem; + margin-top: 0.2142857143rem; + vertical-align: top; + background-color: var(--tblr-form-check-bg); + background-image: var(--tblr-form-check-bg-image); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; + print-color-adjust: exact; +} +.form-check-input[type=checkbox] { + border-radius: var(--tblr-border-radius); +} +.form-check-input[type=radio] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #90b5e2; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-check-input:checked { + background-color: var(--tblr-primary); + border-color: var(--tblr-border-color-translucent); +} +.form-check-input:checked[type=checkbox] { + --tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type=radio] { + --tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); +} +.form-check-input[type=checkbox]:indeterminate { + background-color: var(--tblr-primary); + border-color: var(--tblr-primary); + --tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + cursor: default; + opacity: 0.7; +} + +.form-switch { + padding-right: 2.5rem; +} +.form-switch .form-check-input { + --tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23dadfe5'/%3e%3c/svg%3e"); + width: 2rem; + margin-right: -2.5rem; + background-image: var(--tblr-form-switch-bg); + background-position: right center; + border-radius: 2rem; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + --tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2390b5e2'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: left center; + --tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e"); +} +.form-switch.form-check-reverse { + padding-left: 2.5rem; + padding-right: 0; +} +.form-switch.form-check-reverse .form-check-input { + margin-left: -2.5rem; + margin-right: 0; +} + +.form-check-inline { + display: inline-block; + margin-left: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check[disabled] + .btn, .btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.4; +} + +[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) { + --tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e"); +} + +.form-range { + width: 100%; + height: 1.25rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #f6f8fb, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #f6f8fb, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.375rem; + background-color: var(--tblr-primary); + border: 2px var(--tblr-border-style) #ffffff; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #bcd3ed; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.25rem; + color: transparent; + cursor: pointer; + background-color: var(--tblr-border-color); + border-color: transparent; + border-radius: 1rem; + box-shadow: 0 0 transparent; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: var(--tblr-primary); + border: 2px var(--tblr-border-style) #ffffff; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #bcd3ed; +} +.form-range::-moz-range-track { + width: 100%; + height: 0.25rem; + color: transparent; + cursor: pointer; + background-color: var(--tblr-border-color); + border-color: transparent; + border-radius: 1rem; + box-shadow: 0 0 transparent; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: var(--tblr-secondary-color); +} +.form-range:disabled::-moz-range-thumb { + background-color: var(--tblr-secondary-color); +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + calc(var(--tblr-border-width) * 2)); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + right: 0; + z-index: 2; + height: 100%; + padding: 1rem 0.75rem; + overflow: hidden; + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + border: var(--tblr-border-width) solid transparent; + transform-origin: 100% 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 0.75rem; +} +.form-floating > .form-control::-webkit-input-placeholder, .form-floating > .form-control-plaintext::-webkit-input-placeholder { + color: transparent; +} +.form-floating > .form-control:-ms-input-placeholder, .form-floating > .form-control-plaintext:-ms-input-placeholder { + color: transparent; +} +.form-floating > .form-control::-ms-input-placeholder, .form-floating > .form-control-plaintext::-ms-input-placeholder { + color: transparent; +} +.form-floating > .form-control::placeholder, +.form-floating > .form-control-plaintext::placeholder { + color: transparent; +} +.form-floating > .form-control:not(:-ms-input-placeholder), .form-floating > .form-control-plaintext:not(:-ms-input-placeholder) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill, +.form-floating > .form-control-plaintext:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-ms-input-placeholder) ~ label { + color: rgba(var(--tblr-body-color-rgb), 0.65); + transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem); +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-select ~ label { + color: rgba(var(--tblr-body-color-rgb), 0.65); + transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem); +} +.form-floating > .form-control:not(:-ms-input-placeholder) ~ label::after { + position: absolute; + inset: 1rem 0.375rem; + z-index: -1; + height: 1.5em; + content: ""; + background-color: var(--tblr-bg-forms); + border-radius: var(--tblr-border-radius); +} +.form-floating > .form-control:focus ~ label::after, +.form-floating > .form-control:not(:placeholder-shown) ~ label::after, +.form-floating > .form-control-plaintext ~ label::after, +.form-floating > .form-select ~ label::after { + position: absolute; + inset: 1rem 0.375rem; + z-index: -1; + height: 1.5em; + content: ""; + background-color: var(--tblr-bg-forms); + border-radius: var(--tblr-border-radius); +} +.form-floating > .form-control:-webkit-autofill ~ label { + color: rgba(var(--tblr-body-color-rgb), 0.65); + transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem); +} +.form-floating > .form-control-plaintext ~ label { + border-width: var(--tblr-border-width) 0; +} +.form-floating > :disabled ~ label { + color: #667382; +} +.form-floating > :disabled ~ label::after { + background-color: var(--tblr-bg-surface-secondary); +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select, +.input-group > .form-floating { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus, +.input-group > .form-floating:focus-within { + z-index: 5; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 5; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.4375rem 0.75rem; + font-size: 0.875rem; + font-weight: 400; + line-height: 1.4285714286; + color: var(--tblr-muted); + text-align: center; + white-space: nowrap; + background-color: var(--tblr-bg-surface-secondary); + border: var(--tblr-border-width) solid var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.5rem 0.75rem; + font-size: 1.25rem; + border-radius: var(--tblr-border-radius-lg); +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.125rem 0.25rem; + font-size: 0.75rem; + border-radius: var(--tblr-border-radius-sm); +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-left: 3rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4), +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control, +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-right: calc(var(--tblr-border-width) * -1); + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 85.714285%; + color: var(--tblr-form-valid-color); +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: var(--tblr-spacer-2) var(--tblr-spacer-2); + margin-top: 0.1rem; + font-size: 0.765625rem; + color: #fff; + background-color: var(--tblr-success); + border-radius: var(--tblr-border-radius); +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: var(--tblr-form-valid-border-color); + padding-left: calc(1.4285714286em + 0.875rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: left calc(0.3571428572em + 0.21875rem) center; + background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: var(--tblr-form-valid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-success-rgb), 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-left: calc(1.4285714286em + 0.875rem); + background-position: top calc(0.3571428572em + 0.21875rem) left calc(0.3571428572em + 0.21875rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: var(--tblr-form-valid-border-color); +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + --tblr-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); + padding-left: 4.125rem; + background-position: left 0.75rem center, center left 2.25rem; + background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: var(--tblr-form-valid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-success-rgb), 0.25); +} + +.was-validated .form-control-color:valid, .form-control-color.is-valid { + width: calc(3rem + calc(1.4285714286em + 0.875rem)); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: var(--tblr-form-valid-border-color); +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: var(--tblr-form-valid-color); +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-success-rgb), 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: var(--tblr-form-valid-color); +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-right: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, +.was-validated .input-group > .form-select:not(:focus):valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.input-group > .form-floating:not(:focus-within).is-valid { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 85.714285%; + color: var(--tblr-form-invalid-color); +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: var(--tblr-spacer-2) var(--tblr-spacer-2); + margin-top: 0.1rem; + font-size: 0.765625rem; + color: #fff; + background-color: var(--tblr-danger); + border-radius: var(--tblr-border-radius); +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: var(--tblr-form-invalid-border-color); + padding-left: calc(1.4285714286em + 0.875rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: left calc(0.3571428572em + 0.21875rem) center; + background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: var(--tblr-form-invalid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-danger-rgb), 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-left: calc(1.4285714286em + 0.875rem); + background-position: top calc(0.3571428572em + 0.21875rem) left calc(0.3571428572em + 0.21875rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: var(--tblr-form-invalid-border-color); +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + --tblr-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); + padding-left: 4.125rem; + background-position: left 0.75rem center, center left 2.25rem; + background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: var(--tblr-form-invalid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-danger-rgb), 0.25); +} + +.was-validated .form-control-color:invalid, .form-control-color.is-invalid { + width: calc(3rem + calc(1.4285714286em + 0.875rem)); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: var(--tblr-form-invalid-border-color); +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: var(--tblr-form-invalid-color); +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--tblr-danger-rgb), 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: var(--tblr-form-invalid-color); +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-right: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, +.was-validated .input-group > .form-select:not(:focus):invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.input-group > .form-floating:not(:focus-within).is-invalid { + z-index: 4; +} + +.btn { + --tblr-btn-padding-x: 1rem; + --tblr-btn-padding-y: 0.4375rem; + --tblr-btn-font-family: var(--tblr-font-sans-serif); + --tblr-btn-font-size: 0.875rem; + --tblr-btn-font-weight: var(--tblr-font-weight-medium); + --tblr-btn-line-height: 1.4285714286; + --tblr-btn-color: var(--tblr-body-color); + --tblr-btn-bg: transparent; + --tblr-btn-border-width: var(--tblr-border-width); + --tblr-btn-border-color: transparent; + --tblr-btn-border-radius: var(--tblr-border-radius); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --tblr-btn-disabled-opacity: 0.4; + --tblr-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--tblr-btn-padding-y) var(--tblr-btn-padding-x); + font-family: var(--tblr-btn-font-family); + font-size: var(--tblr-btn-font-size); + font-weight: var(--tblr-btn-font-weight); + line-height: var(--tblr-btn-line-height); + color: var(--tblr-btn-color); + text-align: center; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: var(--tblr-btn-border-width) solid var(--tblr-btn-border-color); + border-radius: var(--tblr-btn-border-radius); + background-color: var(--tblr-btn-bg); + box-shadow: var(--tblr-btn-box-shadow); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: var(--tblr-btn-hover-color); + text-decoration: none; + background-color: var(--tblr-btn-hover-bg); + border-color: var(--tblr-btn-hover-border-color); +} +.btn-check + .btn:hover { + color: var(--tblr-btn-color); + background-color: var(--tblr-btn-bg); + border-color: var(--tblr-btn-border-color); +} +.btn:focus-visible { + color: var(--tblr-btn-hover-color); + background-color: var(--tblr-btn-hover-bg); + border-color: var(--tblr-btn-hover-border-color); + outline: 0; + box-shadow: var(--tblr-btn-box-shadow), var(--tblr-btn-focus-box-shadow); +} +.btn-check:focus-visible + .btn { + border-color: var(--tblr-btn-hover-border-color); + outline: 0; + box-shadow: var(--tblr-btn-box-shadow), var(--tblr-btn-focus-box-shadow); +} +.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show { + color: var(--tblr-btn-active-color); + background-color: var(--tblr-btn-active-bg); + border-color: var(--tblr-btn-active-border-color); + box-shadow: var(--tblr-btn-active-shadow); +} +.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { + box-shadow: var(--tblr-btn-active-shadow), var(--tblr-btn-focus-box-shadow); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + color: var(--tblr-btn-disabled-color); + pointer-events: none; + background-color: var(--tblr-btn-disabled-bg); + border-color: var(--tblr-btn-disabled-border-color); + opacity: var(--tblr-btn-disabled-opacity); + box-shadow: none; +} + +.btn-link { + --tblr-btn-font-weight: 400; + --tblr-btn-color: var(--tblr-link-color); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-link-hover-color); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-color: var(--tblr-link-hover-color); + --tblr-btn-active-border-color: transparent; + --tblr-btn-disabled-color: #667382; + --tblr-btn-disabled-border-color: transparent; + --tblr-btn-box-shadow: 0 0 0 #000; + --tblr-btn-focus-shadow-rgb: 65, 129, 205; + text-decoration: none; +} +.btn-link:hover, .btn-link:focus-visible { + text-decoration: underline; +} +.btn-link:focus-visible { + color: var(--tblr-btn-color); +} +.btn-link:hover { + color: var(--tblr-btn-hover-color); +} + +.btn-lg, .btn-group-lg > .btn { + --tblr-btn-padding-y: 0.5rem; + --tblr-btn-padding-x: 0.75rem; + --tblr-btn-font-size: 1.25rem; + --tblr-btn-border-radius: var(--tblr-border-radius-lg); +} + +.btn-sm, .btn-group-sm > .btn { + --tblr-btn-padding-y: 0.125rem; + --tblr-btn-padding-x: 0.25rem; + --tblr-btn-font-size: 0.75rem; + --tblr-btn-border-radius: var(--tblr-border-radius-sm); +} + +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.306em; + width: 0.36em; + height: 0.36em; + border-bottom: 1px var(--tblr-border-style); + border-right: 1px var(--tblr-border-style); + margin-left: 0.1em; + margin-right: 0.4em; + transform: rotate(45deg); +} + +.dropdown-menu { + --tblr-dropdown-zindex: 1000; + --tblr-dropdown-min-width: 11rem; + --tblr-dropdown-padding-x: 0; + --tblr-dropdown-padding-y: 0.25rem; + --tblr-dropdown-spacer: 1px; + --tblr-dropdown-font-size: 0.875rem; + --tblr-dropdown-color: var(--tblr-body-color); + --tblr-dropdown-bg: var(--tblr-bg-surface); + --tblr-dropdown-border-color: var(--tblr-border-color-translucent); + --tblr-dropdown-border-radius: var(--tblr-border-radius); + --tblr-dropdown-border-width: var(--tblr-border-width); + --tblr-dropdown-inner-border-radius: calc(var(--tblr-border-radius) - var(--tblr-border-width)); + --tblr-dropdown-divider-bg: var(--tblr-border-color-translucent); + --tblr-dropdown-divider-margin-y: var(--tblr-spacer); + --tblr-dropdown-box-shadow: var(--tblr-shadow-dropdown); + --tblr-dropdown-link-color: inherit; + --tblr-dropdown-link-hover-color: inherit; + --tblr-dropdown-link-hover-bg: rgba(var(--tblr-muted-rgb), 0.04); + --tblr-dropdown-link-active-color: var(--tblr-primary); + --tblr-dropdown-link-active-bg: var(--tblr-active-bg); + --tblr-dropdown-link-disabled-color: var(--tblr-tertiary-color); + --tblr-dropdown-item-padding-x: 0.75rem; + --tblr-dropdown-item-padding-y: 0.5rem; + --tblr-dropdown-header-color: #667382; + --tblr-dropdown-header-padding-x: 0.75rem; + --tblr-dropdown-header-padding-y: 0.25rem; + position: absolute; + z-index: var(--tblr-dropdown-zindex); + display: none; + min-width: var(--tblr-dropdown-min-width); + padding: var(--tblr-dropdown-padding-y) var(--tblr-dropdown-padding-x); + margin: 0; + font-size: var(--tblr-dropdown-font-size); + color: var(--tblr-dropdown-color); + text-align: right; + list-style: none; + background-color: var(--tblr-dropdown-bg); + background-clip: padding-box; + border: var(--tblr-dropdown-border-width) solid var(--tblr-dropdown-border-color); + border-radius: var(--tblr-dropdown-border-radius); + box-shadow: var(--tblr-dropdown-box-shadow); +} +.dropdown-menu[data-bs-popper] { + top: 100%; + right: 0; + margin-top: var(--tblr-dropdown-spacer); +} + +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + left: auto; + right: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + left: 0; + right: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + left: auto; + right: 0; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + left: 0; + right: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + left: auto; + right: 0; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + left: 0; + right: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + left: auto; + right: 0; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + left: 0; + right: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + left: auto; + right: 0; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + left: 0; + right: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + left: auto; + right: 0; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + left: 0; + right: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--tblr-dropdown-spacer); +} +.dropup .dropdown-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.306em; + width: 0.36em; + height: 0.36em; + border-bottom: 1px var(--tblr-border-style); + border-right: 1px var(--tblr-border-style); + margin-left: 0.1em; + margin-right: 0.4em; + transform: rotate(-135deg); +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + left: auto; + right: 100%; + margin-top: 0; + margin-right: var(--tblr-dropdown-spacer); +} +.dropend .dropdown-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.306em; + width: 0.36em; + height: 0.36em; + border-bottom: 1px var(--tblr-border-style); + border-right: 1px var(--tblr-border-style); + margin-left: 0.1em; + margin-right: 0.4em; + transform: rotate(135deg); +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + left: 100%; + right: auto; + margin-top: 0; + margin-left: var(--tblr-dropdown-spacer); +} +.dropstart .dropdown-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.306em; + width: 0.36em; + height: 0.36em; + border-bottom: 1px var(--tblr-border-style); + border-right: 1px var(--tblr-border-style); + margin-left: 0.1em; + margin-right: 0.4em; + transform: rotate(-45deg); +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: var(--tblr-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--tblr-dropdown-divider-bg); + opacity: 1; +} + +.dropdown-item { + display: block; + width: 100%; + padding: var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x); + clear: both; + font-weight: 400; + color: var(--tblr-dropdown-link-color); + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; + border-radius: var(--tblr-dropdown-item-border-radius, 0); +} +.dropdown-item:hover, .dropdown-item:focus { + color: var(--tblr-dropdown-link-hover-color); + text-decoration: none; + background-color: var(--tblr-dropdown-link-hover-bg); +} +.dropdown-item.active, .dropdown-item:active { + color: var(--tblr-dropdown-link-active-color); + text-decoration: none; + background-color: var(--tblr-dropdown-link-active-bg); +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: var(--tblr-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: var(--tblr-dropdown-header-padding-y) var(--tblr-dropdown-header-padding-x); + margin-bottom: 0; + font-size: 0.765625rem; + color: var(--tblr-dropdown-header-color); + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x); + color: var(--tblr-dropdown-link-color); +} + +.dropdown-menu-dark { + --tblr-dropdown-color: #dadfe5; + --tblr-dropdown-bg: #182433; + --tblr-dropdown-border-color: var(--tblr-border-color-translucent); + --tblr-dropdown-box-shadow: ; + --tblr-dropdown-link-color: #dadfe5; + --tblr-dropdown-link-hover-color: #ffffff; + --tblr-dropdown-divider-bg: var(--tblr-border-color-translucent); + --tblr-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); + --tblr-dropdown-link-active-color: var(--tblr-primary); + --tblr-dropdown-link-active-bg: var(--tblr-active-bg); + --tblr-dropdown-link-disabled-color: #929dab; + --tblr-dropdown-header-color: #929dab; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.btn-group { + border-radius: var(--tblr-border-radius); +} +.btn-group > :not(.btn-check:first-child) + .btn, +.btn-group > .btn-group:not(:first-child) { + margin-right: calc(var(--tblr-border-width) * -1); +} +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn.dropdown-toggle-split:first-child, +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group > .btn:nth-child(n+3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.dropdown-toggle-split { + padding-left: 0.75rem; + padding-right: 0.75rem; +} +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { + margin-right: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-left: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-left: 0.1875rem; + padding-right: 0.1875rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-left: 0.5625rem; + padding-right: 0.5625rem; +} + +.btn-group.show .dropdown-toggle { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.show .dropdown-toggle.btn-link { + box-shadow: none; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: calc(var(--tblr-border-width) * -1); +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group-vertical > .btn ~ .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.nav { + --tblr-nav-link-padding-x: 0.75rem; + --tblr-nav-link-padding-y: 0.5rem; + --tblr-nav-link-font-weight: ; + --tblr-nav-link-color: var(--tblr-muted); + --tblr-nav-link-hover-color: var(--tblr-link-hover-color); + --tblr-nav-link-disabled-color: var(--tblr-disabled-color); + display: flex; + flex-wrap: wrap; + padding-right: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: var(--tblr-nav-link-padding-y) var(--tblr-nav-link-padding-x); + font-size: var(--tblr-nav-link-font-size); + font-weight: var(--tblr-nav-link-font-weight); + color: var(--tblr-nav-link-color); + background: none; + border: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:hover, .nav-link:focus { + color: var(--tblr-nav-link-hover-color); + text-decoration: none; +} +.nav-link:focus-visible { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.nav-link.disabled { + color: var(--tblr-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} + +.nav-tabs { + --tblr-nav-tabs-border-width: var(--tblr-border-width); + --tblr-nav-tabs-border-color: var(--tblr-border-color); + --tblr-nav-tabs-border-radius: var(--tblr-border-radius); + --tblr-nav-tabs-link-hover-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color); + --tblr-nav-tabs-link-active-color: var(--tblr-body-color); + --tblr-nav-tabs-link-active-bg: var(--tblr-body-bg); + --tblr-nav-tabs-link-active-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color); + border-bottom: var(--tblr-nav-tabs-border-width) solid var(--tblr-nav-tabs-border-color); +} +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--tblr-nav-tabs-border-width)); + border: var(--tblr-nav-tabs-border-width) solid transparent; + border-top-right-radius: var(--tblr-nav-tabs-border-radius); + border-top-left-radius: var(--tblr-nav-tabs-border-radius); +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + isolation: isolate; + border-color: var(--tblr-nav-tabs-link-hover-border-color); +} +.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled { + color: var(--tblr-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: var(--tblr-nav-tabs-link-active-color); + background-color: var(--tblr-nav-tabs-link-active-bg); + border-color: var(--tblr-nav-tabs-link-active-border-color); +} +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--tblr-nav-tabs-border-width)); + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.nav-pills { + --tblr-nav-pills-border-radius: var(--tblr-border-radius); + --tblr-nav-pills-link-active-color: var(--tblr-primary); + --tblr-nav-pills-link-active-bg: var(--tblr-active-bg); +} +.nav-pills .nav-link { + border-radius: var(--tblr-nav-pills-border-radius); +} +.nav-pills .nav-link:disabled { + color: var(--tblr-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--tblr-nav-pills-link-active-color); + background-color: var(--tblr-nav-pills-link-active-bg); +} + +.nav-underline { + --tblr-nav-underline-gap: 1rem; + --tblr-nav-underline-border-width: 0.125rem; + --tblr-nav-underline-link-active-color: var(--tblr-emphasis-color); + gap: var(--tblr-nav-underline-gap); +} +.nav-underline .nav-link { + padding-left: 0; + padding-right: 0; + border-bottom: var(--tblr-nav-underline-border-width) solid transparent; +} +.nav-underline .nav-link:hover, .nav-underline .nav-link:focus { + border-bottom-color: currentcolor; +} +.nav-underline .nav-link.active, +.nav-underline .show > .nav-link { + font-weight: 600; + color: var(--tblr-nav-underline-link-active-color); + border-bottom-color: currentcolor; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} + +.navbar { + --tblr-navbar-padding-x: 0; + --tblr-navbar-padding-y: 0.25rem; + --tblr-navbar-color: var(--tblr-body-color); + --tblr-navbar-hover-color: rgba(var(--tblr-emphasis-color-rgb), 0.8); + --tblr-navbar-disabled-color: var(--tblr-disabled-color); + --tblr-navbar-active-color: var(--tblr-body-color) color; + --tblr-navbar-brand-padding-y: 0.5rem; + --tblr-navbar-brand-margin-end: 1rem; + --tblr-navbar-brand-font-size: 1.25rem; + --tblr-navbar-brand-color: var(--tblr-body-color); + --tblr-navbar-brand-hover-color: var(--tblr-body-color) color; + --tblr-navbar-nav-link-padding-x: 0.75rem; + --tblr-navbar-toggler-padding-y: 0; + --tblr-navbar-toggler-padding-x: 0; + --tblr-navbar-toggler-font-size: 1rem; + --tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2824, 36, 51, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --tblr-navbar-toggler-border-color: rgba(var(--tblr-emphasis-color-rgb), 0.15); + --tblr-navbar-toggler-border-radius: var(--tblr-border-radius); + --tblr-navbar-toggler-focus-width: 0; + --tblr-navbar-toggler-transition: box-shadow 0.15s ease-in-out; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: var(--tblr-navbar-padding-y) var(--tblr-navbar-padding-x); +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: var(--tblr-navbar-brand-padding-y); + padding-bottom: var(--tblr-navbar-brand-padding-y); + margin-left: var(--tblr-navbar-brand-margin-end); + font-size: var(--tblr-navbar-brand-font-size); + color: var(--tblr-navbar-brand-color); + white-space: nowrap; +} +.navbar-brand:hover, .navbar-brand:focus { + color: var(--tblr-navbar-brand-hover-color); + text-decoration: none; +} + +.navbar-nav { + --tblr-nav-link-padding-x: 0; + --tblr-nav-link-padding-y: 0.5rem; + --tblr-nav-link-font-weight: ; + --tblr-nav-link-color: var(--tblr-navbar-color); + --tblr-nav-link-hover-color: var(--tblr-navbar-hover-color); + --tblr-nav-link-disabled-color: var(--tblr-navbar-disabled-color); + display: flex; + flex-direction: column; + padding-right: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link.active, .navbar-nav .nav-link.show { + color: var(--tblr-navbar-active-color); +} +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--tblr-navbar-color); +} +.navbar-text a, +.navbar-text a:hover, +.navbar-text a:focus { + color: var(--tblr-navbar-active-color); +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: var(--tblr-navbar-toggler-padding-y) var(--tblr-navbar-toggler-padding-x); + font-size: var(--tblr-navbar-toggler-font-size); + line-height: 1; + color: var(--tblr-navbar-color); + background-color: transparent; + border: var(--tblr-border-width) solid var(--tblr-navbar-toggler-border-color); + border-radius: var(--tblr-navbar-toggler-border-radius); + transition: var(--tblr-navbar-toggler-transition); +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--tblr-navbar-toggler-focus-width); +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--tblr-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--tblr-scroll-height, 75vh); + overflow-y: auto; +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-left: var(--tblr-navbar-nav-link-padding-x); + padding-right: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-left: var(--tblr-navbar-nav-link-padding-x); + padding-right: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-left: var(--tblr-navbar-nav-link-padding-x); + padding-right: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-left: var(--tblr-navbar-nav-link-padding-x); + padding-right: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-left: var(--tblr-navbar-nav-link-padding-x); + padding-right: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-left: var(--tblr-navbar-nav-link-padding-x); + padding-right: var(--tblr-navbar-nav-link-padding-x); +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; +} +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.navbar-dark { + --tblr-navbar-color: rgba(255, 255, 255, 0.7); + --tblr-navbar-hover-color: rgba(255, 255, 255, 0.75); + --tblr-navbar-disabled-color: var(--tblr-disabled-color); + --tblr-navbar-active-color: #ffffff; + --tblr-navbar-brand-color: #ffffff; + --tblr-navbar-brand-hover-color: #ffffff; + --tblr-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); + --tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +[data-bs-theme=dark] .navbar-toggler-icon { + --tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.card { + --tblr-card-spacer-y: 1rem; + --tblr-card-spacer-x: 1.5rem; + --tblr-card-title-spacer-y: 1.25rem; + --tblr-card-title-color: ; + --tblr-card-subtitle-color: ; + --tblr-card-border-width: var(--tblr-border-width); + --tblr-card-border-color: var(--tblr-border-color-translucent); + --tblr-card-border-radius: var(--tblr-border-radius); + --tblr-card-box-shadow: var(--tblr-shadow-card); + --tblr-card-inner-border-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); + --tblr-card-cap-padding-y: 1rem; + --tblr-card-cap-padding-x: 1.5rem; + --tblr-card-cap-bg: var(--tblr-bg-surface-tertiary); + --tblr-card-cap-color: inherit; + --tblr-card-height: ; + --tblr-card-color: inherit; + --tblr-card-bg: var(--tblr-bg-surface); + --tblr-card-img-overlay-padding: 1rem; + --tblr-card-group-margin: 1.5rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--tblr-card-height); + color: var(--tblr-body-color); + word-wrap: break-word; + background-color: var(--tblr-card-bg); + background-clip: border-box; + border: var(--tblr-card-border-width) solid var(--tblr-card-border-color); + border-radius: var(--tblr-card-border-radius); + box-shadow: var(--tblr-card-box-shadow); +} +.card > hr, .card > .hr { + margin-left: 0; + margin-right: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-right-radius: var(--tblr-card-inner-border-radius); + border-top-left-radius: var(--tblr-card-inner-border-radius); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-left-radius: var(--tblr-card-inner-border-radius); + border-bottom-right-radius: var(--tblr-card-inner-border-radius); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: var(--tblr-card-spacer-y) var(--tblr-card-spacer-x); + color: var(--tblr-card-color); +} + +.card-title { + margin-bottom: var(--tblr-card-title-spacer-y); + color: var(--tblr-card-title-color); +} + +.card-subtitle { + margin-top: calc(-0.5 * var(--tblr-card-title-spacer-y)); + margin-bottom: 0; + color: var(--tblr-card-subtitle-color); +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} +.card-link + .card-link { + margin-right: var(--tblr-card-spacer-x); +} + +.card-header { + padding: var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x); + margin-bottom: 0; + color: var(--tblr-card-cap-color); + background-color: var(--tblr-card-cap-bg); + border-bottom: var(--tblr-card-border-width) solid var(--tblr-card-border-color); +} +.card-header:first-child { + border-radius: var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0; +} + +.card-footer { + padding: var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x); + color: var(--tblr-card-cap-color); + background-color: var(--tblr-card-cap-bg); + border-top: var(--tblr-card-border-width) solid var(--tblr-card-border-color); +} +.card-footer:last-child { + border-radius: 0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius); +} + +.card-header-tabs { + margin-left: calc(-0.5 * var(--tblr-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--tblr-card-cap-padding-y)); + margin-right: calc(-0.5 * var(--tblr-card-cap-padding-x)); + border-bottom: 0; +} +.card-header-tabs .nav-link.active { + background-color: var(--tblr-card-bg); + border-bottom-color: var(--tblr-card-bg); +} + +.card-header-pills { + margin-left: calc(-0.5 * var(--tblr-card-cap-padding-x)); + margin-right: calc(-0.5 * var(--tblr-card-cap-padding-x)); +} + +.card-img-overlay { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + padding: var(--tblr-card-img-overlay-padding); + border-radius: var(--tblr-card-inner-border-radius); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-right-radius: var(--tblr-card-inner-border-radius); + border-top-left-radius: var(--tblr-card-inner-border-radius); +} + +.card-img, +.card-img-bottom { + border-bottom-left-radius: var(--tblr-card-inner-border-radius); + border-bottom-right-radius: var(--tblr-card-inner-border-radius); +} + +.card-group > .card { + margin-bottom: var(--tblr-card-group-margin); +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-right: 0; + border-right: 0; + } + .card-group > .card:not(:last-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-right-radius: 0; + } +} + +.accordion { + --tblr-accordion-color: var(--tblr-body-color); + --tblr-accordion-bg: transparent; + --tblr-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; + --tblr-accordion-border-color: var(--tblr-border-color-translucent); + --tblr-accordion-border-width: var(--tblr-border-width); + --tblr-accordion-border-radius: var(--tblr-border-radius); + --tblr-accordion-inner-border-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); + --tblr-accordion-btn-padding-x: 1.25rem; + --tblr-accordion-btn-padding-y: 1rem; + --tblr-accordion-btn-color: var(--tblr-body-color); + --tblr-accordion-btn-bg: transparent; + --tblr-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23182433'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --tblr-accordion-btn-icon-width: 1rem; + --tblr-accordion-btn-icon-transform: rotate(-180deg); + --tblr-accordion-btn-icon-transition: transform 0.2s ease-in-out; + --tblr-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230d2b4e'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --tblr-accordion-btn-focus-border-color: var(--tblr-border-color-translucent); + --tblr-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); + --tblr-accordion-body-padding-x: 1.25rem; + --tblr-accordion-body-padding-y: 1rem; + --tblr-accordion-active-color: inherit; + --tblr-accordion-active-bg: transparent; +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--tblr-accordion-btn-padding-y) var(--tblr-accordion-btn-padding-x); + font-size: 0.875rem; + color: var(--tblr-accordion-btn-color); + text-align: right; + background-color: var(--tblr-accordion-btn-bg); + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: var(--tblr-accordion-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: var(--tblr-accordion-active-color); + background-color: var(--tblr-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--tblr-accordion-border-width)) 0 var(--tblr-accordion-border-color); +} +.accordion-button:not(.collapsed)::after { + background-image: var(--tblr-accordion-btn-active-icon); + transform: var(--tblr-accordion-btn-icon-transform); +} +.accordion-button::after { + flex-shrink: 0; + width: var(--tblr-accordion-btn-icon-width); + height: var(--tblr-accordion-btn-icon-width); + margin-right: auto; + content: ""; + background-image: var(--tblr-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--tblr-accordion-btn-icon-width); + transition: var(--tblr-accordion-btn-icon-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + border-color: var(--tblr-accordion-btn-focus-border-color); + outline: 0; + box-shadow: var(--tblr-accordion-btn-focus-box-shadow); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--tblr-accordion-color); + background-color: var(--tblr-accordion-bg); + border: var(--tblr-accordion-border-width) solid var(--tblr-accordion-border-color); +} +.accordion-item:first-of-type { + border-top-right-radius: var(--tblr-accordion-border-radius); + border-top-left-radius: var(--tblr-accordion-border-radius); +} +.accordion-item:first-of-type .accordion-button { + border-top-right-radius: var(--tblr-accordion-inner-border-radius); + border-top-left-radius: var(--tblr-accordion-inner-border-radius); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-left-radius: var(--tblr-accordion-border-radius); + border-bottom-right-radius: var(--tblr-accordion-border-radius); +} +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-left-radius: var(--tblr-accordion-inner-border-radius); + border-bottom-right-radius: var(--tblr-accordion-inner-border-radius); +} +.accordion-item:last-of-type .accordion-collapse { + border-bottom-left-radius: var(--tblr-accordion-border-radius); + border-bottom-right-radius: var(--tblr-accordion-border-radius); +} + +.accordion-body { + padding: var(--tblr-accordion-body-padding-y) var(--tblr-accordion-body-padding-x); +} + +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-left: 0; + border-right: 0; + border-radius: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed { + border-radius: 0; +} + +[data-bs-theme=dark] .accordion-button::after { + --tblr-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2379a6dc'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --tblr-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2379a6dc'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} + +.breadcrumb { + --tblr-breadcrumb-padding-x: 0; + --tblr-breadcrumb-padding-y: 0; + --tblr-breadcrumb-margin-bottom: 1rem; + --tblr-breadcrumb-bg: ; + --tblr-breadcrumb-border-radius: ; + --tblr-breadcrumb-divider-color: var(--tblr-muted); + --tblr-breadcrumb-item-padding-x: 0.5rem; + --tblr-breadcrumb-item-active-color: inherit; + display: flex; + flex-wrap: wrap; + padding: var(--tblr-breadcrumb-padding-y) var(--tblr-breadcrumb-padding-x); + margin-bottom: var(--tblr-breadcrumb-margin-bottom); + font-size: var(--tblr-breadcrumb-font-size); + list-style: none; + background-color: var(--tblr-breadcrumb-bg); + border-radius: var(--tblr-breadcrumb-border-radius); +} + +.breadcrumb-item + .breadcrumb-item { + padding-right: var(--tblr-breadcrumb-item-padding-x); +} +.breadcrumb-item + .breadcrumb-item::before { + float: right; + padding-left: var(--tblr-breadcrumb-item-padding-x); + color: var(--tblr-breadcrumb-divider-color); + content: var(--tblr-breadcrumb-divider, "/") ; +} +.breadcrumb-item.active { + color: var(--tblr-breadcrumb-item-active-color); +} + +.pagination { + --tblr-pagination-padding-x: 0.25rem; + --tblr-pagination-padding-y: 0.25rem; + --tblr-pagination-font-size: 0.875rem; + --tblr-pagination-color: var(--tblr-muted); + --tblr-pagination-bg: transparent; + --tblr-pagination-border-width: 0; + --tblr-pagination-border-color: var(--tblr-border-color); + --tblr-pagination-border-radius: var(--tblr-border-radius); + --tblr-pagination-hover-color: var(--tblr-link-hover-color); + --tblr-pagination-hover-bg: var(--tblr-tertiary-bg); + --tblr-pagination-hover-border-color: var(--tblr-border-color); + --tblr-pagination-focus-color: var(--tblr-link-hover-color); + --tblr-pagination-focus-bg: var(--tblr-secondary-bg); + --tblr-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); + --tblr-pagination-active-color: #ffffff; + --tblr-pagination-active-bg: var(--tblr-primary); + --tblr-pagination-active-border-color: var(--tblr-primary); + --tblr-pagination-disabled-color: var(--tblr-disabled-color); + --tblr-pagination-disabled-bg: transparent; + --tblr-pagination-disabled-border-color: var(--tblr-border-color); + display: flex; + padding-right: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + padding: var(--tblr-pagination-padding-y) var(--tblr-pagination-padding-x); + font-size: var(--tblr-pagination-font-size); + color: var(--tblr-pagination-color); + background-color: var(--tblr-pagination-bg); + border: var(--tblr-pagination-border-width) solid var(--tblr-pagination-border-color); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: var(--tblr-pagination-hover-color); + text-decoration: none; + background-color: var(--tblr-pagination-hover-bg); + border-color: var(--tblr-pagination-hover-border-color); +} +.page-link:focus { + z-index: 3; + color: var(--tblr-pagination-focus-color); + background-color: var(--tblr-pagination-focus-bg); + outline: 0; + box-shadow: var(--tblr-pagination-focus-box-shadow); +} +.page-link.active, .active > .page-link { + z-index: 3; + color: var(--tblr-pagination-active-color); + background-color: var(--tblr-pagination-active-bg); + border-color: var(--tblr-pagination-active-border-color); +} +.page-link.disabled, .disabled > .page-link { + color: var(--tblr-pagination-disabled-color); + pointer-events: none; + background-color: var(--tblr-pagination-disabled-bg); + border-color: var(--tblr-pagination-disabled-border-color); +} + +.page-item:not(:first-child) .page-link { + margin-right: calc(0 * -1); +} +.page-item:first-child .page-link { + border-top-right-radius: var(--tblr-pagination-border-radius); + border-bottom-right-radius: var(--tblr-pagination-border-radius); +} +.page-item:last-child .page-link { + border-top-left-radius: var(--tblr-pagination-border-radius); + border-bottom-left-radius: var(--tblr-pagination-border-radius); +} + +.pagination-lg { + --tblr-pagination-padding-x: 1.5rem; + --tblr-pagination-padding-y: 0.75rem; + --tblr-pagination-font-size: 1.09375rem; + --tblr-pagination-border-radius: var(--tblr-border-radius-lg); +} + +.pagination-sm { + --tblr-pagination-padding-x: 0.5rem; + --tblr-pagination-padding-y: 0.25rem; + --tblr-pagination-font-size: 0.765625rem; + --tblr-pagination-border-radius: var(--tblr-border-radius-sm); +} + +.badge { + --tblr-badge-padding-x: 0.5em; + --tblr-badge-padding-y: 0.25em; + --tblr-badge-font-size: 85.714285%; + --tblr-badge-font-weight: var(--tblr-font-weight-medium); + --tblr-badge-color: #ffffff; + --tblr-badge-border-radius: var(--tblr-border-radius); + display: inline-block; + padding: var(--tblr-badge-padding-y) var(--tblr-badge-padding-x); + font-size: var(--tblr-badge-font-size); + font-weight: var(--tblr-badge-font-weight); + line-height: 1; + color: var(--tblr-badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: var(--tblr-badge-border-radius); +} +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.alert { + --tblr-alert-bg: transparent; + --tblr-alert-padding-x: 1rem; + --tblr-alert-padding-y: 1rem; + --tblr-alert-margin-bottom: 1rem; + --tblr-alert-color: inherit; + --tblr-alert-border-color: transparent; + --tblr-alert-border: var(--tblr-border-width) solid var(--tblr-alert-border-color); + --tblr-alert-border-radius: var(--tblr-border-radius); + --tblr-alert-link-color: inherit; + position: relative; + padding: var(--tblr-alert-padding-y) var(--tblr-alert-padding-x); + margin-bottom: var(--tblr-alert-margin-bottom); + color: var(--tblr-alert-color); + background-color: var(--tblr-alert-bg); + border: var(--tblr-alert-border); + border-radius: var(--tblr-alert-border-radius); +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: var(--tblr-font-weight-bold); + color: var(--tblr-alert-link-color); +} + +.alert-dismissible { + padding-left: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + left: 0; + z-index: 2; + padding: 1.25rem 1rem; +} + +.alert-primary { + --tblr-alert-color: var(--tblr-primary-text-emphasis); + --tblr-alert-bg: var(--tblr-primary-bg-subtle); + --tblr-alert-border-color: var(--tblr-primary-border-subtle); + --tblr-alert-link-color: var(--tblr-primary-text-emphasis); +} + +.alert-secondary { + --tblr-alert-color: var(--tblr-secondary-text-emphasis); + --tblr-alert-bg: var(--tblr-secondary-bg-subtle); + --tblr-alert-border-color: var(--tblr-secondary-border-subtle); + --tblr-alert-link-color: var(--tblr-secondary-text-emphasis); +} + +.alert-success { + --tblr-alert-color: var(--tblr-success-text-emphasis); + --tblr-alert-bg: var(--tblr-success-bg-subtle); + --tblr-alert-border-color: var(--tblr-success-border-subtle); + --tblr-alert-link-color: var(--tblr-success-text-emphasis); +} + +.alert-info { + --tblr-alert-color: var(--tblr-info-text-emphasis); + --tblr-alert-bg: var(--tblr-info-bg-subtle); + --tblr-alert-border-color: var(--tblr-info-border-subtle); + --tblr-alert-link-color: var(--tblr-info-text-emphasis); +} + +.alert-warning { + --tblr-alert-color: var(--tblr-warning-text-emphasis); + --tblr-alert-bg: var(--tblr-warning-bg-subtle); + --tblr-alert-border-color: var(--tblr-warning-border-subtle); + --tblr-alert-link-color: var(--tblr-warning-text-emphasis); +} + +.alert-danger { + --tblr-alert-color: var(--tblr-danger-text-emphasis); + --tblr-alert-bg: var(--tblr-danger-bg-subtle); + --tblr-alert-border-color: var(--tblr-danger-border-subtle); + --tblr-alert-link-color: var(--tblr-danger-text-emphasis); +} + +.alert-light { + --tblr-alert-color: var(--tblr-light-text-emphasis); + --tblr-alert-bg: var(--tblr-light-bg-subtle); + --tblr-alert-border-color: var(--tblr-light-border-subtle); + --tblr-alert-link-color: var(--tblr-light-text-emphasis); +} + +.alert-dark { + --tblr-alert-color: var(--tblr-dark-text-emphasis); + --tblr-alert-bg: var(--tblr-dark-bg-subtle); + --tblr-alert-border-color: var(--tblr-dark-border-subtle); + --tblr-alert-link-color: var(--tblr-dark-text-emphasis); +} + +.alert-muted { + --tblr-alert-color: var(--tblr-muted-text-emphasis); + --tblr-alert-bg: var(--tblr-muted-bg-subtle); + --tblr-alert-border-color: var(--tblr-muted-border-subtle); + --tblr-alert-link-color: var(--tblr-muted-text-emphasis); +} + +.alert-blue { + --tblr-alert-color: var(--tblr-blue-text-emphasis); + --tblr-alert-bg: var(--tblr-blue-bg-subtle); + --tblr-alert-border-color: var(--tblr-blue-border-subtle); + --tblr-alert-link-color: var(--tblr-blue-text-emphasis); +} + +.alert-azure { + --tblr-alert-color: var(--tblr-azure-text-emphasis); + --tblr-alert-bg: var(--tblr-azure-bg-subtle); + --tblr-alert-border-color: var(--tblr-azure-border-subtle); + --tblr-alert-link-color: var(--tblr-azure-text-emphasis); +} + +.alert-indigo { + --tblr-alert-color: var(--tblr-indigo-text-emphasis); + --tblr-alert-bg: var(--tblr-indigo-bg-subtle); + --tblr-alert-border-color: var(--tblr-indigo-border-subtle); + --tblr-alert-link-color: var(--tblr-indigo-text-emphasis); +} + +.alert-purple { + --tblr-alert-color: var(--tblr-purple-text-emphasis); + --tblr-alert-bg: var(--tblr-purple-bg-subtle); + --tblr-alert-border-color: var(--tblr-purple-border-subtle); + --tblr-alert-link-color: var(--tblr-purple-text-emphasis); +} + +.alert-pink { + --tblr-alert-color: var(--tblr-pink-text-emphasis); + --tblr-alert-bg: var(--tblr-pink-bg-subtle); + --tblr-alert-border-color: var(--tblr-pink-border-subtle); + --tblr-alert-link-color: var(--tblr-pink-text-emphasis); +} + +.alert-red { + --tblr-alert-color: var(--tblr-red-text-emphasis); + --tblr-alert-bg: var(--tblr-red-bg-subtle); + --tblr-alert-border-color: var(--tblr-red-border-subtle); + --tblr-alert-link-color: var(--tblr-red-text-emphasis); +} + +.alert-orange { + --tblr-alert-color: var(--tblr-orange-text-emphasis); + --tblr-alert-bg: var(--tblr-orange-bg-subtle); + --tblr-alert-border-color: var(--tblr-orange-border-subtle); + --tblr-alert-link-color: var(--tblr-orange-text-emphasis); +} + +.alert-yellow { + --tblr-alert-color: var(--tblr-yellow-text-emphasis); + --tblr-alert-bg: var(--tblr-yellow-bg-subtle); + --tblr-alert-border-color: var(--tblr-yellow-border-subtle); + --tblr-alert-link-color: var(--tblr-yellow-text-emphasis); +} + +.alert-lime { + --tblr-alert-color: var(--tblr-lime-text-emphasis); + --tblr-alert-bg: var(--tblr-lime-bg-subtle); + --tblr-alert-border-color: var(--tblr-lime-border-subtle); + --tblr-alert-link-color: var(--tblr-lime-text-emphasis); +} + +.alert-green { + --tblr-alert-color: var(--tblr-green-text-emphasis); + --tblr-alert-bg: var(--tblr-green-bg-subtle); + --tblr-alert-border-color: var(--tblr-green-border-subtle); + --tblr-alert-link-color: var(--tblr-green-text-emphasis); +} + +.alert-teal { + --tblr-alert-color: var(--tblr-teal-text-emphasis); + --tblr-alert-bg: var(--tblr-teal-bg-subtle); + --tblr-alert-border-color: var(--tblr-teal-border-subtle); + --tblr-alert-link-color: var(--tblr-teal-text-emphasis); +} + +.alert-cyan { + --tblr-alert-color: var(--tblr-cyan-text-emphasis); + --tblr-alert-bg: var(--tblr-cyan-bg-subtle); + --tblr-alert-border-color: var(--tblr-cyan-border-subtle); + --tblr-alert-link-color: var(--tblr-cyan-text-emphasis); +} + +.alert-facebook { + --tblr-alert-color: var(--tblr-facebook-text-emphasis); + --tblr-alert-bg: var(--tblr-facebook-bg-subtle); + --tblr-alert-border-color: var(--tblr-facebook-border-subtle); + --tblr-alert-link-color: var(--tblr-facebook-text-emphasis); +} + +.alert-twitter { + --tblr-alert-color: var(--tblr-twitter-text-emphasis); + --tblr-alert-bg: var(--tblr-twitter-bg-subtle); + --tblr-alert-border-color: var(--tblr-twitter-border-subtle); + --tblr-alert-link-color: var(--tblr-twitter-text-emphasis); +} + +.alert-linkedin { + --tblr-alert-color: var(--tblr-linkedin-text-emphasis); + --tblr-alert-bg: var(--tblr-linkedin-bg-subtle); + --tblr-alert-border-color: var(--tblr-linkedin-border-subtle); + --tblr-alert-link-color: var(--tblr-linkedin-text-emphasis); +} + +.alert-google { + --tblr-alert-color: var(--tblr-google-text-emphasis); + --tblr-alert-bg: var(--tblr-google-bg-subtle); + --tblr-alert-border-color: var(--tblr-google-border-subtle); + --tblr-alert-link-color: var(--tblr-google-text-emphasis); +} + +.alert-youtube { + --tblr-alert-color: var(--tblr-youtube-text-emphasis); + --tblr-alert-bg: var(--tblr-youtube-bg-subtle); + --tblr-alert-border-color: var(--tblr-youtube-border-subtle); + --tblr-alert-link-color: var(--tblr-youtube-text-emphasis); +} + +.alert-vimeo { + --tblr-alert-color: var(--tblr-vimeo-text-emphasis); + --tblr-alert-bg: var(--tblr-vimeo-bg-subtle); + --tblr-alert-border-color: var(--tblr-vimeo-border-subtle); + --tblr-alert-link-color: var(--tblr-vimeo-text-emphasis); +} + +.alert-dribbble { + --tblr-alert-color: var(--tblr-dribbble-text-emphasis); + --tblr-alert-bg: var(--tblr-dribbble-bg-subtle); + --tblr-alert-border-color: var(--tblr-dribbble-border-subtle); + --tblr-alert-link-color: var(--tblr-dribbble-text-emphasis); +} + +.alert-github { + --tblr-alert-color: var(--tblr-github-text-emphasis); + --tblr-alert-bg: var(--tblr-github-bg-subtle); + --tblr-alert-border-color: var(--tblr-github-border-subtle); + --tblr-alert-link-color: var(--tblr-github-text-emphasis); +} + +.alert-instagram { + --tblr-alert-color: var(--tblr-instagram-text-emphasis); + --tblr-alert-bg: var(--tblr-instagram-bg-subtle); + --tblr-alert-border-color: var(--tblr-instagram-border-subtle); + --tblr-alert-link-color: var(--tblr-instagram-text-emphasis); +} + +.alert-pinterest { + --tblr-alert-color: var(--tblr-pinterest-text-emphasis); + --tblr-alert-bg: var(--tblr-pinterest-bg-subtle); + --tblr-alert-border-color: var(--tblr-pinterest-border-subtle); + --tblr-alert-link-color: var(--tblr-pinterest-text-emphasis); +} + +.alert-vk { + --tblr-alert-color: var(--tblr-vk-text-emphasis); + --tblr-alert-bg: var(--tblr-vk-bg-subtle); + --tblr-alert-border-color: var(--tblr-vk-border-subtle); + --tblr-alert-link-color: var(--tblr-vk-text-emphasis); +} + +.alert-rss { + --tblr-alert-color: var(--tblr-rss-text-emphasis); + --tblr-alert-bg: var(--tblr-rss-bg-subtle); + --tblr-alert-border-color: var(--tblr-rss-border-subtle); + --tblr-alert-link-color: var(--tblr-rss-text-emphasis); +} + +.alert-flickr { + --tblr-alert-color: var(--tblr-flickr-text-emphasis); + --tblr-alert-bg: var(--tblr-flickr-bg-subtle); + --tblr-alert-border-color: var(--tblr-flickr-border-subtle); + --tblr-alert-link-color: var(--tblr-flickr-text-emphasis); +} + +.alert-bitbucket { + --tblr-alert-color: var(--tblr-bitbucket-text-emphasis); + --tblr-alert-bg: var(--tblr-bitbucket-bg-subtle); + --tblr-alert-border-color: var(--tblr-bitbucket-border-subtle); + --tblr-alert-link-color: var(--tblr-bitbucket-text-emphasis); +} + +.alert-tabler { + --tblr-alert-color: var(--tblr-tabler-text-emphasis); + --tblr-alert-bg: var(--tblr-tabler-bg-subtle); + --tblr-alert-border-color: var(--tblr-tabler-border-subtle); + --tblr-alert-link-color: var(--tblr-tabler-text-emphasis); +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 0.5rem; + } +} +.progress, +.progress-stacked { + --tblr-progress-height: 0.5rem; + --tblr-progress-font-size: 0.65625rem; + --tblr-progress-bg: var(--tblr-border-color); + --tblr-progress-border-radius: var(--tblr-border-radius); + --tblr-progress-box-shadow: var(--tblr-box-shadow-inset); + --tblr-progress-bar-color: #ffffff; + --tblr-progress-bar-bg: var(--tblr-primary); + --tblr-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--tblr-progress-height); + overflow: hidden; + font-size: var(--tblr-progress-font-size); + background-color: var(--tblr-progress-bg); + border-radius: var(--tblr-progress-border-radius); + box-shadow: var(--tblr-progress-box-shadow); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--tblr-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--tblr-progress-bar-bg); + transition: var(--tblr-progress-bar-transition); +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: var(--tblr-progress-height) var(--tblr-progress-height); +} + +.progress-stacked > .progress { + overflow: visible; +} + +.progress-stacked > .progress > .progress-bar { + width: 100%; +} + +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +.list-group { + --tblr-list-group-color: var(--tblr-body-color); + --tblr-list-group-bg: inherit; + --tblr-list-group-border-color: var(--tblr-border-color); + --tblr-list-group-border-width: var(--tblr-border-width); + --tblr-list-group-border-radius: var(--tblr-border-radius); + --tblr-list-group-item-padding-x: 1.5rem; + --tblr-list-group-item-padding-y: 1rem; + --tblr-list-group-action-color: inherit; + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: rgba(var(--tblr-muted-rgb), 0.04); + --tblr-list-group-action-active-color: var(--tblr-body-color); + --tblr-list-group-action-active-bg: var(--tblr-secondary-bg); + --tblr-list-group-disabled-color: var(--tblr-secondary-color); + --tblr-list-group-disabled-bg: inherit; + --tblr-list-group-active-color: inherit; + --tblr-list-group-active-bg: var(--tblr-active-bg); + --tblr-list-group-active-border-color: var(--tblr-border-color); + display: flex; + flex-direction: column; + padding-right: 0; + margin-bottom: 0; + border-radius: var(--tblr-list-group-border-radius); +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > .list-group-item::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item-action { + width: 100%; + color: var(--tblr-list-group-action-color); + text-align: inherit; +} +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: var(--tblr-list-group-action-hover-color); + text-decoration: none; + background-color: var(--tblr-list-group-action-hover-bg); +} +.list-group-item-action:active { + color: var(--tblr-list-group-action-active-color); + background-color: var(--tblr-list-group-action-active-bg); +} + +.list-group-item { + position: relative; + display: block; + padding: var(--tblr-list-group-item-padding-y) var(--tblr-list-group-item-padding-x); + color: var(--tblr-list-group-color); + background-color: var(--tblr-list-group-bg); + border: var(--tblr-list-group-border-width) solid var(--tblr-list-group-border-color); +} +.list-group-item:first-child { + border-top-right-radius: inherit; + border-top-left-radius: inherit; +} +.list-group-item:last-child { + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; +} +.list-group-item.disabled, .list-group-item:disabled { + color: var(--tblr-list-group-disabled-color); + pointer-events: none; + background-color: var(--tblr-list-group-disabled-bg); +} +.list-group-item.active { + z-index: 2; + color: var(--tblr-list-group-active-color); + background-color: var(--tblr-list-group-active-bg); + border-color: var(--tblr-list-group-active-border-color); +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: calc(-1 * var(--tblr-list-group-border-width)); + border-top-width: var(--tblr-list-group-border-width); +} + +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--tblr-list-group-border-radius); + border-top-left-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--tblr-list-group-border-radius); + border-bottom-right-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-right-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--tblr-list-group-border-width)); + border-right-width: var(--tblr-list-group-border-width); +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--tblr-list-group-border-radius); + border-top-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--tblr-list-group-border-radius); + border-bottom-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-right-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--tblr-list-group-border-width)); + border-right-width: var(--tblr-list-group-border-width); + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--tblr-list-group-border-radius); + border-top-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--tblr-list-group-border-radius); + border-bottom-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-right-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--tblr-list-group-border-width)); + border-right-width: var(--tblr-list-group-border-width); + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--tblr-list-group-border-radius); + border-top-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--tblr-list-group-border-radius); + border-bottom-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-right-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--tblr-list-group-border-width)); + border-right-width: var(--tblr-list-group-border-width); + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--tblr-list-group-border-radius); + border-top-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--tblr-list-group-border-radius); + border-bottom-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-right-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--tblr-list-group-border-width)); + border-right-width: var(--tblr-list-group-border-width); + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--tblr-list-group-border-radius); + border-top-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--tblr-list-group-border-radius); + border-bottom-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-right-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--tblr-list-group-border-width)); + border-right-width: var(--tblr-list-group-border-width); + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 var(--tblr-list-group-border-width); +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + --tblr-list-group-color: var(--tblr-primary-text-emphasis); + --tblr-list-group-bg: var(--tblr-primary-bg-subtle); + --tblr-list-group-border-color: var(--tblr-primary-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-primary-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-primary-border-subtle); + --tblr-list-group-active-color: var(--tblr-primary-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-primary-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-primary-text-emphasis); +} + +.list-group-item-secondary { + --tblr-list-group-color: var(--tblr-secondary-text-emphasis); + --tblr-list-group-bg: var(--tblr-secondary-bg-subtle); + --tblr-list-group-border-color: var(--tblr-secondary-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-secondary-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-secondary-border-subtle); + --tblr-list-group-active-color: var(--tblr-secondary-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-secondary-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-secondary-text-emphasis); +} + +.list-group-item-success { + --tblr-list-group-color: var(--tblr-success-text-emphasis); + --tblr-list-group-bg: var(--tblr-success-bg-subtle); + --tblr-list-group-border-color: var(--tblr-success-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-success-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-success-border-subtle); + --tblr-list-group-active-color: var(--tblr-success-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-success-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-success-text-emphasis); +} + +.list-group-item-info { + --tblr-list-group-color: var(--tblr-info-text-emphasis); + --tblr-list-group-bg: var(--tblr-info-bg-subtle); + --tblr-list-group-border-color: var(--tblr-info-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-info-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-info-border-subtle); + --tblr-list-group-active-color: var(--tblr-info-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-info-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-info-text-emphasis); +} + +.list-group-item-warning { + --tblr-list-group-color: var(--tblr-warning-text-emphasis); + --tblr-list-group-bg: var(--tblr-warning-bg-subtle); + --tblr-list-group-border-color: var(--tblr-warning-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-warning-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-warning-border-subtle); + --tblr-list-group-active-color: var(--tblr-warning-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-warning-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-warning-text-emphasis); +} + +.list-group-item-danger { + --tblr-list-group-color: var(--tblr-danger-text-emphasis); + --tblr-list-group-bg: var(--tblr-danger-bg-subtle); + --tblr-list-group-border-color: var(--tblr-danger-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-danger-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-danger-border-subtle); + --tblr-list-group-active-color: var(--tblr-danger-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-danger-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-danger-text-emphasis); +} + +.list-group-item-light { + --tblr-list-group-color: var(--tblr-light-text-emphasis); + --tblr-list-group-bg: var(--tblr-light-bg-subtle); + --tblr-list-group-border-color: var(--tblr-light-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-light-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-light-border-subtle); + --tblr-list-group-active-color: var(--tblr-light-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-light-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-light-text-emphasis); +} + +.list-group-item-dark { + --tblr-list-group-color: var(--tblr-dark-text-emphasis); + --tblr-list-group-bg: var(--tblr-dark-bg-subtle); + --tblr-list-group-border-color: var(--tblr-dark-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-dark-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-dark-border-subtle); + --tblr-list-group-active-color: var(--tblr-dark-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-dark-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-dark-text-emphasis); +} + +.list-group-item-muted { + --tblr-list-group-color: var(--tblr-muted-text-emphasis); + --tblr-list-group-bg: var(--tblr-muted-bg-subtle); + --tblr-list-group-border-color: var(--tblr-muted-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-muted-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-muted-border-subtle); + --tblr-list-group-active-color: var(--tblr-muted-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-muted-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-muted-text-emphasis); +} + +.list-group-item-blue { + --tblr-list-group-color: var(--tblr-blue-text-emphasis); + --tblr-list-group-bg: var(--tblr-blue-bg-subtle); + --tblr-list-group-border-color: var(--tblr-blue-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-blue-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-blue-border-subtle); + --tblr-list-group-active-color: var(--tblr-blue-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-blue-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-blue-text-emphasis); +} + +.list-group-item-azure { + --tblr-list-group-color: var(--tblr-azure-text-emphasis); + --tblr-list-group-bg: var(--tblr-azure-bg-subtle); + --tblr-list-group-border-color: var(--tblr-azure-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-azure-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-azure-border-subtle); + --tblr-list-group-active-color: var(--tblr-azure-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-azure-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-azure-text-emphasis); +} + +.list-group-item-indigo { + --tblr-list-group-color: var(--tblr-indigo-text-emphasis); + --tblr-list-group-bg: var(--tblr-indigo-bg-subtle); + --tblr-list-group-border-color: var(--tblr-indigo-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-indigo-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-indigo-border-subtle); + --tblr-list-group-active-color: var(--tblr-indigo-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-indigo-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-indigo-text-emphasis); +} + +.list-group-item-purple { + --tblr-list-group-color: var(--tblr-purple-text-emphasis); + --tblr-list-group-bg: var(--tblr-purple-bg-subtle); + --tblr-list-group-border-color: var(--tblr-purple-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-purple-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-purple-border-subtle); + --tblr-list-group-active-color: var(--tblr-purple-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-purple-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-purple-text-emphasis); +} + +.list-group-item-pink { + --tblr-list-group-color: var(--tblr-pink-text-emphasis); + --tblr-list-group-bg: var(--tblr-pink-bg-subtle); + --tblr-list-group-border-color: var(--tblr-pink-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-pink-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-pink-border-subtle); + --tblr-list-group-active-color: var(--tblr-pink-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-pink-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-pink-text-emphasis); +} + +.list-group-item-red { + --tblr-list-group-color: var(--tblr-red-text-emphasis); + --tblr-list-group-bg: var(--tblr-red-bg-subtle); + --tblr-list-group-border-color: var(--tblr-red-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-red-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-red-border-subtle); + --tblr-list-group-active-color: var(--tblr-red-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-red-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-red-text-emphasis); +} + +.list-group-item-orange { + --tblr-list-group-color: var(--tblr-orange-text-emphasis); + --tblr-list-group-bg: var(--tblr-orange-bg-subtle); + --tblr-list-group-border-color: var(--tblr-orange-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-orange-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-orange-border-subtle); + --tblr-list-group-active-color: var(--tblr-orange-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-orange-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-orange-text-emphasis); +} + +.list-group-item-yellow { + --tblr-list-group-color: var(--tblr-yellow-text-emphasis); + --tblr-list-group-bg: var(--tblr-yellow-bg-subtle); + --tblr-list-group-border-color: var(--tblr-yellow-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-yellow-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-yellow-border-subtle); + --tblr-list-group-active-color: var(--tblr-yellow-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-yellow-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-yellow-text-emphasis); +} + +.list-group-item-lime { + --tblr-list-group-color: var(--tblr-lime-text-emphasis); + --tblr-list-group-bg: var(--tblr-lime-bg-subtle); + --tblr-list-group-border-color: var(--tblr-lime-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-lime-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-lime-border-subtle); + --tblr-list-group-active-color: var(--tblr-lime-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-lime-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-lime-text-emphasis); +} + +.list-group-item-green { + --tblr-list-group-color: var(--tblr-green-text-emphasis); + --tblr-list-group-bg: var(--tblr-green-bg-subtle); + --tblr-list-group-border-color: var(--tblr-green-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-green-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-green-border-subtle); + --tblr-list-group-active-color: var(--tblr-green-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-green-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-green-text-emphasis); +} + +.list-group-item-teal { + --tblr-list-group-color: var(--tblr-teal-text-emphasis); + --tblr-list-group-bg: var(--tblr-teal-bg-subtle); + --tblr-list-group-border-color: var(--tblr-teal-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-teal-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-teal-border-subtle); + --tblr-list-group-active-color: var(--tblr-teal-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-teal-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-teal-text-emphasis); +} + +.list-group-item-cyan { + --tblr-list-group-color: var(--tblr-cyan-text-emphasis); + --tblr-list-group-bg: var(--tblr-cyan-bg-subtle); + --tblr-list-group-border-color: var(--tblr-cyan-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-cyan-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-cyan-border-subtle); + --tblr-list-group-active-color: var(--tblr-cyan-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-cyan-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-cyan-text-emphasis); +} + +.list-group-item-facebook { + --tblr-list-group-color: var(--tblr-facebook-text-emphasis); + --tblr-list-group-bg: var(--tblr-facebook-bg-subtle); + --tblr-list-group-border-color: var(--tblr-facebook-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-facebook-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-facebook-border-subtle); + --tblr-list-group-active-color: var(--tblr-facebook-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-facebook-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-facebook-text-emphasis); +} + +.list-group-item-twitter { + --tblr-list-group-color: var(--tblr-twitter-text-emphasis); + --tblr-list-group-bg: var(--tblr-twitter-bg-subtle); + --tblr-list-group-border-color: var(--tblr-twitter-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-twitter-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-twitter-border-subtle); + --tblr-list-group-active-color: var(--tblr-twitter-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-twitter-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-twitter-text-emphasis); +} + +.list-group-item-linkedin { + --tblr-list-group-color: var(--tblr-linkedin-text-emphasis); + --tblr-list-group-bg: var(--tblr-linkedin-bg-subtle); + --tblr-list-group-border-color: var(--tblr-linkedin-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-linkedin-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-linkedin-border-subtle); + --tblr-list-group-active-color: var(--tblr-linkedin-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-linkedin-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-linkedin-text-emphasis); +} + +.list-group-item-google { + --tblr-list-group-color: var(--tblr-google-text-emphasis); + --tblr-list-group-bg: var(--tblr-google-bg-subtle); + --tblr-list-group-border-color: var(--tblr-google-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-google-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-google-border-subtle); + --tblr-list-group-active-color: var(--tblr-google-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-google-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-google-text-emphasis); +} + +.list-group-item-youtube { + --tblr-list-group-color: var(--tblr-youtube-text-emphasis); + --tblr-list-group-bg: var(--tblr-youtube-bg-subtle); + --tblr-list-group-border-color: var(--tblr-youtube-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-youtube-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-youtube-border-subtle); + --tblr-list-group-active-color: var(--tblr-youtube-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-youtube-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-youtube-text-emphasis); +} + +.list-group-item-vimeo { + --tblr-list-group-color: var(--tblr-vimeo-text-emphasis); + --tblr-list-group-bg: var(--tblr-vimeo-bg-subtle); + --tblr-list-group-border-color: var(--tblr-vimeo-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-vimeo-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-vimeo-border-subtle); + --tblr-list-group-active-color: var(--tblr-vimeo-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-vimeo-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-vimeo-text-emphasis); +} + +.list-group-item-dribbble { + --tblr-list-group-color: var(--tblr-dribbble-text-emphasis); + --tblr-list-group-bg: var(--tblr-dribbble-bg-subtle); + --tblr-list-group-border-color: var(--tblr-dribbble-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-dribbble-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-dribbble-border-subtle); + --tblr-list-group-active-color: var(--tblr-dribbble-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-dribbble-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-dribbble-text-emphasis); +} + +.list-group-item-github { + --tblr-list-group-color: var(--tblr-github-text-emphasis); + --tblr-list-group-bg: var(--tblr-github-bg-subtle); + --tblr-list-group-border-color: var(--tblr-github-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-github-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-github-border-subtle); + --tblr-list-group-active-color: var(--tblr-github-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-github-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-github-text-emphasis); +} + +.list-group-item-instagram { + --tblr-list-group-color: var(--tblr-instagram-text-emphasis); + --tblr-list-group-bg: var(--tblr-instagram-bg-subtle); + --tblr-list-group-border-color: var(--tblr-instagram-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-instagram-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-instagram-border-subtle); + --tblr-list-group-active-color: var(--tblr-instagram-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-instagram-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-instagram-text-emphasis); +} + +.list-group-item-pinterest { + --tblr-list-group-color: var(--tblr-pinterest-text-emphasis); + --tblr-list-group-bg: var(--tblr-pinterest-bg-subtle); + --tblr-list-group-border-color: var(--tblr-pinterest-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-pinterest-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-pinterest-border-subtle); + --tblr-list-group-active-color: var(--tblr-pinterest-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-pinterest-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-pinterest-text-emphasis); +} + +.list-group-item-vk { + --tblr-list-group-color: var(--tblr-vk-text-emphasis); + --tblr-list-group-bg: var(--tblr-vk-bg-subtle); + --tblr-list-group-border-color: var(--tblr-vk-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-vk-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-vk-border-subtle); + --tblr-list-group-active-color: var(--tblr-vk-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-vk-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-vk-text-emphasis); +} + +.list-group-item-rss { + --tblr-list-group-color: var(--tblr-rss-text-emphasis); + --tblr-list-group-bg: var(--tblr-rss-bg-subtle); + --tblr-list-group-border-color: var(--tblr-rss-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-rss-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-rss-border-subtle); + --tblr-list-group-active-color: var(--tblr-rss-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-rss-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-rss-text-emphasis); +} + +.list-group-item-flickr { + --tblr-list-group-color: var(--tblr-flickr-text-emphasis); + --tblr-list-group-bg: var(--tblr-flickr-bg-subtle); + --tblr-list-group-border-color: var(--tblr-flickr-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-flickr-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-flickr-border-subtle); + --tblr-list-group-active-color: var(--tblr-flickr-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-flickr-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-flickr-text-emphasis); +} + +.list-group-item-bitbucket { + --tblr-list-group-color: var(--tblr-bitbucket-text-emphasis); + --tblr-list-group-bg: var(--tblr-bitbucket-bg-subtle); + --tblr-list-group-border-color: var(--tblr-bitbucket-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-bitbucket-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-bitbucket-border-subtle); + --tblr-list-group-active-color: var(--tblr-bitbucket-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-bitbucket-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-bitbucket-text-emphasis); +} + +.list-group-item-tabler { + --tblr-list-group-color: var(--tblr-tabler-text-emphasis); + --tblr-list-group-bg: var(--tblr-tabler-bg-subtle); + --tblr-list-group-border-color: var(--tblr-tabler-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-tabler-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-tabler-border-subtle); + --tblr-list-group-active-color: var(--tblr-tabler-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-tabler-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-tabler-text-emphasis); +} + +.btn-close { + --tblr-btn-close-color: #000000; + --tblr-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e"); + --tblr-btn-close-opacity: 0.3; + --tblr-btn-close-hover-opacity: 0.75; + --tblr-btn-close-focus-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); + --tblr-btn-close-focus-opacity: 1; + --tblr-btn-close-disabled-opacity: 0.25; + --tblr-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%); + box-sizing: content-box; + width: 0.75rem; + height: 0.75rem; + padding: 0.25em 0.25em; + color: var(--tblr-btn-close-color); + background: transparent var(--tblr-btn-close-bg) center/0.75rem auto no-repeat; + border: 0; + border-radius: 4px; + opacity: var(--tblr-btn-close-opacity); +} +.btn-close:hover { + color: var(--tblr-btn-close-color); + text-decoration: none; + opacity: var(--tblr-btn-close-hover-opacity); +} +.btn-close:focus { + outline: 0; + box-shadow: var(--tblr-btn-close-focus-shadow); + opacity: var(--tblr-btn-close-focus-opacity); +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + opacity: var(--tblr-btn-close-disabled-opacity); +} + +.btn-close-white { + filter: var(--tblr-btn-close-white-filter); +} + +[data-bs-theme=dark] .btn-close { + filter: var(--tblr-btn-close-white-filter); +} + +.toast { + --tblr-toast-zindex: 1090; + --tblr-toast-padding-x: 0.75rem; + --tblr-toast-padding-y: 0.5rem; + --tblr-toast-spacing: calc(var(--tblr-page-padding) * 2); + --tblr-toast-max-width: 350px; + --tblr-toast-font-size: 0.875rem; + --tblr-toast-color: ; + --tblr-toast-bg: rgba(var(--tblr-body-bg-rgb), 0.85); + --tblr-toast-border-width: var(--tblr-border-width); + --tblr-toast-border-color: var(--tblr-border-color); + --tblr-toast-border-radius: var(--tblr-border-radius); + --tblr-toast-box-shadow: var(--tblr-box-shadow); + --tblr-toast-header-color: var(--tblr-muted); + --tblr-toast-header-bg: rgba(var(--tblr-body-bg-rgb), 0.85); + --tblr-toast-header-border-color: var(--tblr-border-color); + width: var(--tblr-toast-max-width); + max-width: 100%; + font-size: var(--tblr-toast-font-size); + color: var(--tblr-toast-color); + pointer-events: auto; + background-color: var(--tblr-toast-bg); + background-clip: padding-box; + border: var(--tblr-toast-border-width) solid var(--tblr-toast-border-color); + box-shadow: var(--tblr-toast-box-shadow); + border-radius: var(--tblr-toast-border-radius); +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + --tblr-toast-zindex: 1090; + position: absolute; + z-index: var(--tblr-toast-zindex); + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: var(--tblr-toast-spacing); +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--tblr-toast-padding-y) var(--tblr-toast-padding-x); + color: var(--tblr-toast-header-color); + background-color: var(--tblr-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color); + border-top-right-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width)); + border-top-left-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width)); +} +.toast-header .btn-close { + margin-left: calc(-0.5 * var(--tblr-toast-padding-x)); + margin-right: var(--tblr-toast-padding-x); +} + +.toast-body { + padding: var(--tblr-toast-padding-x); + word-wrap: break-word; +} + +.modal { + --tblr-modal-zindex: 1055; + --tblr-modal-width: 540px; + --tblr-modal-padding: 1.5rem; + --tblr-modal-margin: 0.5rem; + --tblr-modal-color: ; + --tblr-modal-bg: var(--tblr-bg-surface); + --tblr-modal-border-color: transparent; + --tblr-modal-border-width: var(--tblr-border-width); + --tblr-modal-border-radius: var(--tblr-border-radius-lg); + --tblr-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --tblr-modal-inner-border-radius: calc(var(--tblr-modal-border-radius) - 1px); + --tblr-modal-header-padding-x: 1.5rem; + --tblr-modal-header-padding-y: 1.5rem; + --tblr-modal-header-padding: 1.5rem; + --tblr-modal-header-border-color: var(--tblr-border-color); + --tblr-modal-header-border-width: var(--tblr-border-width); + --tblr-modal-title-line-height: 1.4285714286; + --tblr-modal-footer-gap: 0.75rem; + --tblr-modal-footer-bg: var(--tblr-bg-surface-tertiary); + --tblr-modal-footer-border-color: var(--tblr-border-color); + --tblr-modal-footer-border-width: var(--tblr-border-width); + position: fixed; + top: 0; + right: 0; + z-index: var(--tblr-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: var(--tblr-modal-margin); + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -1rem); +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - var(--tblr-modal-margin) * 2); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - var(--tblr-modal-margin) * 2); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--tblr-modal-color); + pointer-events: auto; + background-color: var(--tblr-modal-bg); + background-clip: padding-box; + border: var(--tblr-modal-border-width) solid var(--tblr-modal-border-color); + border-radius: var(--tblr-modal-border-radius); + box-shadow: var(--tblr-modal-box-shadow); + outline: 0; +} + +.modal-backdrop { + --tblr-backdrop-zindex: 1050; + --tblr-backdrop-bg: #182433; + --tblr-backdrop-opacity: 0.24; + position: fixed; + top: 0; + right: 0; + z-index: var(--tblr-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--tblr-backdrop-bg); +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: var(--tblr-backdrop-opacity); +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: var(--tblr-modal-header-padding); + border-bottom: var(--tblr-modal-header-border-width) solid var(--tblr-modal-header-border-color); + border-top-right-radius: var(--tblr-modal-inner-border-radius); + border-top-left-radius: var(--tblr-modal-inner-border-radius); +} +.modal-header .btn-close { + padding: calc(var(--tblr-modal-header-padding-y) * 0.5) calc(var(--tblr-modal-header-padding-x) * 0.5); + margin: calc(-0.5 * var(--tblr-modal-header-padding-y)) auto calc(-0.5 * var(--tblr-modal-header-padding-y)) calc(-0.5 * var(--tblr-modal-header-padding-x)); +} + +.modal-title { + margin-bottom: 0; + line-height: var(--tblr-modal-title-line-height); +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--tblr-modal-padding); +} + +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--tblr-modal-padding) - var(--tblr-modal-footer-gap) * 0.5); + background-color: var(--tblr-modal-footer-bg); + border-top: var(--tblr-modal-footer-border-width) solid var(--tblr-modal-footer-border-color); + border-bottom-left-radius: var(--tblr-modal-inner-border-radius); + border-bottom-right-radius: var(--tblr-modal-inner-border-radius); +} +.modal-footer > * { + margin: calc(var(--tblr-modal-footer-gap) * 0.5); +} + +@media (min-width: 576px) { + .modal { + --tblr-modal-margin: 1.75rem; + --tblr-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + } + .modal-dialog { + max-width: var(--tblr-modal-width); + margin-left: auto; + margin-right: auto; + } + .modal-sm { + --tblr-modal-width: 380px; + } +} +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --tblr-modal-width: 720px; + } +} +@media (min-width: 1200px) { + .modal-xl { + --tblr-modal-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header, +.modal-fullscreen .modal-footer { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header, + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header, + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header, + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header, + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header, + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} +.tooltip { + --tblr-tooltip-zindex: 1080; + --tblr-tooltip-max-width: 200px; + --tblr-tooltip-padding-x: var(--tblr-spacer-2); + --tblr-tooltip-padding-y: var(--tblr-spacer-2); + --tblr-tooltip-margin: ; + --tblr-tooltip-font-size: 0.765625rem; + --tblr-tooltip-color: var(--tblr-light); + --tblr-tooltip-bg: var(--tblr-bg-surface-dark); + --tblr-tooltip-border-radius: var(--tblr-border-radius); + --tblr-tooltip-opacity: 0.9; + --tblr-tooltip-arrow-width: 0.8rem; + --tblr-tooltip-arrow-height: 0.4rem; + z-index: var(--tblr-tooltip-zindex); + display: block; + margin: var(--tblr-tooltip-margin); + font-family: var(--tblr-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.4285714286; + text-align: right; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--tblr-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: var(--tblr-tooltip-opacity); +} +.tooltip .tooltip-arrow { + display: block; + width: var(--tblr-tooltip-arrow-width); + height: var(--tblr-tooltip-arrow-height); +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: calc(-1 * var(--tblr-tooltip-arrow-height)); +} +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * 0.5) 0; + border-top-color: var(--tblr-tooltip-bg); +} +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: calc(-1 * var(--tblr-tooltip-arrow-height)); + width: var(--tblr-tooltip-arrow-height); + height: var(--tblr-tooltip-arrow-width); +} +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * 0.5) 0; + border-right-color: var(--tblr-tooltip-bg); +} +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: calc(-1 * var(--tblr-tooltip-arrow-height)); +} +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height); + border-bottom-color: var(--tblr-tooltip-bg); +} +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: calc(-1 * var(--tblr-tooltip-arrow-height)); + width: var(--tblr-tooltip-arrow-height); + height: var(--tblr-tooltip-arrow-width); +} +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--tblr-tooltip-arrow-width) * 0.5) 0 calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height); + border-left-color: var(--tblr-tooltip-bg); +} +.tooltip-inner { + max-width: var(--tblr-tooltip-max-width); + padding: var(--tblr-tooltip-padding-y) var(--tblr-tooltip-padding-x); + color: var(--tblr-tooltip-color); + text-align: center; + background-color: var(--tblr-tooltip-bg); + border-radius: var(--tblr-tooltip-border-radius); +} + +.popover { + --tblr-popover-zindex: 1070; + --tblr-popover-max-width: 276px; + --tblr-popover-font-size: 0.765625rem; + --tblr-popover-bg: var(--tblr-bg-surface); + --tblr-popover-border-width: var(--tblr-border-width); + --tblr-popover-border-color: var(--tblr-border-color); + --tblr-popover-border-radius: var(--tblr-border-radius-lg); + --tblr-popover-inner-border-radius: calc(var(--tblr-border-radius-lg) - var(--tblr-border-width)); + --tblr-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --tblr-popover-header-padding-x: 1rem; + --tblr-popover-header-padding-y: 0.5rem; + --tblr-popover-header-font-size: 0.875rem; + --tblr-popover-header-color: ; + --tblr-popover-header-bg: transparent; + --tblr-popover-body-padding-x: 1rem; + --tblr-popover-body-padding-y: 1rem; + --tblr-popover-body-color: inherit; + --tblr-popover-arrow-width: 1rem; + --tblr-popover-arrow-height: 0.5rem; + --tblr-popover-arrow-border: var(--tblr-popover-border-color); + z-index: var(--tblr-popover-zindex); + display: block; + max-width: var(--tblr-popover-max-width); + font-family: var(--tblr-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.4285714286; + text-align: right; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--tblr-popover-font-size); + word-wrap: break-word; + background-color: var(--tblr-popover-bg); + background-clip: padding-box; + border: var(--tblr-popover-border-width) solid var(--tblr-popover-border-color); + border-radius: var(--tblr-popover-border-radius); + box-shadow: var(--tblr-popover-box-shadow); +} +.popover .popover-arrow { + display: block; + width: var(--tblr-popover-arrow-width); + height: var(--tblr-popover-arrow-height); +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + border-width: var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * 0.5) 0; +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-top-color: var(--tblr-popover-arrow-border); +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: var(--tblr-popover-border-width); + border-top-color: var(--tblr-popover-bg); +} +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); + width: var(--tblr-popover-arrow-height); + height: var(--tblr-popover-arrow-width); +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + border-width: calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * 0.5) 0; +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-right-color: var(--tblr-popover-arrow-border); +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: var(--tblr-popover-border-width); + border-right-color: var(--tblr-popover-bg); +} +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + border-width: 0 calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-bottom-color: var(--tblr-popover-arrow-border); +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: var(--tblr-popover-border-width); + border-bottom-color: var(--tblr-popover-bg); +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + right: 50%; + display: block; + width: var(--tblr-popover-arrow-width); + margin-right: calc(-0.5 * var(--tblr-popover-arrow-width)); + content: ""; + border-bottom: var(--tblr-popover-border-width) solid var(--tblr-popover-header-bg); +} +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); + width: var(--tblr-popover-arrow-height); + height: var(--tblr-popover-arrow-width); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + border-width: calc(var(--tblr-popover-arrow-width) * 0.5) 0 calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-left-color: var(--tblr-popover-arrow-border); +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: var(--tblr-popover-border-width); + border-left-color: var(--tblr-popover-bg); +} +.popover-header { + padding: var(--tblr-popover-header-padding-y) var(--tblr-popover-header-padding-x); + margin-bottom: 0; + font-size: var(--tblr-popover-header-font-size); + color: var(--tblr-popover-header-color); + background-color: var(--tblr-popover-header-bg); + border-bottom: var(--tblr-popover-border-width) solid var(--tblr-popover-border-color); + border-top-right-radius: var(--tblr-popover-inner-border-radius); + border-top-left-radius: var(--tblr-popover-inner-border-radius); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: var(--tblr-popover-body-padding-y) var(--tblr-popover-body-padding-x); + color: var(--tblr-popover-body-color); +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: right; + width: 100%; + margin-left: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(-100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, + .carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #ffffff; + text-align: center; + background: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #ffffff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + right: 0; +} + +.carousel-control-next { + left: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 1.5rem; + height: 1.5rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e"); +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + left: 0; + bottom: 0; + right: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-left: 15%; + margin-bottom: 1rem; + margin-right: 15%; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-left: 3px; + margin-right: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #ffffff; + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + left: 15%; + bottom: 1.25rem; + right: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #ffffff; + text-align: center; +} + +.carousel-dark .carousel-control-next-icon, +.carousel-dark .carousel-control-prev-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000000; +} +.carousel-dark .carousel-caption { + color: #000000; +} + +[data-bs-theme=dark] .carousel .carousel-control-next-icon, +[data-bs-theme=dark] .carousel .carousel-control-prev-icon, [data-bs-theme=dark].carousel .carousel-control-next-icon, +[data-bs-theme=dark].carousel .carousel-control-prev-icon { + filter: invert(1) grayscale(100); +} +[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] { + background-color: #000000; +} +[data-bs-theme=dark] .carousel .carousel-caption, [data-bs-theme=dark].carousel .carousel-caption { + color: #000000; +} + +.spinner-grow, +.spinner-border { + display: inline-block; + width: var(--tblr-spinner-width); + height: var(--tblr-spinner-height); + vertical-align: var(--tblr-spinner-vertical-align); + border-radius: 50%; + animation: var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name); +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) ; + } +} +.spinner-border { + --tblr-spinner-width: 1.5rem; + --tblr-spinner-height: 1.5rem; + --tblr-spinner-vertical-align: -0.125em; + --tblr-spinner-border-width: 2px; + --tblr-spinner-animation-speed: 0.75s; + --tblr-spinner-animation-name: spinner-border; + border: var(--tblr-spinner-border-width) solid currentcolor; + border-left-color: transparent; +} + +.spinner-border-sm { + --tblr-spinner-width: 1rem; + --tblr-spinner-height: 1rem; + --tblr-spinner-border-width: 1px; +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + --tblr-spinner-width: 1.5rem; + --tblr-spinner-height: 1.5rem; + --tblr-spinner-vertical-align: -0.125em; + --tblr-spinner-animation-speed: 0.75s; + --tblr-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} + +.spinner-grow-sm { + --tblr-spinner-width: 1rem; + --tblr-spinner-height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + --tblr-spinner-animation-speed: 1.5s; + } +} +.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { + --tblr-offcanvas-zindex: 1045; + --tblr-offcanvas-width: 400px; + --tblr-offcanvas-height: 30vh; + --tblr-offcanvas-padding-x: 1.5rem; + --tblr-offcanvas-padding-y: 1.5rem; + --tblr-offcanvas-color: var(--tblr-body-color); + --tblr-offcanvas-bg: var(--tblr-bg-surface); + --tblr-offcanvas-border-width: var(--tblr-border-width); + --tblr-offcanvas-border-color: var(--tblr-border-color); + --tblr-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --tblr-offcanvas-transition: transform 0.3s ease-in-out; + --tblr-offcanvas-title-line-height: 1.4285714286; +} + +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-sm.offcanvas-end { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-sm.offcanvas-top { + top: 0; + left: 0; + right: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-sm.offcanvas-bottom { + left: 0; + right: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { + transform: none; + } + .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { + visibility: visible; + } +} +@media (min-width: 576px) { + .offcanvas-sm { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-sm .offcanvas-header { + display: none; + } + .offcanvas-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-md.offcanvas-end { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-md.offcanvas-top { + top: 0; + left: 0; + right: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-md.offcanvas-bottom { + left: 0; + right: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { + transform: none; + } + .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { + visibility: visible; + } +} +@media (min-width: 768px) { + .offcanvas-md { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-md .offcanvas-header { + display: none; + } + .offcanvas-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-lg.offcanvas-end { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-lg.offcanvas-top { + top: 0; + left: 0; + right: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-lg.offcanvas-bottom { + left: 0; + right: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { + transform: none; + } + .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { + visibility: visible; + } +} +@media (min-width: 992px) { + .offcanvas-lg { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-lg .offcanvas-header { + display: none; + } + .offcanvas-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xl.offcanvas-end { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xl.offcanvas-top { + top: 0; + left: 0; + right: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xl.offcanvas-bottom { + left: 0; + right: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { + transform: none; + } + .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { + visibility: visible; + } +} +@media (min-width: 1200px) { + .offcanvas-xl { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xl .offcanvas-header { + display: none; + } + .offcanvas-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xxl.offcanvas-end { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xxl.offcanvas-top { + top: 0; + left: 0; + right: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xxl.offcanvas-bottom { + left: 0; + right: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { + transform: none; + } + .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { + visibility: visible; + } +} +@media (min-width: 1400px) { + .offcanvas-xxl { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xxl .offcanvas-header { + display: none; + } + .offcanvas-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +.offcanvas { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas.offcanvas-start { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); +} +.offcanvas.offcanvas-end { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); +} +.offcanvas.offcanvas-top { + top: 0; + left: 0; + right: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); +} +.offcanvas.offcanvas-bottom { + left: 0; + right: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas.showing, .offcanvas.show:not(.hiding) { + transform: none; +} +.offcanvas.showing, .offcanvas.hiding, .offcanvas.show { + visibility: visible; +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + right: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #182433; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.24; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x); +} +.offcanvas-header .btn-close { + padding: calc(var(--tblr-offcanvas-padding-y) * 0.5) calc(var(--tblr-offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--tblr-offcanvas-padding-y)); + margin-left: calc(-0.5 * var(--tblr-offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--tblr-offcanvas-padding-y)); +} + +.offcanvas-title { + margin-bottom: 0; + line-height: var(--tblr-offcanvas-title-line-height); +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x); + overflow-y: auto; +} + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.2; +} +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.1; + } +} +.placeholder-wave { + -webkit-mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.9) 75%, #000000 95%); + mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.9) 75%, #000000 95%); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} + +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.text-bg-primary { + color: #fcfdfe !important; + background-color: RGBA(32, 107, 196, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-secondary { + color: #fcfdfe !important; + background-color: RGBA(102, 115, 130, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-success { + color: #fcfdfe !important; + background-color: RGBA(47, 179, 68, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-info { + color: #fcfdfe !important; + background-color: RGBA(66, 153, 225, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-warning { + color: #fcfdfe !important; + background-color: RGBA(247, 103, 7, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-danger { + color: #fcfdfe !important; + background-color: RGBA(214, 57, 57, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-light { + color: #182433 !important; + background-color: RGBA(252, 253, 254, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-dark { + color: #fcfdfe !important; + background-color: RGBA(24, 36, 51, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-muted { + color: #fcfdfe !important; + background-color: RGBA(102, 115, 130, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-blue { + color: #fcfdfe !important; + background-color: RGBA(32, 107, 196, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-azure { + color: #fcfdfe !important; + background-color: RGBA(66, 153, 225, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-indigo { + color: #fcfdfe !important; + background-color: RGBA(66, 99, 235, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-purple { + color: #fcfdfe !important; + background-color: RGBA(174, 62, 201, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-pink { + color: #fcfdfe !important; + background-color: RGBA(214, 51, 108, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-red { + color: #fcfdfe !important; + background-color: RGBA(214, 57, 57, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-orange { + color: #fcfdfe !important; + background-color: RGBA(247, 103, 7, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-yellow { + color: #fcfdfe !important; + background-color: RGBA(245, 159, 0, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-lime { + color: #fcfdfe !important; + background-color: RGBA(116, 184, 22, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-green { + color: #fcfdfe !important; + background-color: RGBA(47, 179, 68, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-teal { + color: #fcfdfe !important; + background-color: RGBA(12, 166, 120, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-cyan { + color: #fcfdfe !important; + background-color: RGBA(23, 162, 184, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-facebook { + color: #fcfdfe !important; + background-color: RGBA(24, 119, 242, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-twitter { + color: #fcfdfe !important; + background-color: RGBA(29, 161, 242, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-linkedin { + color: #fcfdfe !important; + background-color: RGBA(10, 102, 194, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-google { + color: #fcfdfe !important; + background-color: RGBA(220, 78, 65, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-youtube { + color: #fcfdfe !important; + background-color: RGBA(255, 0, 0, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-vimeo { + color: #fcfdfe !important; + background-color: RGBA(26, 183, 234, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-dribbble { + color: #fcfdfe !important; + background-color: RGBA(234, 76, 137, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-github { + color: #fcfdfe !important; + background-color: RGBA(24, 23, 23, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-instagram { + color: #fcfdfe !important; + background-color: RGBA(228, 64, 95, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-pinterest { + color: #fcfdfe !important; + background-color: RGBA(189, 8, 28, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-vk { + color: #fcfdfe !important; + background-color: RGBA(99, 131, 168, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-rss { + color: #fcfdfe !important; + background-color: RGBA(255, 165, 0, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-flickr { + color: #fcfdfe !important; + background-color: RGBA(0, 99, 220, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-bitbucket { + color: #fcfdfe !important; + background-color: RGBA(0, 82, 204, var(--tblr-bg-opacity, 1)) !important; +} + +.text-bg-tabler { + color: #fcfdfe !important; + background-color: RGBA(32, 107, 196, var(--tblr-bg-opacity, 1)) !important; +} + +.link-primary { + color: RGBA(var(--tblr-primary-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-primary-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-primary-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-primary:hover, .link-primary:focus { + color: RGBA(26, 86, 157, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(26, 86, 157, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(26, 86, 157, var(--tblr-link-underline-opacity, 1)); +} + +.link-secondary { + color: RGBA(var(--tblr-secondary-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-secondary-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-secondary-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-secondary:hover, .link-secondary:focus { + color: RGBA(82, 92, 104, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(82, 92, 104, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(82, 92, 104, var(--tblr-link-underline-opacity, 1)); +} + +.link-success { + color: RGBA(var(--tblr-success-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-success-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-success-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-success:hover, .link-success:focus { + color: RGBA(38, 143, 54, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(38, 143, 54, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(38, 143, 54, var(--tblr-link-underline-opacity, 1)); +} + +.link-info { + color: RGBA(var(--tblr-info-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-info-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-info-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-info:hover, .link-info:focus { + color: RGBA(53, 122, 180, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(53, 122, 180, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(53, 122, 180, var(--tblr-link-underline-opacity, 1)); +} + +.link-warning { + color: RGBA(var(--tblr-warning-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-warning-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-warning-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-warning:hover, .link-warning:focus { + color: RGBA(198, 82, 6, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(198, 82, 6, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(198, 82, 6, var(--tblr-link-underline-opacity, 1)); +} + +.link-danger { + color: RGBA(var(--tblr-danger-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-danger-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-danger-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-danger:hover, .link-danger:focus { + color: RGBA(171, 46, 46, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(171, 46, 46, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(171, 46, 46, var(--tblr-link-underline-opacity, 1)); +} + +.link-light { + color: RGBA(var(--tblr-light-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-light-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-light-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-light:hover, .link-light:focus { + color: RGBA(253, 253, 254, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(253, 253, 254, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(253, 253, 254, var(--tblr-link-underline-opacity, 1)); +} + +.link-dark { + color: RGBA(var(--tblr-dark-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-dark-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-dark-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-dark:hover, .link-dark:focus { + color: RGBA(19, 29, 41, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(19, 29, 41, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(19, 29, 41, var(--tblr-link-underline-opacity, 1)); +} + +.link-muted { + color: RGBA(var(--tblr-muted-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-muted-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-muted-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-muted:hover, .link-muted:focus { + color: RGBA(82, 92, 104, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(82, 92, 104, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(82, 92, 104, var(--tblr-link-underline-opacity, 1)); +} + +.link-blue { + color: RGBA(var(--tblr-blue-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-blue-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-blue-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-blue:hover, .link-blue:focus { + color: RGBA(26, 86, 157, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(26, 86, 157, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(26, 86, 157, var(--tblr-link-underline-opacity, 1)); +} + +.link-azure { + color: RGBA(var(--tblr-azure-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-azure-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-azure-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-azure:hover, .link-azure:focus { + color: RGBA(53, 122, 180, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(53, 122, 180, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(53, 122, 180, var(--tblr-link-underline-opacity, 1)); +} + +.link-indigo { + color: RGBA(var(--tblr-indigo-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-indigo-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-indigo-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-indigo:hover, .link-indigo:focus { + color: RGBA(53, 79, 188, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(53, 79, 188, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(53, 79, 188, var(--tblr-link-underline-opacity, 1)); +} + +.link-purple { + color: RGBA(var(--tblr-purple-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-purple-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-purple-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-purple:hover, .link-purple:focus { + color: RGBA(139, 50, 161, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(139, 50, 161, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(139, 50, 161, var(--tblr-link-underline-opacity, 1)); +} + +.link-pink { + color: RGBA(var(--tblr-pink-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-pink-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-pink-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-pink:hover, .link-pink:focus { + color: RGBA(171, 41, 86, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(171, 41, 86, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(171, 41, 86, var(--tblr-link-underline-opacity, 1)); +} + +.link-red { + color: RGBA(var(--tblr-red-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-red-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-red-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-red:hover, .link-red:focus { + color: RGBA(171, 46, 46, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(171, 46, 46, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(171, 46, 46, var(--tblr-link-underline-opacity, 1)); +} + +.link-orange { + color: RGBA(var(--tblr-orange-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-orange-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-orange-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-orange:hover, .link-orange:focus { + color: RGBA(198, 82, 6, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(198, 82, 6, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(198, 82, 6, var(--tblr-link-underline-opacity, 1)); +} + +.link-yellow { + color: RGBA(var(--tblr-yellow-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-yellow-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-yellow-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-yellow:hover, .link-yellow:focus { + color: RGBA(196, 127, 0, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(196, 127, 0, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(196, 127, 0, var(--tblr-link-underline-opacity, 1)); +} + +.link-lime { + color: RGBA(var(--tblr-lime-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-lime-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-lime-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-lime:hover, .link-lime:focus { + color: RGBA(93, 147, 18, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(93, 147, 18, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(93, 147, 18, var(--tblr-link-underline-opacity, 1)); +} + +.link-green { + color: RGBA(var(--tblr-green-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-green-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-green-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-green:hover, .link-green:focus { + color: RGBA(38, 143, 54, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(38, 143, 54, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(38, 143, 54, var(--tblr-link-underline-opacity, 1)); +} + +.link-teal { + color: RGBA(var(--tblr-teal-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-teal-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-teal-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-teal:hover, .link-teal:focus { + color: RGBA(10, 133, 96, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(10, 133, 96, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(10, 133, 96, var(--tblr-link-underline-opacity, 1)); +} + +.link-cyan { + color: RGBA(var(--tblr-cyan-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-cyan-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-cyan-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-cyan:hover, .link-cyan:focus { + color: RGBA(18, 130, 147, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(18, 130, 147, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(18, 130, 147, var(--tblr-link-underline-opacity, 1)); +} + +.link-facebook { + color: RGBA(var(--tblr-facebook-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-facebook-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-facebook-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-facebook:hover, .link-facebook:focus { + color: RGBA(19, 95, 194, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(19, 95, 194, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(19, 95, 194, var(--tblr-link-underline-opacity, 1)); +} + +.link-twitter { + color: RGBA(var(--tblr-twitter-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-twitter-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-twitter-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-twitter:hover, .link-twitter:focus { + color: RGBA(23, 129, 194, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(23, 129, 194, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(23, 129, 194, var(--tblr-link-underline-opacity, 1)); +} + +.link-linkedin { + color: RGBA(var(--tblr-linkedin-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-linkedin-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-linkedin-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-linkedin:hover, .link-linkedin:focus { + color: RGBA(8, 82, 155, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(8, 82, 155, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(8, 82, 155, var(--tblr-link-underline-opacity, 1)); +} + +.link-google { + color: RGBA(var(--tblr-google-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-google-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-google-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-google:hover, .link-google:focus { + color: RGBA(176, 62, 52, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(176, 62, 52, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(176, 62, 52, var(--tblr-link-underline-opacity, 1)); +} + +.link-youtube { + color: RGBA(var(--tblr-youtube-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-youtube-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-youtube-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-youtube:hover, .link-youtube:focus { + color: RGBA(204, 0, 0, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(204, 0, 0, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(204, 0, 0, var(--tblr-link-underline-opacity, 1)); +} + +.link-vimeo { + color: RGBA(var(--tblr-vimeo-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-vimeo-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-vimeo-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-vimeo:hover, .link-vimeo:focus { + color: RGBA(21, 146, 187, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(21, 146, 187, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(21, 146, 187, var(--tblr-link-underline-opacity, 1)); +} + +.link-dribbble { + color: RGBA(var(--tblr-dribbble-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-dribbble-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-dribbble-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-dribbble:hover, .link-dribbble:focus { + color: RGBA(187, 61, 110, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(187, 61, 110, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(187, 61, 110, var(--tblr-link-underline-opacity, 1)); +} + +.link-github { + color: RGBA(var(--tblr-github-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-github-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-github-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-github:hover, .link-github:focus { + color: RGBA(19, 18, 18, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(19, 18, 18, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(19, 18, 18, var(--tblr-link-underline-opacity, 1)); +} + +.link-instagram { + color: RGBA(var(--tblr-instagram-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-instagram-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-instagram-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-instagram:hover, .link-instagram:focus { + color: RGBA(182, 51, 76, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(182, 51, 76, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(182, 51, 76, var(--tblr-link-underline-opacity, 1)); +} + +.link-pinterest { + color: RGBA(var(--tblr-pinterest-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-pinterest-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-pinterest-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-pinterest:hover, .link-pinterest:focus { + color: RGBA(151, 6, 22, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(151, 6, 22, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(151, 6, 22, var(--tblr-link-underline-opacity, 1)); +} + +.link-vk { + color: RGBA(var(--tblr-vk-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-vk-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-vk-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-vk:hover, .link-vk:focus { + color: RGBA(79, 105, 134, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(79, 105, 134, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(79, 105, 134, var(--tblr-link-underline-opacity, 1)); +} + +.link-rss { + color: RGBA(var(--tblr-rss-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-rss-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-rss-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-rss:hover, .link-rss:focus { + color: RGBA(204, 132, 0, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(204, 132, 0, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(204, 132, 0, var(--tblr-link-underline-opacity, 1)); +} + +.link-flickr { + color: RGBA(var(--tblr-flickr-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-flickr-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-flickr-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-flickr:hover, .link-flickr:focus { + color: RGBA(0, 79, 176, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(0, 79, 176, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(0, 79, 176, var(--tblr-link-underline-opacity, 1)); +} + +.link-bitbucket { + color: RGBA(var(--tblr-bitbucket-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-bitbucket-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-bitbucket-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-bitbucket:hover, .link-bitbucket:focus { + color: RGBA(0, 66, 163, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(0, 66, 163, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(0, 66, 163, var(--tblr-link-underline-opacity, 1)); +} + +.link-tabler { + color: RGBA(var(--tblr-tabler-rgb, var(--tblr-link-opacity, 1))); + -webkit-text-decoration-color: RGBA(var(--tblr-tabler-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-tabler-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-tabler:hover, .link-tabler:focus { + color: RGBA(26, 86, 157, var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(26, 86, 157, var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(26, 86, 157, var(--tblr-link-underline-opacity, 1)); +} + +.link-body-emphasis { + color: RGBA(var(--tblr-emphasis-color-rgb), var(--tblr-link-opacity, 1)); + -webkit-text-decoration-color: RGBA(var(--tblr-emphasis-color-rgb), var(--tblr-link-underline-opacity, 1)); + text-decoration-color: RGBA(var(--tblr-emphasis-color-rgb), var(--tblr-link-underline-opacity, 1)); +} +.link-body-emphasis:hover, .link-body-emphasis:focus { + color: RGBA(var(--tblr-emphasis-color-rgb), var(--tblr-link-opacity, 0.75)); + -webkit-text-decoration-color: RGBA(var(--tblr-emphasis-color-rgb), var(--tblr-link-underline-opacity, 0.75)); + text-decoration-color: RGBA(var(--tblr-emphasis-color-rgb), var(--tblr-link-underline-opacity, 0.75)); +} + +.focus-ring:focus { + outline: 0; + box-shadow: var(--tblr-focus-ring-x, 0) var(--tblr-focus-ring-y, 0) var(--tblr-focus-ring-blur, 0) var(--tblr-focus-ring-width) var(--tblr-focus-ring-color); +} + +.icon-link { + display: inline-flex; + gap: 0.375rem; + align-items: center; + -webkit-text-decoration-color: rgba(var(--tblr-link-color-rgb), var(--tblr-link-opacity, 0.5)); + text-decoration-color: rgba(var(--tblr-link-color-rgb), var(--tblr-link-opacity, 0.5)); + text-underline-offset: 0.25em; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.icon-link > .bi { + flex-shrink: 0; + width: 1em; + height: 1em; + fill: currentcolor; + transition: 0.2s ease-in-out transform; +} +@media (prefers-reduced-motion: reduce) { + .icon-link > .bi { + transition: none; + } +} + +.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi { + transform: var(--tblr-icon-link-transform, translate3d(-0.25em, 0, 0)); +} + +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--tblr-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + right: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --tblr-aspect-ratio: 100%; +} + +.ratio-2x1 { + --tblr-aspect-ratio: 50%; +} + +.ratio-1x2 { + --tblr-aspect-ratio: 200%; +} + +.ratio-3x1 { + --tblr-aspect-ratio: 33.3333333333%; +} + +.ratio-1x3 { + --tblr-aspect-ratio: 300%; +} + +.ratio-4x3 { + --tblr-aspect-ratio: 75%; +} + +.ratio-3x4 { + --tblr-aspect-ratio: 133.3333333333%; +} + +.ratio-16x9 { + --tblr-aspect-ratio: 56.25%; +} + +.ratio-9x16 { + --tblr-aspect-ratio: 177.7777777778%; +} + +.ratio-21x9 { + --tblr-aspect-ratio: 42.8571428571%; +} + +.ratio-9x21 { + --tblr-aspect-ratio: 233.3333333333%; +} + +.fixed-top { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + left: 0; + bottom: 0; + right: 0; + z-index: 1030; +} + +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} + +.sticky-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} +.visually-hidden:not(caption), +.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) { + position: absolute !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 1; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: 1px; + min-height: 1em; + background-color: currentcolor; + opacity: 0.16; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.float-start { + float: right !important; +} + +.float-end { + float: left !important; +} + +.float-none { + float: none !important; +} + +.object-fit-contain { + -o-object-fit: contain !important; + object-fit: contain !important; +} + +.object-fit-cover { + -o-object-fit: cover !important; + object-fit: cover !important; +} + +.object-fit-fill { + -o-object-fit: fill !important; + object-fit: fill !important; +} + +.object-fit-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; +} + +.object-fit-none { + -o-object-fit: none !important; + object-fit: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.overflow-x-auto { + overflow-x: auto !important; +} + +.overflow-x-hidden { + overflow-x: hidden !important; +} + +.overflow-x-visible { + overflow-x: visible !important; +} + +.overflow-x-scroll { + overflow-x: scroll !important; +} + +.overflow-y-auto { + overflow-y: auto !important; +} + +.overflow-y-hidden { + overflow-y: hidden !important; +} + +.overflow-y-visible { + overflow-y: visible !important; +} + +.overflow-y-scroll { + overflow-y: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.focus-ring-primary { + --tblr-focus-ring-color: rgba(var(--tblr-primary-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-secondary { + --tblr-focus-ring-color: rgba(var(--tblr-secondary-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-success { + --tblr-focus-ring-color: rgba(var(--tblr-success-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-info { + --tblr-focus-ring-color: rgba(var(--tblr-info-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-warning { + --tblr-focus-ring-color: rgba(var(--tblr-warning-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-danger { + --tblr-focus-ring-color: rgba(var(--tblr-danger-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-light { + --tblr-focus-ring-color: rgba(var(--tblr-light-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-dark { + --tblr-focus-ring-color: rgba(var(--tblr-dark-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-muted { + --tblr-focus-ring-color: rgba(var(--tblr-muted-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-blue { + --tblr-focus-ring-color: rgba(var(--tblr-blue-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-azure { + --tblr-focus-ring-color: rgba(var(--tblr-azure-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-indigo { + --tblr-focus-ring-color: rgba(var(--tblr-indigo-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-purple { + --tblr-focus-ring-color: rgba(var(--tblr-purple-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-pink { + --tblr-focus-ring-color: rgba(var(--tblr-pink-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-red { + --tblr-focus-ring-color: rgba(var(--tblr-red-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-orange { + --tblr-focus-ring-color: rgba(var(--tblr-orange-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-yellow { + --tblr-focus-ring-color: rgba(var(--tblr-yellow-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-lime { + --tblr-focus-ring-color: rgba(var(--tblr-lime-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-green { + --tblr-focus-ring-color: rgba(var(--tblr-green-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-teal { + --tblr-focus-ring-color: rgba(var(--tblr-teal-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-cyan { + --tblr-focus-ring-color: rgba(var(--tblr-cyan-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-facebook { + --tblr-focus-ring-color: rgba(var(--tblr-facebook-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-twitter { + --tblr-focus-ring-color: rgba(var(--tblr-twitter-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-linkedin { + --tblr-focus-ring-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-google { + --tblr-focus-ring-color: rgba(var(--tblr-google-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-youtube { + --tblr-focus-ring-color: rgba(var(--tblr-youtube-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-vimeo { + --tblr-focus-ring-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-dribbble { + --tblr-focus-ring-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-github { + --tblr-focus-ring-color: rgba(var(--tblr-github-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-instagram { + --tblr-focus-ring-color: rgba(var(--tblr-instagram-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-pinterest { + --tblr-focus-ring-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-vk { + --tblr-focus-ring-color: rgba(var(--tblr-vk-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-rss { + --tblr-focus-ring-color: rgba(var(--tblr-rss-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-flickr { + --tblr-focus-ring-color: rgba(var(--tblr-flickr-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-bitbucket { + --tblr-focus-ring-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-focus-ring-opacity)); +} + +.focus-ring-tabler { + --tblr-focus-ring-color: rgba(var(--tblr-tabler-rgb), var(--tblr-focus-ring-opacity)); +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + right: 0 !important; +} + +.start-50 { + right: 50% !important; +} + +.start-100 { + right: 100% !important; +} + +.end-0 { + left: 0 !important; +} + +.end-50 { + left: 50% !important; +} + +.end-100 { + left: 100% !important; +} + +.translate-middle { + transform: translate(50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-wide { + border: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-top-wide { + border-top: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-left: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-end-wide { + border-left: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-end-0 { + border-left: 0 !important; +} + +.border-bottom { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-bottom-wide { + border-bottom: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-right: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-start-wide { + border-right: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-start-0 { + border-right: 0 !important; +} + +.border-primary { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-primary-rgb), var(--tblr-border-opacity)) !important; +} + +.border-secondary { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-secondary-rgb), var(--tblr-border-opacity)) !important; +} + +.border-success { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-success-rgb), var(--tblr-border-opacity)) !important; +} + +.border-info { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-info-rgb), var(--tblr-border-opacity)) !important; +} + +.border-warning { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-warning-rgb), var(--tblr-border-opacity)) !important; +} + +.border-danger { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-danger-rgb), var(--tblr-border-opacity)) !important; +} + +.border-light { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-light-rgb), var(--tblr-border-opacity)) !important; +} + +.border-dark { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-dark-rgb), var(--tblr-border-opacity)) !important; +} + +.border-muted { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-muted-rgb), var(--tblr-border-opacity)) !important; +} + +.border-blue { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-blue-rgb), var(--tblr-border-opacity)) !important; +} + +.border-azure { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-azure-rgb), var(--tblr-border-opacity)) !important; +} + +.border-indigo { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-indigo-rgb), var(--tblr-border-opacity)) !important; +} + +.border-purple { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-purple-rgb), var(--tblr-border-opacity)) !important; +} + +.border-pink { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-pink-rgb), var(--tblr-border-opacity)) !important; +} + +.border-red { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-red-rgb), var(--tblr-border-opacity)) !important; +} + +.border-orange { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-orange-rgb), var(--tblr-border-opacity)) !important; +} + +.border-yellow { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-yellow-rgb), var(--tblr-border-opacity)) !important; +} + +.border-lime { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-lime-rgb), var(--tblr-border-opacity)) !important; +} + +.border-green { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-green-rgb), var(--tblr-border-opacity)) !important; +} + +.border-teal { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-teal-rgb), var(--tblr-border-opacity)) !important; +} + +.border-cyan { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-cyan-rgb), var(--tblr-border-opacity)) !important; +} + +.border-facebook { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-facebook-rgb), var(--tblr-border-opacity)) !important; +} + +.border-twitter { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-twitter-rgb), var(--tblr-border-opacity)) !important; +} + +.border-linkedin { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-border-opacity)) !important; +} + +.border-google { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-google-rgb), var(--tblr-border-opacity)) !important; +} + +.border-youtube { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-youtube-rgb), var(--tblr-border-opacity)) !important; +} + +.border-vimeo { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-border-opacity)) !important; +} + +.border-dribbble { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-border-opacity)) !important; +} + +.border-github { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-github-rgb), var(--tblr-border-opacity)) !important; +} + +.border-instagram { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-instagram-rgb), var(--tblr-border-opacity)) !important; +} + +.border-pinterest { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-border-opacity)) !important; +} + +.border-vk { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-vk-rgb), var(--tblr-border-opacity)) !important; +} + +.border-rss { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-rss-rgb), var(--tblr-border-opacity)) !important; +} + +.border-flickr { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-flickr-rgb), var(--tblr-border-opacity)) !important; +} + +.border-bitbucket { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-border-opacity)) !important; +} + +.border-tabler { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-tabler-rgb), var(--tblr-border-opacity)) !important; +} + +.border-black { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-black-rgb), var(--tblr-border-opacity)) !important; +} + +.border-white { + --tblr-border-opacity: 1; + border-color: rgba(var(--tblr-white-rgb), var(--tblr-border-opacity)) !important; +} + +.border-primary-subtle { + border-color: var(--tblr-primary-border-subtle) !important; +} + +.border-secondary-subtle { + border-color: var(--tblr-secondary-border-subtle) !important; +} + +.border-success-subtle { + border-color: var(--tblr-success-border-subtle) !important; +} + +.border-info-subtle { + border-color: var(--tblr-info-border-subtle) !important; +} + +.border-warning-subtle { + border-color: var(--tblr-warning-border-subtle) !important; +} + +.border-danger-subtle { + border-color: var(--tblr-danger-border-subtle) !important; +} + +.border-light-subtle { + border-color: var(--tblr-light-border-subtle) !important; +} + +.border-dark-subtle { + border-color: var(--tblr-dark-border-subtle) !important; +} + +.border-1 { + border-width: 1px !important; +} + +.border-2 { + border-width: 2px !important; +} + +.border-3 { + border-width: 3px !important; +} + +.border-4 { + border-width: 4px !important; +} + +.border-5 { + border-width: 5px !important; +} + +.border-opacity-10 { + --tblr-border-opacity: 0.1; +} + +.border-opacity-25 { + --tblr-border-opacity: 0.25; +} + +.border-opacity-50 { + --tblr-border-opacity: 0.5; +} + +.border-opacity-75 { + --tblr-border-opacity: 0.75; +} + +.border-opacity-100 { + --tblr-border-opacity: 1; +} + +.w-0 { + width: 0 !important; +} + +.w-1 { + width: 0.25rem !important; +} + +.w-2 { + width: 0.5rem !important; +} + +.w-3 { + width: 1rem !important; +} + +.w-4 { + width: 1.5rem !important; +} + +.w-5 { + width: 2rem !important; +} + +.w-6 { + width: 3rem !important; +} + +.w-7 { + width: 5rem !important; +} + +.w-8 { + width: 8rem !important; +} + +.w-25 { + width: 25% !important; +} + +.w-33 { + width: 33.33333% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-66 { + width: 66.66666% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.h-0 { + height: 0 !important; +} + +.h-1 { + height: 0.25rem !important; +} + +.h-2 { + height: 0.5rem !important; +} + +.h-3 { + height: 1rem !important; +} + +.h-4 { + height: 1.5rem !important; +} + +.h-5 { + height: 2rem !important; +} + +.h-6 { + height: 3rem !important; +} + +.h-7 { + height: 5rem !important; +} + +.h-8 { + height: 8rem !important; +} + +.h-25 { + height: 25% !important; +} + +.h-33 { + height: 33.33333% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-66 { + height: 66.66666% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 2rem !important; +} + +.m-6 { + margin: 3rem !important; +} + +.m-7 { + margin: 5rem !important; +} + +.m-8 { + margin: 8rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.mx-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; +} + +.mx-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; +} + +.mx-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; +} + +.mx-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; +} + +.mx-5 { + margin-left: 2rem !important; + margin-right: 2rem !important; +} + +.mx-6 { + margin-left: 3rem !important; + margin-right: 3rem !important; +} + +.mx-7 { + margin-left: 5rem !important; + margin-right: 5rem !important; +} + +.mx-8 { + margin-left: 8rem !important; + margin-right: 8rem !important; +} + +.mx-auto { + margin-left: auto !important; + margin-right: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; +} + +.my-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-7 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; +} + +.my-8 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 2rem !important; +} + +.mt-6 { + margin-top: 3rem !important; +} + +.mt-7 { + margin-top: 5rem !important; +} + +.mt-8 { + margin-top: 8rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-left: 0 !important; +} + +.me-1 { + margin-left: 0.25rem !important; +} + +.me-2 { + margin-left: 0.5rem !important; +} + +.me-3 { + margin-left: 1rem !important; +} + +.me-4 { + margin-left: 1.5rem !important; +} + +.me-5 { + margin-left: 2rem !important; +} + +.me-6 { + margin-left: 3rem !important; +} + +.me-7 { + margin-left: 5rem !important; +} + +.me-8 { + margin-left: 8rem !important; +} + +.me-auto { + margin-left: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 2rem !important; +} + +.mb-6 { + margin-bottom: 3rem !important; +} + +.mb-7 { + margin-bottom: 5rem !important; +} + +.mb-8 { + margin-bottom: 8rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-right: 0 !important; +} + +.ms-1 { + margin-right: 0.25rem !important; +} + +.ms-2 { + margin-right: 0.5rem !important; +} + +.ms-3 { + margin-right: 1rem !important; +} + +.ms-4 { + margin-right: 1.5rem !important; +} + +.ms-5 { + margin-right: 2rem !important; +} + +.ms-6 { + margin-right: 3rem !important; +} + +.ms-7 { + margin-right: 5rem !important; +} + +.ms-8 { + margin-right: 8rem !important; +} + +.ms-auto { + margin-right: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 2rem !important; +} + +.p-6 { + padding: 3rem !important; +} + +.p-7 { + padding: 5rem !important; +} + +.p-8 { + padding: 8rem !important; +} + +.px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.px-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; +} + +.px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} + +.px-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} + +.px-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; +} + +.px-5 { + padding-left: 2rem !important; + padding-right: 2rem !important; +} + +.px-6 { + padding-left: 3rem !important; + padding-right: 3rem !important; +} + +.px-7 { + padding-left: 5rem !important; + padding-right: 5rem !important; +} + +.px-8 { + padding-left: 8rem !important; + padding-right: 8rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; +} + +.py-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.py-7 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; +} + +.py-8 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 2rem !important; +} + +.pt-6 { + padding-top: 3rem !important; +} + +.pt-7 { + padding-top: 5rem !important; +} + +.pt-8 { + padding-top: 8rem !important; +} + +.pe-0 { + padding-left: 0 !important; +} + +.pe-1 { + padding-left: 0.25rem !important; +} + +.pe-2 { + padding-left: 0.5rem !important; +} + +.pe-3 { + padding-left: 1rem !important; +} + +.pe-4 { + padding-left: 1.5rem !important; +} + +.pe-5 { + padding-left: 2rem !important; +} + +.pe-6 { + padding-left: 3rem !important; +} + +.pe-7 { + padding-left: 5rem !important; +} + +.pe-8 { + padding-left: 8rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 2rem !important; +} + +.pb-6 { + padding-bottom: 3rem !important; +} + +.pb-7 { + padding-bottom: 5rem !important; +} + +.pb-8 { + padding-bottom: 8rem !important; +} + +.ps-0 { + padding-right: 0 !important; +} + +.ps-1 { + padding-right: 0.25rem !important; +} + +.ps-2 { + padding-right: 0.5rem !important; +} + +.ps-3 { + padding-right: 1rem !important; +} + +.ps-4 { + padding-right: 1.5rem !important; +} + +.ps-5 { + padding-right: 2rem !important; +} + +.ps-6 { + padding-right: 3rem !important; +} + +.ps-7 { + padding-right: 5rem !important; +} + +.ps-8 { + padding-right: 8rem !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 2rem !important; +} + +.gap-6 { + gap: 3rem !important; +} + +.gap-7 { + gap: 5rem !important; +} + +.gap-8 { + gap: 8rem !important; +} + +.row-gap-0 { + row-gap: 0 !important; +} + +.row-gap-1 { + row-gap: 0.25rem !important; +} + +.row-gap-2 { + row-gap: 0.5rem !important; +} + +.row-gap-3 { + row-gap: 1rem !important; +} + +.row-gap-4 { + row-gap: 1.5rem !important; +} + +.row-gap-5 { + row-gap: 2rem !important; +} + +.row-gap-6 { + row-gap: 3rem !important; +} + +.row-gap-7 { + row-gap: 5rem !important; +} + +.row-gap-8 { + row-gap: 8rem !important; +} + +.column-gap-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; +} + +.column-gap-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; +} + +.column-gap-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; +} + +.column-gap-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; +} + +.column-gap-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; +} + +.column-gap-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; +} + +.column-gap-6 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; +} + +.column-gap-7 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; +} + +.column-gap-8 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; +} + +.font-monospace { + font-family: var(--tblr-font-monospace) !important; +} + +.fs-1 { + font-size: 1.5rem !important; +} + +.fs-2 { + font-size: 1.25rem !important; +} + +.fs-3 { + font-size: 1rem !important; +} + +.fs-4 { + font-size: 0.875rem !important; +} + +.fs-5 { + font-size: 0.75rem !important; +} + +.fs-6 { + font-size: 0.625rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-medium { + font-weight: 500 !important; +} + +.fw-semibold { + font-weight: 600 !important; +} + +.fw-bold { + font-weight: 600 !important; +} + +.fw-bolder { + font-weight: bolder !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: 1.1428571429 !important; +} + +.lh-base { + line-height: 1.4285714286 !important; +} + +.lh-lg { + line-height: 1.7142857143 !important; +} + +.text-start { + text-align: right !important; +} + +.text-end { + text-align: left !important; +} + +.text-center { + text-align: center !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} +.text-primary { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-primary-rgb), var(--tblr-text-opacity)) !important; +} + +.text-secondary { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-secondary-rgb), var(--tblr-text-opacity)) !important; +} + +.text-success { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-success-rgb), var(--tblr-text-opacity)) !important; +} + +.text-info { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-info-rgb), var(--tblr-text-opacity)) !important; +} + +.text-warning { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-warning-rgb), var(--tblr-text-opacity)) !important; +} + +.text-danger { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-danger-rgb), var(--tblr-text-opacity)) !important; +} + +.text-light { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-light-rgb), var(--tblr-text-opacity)) !important; +} + +.text-dark { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-dark-rgb), var(--tblr-text-opacity)) !important; +} + +.text-muted { + --tblr-text-opacity: 1; + color: var(--tblr-secondary-color) !important; +} + +.text-blue { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-blue-rgb), var(--tblr-text-opacity)) !important; +} + +.text-azure { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-azure-rgb), var(--tblr-text-opacity)) !important; +} + +.text-indigo { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-indigo-rgb), var(--tblr-text-opacity)) !important; +} + +.text-purple { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-purple-rgb), var(--tblr-text-opacity)) !important; +} + +.text-pink { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-pink-rgb), var(--tblr-text-opacity)) !important; +} + +.text-red { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-red-rgb), var(--tblr-text-opacity)) !important; +} + +.text-orange { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-orange-rgb), var(--tblr-text-opacity)) !important; +} + +.text-yellow { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-yellow-rgb), var(--tblr-text-opacity)) !important; +} + +.text-lime { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-lime-rgb), var(--tblr-text-opacity)) !important; +} + +.text-green { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-green-rgb), var(--tblr-text-opacity)) !important; +} + +.text-teal { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-teal-rgb), var(--tblr-text-opacity)) !important; +} + +.text-cyan { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-cyan-rgb), var(--tblr-text-opacity)) !important; +} + +.text-facebook { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-facebook-rgb), var(--tblr-text-opacity)) !important; +} + +.text-twitter { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-twitter-rgb), var(--tblr-text-opacity)) !important; +} + +.text-linkedin { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-linkedin-rgb), var(--tblr-text-opacity)) !important; +} + +.text-google { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-google-rgb), var(--tblr-text-opacity)) !important; +} + +.text-youtube { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-youtube-rgb), var(--tblr-text-opacity)) !important; +} + +.text-vimeo { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-vimeo-rgb), var(--tblr-text-opacity)) !important; +} + +.text-dribbble { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-dribbble-rgb), var(--tblr-text-opacity)) !important; +} + +.text-github { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-github-rgb), var(--tblr-text-opacity)) !important; +} + +.text-instagram { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-instagram-rgb), var(--tblr-text-opacity)) !important; +} + +.text-pinterest { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-pinterest-rgb), var(--tblr-text-opacity)) !important; +} + +.text-vk { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-vk-rgb), var(--tblr-text-opacity)) !important; +} + +.text-rss { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-rss-rgb), var(--tblr-text-opacity)) !important; +} + +.text-flickr { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-flickr-rgb), var(--tblr-text-opacity)) !important; +} + +.text-bitbucket { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-text-opacity)) !important; +} + +.text-tabler { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-tabler-rgb), var(--tblr-text-opacity)) !important; +} + +.text-black { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-black-rgb), var(--tblr-text-opacity)) !important; +} + +.text-white { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-white-rgb), var(--tblr-text-opacity)) !important; +} + +.text-body { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-body-color-rgb), var(--tblr-text-opacity)) !important; +} + +.text-black-50 { + --tblr-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --tblr-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-body-secondary { + --tblr-text-opacity: 1; + color: var(--tblr-secondary-color) !important; +} + +.text-body-tertiary { + --tblr-text-opacity: 1; + color: var(--tblr-tertiary-color) !important; +} + +.text-body-emphasis { + --tblr-text-opacity: 1; + color: var(--tblr-emphasis-color) !important; +} + +.text-reset { + --tblr-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --tblr-text-opacity: 0.25; +} + +.text-opacity-50 { + --tblr-text-opacity: 0.5; +} + +.text-opacity-75 { + --tblr-text-opacity: 0.75; +} + +.text-opacity-100 { + --tblr-text-opacity: 1; +} + +.text-primary-emphasis { + color: var(--tblr-primary-text-emphasis) !important; +} + +.text-secondary-emphasis { + color: var(--tblr-secondary-text-emphasis) !important; +} + +.text-success-emphasis { + color: var(--tblr-success-text-emphasis) !important; +} + +.text-info-emphasis { + color: var(--tblr-info-text-emphasis) !important; +} + +.text-warning-emphasis { + color: var(--tblr-warning-text-emphasis) !important; +} + +.text-danger-emphasis { + color: var(--tblr-danger-text-emphasis) !important; +} + +.text-light-emphasis { + color: var(--tblr-light-text-emphasis) !important; +} + +.text-dark-emphasis { + color: var(--tblr-dark-text-emphasis) !important; +} + +.link-opacity-10 { + --tblr-link-opacity: 0.1; +} + +.link-opacity-10-hover:hover { + --tblr-link-opacity: 0.1; +} + +.link-opacity-25 { + --tblr-link-opacity: 0.25; +} + +.link-opacity-25-hover:hover { + --tblr-link-opacity: 0.25; +} + +.link-opacity-50 { + --tblr-link-opacity: 0.5; +} + +.link-opacity-50-hover:hover { + --tblr-link-opacity: 0.5; +} + +.link-opacity-75 { + --tblr-link-opacity: 0.75; +} + +.link-opacity-75-hover:hover { + --tblr-link-opacity: 0.75; +} + +.link-opacity-100 { + --tblr-link-opacity: 1; +} + +.link-opacity-100-hover:hover { + --tblr-link-opacity: 1; +} + +.link-offset-1 { + text-underline-offset: 0.125em !important; +} + +.link-offset-1-hover:hover { + text-underline-offset: 0.125em !important; +} + +.link-offset-2 { + text-underline-offset: 0.25em !important; +} + +.link-offset-2-hover:hover { + text-underline-offset: 0.25em !important; +} + +.link-offset-3 { + text-underline-offset: 0.375em !important; +} + +.link-offset-3-hover:hover { + text-underline-offset: 0.375em !important; +} + +.link-underline-primary { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-primary-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-primary-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-secondary { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-secondary-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-secondary-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-success { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-success-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-success-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-info { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-info-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-info-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-warning { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-warning-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-warning-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-danger { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-danger-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-danger-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-light { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-light-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-light-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-dark { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-dark-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-dark-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-muted { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-muted-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-muted-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-blue { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-blue-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-blue-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-azure { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-azure-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-azure-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-indigo { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-indigo-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-indigo-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-purple { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-purple-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-purple-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-pink { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-pink-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-pink-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-red { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-red-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-red-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-orange { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-orange-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-orange-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-yellow { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-yellow-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-yellow-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-lime { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-lime-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-lime-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-green { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-green-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-green-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-teal { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-teal-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-teal-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-cyan { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-cyan-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-cyan-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-facebook { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-facebook-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-facebook-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-twitter { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-twitter-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-twitter-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-linkedin { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-google { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-google-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-google-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-youtube { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-youtube-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-youtube-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-vimeo { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-dribbble { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-github { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-github-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-github-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-instagram { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-instagram-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-instagram-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-pinterest { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-vk { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-vk-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-vk-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-rss { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-rss-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-rss-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-flickr { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-flickr-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-flickr-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-bitbucket { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline-tabler { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-tabler-rgb), var(--tblr-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--tblr-tabler-rgb), var(--tblr-link-underline-opacity)) !important; +} + +.link-underline { + --tblr-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--tblr-link-color-rgb), var(--tblr-link-underline-opacity, 1)) !important; + text-decoration-color: rgba(var(--tblr-link-color-rgb), var(--tblr-link-underline-opacity, 1)) !important; +} + +.link-underline-opacity-0 { + --tblr-link-underline-opacity: 0; +} + +.link-underline-opacity-0-hover:hover { + --tblr-link-underline-opacity: 0; +} + +.link-underline-opacity-10 { + --tblr-link-underline-opacity: 0.1; +} + +.link-underline-opacity-10-hover:hover { + --tblr-link-underline-opacity: 0.1; +} + +.link-underline-opacity-25 { + --tblr-link-underline-opacity: 0.25; +} + +.link-underline-opacity-25-hover:hover { + --tblr-link-underline-opacity: 0.25; +} + +.link-underline-opacity-50 { + --tblr-link-underline-opacity: 0.5; +} + +.link-underline-opacity-50-hover:hover { + --tblr-link-underline-opacity: 0.5; +} + +.link-underline-opacity-75 { + --tblr-link-underline-opacity: 0.75; +} + +.link-underline-opacity-75-hover:hover { + --tblr-link-underline-opacity: 0.75; +} + +.link-underline-opacity-100 { + --tblr-link-underline-opacity: 1; +} + +.link-underline-opacity-100-hover:hover { + --tblr-link-underline-opacity: 1; +} + +.bg-primary { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-primary-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-secondary { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-secondary-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-success { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-success-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-info { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-info-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-warning { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-warning-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-danger { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-danger-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-light { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-light-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-dark { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-dark-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-muted { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-muted-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-blue { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-blue-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-azure { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-azure-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-indigo { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-indigo-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-purple { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-purple-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-pink { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-pink-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-red { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-red-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-orange { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-orange-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-yellow { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-yellow-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-lime { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-lime-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-green { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-green-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-teal { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-teal-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-cyan { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-cyan-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-facebook { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-facebook-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-twitter { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-twitter-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-linkedin { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-google { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-google-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-youtube { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-youtube-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-vimeo { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-dribbble { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-github { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-github-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-instagram { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-instagram-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-pinterest { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-vk { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-vk-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-rss { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-rss-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-flickr { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-flickr-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-bitbucket { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-tabler { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-tabler-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-black { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-black-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-white { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-white-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-body { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-body-bg-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-transparent { + --tblr-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-body-secondary { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-secondary-bg-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-body-tertiary { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-tertiary-bg-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-opacity-10 { + --tblr-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --tblr-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --tblr-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --tblr-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --tblr-bg-opacity: 1; +} + +.bg-primary-subtle { + background-color: var(--tblr-primary-bg-subtle) !important; +} + +.bg-secondary-subtle { + background-color: var(--tblr-secondary-bg-subtle) !important; +} + +.bg-success-subtle { + background-color: var(--tblr-success-bg-subtle) !important; +} + +.bg-info-subtle { + background-color: var(--tblr-info-bg-subtle) !important; +} + +.bg-warning-subtle { + background-color: var(--tblr-warning-bg-subtle) !important; +} + +.bg-danger-subtle { + background-color: var(--tblr-danger-bg-subtle) !important; +} + +.bg-light-subtle { + background-color: var(--tblr-light-bg-subtle) !important; +} + +.bg-dark-subtle { + background-color: var(--tblr-dark-bg-subtle) !important; +} + +.bg-gradient { + background-image: var(--tblr-gradient) !important; +} + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + -ms-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: var(--tblr-border-radius) !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-2 { + border-radius: var(--tblr-border-radius) !important; +} + +.rounded-3 { + border-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-4 { + border-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-5 { + border-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: var(--tblr-border-radius-pill) !important; +} + +.rounded-top { + border-top-right-radius: var(--tblr-border-radius) !important; + border-top-left-radius: var(--tblr-border-radius) !important; +} + +.rounded-top-0 { + border-top-right-radius: 0 !important; + border-top-left-radius: 0 !important; +} + +.rounded-top-1 { + border-top-right-radius: var(--tblr-border-radius-sm) !important; + border-top-left-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-top-2 { + border-top-right-radius: var(--tblr-border-radius) !important; + border-top-left-radius: var(--tblr-border-radius) !important; +} + +.rounded-top-3 { + border-top-right-radius: var(--tblr-border-radius-lg) !important; + border-top-left-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-top-4 { + border-top-right-radius: var(--tblr-border-radius-xl) !important; + border-top-left-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-top-5 { + border-top-right-radius: var(--tblr-border-radius-xxl) !important; + border-top-left-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-top-circle { + border-top-right-radius: 50% !important; + border-top-left-radius: 50% !important; +} + +.rounded-top-pill { + border-top-right-radius: var(--tblr-border-radius-pill) !important; + border-top-left-radius: var(--tblr-border-radius-pill) !important; +} + +.rounded-end { + border-top-left-radius: var(--tblr-border-radius) !important; + border-bottom-left-radius: var(--tblr-border-radius) !important; +} + +.rounded-end-0 { + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} + +.rounded-end-1 { + border-top-left-radius: var(--tblr-border-radius-sm) !important; + border-bottom-left-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-end-2 { + border-top-left-radius: var(--tblr-border-radius) !important; + border-bottom-left-radius: var(--tblr-border-radius) !important; +} + +.rounded-end-3 { + border-top-left-radius: var(--tblr-border-radius-lg) !important; + border-bottom-left-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-end-4 { + border-top-left-radius: var(--tblr-border-radius-xl) !important; + border-bottom-left-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-end-5 { + border-top-left-radius: var(--tblr-border-radius-xxl) !important; + border-bottom-left-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-end-circle { + border-top-left-radius: 50% !important; + border-bottom-left-radius: 50% !important; +} + +.rounded-end-pill { + border-top-left-radius: var(--tblr-border-radius-pill) !important; + border-bottom-left-radius: var(--tblr-border-radius-pill) !important; +} + +.rounded-bottom { + border-bottom-left-radius: var(--tblr-border-radius) !important; + border-bottom-right-radius: var(--tblr-border-radius) !important; +} + +.rounded-bottom-0 { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.rounded-bottom-1 { + border-bottom-left-radius: var(--tblr-border-radius-sm) !important; + border-bottom-right-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-bottom-2 { + border-bottom-left-radius: var(--tblr-border-radius) !important; + border-bottom-right-radius: var(--tblr-border-radius) !important; +} + +.rounded-bottom-3 { + border-bottom-left-radius: var(--tblr-border-radius-lg) !important; + border-bottom-right-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-bottom-4 { + border-bottom-left-radius: var(--tblr-border-radius-xl) !important; + border-bottom-right-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-bottom-5 { + border-bottom-left-radius: var(--tblr-border-radius-xxl) !important; + border-bottom-right-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-bottom-circle { + border-bottom-left-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} + +.rounded-bottom-pill { + border-bottom-left-radius: var(--tblr-border-radius-pill) !important; + border-bottom-right-radius: var(--tblr-border-radius-pill) !important; +} + +.rounded-start { + border-bottom-right-radius: var(--tblr-border-radius) !important; + border-top-right-radius: var(--tblr-border-radius) !important; +} + +.rounded-start-0 { + border-bottom-right-radius: 0 !important; + border-top-right-radius: 0 !important; +} + +.rounded-start-1 { + border-bottom-right-radius: var(--tblr-border-radius-sm) !important; + border-top-right-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-start-2 { + border-bottom-right-radius: var(--tblr-border-radius) !important; + border-top-right-radius: var(--tblr-border-radius) !important; +} + +.rounded-start-3 { + border-bottom-right-radius: var(--tblr-border-radius-lg) !important; + border-top-right-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-start-4 { + border-bottom-right-radius: var(--tblr-border-radius-xl) !important; + border-top-right-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-start-5 { + border-bottom-right-radius: var(--tblr-border-radius-xxl) !important; + border-top-right-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-start-circle { + border-bottom-right-radius: 50% !important; + border-top-right-radius: 50% !important; +} + +.rounded-start-pill { + border-bottom-right-radius: var(--tblr-border-radius-pill) !important; + border-top-right-radius: var(--tblr-border-radius-pill) !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +.z-n1 { + z-index: -1 !important; +} + +.z-0 { + z-index: 0 !important; +} + +.z-1 { + z-index: 1 !important; +} + +.z-2 { + z-index: 2 !important; +} + +.z-3 { + z-index: 3 !important; +} + +.object-contain { + -o-object-fit: contain !important; + object-fit: contain !important; +} + +.object-cover { + -o-object-fit: cover !important; + object-fit: cover !important; +} + +.object-fill { + -o-object-fit: fill !important; + object-fit: fill !important; +} + +.object-scale-down { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; +} + +.object-none { + -o-object-fit: none !important; + object-fit: none !important; +} + +.tracking-tight { + letter-spacing: -0.05em !important; +} + +.tracking-normal { + letter-spacing: 0 !important; +} + +.tracking-wide { + letter-spacing: 0.05em !important; +} + +.cursor-auto { + cursor: auto !important; +} + +.cursor-pointer { + cursor: pointer !important; +} + +.cursor-move { + cursor: move !important; +} + +.cursor-not-allowed { + cursor: not-allowed !important; +} + +.cursor-zoom-in { + cursor: zoom-in !important; +} + +.cursor-zoom-out { + cursor: zoom-out !important; +} + +.cursor-default { + cursor: default !important; +} + +.cursor-none { + cursor: none !important; +} + +.cursor-help { + cursor: help !important; +} + +.cursor-progress { + cursor: progress !important; +} + +.cursor-wait { + cursor: wait !important; +} + +.cursor-text { + cursor: text !important; +} + +.cursor-v-text { + cursor: vertical-text !important; +} + +.cursor-grab { + cursor: -webkit-grab !important; + cursor: grab !important; +} + +.cursor-grabbing { + cursor: -webkit-grabbing !important; + cursor: grabbing !important; +} + +.border-x { + border-right: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; + border-left: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-x-wide { + border-right: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; + border-left: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-x-0 { + border-right: 0 !important; + border-left: 0 !important; +} + +.border-y { + border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; + border-bottom: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-y-wide { + border-top: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; + border-bottom: 2px var(--tblr-border-style) rgba(4, 32, 69, 0.14) !important; +} + +.border-y-0 { + border-top: 0 !important; + border-bottom: 0 !important; +} + +.columns-2 { + -moz-columns: 2 !important; + columns: 2 !important; +} + +.columns-3 { + -moz-columns: 3 !important; + columns: 3 !important; +} + +.columns-4 { + -moz-columns: 4 !important; + columns: 4 !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: right !important; + } + .float-sm-end { + float: left !important; + } + .float-sm-none { + float: none !important; + } + .object-fit-sm-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-sm-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-sm-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-sm-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-sm-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 2rem !important; + } + .m-sm-6 { + margin: 3rem !important; + } + .m-sm-7 { + margin: 5rem !important; + } + .m-sm-8 { + margin: 8rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-sm-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-sm-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-sm-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-sm-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-sm-5 { + margin-left: 2rem !important; + margin-right: 2rem !important; + } + .mx-sm-6 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-sm-7 { + margin-left: 5rem !important; + margin-right: 5rem !important; + } + .mx-sm-8 { + margin-left: 8rem !important; + margin-right: 8rem !important; + } + .mx-sm-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-sm-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-7 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-sm-8 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 2rem !important; + } + .mt-sm-6 { + margin-top: 3rem !important; + } + .mt-sm-7 { + margin-top: 5rem !important; + } + .mt-sm-8 { + margin-top: 8rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-left: 0 !important; + } + .me-sm-1 { + margin-left: 0.25rem !important; + } + .me-sm-2 { + margin-left: 0.5rem !important; + } + .me-sm-3 { + margin-left: 1rem !important; + } + .me-sm-4 { + margin-left: 1.5rem !important; + } + .me-sm-5 { + margin-left: 2rem !important; + } + .me-sm-6 { + margin-left: 3rem !important; + } + .me-sm-7 { + margin-left: 5rem !important; + } + .me-sm-8 { + margin-left: 8rem !important; + } + .me-sm-auto { + margin-left: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 2rem !important; + } + .mb-sm-6 { + margin-bottom: 3rem !important; + } + .mb-sm-7 { + margin-bottom: 5rem !important; + } + .mb-sm-8 { + margin-bottom: 8rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-right: 0 !important; + } + .ms-sm-1 { + margin-right: 0.25rem !important; + } + .ms-sm-2 { + margin-right: 0.5rem !important; + } + .ms-sm-3 { + margin-right: 1rem !important; + } + .ms-sm-4 { + margin-right: 1.5rem !important; + } + .ms-sm-5 { + margin-right: 2rem !important; + } + .ms-sm-6 { + margin-right: 3rem !important; + } + .ms-sm-7 { + margin-right: 5rem !important; + } + .ms-sm-8 { + margin-right: 8rem !important; + } + .ms-sm-auto { + margin-right: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 2rem !important; + } + .p-sm-6 { + padding: 3rem !important; + } + .p-sm-7 { + padding: 5rem !important; + } + .p-sm-8 { + padding: 8rem !important; + } + .px-sm-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-sm-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-sm-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-sm-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-sm-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-sm-5 { + padding-left: 2rem !important; + padding-right: 2rem !important; + } + .px-sm-6 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .px-sm-7 { + padding-left: 5rem !important; + padding-right: 5rem !important; + } + .px-sm-8 { + padding-left: 8rem !important; + padding-right: 8rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-sm-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-sm-7 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-sm-8 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 2rem !important; + } + .pt-sm-6 { + padding-top: 3rem !important; + } + .pt-sm-7 { + padding-top: 5rem !important; + } + .pt-sm-8 { + padding-top: 8rem !important; + } + .pe-sm-0 { + padding-left: 0 !important; + } + .pe-sm-1 { + padding-left: 0.25rem !important; + } + .pe-sm-2 { + padding-left: 0.5rem !important; + } + .pe-sm-3 { + padding-left: 1rem !important; + } + .pe-sm-4 { + padding-left: 1.5rem !important; + } + .pe-sm-5 { + padding-left: 2rem !important; + } + .pe-sm-6 { + padding-left: 3rem !important; + } + .pe-sm-7 { + padding-left: 5rem !important; + } + .pe-sm-8 { + padding-left: 8rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 2rem !important; + } + .pb-sm-6 { + padding-bottom: 3rem !important; + } + .pb-sm-7 { + padding-bottom: 5rem !important; + } + .pb-sm-8 { + padding-bottom: 8rem !important; + } + .ps-sm-0 { + padding-right: 0 !important; + } + .ps-sm-1 { + padding-right: 0.25rem !important; + } + .ps-sm-2 { + padding-right: 0.5rem !important; + } + .ps-sm-3 { + padding-right: 1rem !important; + } + .ps-sm-4 { + padding-right: 1.5rem !important; + } + .ps-sm-5 { + padding-right: 2rem !important; + } + .ps-sm-6 { + padding-right: 3rem !important; + } + .ps-sm-7 { + padding-right: 5rem !important; + } + .ps-sm-8 { + padding-right: 8rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 2rem !important; + } + .gap-sm-6 { + gap: 3rem !important; + } + .gap-sm-7 { + gap: 5rem !important; + } + .gap-sm-8 { + gap: 8rem !important; + } + .row-gap-sm-0 { + row-gap: 0 !important; + } + .row-gap-sm-1 { + row-gap: 0.25rem !important; + } + .row-gap-sm-2 { + row-gap: 0.5rem !important; + } + .row-gap-sm-3 { + row-gap: 1rem !important; + } + .row-gap-sm-4 { + row-gap: 1.5rem !important; + } + .row-gap-sm-5 { + row-gap: 2rem !important; + } + .row-gap-sm-6 { + row-gap: 3rem !important; + } + .row-gap-sm-7 { + row-gap: 5rem !important; + } + .row-gap-sm-8 { + row-gap: 8rem !important; + } + .column-gap-sm-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-sm-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-sm-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-sm-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-sm-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-sm-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-sm-6 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-sm-7 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-sm-8 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .text-sm-start { + text-align: right !important; + } + .text-sm-end { + text-align: left !important; + } + .text-sm-center { + text-align: center !important; + } + .columns-sm-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-sm-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-sm-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: right !important; + } + .float-md-end { + float: left !important; + } + .float-md-none { + float: none !important; + } + .object-fit-md-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-md-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-md-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-md-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-md-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 2rem !important; + } + .m-md-6 { + margin: 3rem !important; + } + .m-md-7 { + margin: 5rem !important; + } + .m-md-8 { + margin: 8rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-md-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-md-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-md-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-md-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-md-5 { + margin-left: 2rem !important; + margin-right: 2rem !important; + } + .mx-md-6 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-md-7 { + margin-left: 5rem !important; + margin-right: 5rem !important; + } + .mx-md-8 { + margin-left: 8rem !important; + margin-right: 8rem !important; + } + .mx-md-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-md-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-7 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-md-8 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 2rem !important; + } + .mt-md-6 { + margin-top: 3rem !important; + } + .mt-md-7 { + margin-top: 5rem !important; + } + .mt-md-8 { + margin-top: 8rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-left: 0 !important; + } + .me-md-1 { + margin-left: 0.25rem !important; + } + .me-md-2 { + margin-left: 0.5rem !important; + } + .me-md-3 { + margin-left: 1rem !important; + } + .me-md-4 { + margin-left: 1.5rem !important; + } + .me-md-5 { + margin-left: 2rem !important; + } + .me-md-6 { + margin-left: 3rem !important; + } + .me-md-7 { + margin-left: 5rem !important; + } + .me-md-8 { + margin-left: 8rem !important; + } + .me-md-auto { + margin-left: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 2rem !important; + } + .mb-md-6 { + margin-bottom: 3rem !important; + } + .mb-md-7 { + margin-bottom: 5rem !important; + } + .mb-md-8 { + margin-bottom: 8rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-right: 0 !important; + } + .ms-md-1 { + margin-right: 0.25rem !important; + } + .ms-md-2 { + margin-right: 0.5rem !important; + } + .ms-md-3 { + margin-right: 1rem !important; + } + .ms-md-4 { + margin-right: 1.5rem !important; + } + .ms-md-5 { + margin-right: 2rem !important; + } + .ms-md-6 { + margin-right: 3rem !important; + } + .ms-md-7 { + margin-right: 5rem !important; + } + .ms-md-8 { + margin-right: 8rem !important; + } + .ms-md-auto { + margin-right: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 2rem !important; + } + .p-md-6 { + padding: 3rem !important; + } + .p-md-7 { + padding: 5rem !important; + } + .p-md-8 { + padding: 8rem !important; + } + .px-md-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-md-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-md-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-md-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-md-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-md-5 { + padding-left: 2rem !important; + padding-right: 2rem !important; + } + .px-md-6 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .px-md-7 { + padding-left: 5rem !important; + padding-right: 5rem !important; + } + .px-md-8 { + padding-left: 8rem !important; + padding-right: 8rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-md-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-md-7 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-md-8 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 2rem !important; + } + .pt-md-6 { + padding-top: 3rem !important; + } + .pt-md-7 { + padding-top: 5rem !important; + } + .pt-md-8 { + padding-top: 8rem !important; + } + .pe-md-0 { + padding-left: 0 !important; + } + .pe-md-1 { + padding-left: 0.25rem !important; + } + .pe-md-2 { + padding-left: 0.5rem !important; + } + .pe-md-3 { + padding-left: 1rem !important; + } + .pe-md-4 { + padding-left: 1.5rem !important; + } + .pe-md-5 { + padding-left: 2rem !important; + } + .pe-md-6 { + padding-left: 3rem !important; + } + .pe-md-7 { + padding-left: 5rem !important; + } + .pe-md-8 { + padding-left: 8rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 2rem !important; + } + .pb-md-6 { + padding-bottom: 3rem !important; + } + .pb-md-7 { + padding-bottom: 5rem !important; + } + .pb-md-8 { + padding-bottom: 8rem !important; + } + .ps-md-0 { + padding-right: 0 !important; + } + .ps-md-1 { + padding-right: 0.25rem !important; + } + .ps-md-2 { + padding-right: 0.5rem !important; + } + .ps-md-3 { + padding-right: 1rem !important; + } + .ps-md-4 { + padding-right: 1.5rem !important; + } + .ps-md-5 { + padding-right: 2rem !important; + } + .ps-md-6 { + padding-right: 3rem !important; + } + .ps-md-7 { + padding-right: 5rem !important; + } + .ps-md-8 { + padding-right: 8rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 2rem !important; + } + .gap-md-6 { + gap: 3rem !important; + } + .gap-md-7 { + gap: 5rem !important; + } + .gap-md-8 { + gap: 8rem !important; + } + .row-gap-md-0 { + row-gap: 0 !important; + } + .row-gap-md-1 { + row-gap: 0.25rem !important; + } + .row-gap-md-2 { + row-gap: 0.5rem !important; + } + .row-gap-md-3 { + row-gap: 1rem !important; + } + .row-gap-md-4 { + row-gap: 1.5rem !important; + } + .row-gap-md-5 { + row-gap: 2rem !important; + } + .row-gap-md-6 { + row-gap: 3rem !important; + } + .row-gap-md-7 { + row-gap: 5rem !important; + } + .row-gap-md-8 { + row-gap: 8rem !important; + } + .column-gap-md-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-md-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-md-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-md-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-md-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-md-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-md-6 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-md-7 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-md-8 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .text-md-start { + text-align: right !important; + } + .text-md-end { + text-align: left !important; + } + .text-md-center { + text-align: center !important; + } + .columns-md-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-md-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-md-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: right !important; + } + .float-lg-end { + float: left !important; + } + .float-lg-none { + float: none !important; + } + .object-fit-lg-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-lg-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-lg-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-lg-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-lg-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 2rem !important; + } + .m-lg-6 { + margin: 3rem !important; + } + .m-lg-7 { + margin: 5rem !important; + } + .m-lg-8 { + margin: 8rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-lg-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-lg-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-lg-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-lg-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-lg-5 { + margin-left: 2rem !important; + margin-right: 2rem !important; + } + .mx-lg-6 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-lg-7 { + margin-left: 5rem !important; + margin-right: 5rem !important; + } + .mx-lg-8 { + margin-left: 8rem !important; + margin-right: 8rem !important; + } + .mx-lg-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-lg-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-7 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-lg-8 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 2rem !important; + } + .mt-lg-6 { + margin-top: 3rem !important; + } + .mt-lg-7 { + margin-top: 5rem !important; + } + .mt-lg-8 { + margin-top: 8rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-left: 0 !important; + } + .me-lg-1 { + margin-left: 0.25rem !important; + } + .me-lg-2 { + margin-left: 0.5rem !important; + } + .me-lg-3 { + margin-left: 1rem !important; + } + .me-lg-4 { + margin-left: 1.5rem !important; + } + .me-lg-5 { + margin-left: 2rem !important; + } + .me-lg-6 { + margin-left: 3rem !important; + } + .me-lg-7 { + margin-left: 5rem !important; + } + .me-lg-8 { + margin-left: 8rem !important; + } + .me-lg-auto { + margin-left: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 2rem !important; + } + .mb-lg-6 { + margin-bottom: 3rem !important; + } + .mb-lg-7 { + margin-bottom: 5rem !important; + } + .mb-lg-8 { + margin-bottom: 8rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-right: 0 !important; + } + .ms-lg-1 { + margin-right: 0.25rem !important; + } + .ms-lg-2 { + margin-right: 0.5rem !important; + } + .ms-lg-3 { + margin-right: 1rem !important; + } + .ms-lg-4 { + margin-right: 1.5rem !important; + } + .ms-lg-5 { + margin-right: 2rem !important; + } + .ms-lg-6 { + margin-right: 3rem !important; + } + .ms-lg-7 { + margin-right: 5rem !important; + } + .ms-lg-8 { + margin-right: 8rem !important; + } + .ms-lg-auto { + margin-right: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 2rem !important; + } + .p-lg-6 { + padding: 3rem !important; + } + .p-lg-7 { + padding: 5rem !important; + } + .p-lg-8 { + padding: 8rem !important; + } + .px-lg-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-lg-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-lg-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-lg-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-lg-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-lg-5 { + padding-left: 2rem !important; + padding-right: 2rem !important; + } + .px-lg-6 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .px-lg-7 { + padding-left: 5rem !important; + padding-right: 5rem !important; + } + .px-lg-8 { + padding-left: 8rem !important; + padding-right: 8rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-lg-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-lg-7 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-lg-8 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 2rem !important; + } + .pt-lg-6 { + padding-top: 3rem !important; + } + .pt-lg-7 { + padding-top: 5rem !important; + } + .pt-lg-8 { + padding-top: 8rem !important; + } + .pe-lg-0 { + padding-left: 0 !important; + } + .pe-lg-1 { + padding-left: 0.25rem !important; + } + .pe-lg-2 { + padding-left: 0.5rem !important; + } + .pe-lg-3 { + padding-left: 1rem !important; + } + .pe-lg-4 { + padding-left: 1.5rem !important; + } + .pe-lg-5 { + padding-left: 2rem !important; + } + .pe-lg-6 { + padding-left: 3rem !important; + } + .pe-lg-7 { + padding-left: 5rem !important; + } + .pe-lg-8 { + padding-left: 8rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 2rem !important; + } + .pb-lg-6 { + padding-bottom: 3rem !important; + } + .pb-lg-7 { + padding-bottom: 5rem !important; + } + .pb-lg-8 { + padding-bottom: 8rem !important; + } + .ps-lg-0 { + padding-right: 0 !important; + } + .ps-lg-1 { + padding-right: 0.25rem !important; + } + .ps-lg-2 { + padding-right: 0.5rem !important; + } + .ps-lg-3 { + padding-right: 1rem !important; + } + .ps-lg-4 { + padding-right: 1.5rem !important; + } + .ps-lg-5 { + padding-right: 2rem !important; + } + .ps-lg-6 { + padding-right: 3rem !important; + } + .ps-lg-7 { + padding-right: 5rem !important; + } + .ps-lg-8 { + padding-right: 8rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 2rem !important; + } + .gap-lg-6 { + gap: 3rem !important; + } + .gap-lg-7 { + gap: 5rem !important; + } + .gap-lg-8 { + gap: 8rem !important; + } + .row-gap-lg-0 { + row-gap: 0 !important; + } + .row-gap-lg-1 { + row-gap: 0.25rem !important; + } + .row-gap-lg-2 { + row-gap: 0.5rem !important; + } + .row-gap-lg-3 { + row-gap: 1rem !important; + } + .row-gap-lg-4 { + row-gap: 1.5rem !important; + } + .row-gap-lg-5 { + row-gap: 2rem !important; + } + .row-gap-lg-6 { + row-gap: 3rem !important; + } + .row-gap-lg-7 { + row-gap: 5rem !important; + } + .row-gap-lg-8 { + row-gap: 8rem !important; + } + .column-gap-lg-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-lg-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-lg-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-lg-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-lg-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-lg-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-lg-6 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-lg-7 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-lg-8 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .text-lg-start { + text-align: right !important; + } + .text-lg-end { + text-align: left !important; + } + .text-lg-center { + text-align: center !important; + } + .columns-lg-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-lg-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-lg-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: right !important; + } + .float-xl-end { + float: left !important; + } + .float-xl-none { + float: none !important; + } + .object-fit-xl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 2rem !important; + } + .m-xl-6 { + margin: 3rem !important; + } + .m-xl-7 { + margin: 5rem !important; + } + .m-xl-8 { + margin: 8rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-xl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-xl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-xl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-xl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-xl-5 { + margin-left: 2rem !important; + margin-right: 2rem !important; + } + .mx-xl-6 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-xl-7 { + margin-left: 5rem !important; + margin-right: 5rem !important; + } + .mx-xl-8 { + margin-left: 8rem !important; + margin-right: 8rem !important; + } + .mx-xl-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-xl-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-7 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-xl-8 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 2rem !important; + } + .mt-xl-6 { + margin-top: 3rem !important; + } + .mt-xl-7 { + margin-top: 5rem !important; + } + .mt-xl-8 { + margin-top: 8rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-left: 0 !important; + } + .me-xl-1 { + margin-left: 0.25rem !important; + } + .me-xl-2 { + margin-left: 0.5rem !important; + } + .me-xl-3 { + margin-left: 1rem !important; + } + .me-xl-4 { + margin-left: 1.5rem !important; + } + .me-xl-5 { + margin-left: 2rem !important; + } + .me-xl-6 { + margin-left: 3rem !important; + } + .me-xl-7 { + margin-left: 5rem !important; + } + .me-xl-8 { + margin-left: 8rem !important; + } + .me-xl-auto { + margin-left: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 2rem !important; + } + .mb-xl-6 { + margin-bottom: 3rem !important; + } + .mb-xl-7 { + margin-bottom: 5rem !important; + } + .mb-xl-8 { + margin-bottom: 8rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-right: 0 !important; + } + .ms-xl-1 { + margin-right: 0.25rem !important; + } + .ms-xl-2 { + margin-right: 0.5rem !important; + } + .ms-xl-3 { + margin-right: 1rem !important; + } + .ms-xl-4 { + margin-right: 1.5rem !important; + } + .ms-xl-5 { + margin-right: 2rem !important; + } + .ms-xl-6 { + margin-right: 3rem !important; + } + .ms-xl-7 { + margin-right: 5rem !important; + } + .ms-xl-8 { + margin-right: 8rem !important; + } + .ms-xl-auto { + margin-right: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 2rem !important; + } + .p-xl-6 { + padding: 3rem !important; + } + .p-xl-7 { + padding: 5rem !important; + } + .p-xl-8 { + padding: 8rem !important; + } + .px-xl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-xl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-xl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-xl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-xl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-xl-5 { + padding-left: 2rem !important; + padding-right: 2rem !important; + } + .px-xl-6 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .px-xl-7 { + padding-left: 5rem !important; + padding-right: 5rem !important; + } + .px-xl-8 { + padding-left: 8rem !important; + padding-right: 8rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-xl-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-xl-7 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-xl-8 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 2rem !important; + } + .pt-xl-6 { + padding-top: 3rem !important; + } + .pt-xl-7 { + padding-top: 5rem !important; + } + .pt-xl-8 { + padding-top: 8rem !important; + } + .pe-xl-0 { + padding-left: 0 !important; + } + .pe-xl-1 { + padding-left: 0.25rem !important; + } + .pe-xl-2 { + padding-left: 0.5rem !important; + } + .pe-xl-3 { + padding-left: 1rem !important; + } + .pe-xl-4 { + padding-left: 1.5rem !important; + } + .pe-xl-5 { + padding-left: 2rem !important; + } + .pe-xl-6 { + padding-left: 3rem !important; + } + .pe-xl-7 { + padding-left: 5rem !important; + } + .pe-xl-8 { + padding-left: 8rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 2rem !important; + } + .pb-xl-6 { + padding-bottom: 3rem !important; + } + .pb-xl-7 { + padding-bottom: 5rem !important; + } + .pb-xl-8 { + padding-bottom: 8rem !important; + } + .ps-xl-0 { + padding-right: 0 !important; + } + .ps-xl-1 { + padding-right: 0.25rem !important; + } + .ps-xl-2 { + padding-right: 0.5rem !important; + } + .ps-xl-3 { + padding-right: 1rem !important; + } + .ps-xl-4 { + padding-right: 1.5rem !important; + } + .ps-xl-5 { + padding-right: 2rem !important; + } + .ps-xl-6 { + padding-right: 3rem !important; + } + .ps-xl-7 { + padding-right: 5rem !important; + } + .ps-xl-8 { + padding-right: 8rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 2rem !important; + } + .gap-xl-6 { + gap: 3rem !important; + } + .gap-xl-7 { + gap: 5rem !important; + } + .gap-xl-8 { + gap: 8rem !important; + } + .row-gap-xl-0 { + row-gap: 0 !important; + } + .row-gap-xl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xl-3 { + row-gap: 1rem !important; + } + .row-gap-xl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xl-5 { + row-gap: 2rem !important; + } + .row-gap-xl-6 { + row-gap: 3rem !important; + } + .row-gap-xl-7 { + row-gap: 5rem !important; + } + .row-gap-xl-8 { + row-gap: 8rem !important; + } + .column-gap-xl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xl-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-xl-6 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-xl-7 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-xl-8 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .text-xl-start { + text-align: right !important; + } + .text-xl-end { + text-align: left !important; + } + .text-xl-center { + text-align: center !important; + } + .columns-xl-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-xl-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-xl-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: right !important; + } + .float-xxl-end { + float: left !important; + } + .float-xxl-none { + float: none !important; + } + .object-fit-xxl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xxl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xxl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xxl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xxl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 2rem !important; + } + .m-xxl-6 { + margin: 3rem !important; + } + .m-xxl-7 { + margin: 5rem !important; + } + .m-xxl-8 { + margin: 8rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-xxl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-xxl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-xxl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-xxl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-xxl-5 { + margin-left: 2rem !important; + margin-right: 2rem !important; + } + .mx-xxl-6 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-xxl-7 { + margin-left: 5rem !important; + margin-right: 5rem !important; + } + .mx-xxl-8 { + margin-left: 8rem !important; + margin-right: 8rem !important; + } + .mx-xxl-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-xxl-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-7 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-xxl-8 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 2rem !important; + } + .mt-xxl-6 { + margin-top: 3rem !important; + } + .mt-xxl-7 { + margin-top: 5rem !important; + } + .mt-xxl-8 { + margin-top: 8rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-left: 0 !important; + } + .me-xxl-1 { + margin-left: 0.25rem !important; + } + .me-xxl-2 { + margin-left: 0.5rem !important; + } + .me-xxl-3 { + margin-left: 1rem !important; + } + .me-xxl-4 { + margin-left: 1.5rem !important; + } + .me-xxl-5 { + margin-left: 2rem !important; + } + .me-xxl-6 { + margin-left: 3rem !important; + } + .me-xxl-7 { + margin-left: 5rem !important; + } + .me-xxl-8 { + margin-left: 8rem !important; + } + .me-xxl-auto { + margin-left: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 2rem !important; + } + .mb-xxl-6 { + margin-bottom: 3rem !important; + } + .mb-xxl-7 { + margin-bottom: 5rem !important; + } + .mb-xxl-8 { + margin-bottom: 8rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-right: 0 !important; + } + .ms-xxl-1 { + margin-right: 0.25rem !important; + } + .ms-xxl-2 { + margin-right: 0.5rem !important; + } + .ms-xxl-3 { + margin-right: 1rem !important; + } + .ms-xxl-4 { + margin-right: 1.5rem !important; + } + .ms-xxl-5 { + margin-right: 2rem !important; + } + .ms-xxl-6 { + margin-right: 3rem !important; + } + .ms-xxl-7 { + margin-right: 5rem !important; + } + .ms-xxl-8 { + margin-right: 8rem !important; + } + .ms-xxl-auto { + margin-right: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 2rem !important; + } + .p-xxl-6 { + padding: 3rem !important; + } + .p-xxl-7 { + padding: 5rem !important; + } + .p-xxl-8 { + padding: 8rem !important; + } + .px-xxl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-xxl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-xxl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-xxl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-xxl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-xxl-5 { + padding-left: 2rem !important; + padding-right: 2rem !important; + } + .px-xxl-6 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .px-xxl-7 { + padding-left: 5rem !important; + padding-right: 5rem !important; + } + .px-xxl-8 { + padding-left: 8rem !important; + padding-right: 8rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-xxl-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-xxl-7 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-xxl-8 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 2rem !important; + } + .pt-xxl-6 { + padding-top: 3rem !important; + } + .pt-xxl-7 { + padding-top: 5rem !important; + } + .pt-xxl-8 { + padding-top: 8rem !important; + } + .pe-xxl-0 { + padding-left: 0 !important; + } + .pe-xxl-1 { + padding-left: 0.25rem !important; + } + .pe-xxl-2 { + padding-left: 0.5rem !important; + } + .pe-xxl-3 { + padding-left: 1rem !important; + } + .pe-xxl-4 { + padding-left: 1.5rem !important; + } + .pe-xxl-5 { + padding-left: 2rem !important; + } + .pe-xxl-6 { + padding-left: 3rem !important; + } + .pe-xxl-7 { + padding-left: 5rem !important; + } + .pe-xxl-8 { + padding-left: 8rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 2rem !important; + } + .pb-xxl-6 { + padding-bottom: 3rem !important; + } + .pb-xxl-7 { + padding-bottom: 5rem !important; + } + .pb-xxl-8 { + padding-bottom: 8rem !important; + } + .ps-xxl-0 { + padding-right: 0 !important; + } + .ps-xxl-1 { + padding-right: 0.25rem !important; + } + .ps-xxl-2 { + padding-right: 0.5rem !important; + } + .ps-xxl-3 { + padding-right: 1rem !important; + } + .ps-xxl-4 { + padding-right: 1.5rem !important; + } + .ps-xxl-5 { + padding-right: 2rem !important; + } + .ps-xxl-6 { + padding-right: 3rem !important; + } + .ps-xxl-7 { + padding-right: 5rem !important; + } + .ps-xxl-8 { + padding-right: 8rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 2rem !important; + } + .gap-xxl-6 { + gap: 3rem !important; + } + .gap-xxl-7 { + gap: 5rem !important; + } + .gap-xxl-8 { + gap: 8rem !important; + } + .row-gap-xxl-0 { + row-gap: 0 !important; + } + .row-gap-xxl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xxl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xxl-3 { + row-gap: 1rem !important; + } + .row-gap-xxl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xxl-5 { + row-gap: 2rem !important; + } + .row-gap-xxl-6 { + row-gap: 3rem !important; + } + .row-gap-xxl-7 { + row-gap: 5rem !important; + } + .row-gap-xxl-8 { + row-gap: 8rem !important; + } + .column-gap-xxl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xxl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xxl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xxl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xxl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xxl-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-xxl-6 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-xxl-7 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-xxl-8 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .text-xxl-start { + text-align: right !important; + } + .text-xxl-end { + text-align: left !important; + } + .text-xxl-center { + text-align: center !important; + } + .columns-xxl-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-xxl-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-xxl-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +:root, +:host { + font-size: 16px; + height: 100%; + --tblr-primary: #206bc4; + --tblr-primary-rgb: 32, 107, 196; + --tblr-primary-fg: var(--tblr-light); + --tblr-primary-darken: #1d60b0; + --tblr-primary-lt: #e9f0f9; + --tblr-primary-lt-rgb: 233, 240, 249; + --tblr-secondary: #667382; + --tblr-secondary-rgb: 102, 115, 130; + --tblr-secondary-fg: var(--tblr-light); + --tblr-secondary-darken: #5c6875; + --tblr-secondary-lt: #f0f1f3; + --tblr-secondary-lt-rgb: 240, 241, 243; + --tblr-success: #2fb344; + --tblr-success-rgb: 47, 179, 68; + --tblr-success-fg: var(--tblr-light); + --tblr-success-darken: #2aa13d; + --tblr-success-lt: #eaf7ec; + --tblr-success-lt-rgb: 234, 247, 236; + --tblr-info: #4299e1; + --tblr-info-rgb: 66, 153, 225; + --tblr-info-fg: var(--tblr-light); + --tblr-info-darken: #3b8acb; + --tblr-info-lt: #ecf5fc; + --tblr-info-lt-rgb: 236, 245, 252; + --tblr-warning: #f76707; + --tblr-warning-rgb: 247, 103, 7; + --tblr-warning-fg: var(--tblr-light); + --tblr-warning-darken: #de5d06; + --tblr-warning-lt: #fef0e6; + --tblr-warning-lt-rgb: 254, 240, 230; + --tblr-danger: #d63939; + --tblr-danger-rgb: 214, 57, 57; + --tblr-danger-fg: var(--tblr-light); + --tblr-danger-darken: #c13333; + --tblr-danger-lt: #fbebeb; + --tblr-danger-lt-rgb: 251, 235, 235; + --tblr-light: #fcfdfe; + --tblr-light-rgb: 252, 253, 254; + --tblr-light-fg: var(--tblr-dark); + --tblr-light-darken: #e3e4e5; + --tblr-light-lt: white; + --tblr-light-lt-rgb: 255, 255, 255; + --tblr-dark: #182433; + --tblr-dark-rgb: 24, 36, 51; + --tblr-dark-fg: var(--tblr-light); + --tblr-dark-darken: #16202e; + --tblr-dark-lt: #e8e9eb; + --tblr-dark-lt-rgb: 232, 233, 235; + --tblr-muted: #667382; + --tblr-muted-rgb: 102, 115, 130; + --tblr-muted-fg: var(--tblr-light); + --tblr-muted-darken: #5c6875; + --tblr-muted-lt: #f0f1f3; + --tblr-muted-lt-rgb: 240, 241, 243; + --tblr-blue: #206bc4; + --tblr-blue-rgb: 32, 107, 196; + --tblr-blue-fg: var(--tblr-light); + --tblr-blue-darken: #1d60b0; + --tblr-blue-lt: #e9f0f9; + --tblr-blue-lt-rgb: 233, 240, 249; + --tblr-azure: #4299e1; + --tblr-azure-rgb: 66, 153, 225; + --tblr-azure-fg: var(--tblr-light); + --tblr-azure-darken: #3b8acb; + --tblr-azure-lt: #ecf5fc; + --tblr-azure-lt-rgb: 236, 245, 252; + --tblr-indigo: #4263eb; + --tblr-indigo-rgb: 66, 99, 235; + --tblr-indigo-fg: var(--tblr-light); + --tblr-indigo-darken: #3b59d4; + --tblr-indigo-lt: #eceffd; + --tblr-indigo-lt-rgb: 236, 239, 253; + --tblr-purple: #ae3ec9; + --tblr-purple-rgb: 174, 62, 201; + --tblr-purple-fg: var(--tblr-light); + --tblr-purple-darken: #9d38b5; + --tblr-purple-lt: #f7ecfa; + --tblr-purple-lt-rgb: 247, 236, 250; + --tblr-pink: #d6336c; + --tblr-pink-rgb: 214, 51, 108; + --tblr-pink-fg: var(--tblr-light); + --tblr-pink-darken: #c12e61; + --tblr-pink-lt: #fbebf0; + --tblr-pink-lt-rgb: 251, 235, 240; + --tblr-red: #d63939; + --tblr-red-rgb: 214, 57, 57; + --tblr-red-fg: var(--tblr-light); + --tblr-red-darken: #c13333; + --tblr-red-lt: #fbebeb; + --tblr-red-lt-rgb: 251, 235, 235; + --tblr-orange: #f76707; + --tblr-orange-rgb: 247, 103, 7; + --tblr-orange-fg: var(--tblr-light); + --tblr-orange-darken: #de5d06; + --tblr-orange-lt: #fef0e6; + --tblr-orange-lt-rgb: 254, 240, 230; + --tblr-yellow: #f59f00; + --tblr-yellow-rgb: 245, 159, 0; + --tblr-yellow-fg: var(--tblr-light); + --tblr-yellow-darken: #dd8f00; + --tblr-yellow-lt: #fef5e6; + --tblr-yellow-lt-rgb: 254, 245, 230; + --tblr-lime: #74b816; + --tblr-lime-rgb: 116, 184, 22; + --tblr-lime-fg: var(--tblr-light); + --tblr-lime-darken: #68a614; + --tblr-lime-lt: #f1f8e8; + --tblr-lime-lt-rgb: 241, 248, 232; + --tblr-green: #2fb344; + --tblr-green-rgb: 47, 179, 68; + --tblr-green-fg: var(--tblr-light); + --tblr-green-darken: #2aa13d; + --tblr-green-lt: #eaf7ec; + --tblr-green-lt-rgb: 234, 247, 236; + --tblr-teal: #0ca678; + --tblr-teal-rgb: 12, 166, 120; + --tblr-teal-fg: var(--tblr-light); + --tblr-teal-darken: #0b956c; + --tblr-teal-lt: #e7f6f2; + --tblr-teal-lt-rgb: 231, 246, 242; + --tblr-cyan: #17a2b8; + --tblr-cyan-rgb: 23, 162, 184; + --tblr-cyan-fg: var(--tblr-light); + --tblr-cyan-darken: #1592a6; + --tblr-cyan-lt: #e8f6f8; + --tblr-cyan-lt-rgb: 232, 246, 248; + --tblr-facebook: #1877f2; + --tblr-facebook-rgb: 24, 119, 242; + --tblr-facebook-fg: var(--tblr-light); + --tblr-facebook-darken: #166bda; + --tblr-facebook-lt: #e8f1fe; + --tblr-facebook-lt-rgb: 232, 241, 254; + --tblr-twitter: #1da1f2; + --tblr-twitter-rgb: 29, 161, 242; + --tblr-twitter-fg: var(--tblr-light); + --tblr-twitter-darken: #1a91da; + --tblr-twitter-lt: #e8f6fe; + --tblr-twitter-lt-rgb: 232, 246, 254; + --tblr-linkedin: #0a66c2; + --tblr-linkedin-rgb: 10, 102, 194; + --tblr-linkedin-fg: var(--tblr-light); + --tblr-linkedin-darken: #095caf; + --tblr-linkedin-lt: #e7f0f9; + --tblr-linkedin-lt-rgb: 231, 240, 249; + --tblr-google: #dc4e41; + --tblr-google-rgb: 220, 78, 65; + --tblr-google-fg: var(--tblr-light); + --tblr-google-darken: #c6463b; + --tblr-google-lt: #fcedec; + --tblr-google-lt-rgb: 252, 237, 236; + --tblr-youtube: #ff0000; + --tblr-youtube-rgb: 255, 0, 0; + --tblr-youtube-fg: var(--tblr-light); + --tblr-youtube-darken: #e60000; + --tblr-youtube-lt: #ffe6e6; + --tblr-youtube-lt-rgb: 255, 230, 230; + --tblr-vimeo: #1ab7ea; + --tblr-vimeo-rgb: 26, 183, 234; + --tblr-vimeo-fg: var(--tblr-light); + --tblr-vimeo-darken: #17a5d3; + --tblr-vimeo-lt: #e8f8fd; + --tblr-vimeo-lt-rgb: 232, 248, 253; + --tblr-dribbble: #ea4c89; + --tblr-dribbble-rgb: 234, 76, 137; + --tblr-dribbble-fg: var(--tblr-light); + --tblr-dribbble-darken: #d3447b; + --tblr-dribbble-lt: #fdedf3; + --tblr-dribbble-lt-rgb: 253, 237, 243; + --tblr-github: #181717; + --tblr-github-rgb: 24, 23, 23; + --tblr-github-fg: var(--tblr-light); + --tblr-github-darken: #161515; + --tblr-github-lt: #e8e8e8; + --tblr-github-lt-rgb: 232, 232, 232; + --tblr-instagram: #e4405f; + --tblr-instagram-rgb: 228, 64, 95; + --tblr-instagram-fg: var(--tblr-light); + --tblr-instagram-darken: #cd3a56; + --tblr-instagram-lt: #fcecef; + --tblr-instagram-lt-rgb: 252, 236, 239; + --tblr-pinterest: #bd081c; + --tblr-pinterest-rgb: 189, 8, 28; + --tblr-pinterest-fg: var(--tblr-light); + --tblr-pinterest-darken: #aa0719; + --tblr-pinterest-lt: #f8e6e8; + --tblr-pinterest-lt-rgb: 248, 230, 232; + --tblr-vk: #6383a8; + --tblr-vk-rgb: 99, 131, 168; + --tblr-vk-fg: var(--tblr-light); + --tblr-vk-darken: #597697; + --tblr-vk-lt: #eff3f6; + --tblr-vk-lt-rgb: 239, 243, 246; + --tblr-rss: #ffa500; + --tblr-rss-rgb: 255, 165, 0; + --tblr-rss-fg: var(--tblr-light); + --tblr-rss-darken: #e69500; + --tblr-rss-lt: #fff6e6; + --tblr-rss-lt-rgb: 255, 246, 230; + --tblr-flickr: #0063dc; + --tblr-flickr-rgb: 0, 99, 220; + --tblr-flickr-fg: var(--tblr-light); + --tblr-flickr-darken: #0059c6; + --tblr-flickr-lt: #e6effc; + --tblr-flickr-lt-rgb: 230, 239, 252; + --tblr-bitbucket: #0052cc; + --tblr-bitbucket-rgb: 0, 82, 204; + --tblr-bitbucket-fg: var(--tblr-light); + --tblr-bitbucket-darken: #004ab8; + --tblr-bitbucket-lt: #e6eefa; + --tblr-bitbucket-lt-rgb: 230, 238, 250; + --tblr-tabler: #206bc4; + --tblr-tabler-rgb: 32, 107, 196; + --tblr-tabler-fg: var(--tblr-light); + --tblr-tabler-darken: #1d60b0; + --tblr-tabler-lt: #e9f0f9; + --tblr-tabler-lt-rgb: 233, 240, 249; + --tblr-gray-50: #fcfdfe; + --tblr-gray-50-rgb: 252, 253, 254; + --tblr-gray-50-fg: var(--tblr-dark); + --tblr-gray-50-darken: #e3e4e5; + --tblr-gray-50-lt: white; + --tblr-gray-50-lt-rgb: 255, 255, 255; + --tblr-gray-100: #f6f8fb; + --tblr-gray-100-rgb: 246, 248, 251; + --tblr-gray-100-fg: var(--tblr-dark); + --tblr-gray-100-darken: #dddfe2; + --tblr-gray-100-lt: #fefeff; + --tblr-gray-100-lt-rgb: 254, 254, 255; + --tblr-gray-200: #eef1f4; + --tblr-gray-200-rgb: 238, 241, 244; + --tblr-gray-200-fg: var(--tblr-dark); + --tblr-gray-200-darken: #d6d9dc; + --tblr-gray-200-lt: #fdfefe; + --tblr-gray-200-lt-rgb: 253, 254, 254; + --tblr-gray-300: #dadfe5; + --tblr-gray-300-rgb: 218, 223, 229; + --tblr-gray-300-fg: var(--tblr-dark); + --tblr-gray-300-darken: #c4c9ce; + --tblr-gray-300-lt: #fbfcfc; + --tblr-gray-300-lt-rgb: 251, 252, 252; + --tblr-gray-400: #bbc3cd; + --tblr-gray-400-rgb: 187, 195, 205; + --tblr-gray-400-fg: var(--tblr-light); + --tblr-gray-400-darken: #a8b0b9; + --tblr-gray-400-lt: #f8f9fa; + --tblr-gray-400-lt-rgb: 248, 249, 250; + --tblr-gray-500: #929dab; + --tblr-gray-500-rgb: 146, 157, 171; + --tblr-gray-500-fg: var(--tblr-light); + --tblr-gray-500-darken: #838d9a; + --tblr-gray-500-lt: #f4f5f7; + --tblr-gray-500-lt-rgb: 244, 245, 247; + --tblr-gray-600: #667382; + --tblr-gray-600-rgb: 102, 115, 130; + --tblr-gray-600-fg: var(--tblr-light); + --tblr-gray-600-darken: #5c6875; + --tblr-gray-600-lt: #f0f1f3; + --tblr-gray-600-lt-rgb: 240, 241, 243; + --tblr-gray-700: #3a4859; + --tblr-gray-700-rgb: 58, 72, 89; + --tblr-gray-700-fg: var(--tblr-light); + --tblr-gray-700-darken: #344150; + --tblr-gray-700-lt: #ebedee; + --tblr-gray-700-lt-rgb: 235, 237, 238; + --tblr-gray-800: #182433; + --tblr-gray-800-rgb: 24, 36, 51; + --tblr-gray-800-fg: var(--tblr-light); + --tblr-gray-800-darken: #16202e; + --tblr-gray-800-lt: #e8e9eb; + --tblr-gray-800-lt-rgb: 232, 233, 235; + --tblr-gray-900: #040a11; + --tblr-gray-900-rgb: 4, 10, 17; + --tblr-gray-900-fg: var(--tblr-light); + --tblr-gray-900-darken: #04090f; + --tblr-gray-900-lt: #e6e7e7; + --tblr-gray-900-lt-rgb: 230, 231, 231; + --tblr-spacer-0: 0; + --tblr-spacer-1: 0.25rem; + --tblr-spacer-2: 0.5rem; + --tblr-spacer-3: 1rem; + --tblr-spacer-4: 1.5rem; + --tblr-spacer-5: 2rem; + --tblr-spacer-6: 3rem; + --tblr-spacer-7: 5rem; + --tblr-spacer-8: 8rem; + --tblr-spacer: 1rem; + --tblr-bg-surface: var(--tblr-white); + --tblr-bg-surface-secondary: var(--tblr-gray-100); + --tblr-bg-surface-tertiary: var(--tblr-gray-50); + --tblr-bg-surface-dark: var(--tblr-dark); + --tblr-bg-forms: var(--tblr-bg-surface); + --tblr-border-color: #dadfe5; + --tblr-border-color-translucent: rgba(4, 32, 69, 0.14); + --tblr-border-dark-color: #bbc3cd; + --tblr-border-dark-color-translucent: rgba(4, 32, 69, 0.27); + --tblr-border-active-color: #b6bcc3; + --tblr-icon-color: var(--tblr-gray-500); + --tblr-active-bg: rgba(var(--tblr-primary-rgb), 0.04); + --tblr-disabled-bg: var(--tblr-bg-surface-secondary); + --tblr-disabled-color: var(--tblr-gray-300); + --tblr-code-color: var(--tblr-gray-600); + --tblr-code-bg: var(--tblr-bg-surface-secondary); + --tblr-dark-mode-border-color: #1f2e41; + --tblr-dark-mode-border-color-translucent: rgba(72, 110, 149, 0.14); + --tblr-dark-mode-border-color-active: #2c415d; + --tblr-dark-mode-border-dark-color: #1f2e41; + --tblr-page-padding: var(--tblr-spacer-3); + --tblr-page-padding-y: var(--tblr-spacer-4); + --tblr-font-weight-light: 300; + --tblr-font-weight-normal: 400; + --tblr-font-weight-medium: 500; + --tblr-font-weight-bold: 600; + --tblr-font-weight-headings: var(--tblr-font-weight-bold); + --tblr-font-size-h1: 1.5rem; + --tblr-font-size-h2: 1.25rem; + --tblr-font-size-h3: 1rem; + --tblr-font-size-h4: 0.875rem; + --tblr-font-size-h5: 0.75rem; + --tblr-font-size-h6: 0.625rem; + --tblr-line-height-h1: 2rem; + --tblr-line-height-h2: 1.75rem; + --tblr-line-height-h3: 1.5rem; + --tblr-line-height-h4: 1.25rem; + --tblr-line-height-h5: 1rem; + --tblr-line-height-h6: 1rem; + --tblr-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; + --tblr-shadow-transparent: 0 0 0 0 transparent; + --tblr-shadow-button: 0 1px 0 rgba(var(--tblr-body-color-rgb), 0.04); + --tblr-shadow-button-inset: inset 0 -1px 0 rgba(var(--tblr-body-color-rgb), 0.2); + --tblr-shadow-card: 0 0 4px rgba(var(--tblr-body-color-rgb), 0.04); + --tblr-shadow-card-hover: rgba(var(--tblr-body-color-rgb), 0.16) 0 2px 16px 0; + --tblr-shadow-dropdown: 0px 16px 24px 2px rgba(0, 0, 0, 0.07), 0px 6px 30px 5px rgba(0, 0, 0, 0.06), 0px 8px 10px -5px rgba(0, 0, 0, 0.1); +} +@media (max-width: 991.98px) { + :root, + :host { + --tblr-page-padding: var(--tblr-spacer-2); + } +} + +@keyframes pulse { + from { + opacity: 1; + transform: scale3d(0.8, 0.8, 0.8); + } + 50% { + transform: scale3d(1, 1, 1); + opacity: 1; + } + to { + opacity: 1; + transform: scale3d(0.8, 0.8, 0.8); + } +} +@keyframes tada { + 0% { + transform: scale3d(1, 1, 1); + } + 10%, 5% { + transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, 5deg); + } + 15%, 25%, 35%, 45% { + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -5deg); + } + 20%, 30%, 40% { + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 5deg); + } + 50% { + transform: scale3d(1, 1, 1); + } +} +@keyframes rotate-360 { + from { + transform: rotate(0deg); + } + to { + transform: rotate(-360deg); + } +} +@keyframes blink { + from { + opacity: 0; + } + 50% { + opacity: 1; + } + to { + opacity: 0; + } +} +body { + letter-spacing: 0; + touch-action: manipulation; + text-rendering: optimizeLegibility; + font-feature-settings: "liga" 0; + position: relative; + min-height: 100%; + height: 100%; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +@media print { + body { + background: transparent; + } +} + +* { + scrollbar-color: rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.16) transparent; +} + +*::-webkit-scrollbar { + width: 1rem; + height: 1rem; + -webkit-transition: background 0.3s; + transition: background 0.3s; +} +@media (prefers-reduced-motion: reduce) { + *::-webkit-scrollbar { + -webkit-transition: none; + transition: none; + } +} + +*::-webkit-scrollbar-thumb { + border-radius: 1rem; + border: 5px solid transparent; + box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.16); +} + +*::-webkit-scrollbar-track { + background: transparent; +} + +*:hover::-webkit-scrollbar-thumb { + box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.32); +} + +*::-webkit-scrollbar-corner { + background: transparent; +} + +.layout-fluid .container, +.layout-fluid [class^=container-], +.layout-fluid [class*=" container-"] { + max-width: 100%; +} + +.layout-boxed { + --tblr-theme-boxed-border-radius: 0; + --tblr-theme-boxed-width: 1320px; +} +@media (min-width: 768px) { + .layout-boxed { + background: #182433 linear-gradient(to left, rgba(255, 255, 255, 0.1), transparent) fixed; + padding: 1rem; + --tblr-theme-boxed-border-radius: 4px; + } +} +.layout-boxed .page { + margin: 0 auto; + max-width: var(--tblr-theme-boxed-width); + border-radius: var(--tblr-theme-boxed-border-radius); + color: var(--tblr-body-color); +} +@media (min-width: 768px) { + .layout-boxed .page { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + background: var(--tblr-body-bg); + } +} +.layout-boxed .page > .navbar:first-child { + border-top-right-radius: var(--tblr-theme-boxed-border-radius); + border-top-left-radius: var(--tblr-theme-boxed-border-radius); +} + +/** +Navbar + */ +.navbar { + --tblr-navbar-bg: var(--tblr-bg-surface); + --tblr-navbar-border-width: var(--tblr-border-width); + --tblr-navbar-active-border-color: var(--tblr-primary); + --tblr-navbar-active-bg: rgba(0, 0, 0, 0.06); + --tblr-navbar-color: var(--tblr-body-color); + --tblr-navbar-border-color: var(--tblr-border-color); + align-items: stretch; + min-height: 3.5rem; + box-shadow: inset 0 calc(-1 * var(--tblr-navbar-border-width)) 0 0 var(--tblr-navbar-border-color); + background: var(--tblr-navbar-bg); + color: var(--tblr-navbar-color); +} +.navbar-collapse .navbar { + flex-grow: 1; +} +.navbar.collapsing { + min-height: 0; +} +.navbar .dropdown-menu { + position: absolute; + z-index: 1030; +} +.navbar .navbar-nav { + min-height: 3rem; +} +.navbar .navbar-nav .nav-link { + position: relative; + min-width: 2rem; + min-height: 2rem; + justify-content: center; + border-radius: var(--tblr-border-radius); +} +.navbar .navbar-nav .nav-link .badge { + position: absolute; + top: 0.375rem; + left: 0.375rem; + transform: translate(-50%, -50%); +} + +.navbar-nav { + margin: 0; + padding: 0; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm .navbar-collapse { + flex-direction: column; + } + .navbar-expand-sm .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-sm .navbar-collapse .navbar-nav { + margin-right: 0; + margin-left: 0; + } + .navbar-expand-sm .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-expand-sm .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-sm .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-sm .navbar-collapse .dropdown-toggle:after { + margin-right: auto; + } + .navbar-expand-sm .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-right-width: 3px; + left: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 576px) { + .navbar-expand-sm .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-sm .nav-item.active { + position: relative; + } + .navbar-expand-sm .nav-item.active:after { + content: ""; + position: absolute; + right: 0; + left: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-sm.navbar-vertical { + box-shadow: inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-sm.navbar-vertical.navbar-right { + box-shadow: inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-sm.navbar-vertical ~ .navbar, + .navbar-expand-sm.navbar-vertical ~ .page-wrapper { + margin-right: 15rem; + } + .navbar-expand-sm.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-sm.navbar-vertical.navbar-right ~ .page-wrapper { + margin-right: 0; + margin-left: 15rem; + } +} +@media (max-width: 767.98px) { + .navbar-expand-md .navbar-collapse { + flex-direction: column; + } + .navbar-expand-md .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-md .navbar-collapse .navbar-nav { + margin-right: 0; + margin-left: 0; + } + .navbar-expand-md .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-expand-md .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-md .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-md .navbar-collapse .dropdown-toggle:after { + margin-right: auto; + } + .navbar-expand-md .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-right-width: 3px; + left: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-expand-md .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-md .nav-item.active { + position: relative; + } + .navbar-expand-md .nav-item.active:after { + content: ""; + position: absolute; + right: 0; + left: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-md.navbar-vertical { + box-shadow: inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-md.navbar-vertical.navbar-right { + box-shadow: inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-md.navbar-vertical ~ .navbar, + .navbar-expand-md.navbar-vertical ~ .page-wrapper { + margin-right: 15rem; + } + .navbar-expand-md.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-md.navbar-vertical.navbar-right ~ .page-wrapper { + margin-right: 0; + margin-left: 15rem; + } +} +@media (max-width: 991.98px) { + .navbar-expand-lg .navbar-collapse { + flex-direction: column; + } + .navbar-expand-lg .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-lg .navbar-collapse .navbar-nav { + margin-right: 0; + margin-left: 0; + } + .navbar-expand-lg .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-expand-lg .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-lg .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-lg .navbar-collapse .dropdown-toggle:after { + margin-right: auto; + } + .navbar-expand-lg .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-right-width: 3px; + left: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 992px) { + .navbar-expand-lg .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-lg .nav-item.active { + position: relative; + } + .navbar-expand-lg .nav-item.active:after { + content: ""; + position: absolute; + right: 0; + left: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-lg.navbar-vertical { + box-shadow: inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-lg.navbar-vertical.navbar-right { + box-shadow: inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-lg.navbar-vertical ~ .navbar, + .navbar-expand-lg.navbar-vertical ~ .page-wrapper { + margin-right: 15rem; + } + .navbar-expand-lg.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-lg.navbar-vertical.navbar-right ~ .page-wrapper { + margin-right: 0; + margin-left: 15rem; + } +} +@media (max-width: 1199.98px) { + .navbar-expand-xl .navbar-collapse { + flex-direction: column; + } + .navbar-expand-xl .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-xl .navbar-collapse .navbar-nav { + margin-right: 0; + margin-left: 0; + } + .navbar-expand-xl .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-expand-xl .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-xl .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-xl .navbar-collapse .dropdown-toggle:after { + margin-right: auto; + } + .navbar-expand-xl .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-right-width: 3px; + left: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-xl .nav-item.active { + position: relative; + } + .navbar-expand-xl .nav-item.active:after { + content: ""; + position: absolute; + right: 0; + left: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-xl.navbar-vertical { + box-shadow: inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-xl.navbar-vertical.navbar-right { + box-shadow: inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-xl.navbar-vertical ~ .navbar, + .navbar-expand-xl.navbar-vertical ~ .page-wrapper { + margin-right: 15rem; + } + .navbar-expand-xl.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-xl.navbar-vertical.navbar-right ~ .page-wrapper { + margin-right: 0; + margin-left: 15rem; + } +} +@media (max-width: 1399.98px) { + .navbar-expand-xxl .navbar-collapse { + flex-direction: column; + } + .navbar-expand-xxl .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-xxl .navbar-collapse .navbar-nav { + margin-right: 0; + margin-left: 0; + } + .navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-xxl .navbar-collapse .dropdown-toggle:after { + margin-right: auto; + } + .navbar-expand-xxl .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-right-width: 3px; + left: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-xxl .nav-item.active { + position: relative; + } + .navbar-expand-xxl .nav-item.active:after { + content: ""; + position: absolute; + right: 0; + left: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-xxl.navbar-vertical { + box-shadow: inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-xxl.navbar-vertical.navbar-right { + box-shadow: inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-xxl.navbar-vertical ~ .navbar, + .navbar-expand-xxl.navbar-vertical ~ .page-wrapper { + margin-right: 15rem; + } + .navbar-expand-xxl.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-xxl.navbar-vertical.navbar-right ~ .page-wrapper { + margin-right: 0; + margin-left: 15rem; + } +} +.navbar-expand .navbar-collapse { + flex-direction: column; +} +.navbar-expand .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; +} +.navbar-expand .navbar-collapse .navbar-nav { + margin-right: 0; + margin-left: 0; +} +.navbar-expand .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; +} +.navbar-expand .navbar-collapse .dropdown-menu-columns { + flex-direction: column; +} +.navbar-expand .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; +} +.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; +} +.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); +} +.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); +} +.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); +} +.navbar-expand .navbar-collapse .dropdown-toggle:after { + margin-right: auto; +} +.navbar-expand .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-right-width: 3px; + left: auto; + top: 0; + bottom: 0; +} +.navbar-expand .navbar-collapse { + width: auto; + flex: 1 1 auto; +} +.navbar-expand .nav-item.active { + position: relative; +} +.navbar-expand .nav-item.active:after { + content: ""; + position: absolute; + right: 0; + left: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; +} +.navbar-expand.navbar-vertical { + box-shadow: inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); +} +.navbar-expand.navbar-vertical.navbar-right { + box-shadow: inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); +} +.navbar-expand.navbar-vertical ~ .navbar, +.navbar-expand.navbar-vertical ~ .page-wrapper { + margin-right: 15rem; +} +.navbar-expand.navbar-vertical.navbar-right ~ .navbar, +.navbar-expand.navbar-vertical.navbar-right ~ .page-wrapper { + margin-right: 0; + margin-left: 15rem; +} + +/** +Navbar brand + */ +.navbar-brand { + display: inline-flex; + align-items: center; + font-weight: var(--tblr-font-weight-bold); + margin: 0; + line-height: 1; + gap: 0.5rem; +} + +.navbar-brand-image { + height: 2rem; + width: auto; +} + +/** +Navbar toggler + */ +.navbar-toggler { + border: 0; + width: 2rem; + height: 2rem; + position: relative; + display: flex; + align-items: center; + justify-content: center; +} + +.navbar-toggler-icon { + height: 2px; + width: 1.25em; + background: currentColor; + border-radius: 10px; + transition: top 0.2s 0.2s, bottom 0.2s 0.2s, transform 0.2s, opacity 0s 0.2s; + position: relative; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler-icon { + transition: none; + } +} +.navbar-toggler-icon:before, .navbar-toggler-icon:after { + content: ""; + display: block; + height: inherit; + width: inherit; + border-radius: inherit; + background: inherit; + position: absolute; + right: 0; + transition: inherit; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler-icon:before, .navbar-toggler-icon:after { + transition: none; + } +} +.navbar-toggler-icon:before { + top: -0.45em; +} +.navbar-toggler-icon:after { + bottom: -0.45em; +} +.navbar-toggler[aria-expanded=true] .navbar-toggler-icon { + transform: rotate(-45deg); + transition: top 0.3s, bottom 0.3s, transform 0.3s 0.3s, opacity 0s 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler[aria-expanded=true] .navbar-toggler-icon { + transition: none; + } +} +.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before { + top: 0; + transform: rotate(90deg); +} +.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after { + bottom: 0; + opacity: 0; +} + +/** +Navbar transparent + */ +.navbar-transparent { + --tblr-navbar-border-color: transparent !important; + background: transparent !important; +} + +/** +Navbar nav + */ +.navbar-nav { + align-items: stretch; +} +.navbar-nav .nav-item { + display: flex; + flex-direction: column; + justify-content: center; +} + +/** +Navbar side + */ +.navbar-side { + margin: 0; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-around; +} + +/** +Navbar vertical + */ +@media (min-width: 576px) { + .navbar-vertical.navbar-expand-sm { + width: 15rem; + position: fixed; + top: 0; + right: 0; + bottom: 0; + z-index: 1030; + align-items: flex-start; + transition: transform 0.3s; + overflow-y: scroll; + padding: 0; + } +} +@media (min-width: 576px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-sm { + transition: none; + } +} +@media (min-width: 576px) { + .navbar-vertical.navbar-expand-sm.navbar-right { + right: auto; + left: 0; + } + .navbar-vertical.navbar-expand-sm .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-sm .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-sm .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-sm > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: flex-start; + padding: 0; + } + .navbar-vertical.navbar-expand-sm ~ .page { + padding-right: 15rem; + } + .navbar-vertical.navbar-expand-sm ~ .page [class^=container] { + padding-right: 1.5rem; + padding-left: 1.5rem; + } + .navbar-vertical.navbar-expand-sm.navbar-right ~ .page { + padding-right: 0; + padding-left: 15rem; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav { + margin-right: 0; + margin-left: 0; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-toggle:after { + margin-right: auto; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-right-width: 3px; + left: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-vertical.navbar-expand-md { + width: 15rem; + position: fixed; + top: 0; + right: 0; + bottom: 0; + z-index: 1030; + align-items: flex-start; + transition: transform 0.3s; + overflow-y: scroll; + padding: 0; + } +} +@media (min-width: 768px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-md { + transition: none; + } +} +@media (min-width: 768px) { + .navbar-vertical.navbar-expand-md.navbar-right { + right: auto; + left: 0; + } + .navbar-vertical.navbar-expand-md .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-md .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-md .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-md .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-md > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: flex-start; + padding: 0; + } + .navbar-vertical.navbar-expand-md ~ .page { + padding-right: 15rem; + } + .navbar-vertical.navbar-expand-md ~ .page [class^=container] { + padding-right: 1.5rem; + padding-left: 1.5rem; + } + .navbar-vertical.navbar-expand-md.navbar-right ~ .page { + padding-right: 0; + padding-left: 15rem; + } + .navbar-vertical.navbar-expand-md .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-md .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav { + margin-right: 0; + margin-left: 0; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-toggle:after { + margin-right: auto; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-right-width: 3px; + left: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 992px) { + .navbar-vertical.navbar-expand-lg { + width: 15rem; + position: fixed; + top: 0; + right: 0; + bottom: 0; + z-index: 1030; + align-items: flex-start; + transition: transform 0.3s; + overflow-y: scroll; + padding: 0; + } +} +@media (min-width: 992px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-lg { + transition: none; + } +} +@media (min-width: 992px) { + .navbar-vertical.navbar-expand-lg.navbar-right { + right: auto; + left: 0; + } + .navbar-vertical.navbar-expand-lg .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-lg .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-lg .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-lg > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: flex-start; + padding: 0; + } + .navbar-vertical.navbar-expand-lg ~ .page { + padding-right: 15rem; + } + .navbar-vertical.navbar-expand-lg ~ .page [class^=container] { + padding-right: 1.5rem; + padding-left: 1.5rem; + } + .navbar-vertical.navbar-expand-lg.navbar-right ~ .page { + padding-right: 0; + padding-left: 15rem; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav { + margin-right: 0; + margin-left: 0; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-toggle:after { + margin-right: auto; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-right-width: 3px; + left: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 1200px) { + .navbar-vertical.navbar-expand-xl { + width: 15rem; + position: fixed; + top: 0; + right: 0; + bottom: 0; + z-index: 1030; + align-items: flex-start; + transition: transform 0.3s; + overflow-y: scroll; + padding: 0; + } +} +@media (min-width: 1200px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-xl { + transition: none; + } +} +@media (min-width: 1200px) { + .navbar-vertical.navbar-expand-xl.navbar-right { + right: auto; + left: 0; + } + .navbar-vertical.navbar-expand-xl .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-xl .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-xl .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-xl > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: flex-start; + padding: 0; + } + .navbar-vertical.navbar-expand-xl ~ .page { + padding-right: 15rem; + } + .navbar-vertical.navbar-expand-xl ~ .page [class^=container] { + padding-right: 1.5rem; + padding-left: 1.5rem; + } + .navbar-vertical.navbar-expand-xl.navbar-right ~ .page { + padding-right: 0; + padding-left: 15rem; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav { + margin-right: 0; + margin-left: 0; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-toggle:after { + margin-right: auto; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-right-width: 3px; + left: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 1400px) { + .navbar-vertical.navbar-expand-xxl { + width: 15rem; + position: fixed; + top: 0; + right: 0; + bottom: 0; + z-index: 1030; + align-items: flex-start; + transition: transform 0.3s; + overflow-y: scroll; + padding: 0; + } +} +@media (min-width: 1400px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-xxl { + transition: none; + } +} +@media (min-width: 1400px) { + .navbar-vertical.navbar-expand-xxl.navbar-right { + right: auto; + left: 0; + } + .navbar-vertical.navbar-expand-xxl .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-xxl .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-xxl .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-xxl > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: flex-start; + padding: 0; + } + .navbar-vertical.navbar-expand-xxl ~ .page { + padding-right: 15rem; + } + .navbar-vertical.navbar-expand-xxl ~ .page [class^=container] { + padding-right: 1.5rem; + padding-left: 1.5rem; + } + .navbar-vertical.navbar-expand-xxl.navbar-right ~ .page { + padding-right: 0; + padding-left: 15rem; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav { + margin-right: 0; + margin-left: 0; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after { + margin-right: auto; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-right-width: 3px; + left: auto; + top: 0; + bottom: 0; + } +} +.navbar-vertical.navbar-expand { + width: 15rem; + position: fixed; + top: 0; + right: 0; + bottom: 0; + z-index: 1030; + align-items: flex-start; + transition: transform 0.3s; + overflow-y: scroll; + padding: 0; +} +@media (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand { + transition: none; + } +} +.navbar-vertical.navbar-expand.navbar-right { + right: auto; + left: 0; +} +.navbar-vertical.navbar-expand .navbar-brand { + padding: 0.75rem 0; + justify-content: center; +} +.navbar-vertical.navbar-expand .navbar-collapse { + align-items: stretch; +} +.navbar-vertical.navbar-expand .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; +} +.navbar-vertical.navbar-expand .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.navbar-vertical.navbar-expand > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: flex-start; + padding: 0; +} +.navbar-vertical.navbar-expand ~ .page { + padding-right: 15rem; +} +.navbar-vertical.navbar-expand ~ .page [class^=container] { + padding-right: 1.5rem; + padding-left: 1.5rem; +} +.navbar-vertical.navbar-expand.navbar-right ~ .page { + padding-right: 0; + padding-left: 15rem; +} +.navbar-vertical.navbar-expand .navbar-collapse { + flex-direction: column; +} +.navbar-vertical.navbar-expand .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; +} +.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav { + margin-right: 0; + margin-left: 0; +} +.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: flex-start; +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu-columns { + flex-direction: column; +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-right: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-toggle:after { + margin-right: auto; +} +.navbar-vertical.navbar-expand .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-right-width: 3px; + left: auto; + top: 0; + bottom: 0; +} + +.navbar-overlap:after { + content: ""; + height: 9rem; + position: absolute; + top: 100%; + right: 0; + left: 0; + background: inherit; + z-index: -1; + box-shadow: inherit; +} + +.page { + display: flex; + flex-direction: column; + position: relative; + min-height: 100%; +} + +.page-center .container { + margin-top: auto; + margin-bottom: auto; +} + +.page-wrapper { + flex: 1; + display: flex; + flex-direction: column; +} +@media print { + .page-wrapper { + margin: 0 !important; + } +} + +.page-wrapper-full .page-body:first-child { + margin: 0; + border-top: 0; +} + +.page-body { + margin-top: var(--tblr-page-padding-y); + margin-bottom: var(--tblr-page-padding-y); +} + +.page-body-card { + background: var(--tblr-bg-surface); + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + padding: var(--tblr-page-padding) 0; + margin-bottom: 0; + flex: 1; +} +.page-body ~ .page-body-card { + margin-top: 0; +} + +.page-cover { + background: no-repeat center/cover; + min-height: 9rem; +} +@media (min-width: 768px) { + .page-cover { + min-height: 12rem; + } +} +@media (min-width: 992px) { + .page-cover { + min-height: 15rem; + } +} + +.page-cover-overlay { + position: relative; +} +.page-cover-overlay:after { + content: ""; + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + background-image: linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%); +} + +.page-header { + display: flex; + flex-wrap: wrap; + min-height: 2.25rem; + flex-direction: column; + justify-content: center; +} +.page-wrapper .page-header { + margin: var(--tblr-page-padding-y) 0 0; +} + +.page-header-border { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + padding: var(--tblr-page-padding-y) 0; + margin: 0 !important; + background-color: var(--tblr-bg-surface); +} + +.page-pretitle { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); +} + +.page-title { + margin: 0; + font-size: 1.25rem; + line-height: 1.75rem; + font-weight: var(--tblr-font-weight-bold); + color: inherit; + display: flex; + align-items: center; +} +.page-title svg { + width: 1.5rem; + height: 1.5rem; + margin-left: 0.25rem; +} + +.page-title-lg { + font-size: 1.5rem; + line-height: 2rem; +} + +.page-subtitle { + margin-top: 0.25rem; + color: var(--tblr-muted); +} + +.page-cover { + --tblr-page-cover-blur: 20px; + --tblr-page-cover-padding: 1rem; + min-height: 6rem; + padding: var(--tblr-page-cover-padding) 0; + position: relative; + overflow: hidden; +} + +.page-cover-img { + position: absolute; + top: calc(-2 * var(--tblr-page-cover-blur, 0)); + right: calc(-2 * var(--tblr-page-cover-blur, 0)); + left: calc(-2 * var(--tblr-page-cover-blur, 0)); + bottom: calc(-2 * var(--tblr-page-cover-blur, 0)); + pointer-events: none; + filter: blur(var(--tblr-page-cover-blur)); + -o-object-fit: cover; + object-fit: cover; + background-size: cover; + background-position: center; + z-index: -1; +} + +.page-tabs { + margin-top: 0.5rem; + position: relative; +} + +.page-header-tabs .nav-bordered { + border: 0; +} +.page-header-tabs + .page-body-card { + margin-top: 0; +} + +.footer { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + background-color: #ffffff; + padding: 2rem 0; + color: var(--tblr-muted); + margin-top: auto; +} + +.footer-transparent { + background-color: transparent; + border-top: 0; +} + +body:not(.theme-dark):not([data-bs-theme=dark]) .hide-theme-light { + display: none !important; +} +body.theme-dark .hide-theme-dark, body[data-bs-theme=dark] .hide-theme-dark { + display: none !important; +} + +[data-bs-theme=dark] { + --tblr-body-color: #fcfdfe; + --tblr-body-color-rgb: 252, 253, 254; + --tblr-muted: #3a4859; + --tblr-body-bg: #151f2c; + --tblr-body-bg-rgb: 21, 31, 44; + --tblr-emphasis-color: #ffffff; + --tblr-emphasis-color-rgb: 255, 255, 255; + --tblr-bg-forms: #151f2c; + --tblr-bg-surface: #182433; + --tblr-bg-surface-dark: #151f2c; + --tblr-bg-surface-secondary: #1b293a; + --tblr-bg-surface-tertiary: #151f2c; + --tblr-link-color: #307fdd; + --tblr-link-hover-color: #206bc4; + --tblr-active-bg: #1b293a; + --tblr-disabled-color: var(--tblr-gray-700); + --tblr-border-color: var(--tblr-dark-mode-border-color); + --tblr-border-color-translucent: var( + --tblr-dark-mode-border-color-translucent + ); + --tblr-border-dark-color: var(--tblr-dark-mode-border-dark-color); + --tblr-border-color-active: var( + --tblr-dark-mode-border-color-active + ); + --tblr-btn-color: #151f2c; + --tblr-code-color: var(--tblr-body-color); + --tblr-code-bg: #1f2e41; + --tblr-primary-lt: #192b42; + --tblr-primary-lt-rgb: 25, 43, 66; + --tblr-secondary-lt: #202c3b; + --tblr-secondary-lt-rgb: 32, 44, 59; + --tblr-success-lt: #1a3235; + --tblr-success-lt-rgb: 26, 50, 53; + --tblr-info-lt: #1c3044; + --tblr-info-lt-rgb: 28, 48, 68; + --tblr-warning-lt: #2e2b2f; + --tblr-warning-lt-rgb: 46, 43, 47; + --tblr-danger-lt: #2b2634; + --tblr-danger-lt-rgb: 43, 38, 52; + --tblr-light-lt: #2f3a47; + --tblr-light-lt-rgb: 47, 58, 71; + --tblr-dark-lt: #182433; + --tblr-dark-lt-rgb: 24, 36, 51; + --tblr-muted-lt: #202c3b; + --tblr-muted-lt-rgb: 32, 44, 59; + --tblr-blue-lt: #192b42; + --tblr-blue-lt-rgb: 25, 43, 66; + --tblr-azure-lt: #1c3044; + --tblr-azure-lt-rgb: 28, 48, 68; + --tblr-indigo-lt: #1c2a45; + --tblr-indigo-lt-rgb: 28, 42, 69; + --tblr-purple-lt: #272742; + --tblr-purple-lt-rgb: 39, 39, 66; + --tblr-pink-lt: #2b2639; + --tblr-pink-lt-rgb: 43, 38, 57; + --tblr-red-lt: #2b2634; + --tblr-red-lt-rgb: 43, 38, 52; + --tblr-orange-lt: #2e2b2f; + --tblr-orange-lt-rgb: 46, 43, 47; + --tblr-yellow-lt: #2e302e; + --tblr-yellow-lt-rgb: 46, 48, 46; + --tblr-lime-lt: #213330; + --tblr-lime-lt-rgb: 33, 51, 48; + --tblr-green-lt: #1a3235; + --tblr-green-lt-rgb: 26, 50, 53; + --tblr-teal-lt: #17313a; + --tblr-teal-lt-rgb: 23, 49, 58; + --tblr-cyan-lt: #183140; + --tblr-cyan-lt-rgb: 24, 49, 64; + --tblr-facebook-lt: #182c46; + --tblr-facebook-lt-rgb: 24, 44, 70; + --tblr-twitter-lt: #193146; + --tblr-twitter-lt-rgb: 25, 49, 70; + --tblr-linkedin-lt: #172b41; + --tblr-linkedin-lt-rgb: 23, 43, 65; + --tblr-google-lt: #2c2834; + --tblr-google-lt-rgb: 44, 40, 52; + --tblr-youtube-lt: #2f202e; + --tblr-youtube-lt-rgb: 47, 32, 46; + --tblr-vimeo-lt: #183345; + --tblr-vimeo-lt-rgb: 24, 51, 69; + --tblr-dribbble-lt: #2d283c; + --tblr-dribbble-lt-rgb: 45, 40, 60; + --tblr-github-lt: #182330; + --tblr-github-lt-rgb: 24, 35, 48; + --tblr-instagram-lt: #2c2737; + --tblr-instagram-lt-rgb: 44, 39, 55; + --tblr-pinterest-lt: #292131; + --tblr-pinterest-lt-rgb: 41, 33, 49; + --tblr-vk-lt: #202e3f; + --tblr-vk-lt-rgb: 32, 46, 63; + --tblr-rss-lt: #2f312e; + --tblr-rss-lt-rgb: 47, 49, 46; + --tblr-flickr-lt: #162a44; + --tblr-flickr-lt-rgb: 22, 42, 68; + --tblr-bitbucket-lt: #162942; + --tblr-bitbucket-lt-rgb: 22, 41, 66; + --tblr-tabler-lt: #192b42; + --tblr-tabler-lt-rgb: 25, 43, 66; +} +[data-bs-theme=dark] .navbar-brand-autodark .navbar-brand-image { + filter: brightness(0) invert(1); +} + +.accordion { + --tblr-accordion-color: var(--tblr-body-color); +} + +.accordion-button:focus:not(:focus-visible) { + outline: none; + box-shadow: none; +} +.accordion-button:after { + opacity: 0.7; +} +.accordion-button:not(.collapsed) { + font-weight: var(--tblr-font-weight-bold); + border-bottom-color: transparent; + box-shadow: none; +} +.accordion-button:not(.collapsed):after { + opacity: 1; +} + +.alert { + --tblr-alert-color: var(--tblr-muted); + background: #ffffff; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + border-right: 0.25rem var(--tblr-border-style) var(--tblr-alert-color); + box-shadow: rgba(24, 36, 51, 0.04) 0 2px 4px 0; +} +.alert > :last-child { + margin-bottom: 0; +} + +.alert-important { + border-color: transparent; + background: var(--tblr-alert-color); + color: #fff; +} +.alert-important .alert-icon, +.alert-important .alert-link { + color: inherit; +} +.alert-important .alert-link:hover { + color: inherit; +} + +.alert-link, .alert-link:hover { + color: var(--tblr-alert-color); +} + +.alert-primary { + --tblr-alert-color: var(--tblr-primary); +} + +.alert-secondary { + --tblr-alert-color: var(--tblr-secondary); +} + +.alert-success { + --tblr-alert-color: var(--tblr-success); +} + +.alert-info { + --tblr-alert-color: var(--tblr-info); +} + +.alert-warning { + --tblr-alert-color: var(--tblr-warning); +} + +.alert-danger { + --tblr-alert-color: var(--tblr-danger); +} + +.alert-light { + --tblr-alert-color: var(--tblr-light); +} + +.alert-dark { + --tblr-alert-color: var(--tblr-dark); +} + +.alert-muted { + --tblr-alert-color: var(--tblr-muted); +} + +.alert-blue { + --tblr-alert-color: var(--tblr-blue); +} + +.alert-azure { + --tblr-alert-color: var(--tblr-azure); +} + +.alert-indigo { + --tblr-alert-color: var(--tblr-indigo); +} + +.alert-purple { + --tblr-alert-color: var(--tblr-purple); +} + +.alert-pink { + --tblr-alert-color: var(--tblr-pink); +} + +.alert-red { + --tblr-alert-color: var(--tblr-red); +} + +.alert-orange { + --tblr-alert-color: var(--tblr-orange); +} + +.alert-yellow { + --tblr-alert-color: var(--tblr-yellow); +} + +.alert-lime { + --tblr-alert-color: var(--tblr-lime); +} + +.alert-green { + --tblr-alert-color: var(--tblr-green); +} + +.alert-teal { + --tblr-alert-color: var(--tblr-teal); +} + +.alert-cyan { + --tblr-alert-color: var(--tblr-cyan); +} + +.alert-facebook { + --tblr-alert-color: var(--tblr-facebook); +} + +.alert-twitter { + --tblr-alert-color: var(--tblr-twitter); +} + +.alert-linkedin { + --tblr-alert-color: var(--tblr-linkedin); +} + +.alert-google { + --tblr-alert-color: var(--tblr-google); +} + +.alert-youtube { + --tblr-alert-color: var(--tblr-youtube); +} + +.alert-vimeo { + --tblr-alert-color: var(--tblr-vimeo); +} + +.alert-dribbble { + --tblr-alert-color: var(--tblr-dribbble); +} + +.alert-github { + --tblr-alert-color: var(--tblr-github); +} + +.alert-instagram { + --tblr-alert-color: var(--tblr-instagram); +} + +.alert-pinterest { + --tblr-alert-color: var(--tblr-pinterest); +} + +.alert-vk { + --tblr-alert-color: var(--tblr-vk); +} + +.alert-rss { + --tblr-alert-color: var(--tblr-rss); +} + +.alert-flickr { + --tblr-alert-color: var(--tblr-flickr); +} + +.alert-bitbucket { + --tblr-alert-color: var(--tblr-bitbucket); +} + +.alert-tabler { + --tblr-alert-color: var(--tblr-tabler); +} + +.alert-icon { + color: var(--tblr-alert-color); + width: 1.5rem !important; + height: 1.5rem !important; + margin: -0.125rem 0 -0.125rem 1rem; +} + +.alert-title { + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: var(--tblr-font-weight-bold); + margin-bottom: 0.25rem; + color: var(--tblr-alert-color); +} + +.avatar { + --tblr-avatar-size: 2.5rem; + --tblr-avatar-bg: var(--tblr-bg-surface-secondary); + --tblr-avatar-shadow: inset var(--tblr-border-color-translucent) 0 0 0 1px; + position: relative; + width: var(--tblr-avatar-size); + height: var(--tblr-avatar-size); + font-size: calc(var(--tblr-avatar-size) / 2.8571428572); + font-weight: var(--tblr-font-weight-medium); + display: inline-flex; + align-items: center; + justify-content: center; + color: var(--tblr-muted); + text-align: center; + text-transform: uppercase; + vertical-align: bottom; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background: var(--tblr-avatar-bg) no-repeat center/cover; + border-radius: var(--tblr-border-radius); + box-shadow: var(--tblr-avatar-shadow); +} +.avatar svg { + width: calc(var(--tblr-avatar-size) / 1.6666666667); + height: calc(var(--tblr-avatar-size) / 1.6666666667); +} +.avatar .badge { + position: absolute; + left: 0; + bottom: 0; + border-radius: 100rem; + box-shadow: 0 0 0 2px var(--tblr-bg-surface); +} +a.avatar { + cursor: pointer; +} + +.avatar-rounded { + border-radius: 100rem; +} + +.avatar-xs { + --tblr-avatar-size: 1.5rem; +} + +.avatar-xs .badge:empty { + width: 0.375rem; + height: 0.375rem; +} + +.avatar-sm { + --tblr-avatar-size: 2rem; +} + +.avatar-sm .badge:empty { + width: 0.5rem; + height: 0.5rem; +} + +.avatar-md { + --tblr-avatar-size: 4rem; +} + +.avatar-md .badge:empty { + width: 1rem; + height: 1rem; +} + +.avatar-lg { + --tblr-avatar-size: 5.5rem; +} + +.avatar-lg .badge:empty { + width: 1.375rem; + height: 1.375rem; +} + +.avatar-xl { + --tblr-avatar-size: 7rem; +} + +.avatar-xl .badge:empty { + width: 1.75rem; + height: 1.75rem; +} + +.avatar-2xl { + --tblr-avatar-size: 11rem; +} + +.avatar-2xl .badge:empty { + width: 2.75rem; + height: 2.75rem; +} + +.avatar-list { + --tblr-list-gap: 0.5rem; + display: flex; + flex-wrap: wrap; + gap: var(--tblr-list-gap); +} +.avatar-list a.avatar:hover { + z-index: 1; +} + +.avatar-list-stacked { + display: block; + --tblr-list-gap: 0; +} +.avatar-list-stacked .avatar { + margin-left: calc(-0.5 * var(--tblr-avatar-size)) !important; + box-shadow: var(--tblr-avatar-shadow), 0 0 0 2px var(--tblr-card-cap-bg, var(--tblr-card-bg, var(--tblr-bg-surface))); +} + +.avatar-upload { + width: 4rem; + height: 4rem; + border: var(--tblr-border-width) dashed var(--tblr-border-color); + background: var(--tblr-bg-forms); + flex-direction: column; + transition: color 0.3s, background-color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .avatar-upload { + transition: none; + } +} +.avatar-upload svg { + width: 1.5rem; + height: 1.5rem; + stroke-width: 1; +} +.avatar-upload:hover { + border-color: var(--tblr-primary); + color: var(--tblr-primary); + text-decoration: none; +} + +.avatar-upload-text { + font-size: 0.625rem; + line-height: 1; + margin-top: 0.25rem; +} + +.avatar-cover { + margin-top: calc(-0.5 * var(--tblr-avatar-size)); + box-shadow: 0 0 0 0.25rem var(--tblr-card-bg, var(--tblr-body-bg)); +} + +.badge { + justify-content: center; + align-items: center; + background: #929dab; + overflow: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: var(--tblr-border-width) var(--tblr-border-style) transparent; + min-width: 1.35714285em; + font-weight: var(--tblr-font-weight-bold); + letter-spacing: 0.04em; + vertical-align: bottom; +} +a.badge { + color: var(--tblr-bg-surface); +} + +.badge:empty { + display: inline-block; + width: 0.5rem; + height: 0.5rem; + min-width: 0; + min-height: auto; + padding: 0; + border-radius: 100rem; + vertical-align: baseline; +} +.badge .avatar { + box-sizing: content-box; + width: 1.25rem; + height: 1.25rem; + margin: 0 -0.5rem 0 0.5rem; +} +.badge .icon { + width: 1em; + height: 1em; + font-size: 1rem; + stroke-width: 2; +} + +.badge-outline { + background-color: transparent; + border: var(--tblr-border-width) var(--tblr-border-style) currentColor; +} + +.badge-pill { + border-radius: 100rem; +} + +.badges-list { + --tblr-list-gap: 0.5rem; + display: flex; + flex-wrap: wrap; + gap: var(--tblr-list-gap); +} + +.badge-notification { + position: absolute !important; + top: 0 !important; + left: 0 !important; + transform: translate(-50%, -50%); + z-index: 1; +} + +.badge-blink { + animation: blink 2s infinite; +} + +.breadcrumb { + --tblr-breadcrumb-item-active-font-weight: var(--tblr-font-weight-bold); + --tblr-breadcrumb-item-disabled-color: var(--tblr-disabled-color); + --tblr-breadcrumb-link-color: var(--tblr-link-color); + padding: 0; + margin: 0; + background: transparent; +} +.breadcrumb a { + color: var(--tblr-breadcrumb-link-color); +} +.breadcrumb a:hover { + text-decoration: underline; +} + +.breadcrumb-muted { + --tblr-breadcrumb-link-color: var(--tblr-muted); +} + +.breadcrumb-item.active { + font-weight: var(--tblr-breadcrumb-item-active-font-weight); +} +.breadcrumb-item.active a { + color: inherit; + pointer-events: none; +} +.breadcrumb-item.disabled { + color: var(--tblr-breadcrumb-item-disabled-color); +} +.breadcrumb-item.disabled:before { + color: inherit; +} +.breadcrumb-item.disabled a { + color: inherit; + pointer-events: none; +} + +.breadcrumb-dots { + --tblr-breadcrumb-divider: "·"; +} + +.breadcrumb-arrows { + --tblr-breadcrumb-divider: "›"; +} + +.breadcrumb-bullets { + --tblr-breadcrumb-divider: "•"; +} + +.btn { + --tblr-btn-bg: var(--tblr-bg-surface); + --tblr-btn-hover-bg: var(--tblr-bg-surface); + --tblr-btn-icon-size: 1.25rem; + --tblr-btn-bg: var(--tblr-bg-surface); + --tblr-btn-color: var(--tblr-body-color); + --tblr-btn-border-color: var(--tblr-border-color); + --tblr-btn-hover-bg: var(--tblr-btn-bg); + --tblr-btn-hover-border-color: var(--tblr-border-color-active); + --tblr-btn-box-shadow: var(--tblr-shadow-button); + --tblr-btn-active-color: var(--tblr-primary); + --tblr-btn-active-bg: rgba(var(--tblr-primary-rgb), 0.04); + --tblr-btn-active-border-color: var(--tblr-primary); + display: inline-flex; + align-items: center; + justify-content: center; + white-space: nowrap; + box-shadow: var(--tblr-btn-box-shadow); +} +.btn .icon { + width: var(--tblr-btn-icon-size); + height: var(--tblr-btn-icon-size); + min-width: var(--tblr-btn-icon-size); + margin: 0 calc(var(--tblr-btn-padding-x) / -4) 0 calc(var(--tblr-btn-padding-x) / 2); + vertical-align: bottom; + color: inherit; +} +.btn .avatar { + width: var(--tblr-btn-icon-size); + height: var(--tblr-btn-icon-size); + margin: 0 calc(var(--tblr-btn-padding-x) / -4) 0 calc(var(--tblr-btn-padding-x) / 2); +} +.btn .icon-right { + margin: 0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4); +} +.btn .badge { + top: auto; +} +.btn-check + .btn:hover { + color: var(--tblr-btn-hover-color); + background-color: var(--tblr-btn-hover-bg); + border-color: var(--tblr-btn-hover-border-color); +} + +.btn-link { + color: #206bc4; + background-color: transparent; + border-color: transparent; + box-shadow: none; +} +.btn-link .icon { + color: inherit; +} +.btn-link:hover { + color: #1a569d; + border-color: transparent; +} + +.btn-primary { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-primary-fg); + --tblr-btn-bg: var(--tblr-primary); + --tblr-btn-hover-color: var(--tblr-primary-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-primary-rgb), .8); + --tblr-btn-active-color: var(--tblr-primary-fg); + --tblr-btn-active-bg: rgba(var(--tblr-primary-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-primary); + --tblr-btn-disabled-color: var(--tblr-primary-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-primary { + --tblr-btn-color: var(--tblr-primary); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-primary); + --tblr-btn-hover-color: var(--tblr-primary-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-primary); + --tblr-btn-active-color: var(--tblr-primary-fg); + --tblr-btn-active-bg: var(--tblr-primary); + --tblr-btn-disabled-color: var(--tblr-primary); + --tblr-btn-disabled-border-color: var(--tblr-primary); +} + +.btn-secondary { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-secondary-fg); + --tblr-btn-bg: var(--tblr-secondary); + --tblr-btn-hover-color: var(--tblr-secondary-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-secondary-rgb), .8); + --tblr-btn-active-color: var(--tblr-secondary-fg); + --tblr-btn-active-bg: rgba(var(--tblr-secondary-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-secondary); + --tblr-btn-disabled-color: var(--tblr-secondary-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-secondary { + --tblr-btn-color: var(--tblr-secondary); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-secondary); + --tblr-btn-hover-color: var(--tblr-secondary-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-secondary); + --tblr-btn-active-color: var(--tblr-secondary-fg); + --tblr-btn-active-bg: var(--tblr-secondary); + --tblr-btn-disabled-color: var(--tblr-secondary); + --tblr-btn-disabled-border-color: var(--tblr-secondary); +} + +.btn-success { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-success-fg); + --tblr-btn-bg: var(--tblr-success); + --tblr-btn-hover-color: var(--tblr-success-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-success-rgb), .8); + --tblr-btn-active-color: var(--tblr-success-fg); + --tblr-btn-active-bg: rgba(var(--tblr-success-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-success); + --tblr-btn-disabled-color: var(--tblr-success-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-success { + --tblr-btn-color: var(--tblr-success); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-success); + --tblr-btn-hover-color: var(--tblr-success-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-success); + --tblr-btn-active-color: var(--tblr-success-fg); + --tblr-btn-active-bg: var(--tblr-success); + --tblr-btn-disabled-color: var(--tblr-success); + --tblr-btn-disabled-border-color: var(--tblr-success); +} + +.btn-info { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-info-fg); + --tblr-btn-bg: var(--tblr-info); + --tblr-btn-hover-color: var(--tblr-info-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-info-rgb), .8); + --tblr-btn-active-color: var(--tblr-info-fg); + --tblr-btn-active-bg: rgba(var(--tblr-info-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-info); + --tblr-btn-disabled-color: var(--tblr-info-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-info { + --tblr-btn-color: var(--tblr-info); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-info); + --tblr-btn-hover-color: var(--tblr-info-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-info); + --tblr-btn-active-color: var(--tblr-info-fg); + --tblr-btn-active-bg: var(--tblr-info); + --tblr-btn-disabled-color: var(--tblr-info); + --tblr-btn-disabled-border-color: var(--tblr-info); +} + +.btn-warning { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-warning-fg); + --tblr-btn-bg: var(--tblr-warning); + --tblr-btn-hover-color: var(--tblr-warning-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-warning-rgb), .8); + --tblr-btn-active-color: var(--tblr-warning-fg); + --tblr-btn-active-bg: rgba(var(--tblr-warning-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-warning); + --tblr-btn-disabled-color: var(--tblr-warning-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-warning { + --tblr-btn-color: var(--tblr-warning); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-warning); + --tblr-btn-hover-color: var(--tblr-warning-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-warning); + --tblr-btn-active-color: var(--tblr-warning-fg); + --tblr-btn-active-bg: var(--tblr-warning); + --tblr-btn-disabled-color: var(--tblr-warning); + --tblr-btn-disabled-border-color: var(--tblr-warning); +} + +.btn-danger { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-danger-fg); + --tblr-btn-bg: var(--tblr-danger); + --tblr-btn-hover-color: var(--tblr-danger-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-danger-rgb), .8); + --tblr-btn-active-color: var(--tblr-danger-fg); + --tblr-btn-active-bg: rgba(var(--tblr-danger-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-danger); + --tblr-btn-disabled-color: var(--tblr-danger-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-danger { + --tblr-btn-color: var(--tblr-danger); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-danger); + --tblr-btn-hover-color: var(--tblr-danger-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-danger); + --tblr-btn-active-color: var(--tblr-danger-fg); + --tblr-btn-active-bg: var(--tblr-danger); + --tblr-btn-disabled-color: var(--tblr-danger); + --tblr-btn-disabled-border-color: var(--tblr-danger); +} + +.btn-light { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-light-fg); + --tblr-btn-bg: var(--tblr-light); + --tblr-btn-hover-color: var(--tblr-light-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-light-rgb), .8); + --tblr-btn-active-color: var(--tblr-light-fg); + --tblr-btn-active-bg: rgba(var(--tblr-light-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-light); + --tblr-btn-disabled-color: var(--tblr-light-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-light { + --tblr-btn-color: var(--tblr-light); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-light); + --tblr-btn-hover-color: var(--tblr-light-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-light); + --tblr-btn-active-color: var(--tblr-light-fg); + --tblr-btn-active-bg: var(--tblr-light); + --tblr-btn-disabled-color: var(--tblr-light); + --tblr-btn-disabled-border-color: var(--tblr-light); +} + +.btn-dark { + --tblr-btn-border-color: var(--tblr-dark-mode-border-color); + --tblr-btn-hover-border-color: var(--tblr-dark-mode-border-color-active); + --tblr-btn-active-border-color: var(--tblr-dark-mode-border-color-active); + --tblr-btn-color: var(--tblr-dark-fg); + --tblr-btn-bg: var(--tblr-dark); + --tblr-btn-hover-color: var(--tblr-dark-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-dark-rgb), .8); + --tblr-btn-active-color: var(--tblr-dark-fg); + --tblr-btn-active-bg: rgba(var(--tblr-dark-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-dark); + --tblr-btn-disabled-color: var(--tblr-dark-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-dark { + --tblr-btn-color: var(--tblr-dark); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-dark); + --tblr-btn-hover-color: var(--tblr-dark-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-dark); + --tblr-btn-active-color: var(--tblr-dark-fg); + --tblr-btn-active-bg: var(--tblr-dark); + --tblr-btn-disabled-color: var(--tblr-dark); + --tblr-btn-disabled-border-color: var(--tblr-dark); +} + +.btn-muted { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-muted-fg); + --tblr-btn-bg: var(--tblr-muted); + --tblr-btn-hover-color: var(--tblr-muted-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-muted-rgb), .8); + --tblr-btn-active-color: var(--tblr-muted-fg); + --tblr-btn-active-bg: rgba(var(--tblr-muted-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-muted); + --tblr-btn-disabled-color: var(--tblr-muted-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-muted { + --tblr-btn-color: var(--tblr-muted); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-muted); + --tblr-btn-hover-color: var(--tblr-muted-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-muted); + --tblr-btn-active-color: var(--tblr-muted-fg); + --tblr-btn-active-bg: var(--tblr-muted); + --tblr-btn-disabled-color: var(--tblr-muted); + --tblr-btn-disabled-border-color: var(--tblr-muted); +} + +.btn-blue { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-blue-fg); + --tblr-btn-bg: var(--tblr-blue); + --tblr-btn-hover-color: var(--tblr-blue-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-blue-rgb), .8); + --tblr-btn-active-color: var(--tblr-blue-fg); + --tblr-btn-active-bg: rgba(var(--tblr-blue-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-blue); + --tblr-btn-disabled-color: var(--tblr-blue-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-blue { + --tblr-btn-color: var(--tblr-blue); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-blue); + --tblr-btn-hover-color: var(--tblr-blue-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-blue); + --tblr-btn-active-color: var(--tblr-blue-fg); + --tblr-btn-active-bg: var(--tblr-blue); + --tblr-btn-disabled-color: var(--tblr-blue); + --tblr-btn-disabled-border-color: var(--tblr-blue); +} + +.btn-azure { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-azure-fg); + --tblr-btn-bg: var(--tblr-azure); + --tblr-btn-hover-color: var(--tblr-azure-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-azure-rgb), .8); + --tblr-btn-active-color: var(--tblr-azure-fg); + --tblr-btn-active-bg: rgba(var(--tblr-azure-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-azure); + --tblr-btn-disabled-color: var(--tblr-azure-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-azure { + --tblr-btn-color: var(--tblr-azure); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-azure); + --tblr-btn-hover-color: var(--tblr-azure-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-azure); + --tblr-btn-active-color: var(--tblr-azure-fg); + --tblr-btn-active-bg: var(--tblr-azure); + --tblr-btn-disabled-color: var(--tblr-azure); + --tblr-btn-disabled-border-color: var(--tblr-azure); +} + +.btn-indigo { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-indigo-fg); + --tblr-btn-bg: var(--tblr-indigo); + --tblr-btn-hover-color: var(--tblr-indigo-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-indigo-rgb), .8); + --tblr-btn-active-color: var(--tblr-indigo-fg); + --tblr-btn-active-bg: rgba(var(--tblr-indigo-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-indigo); + --tblr-btn-disabled-color: var(--tblr-indigo-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-indigo { + --tblr-btn-color: var(--tblr-indigo); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-indigo); + --tblr-btn-hover-color: var(--tblr-indigo-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-indigo); + --tblr-btn-active-color: var(--tblr-indigo-fg); + --tblr-btn-active-bg: var(--tblr-indigo); + --tblr-btn-disabled-color: var(--tblr-indigo); + --tblr-btn-disabled-border-color: var(--tblr-indigo); +} + +.btn-purple { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-purple-fg); + --tblr-btn-bg: var(--tblr-purple); + --tblr-btn-hover-color: var(--tblr-purple-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-purple-rgb), .8); + --tblr-btn-active-color: var(--tblr-purple-fg); + --tblr-btn-active-bg: rgba(var(--tblr-purple-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-purple); + --tblr-btn-disabled-color: var(--tblr-purple-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-purple { + --tblr-btn-color: var(--tblr-purple); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-purple); + --tblr-btn-hover-color: var(--tblr-purple-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-purple); + --tblr-btn-active-color: var(--tblr-purple-fg); + --tblr-btn-active-bg: var(--tblr-purple); + --tblr-btn-disabled-color: var(--tblr-purple); + --tblr-btn-disabled-border-color: var(--tblr-purple); +} + +.btn-pink { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-pink-fg); + --tblr-btn-bg: var(--tblr-pink); + --tblr-btn-hover-color: var(--tblr-pink-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-pink-rgb), .8); + --tblr-btn-active-color: var(--tblr-pink-fg); + --tblr-btn-active-bg: rgba(var(--tblr-pink-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-pink); + --tblr-btn-disabled-color: var(--tblr-pink-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-pink { + --tblr-btn-color: var(--tblr-pink); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-pink); + --tblr-btn-hover-color: var(--tblr-pink-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-pink); + --tblr-btn-active-color: var(--tblr-pink-fg); + --tblr-btn-active-bg: var(--tblr-pink); + --tblr-btn-disabled-color: var(--tblr-pink); + --tblr-btn-disabled-border-color: var(--tblr-pink); +} + +.btn-red { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-red-fg); + --tblr-btn-bg: var(--tblr-red); + --tblr-btn-hover-color: var(--tblr-red-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-red-rgb), .8); + --tblr-btn-active-color: var(--tblr-red-fg); + --tblr-btn-active-bg: rgba(var(--tblr-red-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-red); + --tblr-btn-disabled-color: var(--tblr-red-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-red { + --tblr-btn-color: var(--tblr-red); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-red); + --tblr-btn-hover-color: var(--tblr-red-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-red); + --tblr-btn-active-color: var(--tblr-red-fg); + --tblr-btn-active-bg: var(--tblr-red); + --tblr-btn-disabled-color: var(--tblr-red); + --tblr-btn-disabled-border-color: var(--tblr-red); +} + +.btn-orange { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-orange-fg); + --tblr-btn-bg: var(--tblr-orange); + --tblr-btn-hover-color: var(--tblr-orange-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-orange-rgb), .8); + --tblr-btn-active-color: var(--tblr-orange-fg); + --tblr-btn-active-bg: rgba(var(--tblr-orange-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-orange); + --tblr-btn-disabled-color: var(--tblr-orange-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-orange { + --tblr-btn-color: var(--tblr-orange); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-orange); + --tblr-btn-hover-color: var(--tblr-orange-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-orange); + --tblr-btn-active-color: var(--tblr-orange-fg); + --tblr-btn-active-bg: var(--tblr-orange); + --tblr-btn-disabled-color: var(--tblr-orange); + --tblr-btn-disabled-border-color: var(--tblr-orange); +} + +.btn-yellow { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-yellow-fg); + --tblr-btn-bg: var(--tblr-yellow); + --tblr-btn-hover-color: var(--tblr-yellow-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-yellow-rgb), .8); + --tblr-btn-active-color: var(--tblr-yellow-fg); + --tblr-btn-active-bg: rgba(var(--tblr-yellow-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-yellow); + --tblr-btn-disabled-color: var(--tblr-yellow-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-yellow { + --tblr-btn-color: var(--tblr-yellow); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-yellow); + --tblr-btn-hover-color: var(--tblr-yellow-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-yellow); + --tblr-btn-active-color: var(--tblr-yellow-fg); + --tblr-btn-active-bg: var(--tblr-yellow); + --tblr-btn-disabled-color: var(--tblr-yellow); + --tblr-btn-disabled-border-color: var(--tblr-yellow); +} + +.btn-lime { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-lime-fg); + --tblr-btn-bg: var(--tblr-lime); + --tblr-btn-hover-color: var(--tblr-lime-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-lime-rgb), .8); + --tblr-btn-active-color: var(--tblr-lime-fg); + --tblr-btn-active-bg: rgba(var(--tblr-lime-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-lime); + --tblr-btn-disabled-color: var(--tblr-lime-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-lime { + --tblr-btn-color: var(--tblr-lime); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-lime); + --tblr-btn-hover-color: var(--tblr-lime-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-lime); + --tblr-btn-active-color: var(--tblr-lime-fg); + --tblr-btn-active-bg: var(--tblr-lime); + --tblr-btn-disabled-color: var(--tblr-lime); + --tblr-btn-disabled-border-color: var(--tblr-lime); +} + +.btn-green { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-green-fg); + --tblr-btn-bg: var(--tblr-green); + --tblr-btn-hover-color: var(--tblr-green-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-green-rgb), .8); + --tblr-btn-active-color: var(--tblr-green-fg); + --tblr-btn-active-bg: rgba(var(--tblr-green-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-green); + --tblr-btn-disabled-color: var(--tblr-green-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-green { + --tblr-btn-color: var(--tblr-green); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-green); + --tblr-btn-hover-color: var(--tblr-green-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-green); + --tblr-btn-active-color: var(--tblr-green-fg); + --tblr-btn-active-bg: var(--tblr-green); + --tblr-btn-disabled-color: var(--tblr-green); + --tblr-btn-disabled-border-color: var(--tblr-green); +} + +.btn-teal { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-teal-fg); + --tblr-btn-bg: var(--tblr-teal); + --tblr-btn-hover-color: var(--tblr-teal-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-teal-rgb), .8); + --tblr-btn-active-color: var(--tblr-teal-fg); + --tblr-btn-active-bg: rgba(var(--tblr-teal-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-teal); + --tblr-btn-disabled-color: var(--tblr-teal-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-teal { + --tblr-btn-color: var(--tblr-teal); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-teal); + --tblr-btn-hover-color: var(--tblr-teal-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-teal); + --tblr-btn-active-color: var(--tblr-teal-fg); + --tblr-btn-active-bg: var(--tblr-teal); + --tblr-btn-disabled-color: var(--tblr-teal); + --tblr-btn-disabled-border-color: var(--tblr-teal); +} + +.btn-cyan { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-cyan-fg); + --tblr-btn-bg: var(--tblr-cyan); + --tblr-btn-hover-color: var(--tblr-cyan-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-cyan-rgb), .8); + --tblr-btn-active-color: var(--tblr-cyan-fg); + --tblr-btn-active-bg: rgba(var(--tblr-cyan-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-cyan); + --tblr-btn-disabled-color: var(--tblr-cyan-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-cyan { + --tblr-btn-color: var(--tblr-cyan); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-cyan); + --tblr-btn-hover-color: var(--tblr-cyan-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-cyan); + --tblr-btn-active-color: var(--tblr-cyan-fg); + --tblr-btn-active-bg: var(--tblr-cyan); + --tblr-btn-disabled-color: var(--tblr-cyan); + --tblr-btn-disabled-border-color: var(--tblr-cyan); +} + +.btn-facebook { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-facebook-fg); + --tblr-btn-bg: var(--tblr-facebook); + --tblr-btn-hover-color: var(--tblr-facebook-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-facebook-rgb), .8); + --tblr-btn-active-color: var(--tblr-facebook-fg); + --tblr-btn-active-bg: rgba(var(--tblr-facebook-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-facebook); + --tblr-btn-disabled-color: var(--tblr-facebook-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-facebook { + --tblr-btn-color: var(--tblr-facebook); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-facebook); + --tblr-btn-hover-color: var(--tblr-facebook-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-facebook); + --tblr-btn-active-color: var(--tblr-facebook-fg); + --tblr-btn-active-bg: var(--tblr-facebook); + --tblr-btn-disabled-color: var(--tblr-facebook); + --tblr-btn-disabled-border-color: var(--tblr-facebook); +} + +.btn-twitter { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-twitter-fg); + --tblr-btn-bg: var(--tblr-twitter); + --tblr-btn-hover-color: var(--tblr-twitter-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-twitter-rgb), .8); + --tblr-btn-active-color: var(--tblr-twitter-fg); + --tblr-btn-active-bg: rgba(var(--tblr-twitter-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-twitter); + --tblr-btn-disabled-color: var(--tblr-twitter-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-twitter { + --tblr-btn-color: var(--tblr-twitter); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-twitter); + --tblr-btn-hover-color: var(--tblr-twitter-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-twitter); + --tblr-btn-active-color: var(--tblr-twitter-fg); + --tblr-btn-active-bg: var(--tblr-twitter); + --tblr-btn-disabled-color: var(--tblr-twitter); + --tblr-btn-disabled-border-color: var(--tblr-twitter); +} + +.btn-linkedin { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-linkedin-fg); + --tblr-btn-bg: var(--tblr-linkedin); + --tblr-btn-hover-color: var(--tblr-linkedin-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-linkedin-rgb), .8); + --tblr-btn-active-color: var(--tblr-linkedin-fg); + --tblr-btn-active-bg: rgba(var(--tblr-linkedin-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-linkedin); + --tblr-btn-disabled-color: var(--tblr-linkedin-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-linkedin { + --tblr-btn-color: var(--tblr-linkedin); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-linkedin); + --tblr-btn-hover-color: var(--tblr-linkedin-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-linkedin); + --tblr-btn-active-color: var(--tblr-linkedin-fg); + --tblr-btn-active-bg: var(--tblr-linkedin); + --tblr-btn-disabled-color: var(--tblr-linkedin); + --tblr-btn-disabled-border-color: var(--tblr-linkedin); +} + +.btn-google { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-google-fg); + --tblr-btn-bg: var(--tblr-google); + --tblr-btn-hover-color: var(--tblr-google-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-google-rgb), .8); + --tblr-btn-active-color: var(--tblr-google-fg); + --tblr-btn-active-bg: rgba(var(--tblr-google-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-google); + --tblr-btn-disabled-color: var(--tblr-google-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-google { + --tblr-btn-color: var(--tblr-google); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-google); + --tblr-btn-hover-color: var(--tblr-google-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-google); + --tblr-btn-active-color: var(--tblr-google-fg); + --tblr-btn-active-bg: var(--tblr-google); + --tblr-btn-disabled-color: var(--tblr-google); + --tblr-btn-disabled-border-color: var(--tblr-google); +} + +.btn-youtube { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-youtube-fg); + --tblr-btn-bg: var(--tblr-youtube); + --tblr-btn-hover-color: var(--tblr-youtube-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-youtube-rgb), .8); + --tblr-btn-active-color: var(--tblr-youtube-fg); + --tblr-btn-active-bg: rgba(var(--tblr-youtube-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-youtube); + --tblr-btn-disabled-color: var(--tblr-youtube-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-youtube { + --tblr-btn-color: var(--tblr-youtube); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-youtube); + --tblr-btn-hover-color: var(--tblr-youtube-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-youtube); + --tblr-btn-active-color: var(--tblr-youtube-fg); + --tblr-btn-active-bg: var(--tblr-youtube); + --tblr-btn-disabled-color: var(--tblr-youtube); + --tblr-btn-disabled-border-color: var(--tblr-youtube); +} + +.btn-vimeo { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-vimeo-fg); + --tblr-btn-bg: var(--tblr-vimeo); + --tblr-btn-hover-color: var(--tblr-vimeo-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-vimeo-rgb), .8); + --tblr-btn-active-color: var(--tblr-vimeo-fg); + --tblr-btn-active-bg: rgba(var(--tblr-vimeo-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-vimeo); + --tblr-btn-disabled-color: var(--tblr-vimeo-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-vimeo { + --tblr-btn-color: var(--tblr-vimeo); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-vimeo); + --tblr-btn-hover-color: var(--tblr-vimeo-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-vimeo); + --tblr-btn-active-color: var(--tblr-vimeo-fg); + --tblr-btn-active-bg: var(--tblr-vimeo); + --tblr-btn-disabled-color: var(--tblr-vimeo); + --tblr-btn-disabled-border-color: var(--tblr-vimeo); +} + +.btn-dribbble { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-dribbble-fg); + --tblr-btn-bg: var(--tblr-dribbble); + --tblr-btn-hover-color: var(--tblr-dribbble-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-dribbble-rgb), .8); + --tblr-btn-active-color: var(--tblr-dribbble-fg); + --tblr-btn-active-bg: rgba(var(--tblr-dribbble-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-dribbble); + --tblr-btn-disabled-color: var(--tblr-dribbble-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-dribbble { + --tblr-btn-color: var(--tblr-dribbble); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-dribbble); + --tblr-btn-hover-color: var(--tblr-dribbble-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-dribbble); + --tblr-btn-active-color: var(--tblr-dribbble-fg); + --tblr-btn-active-bg: var(--tblr-dribbble); + --tblr-btn-disabled-color: var(--tblr-dribbble); + --tblr-btn-disabled-border-color: var(--tblr-dribbble); +} + +.btn-github { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-github-fg); + --tblr-btn-bg: var(--tblr-github); + --tblr-btn-hover-color: var(--tblr-github-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-github-rgb), .8); + --tblr-btn-active-color: var(--tblr-github-fg); + --tblr-btn-active-bg: rgba(var(--tblr-github-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-github); + --tblr-btn-disabled-color: var(--tblr-github-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-github { + --tblr-btn-color: var(--tblr-github); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-github); + --tblr-btn-hover-color: var(--tblr-github-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-github); + --tblr-btn-active-color: var(--tblr-github-fg); + --tblr-btn-active-bg: var(--tblr-github); + --tblr-btn-disabled-color: var(--tblr-github); + --tblr-btn-disabled-border-color: var(--tblr-github); +} + +.btn-instagram { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-instagram-fg); + --tblr-btn-bg: var(--tblr-instagram); + --tblr-btn-hover-color: var(--tblr-instagram-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-instagram-rgb), .8); + --tblr-btn-active-color: var(--tblr-instagram-fg); + --tblr-btn-active-bg: rgba(var(--tblr-instagram-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-instagram); + --tblr-btn-disabled-color: var(--tblr-instagram-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-instagram { + --tblr-btn-color: var(--tblr-instagram); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-instagram); + --tblr-btn-hover-color: var(--tblr-instagram-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-instagram); + --tblr-btn-active-color: var(--tblr-instagram-fg); + --tblr-btn-active-bg: var(--tblr-instagram); + --tblr-btn-disabled-color: var(--tblr-instagram); + --tblr-btn-disabled-border-color: var(--tblr-instagram); +} + +.btn-pinterest { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-pinterest-fg); + --tblr-btn-bg: var(--tblr-pinterest); + --tblr-btn-hover-color: var(--tblr-pinterest-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-pinterest-rgb), .8); + --tblr-btn-active-color: var(--tblr-pinterest-fg); + --tblr-btn-active-bg: rgba(var(--tblr-pinterest-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-pinterest); + --tblr-btn-disabled-color: var(--tblr-pinterest-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-pinterest { + --tblr-btn-color: var(--tblr-pinterest); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-pinterest); + --tblr-btn-hover-color: var(--tblr-pinterest-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-pinterest); + --tblr-btn-active-color: var(--tblr-pinterest-fg); + --tblr-btn-active-bg: var(--tblr-pinterest); + --tblr-btn-disabled-color: var(--tblr-pinterest); + --tblr-btn-disabled-border-color: var(--tblr-pinterest); +} + +.btn-vk { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-vk-fg); + --tblr-btn-bg: var(--tblr-vk); + --tblr-btn-hover-color: var(--tblr-vk-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-vk-rgb), .8); + --tblr-btn-active-color: var(--tblr-vk-fg); + --tblr-btn-active-bg: rgba(var(--tblr-vk-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-vk); + --tblr-btn-disabled-color: var(--tblr-vk-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-vk { + --tblr-btn-color: var(--tblr-vk); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-vk); + --tblr-btn-hover-color: var(--tblr-vk-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-vk); + --tblr-btn-active-color: var(--tblr-vk-fg); + --tblr-btn-active-bg: var(--tblr-vk); + --tblr-btn-disabled-color: var(--tblr-vk); + --tblr-btn-disabled-border-color: var(--tblr-vk); +} + +.btn-rss { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-rss-fg); + --tblr-btn-bg: var(--tblr-rss); + --tblr-btn-hover-color: var(--tblr-rss-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-rss-rgb), .8); + --tblr-btn-active-color: var(--tblr-rss-fg); + --tblr-btn-active-bg: rgba(var(--tblr-rss-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-rss); + --tblr-btn-disabled-color: var(--tblr-rss-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-rss { + --tblr-btn-color: var(--tblr-rss); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-rss); + --tblr-btn-hover-color: var(--tblr-rss-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-rss); + --tblr-btn-active-color: var(--tblr-rss-fg); + --tblr-btn-active-bg: var(--tblr-rss); + --tblr-btn-disabled-color: var(--tblr-rss); + --tblr-btn-disabled-border-color: var(--tblr-rss); +} + +.btn-flickr { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-flickr-fg); + --tblr-btn-bg: var(--tblr-flickr); + --tblr-btn-hover-color: var(--tblr-flickr-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-flickr-rgb), .8); + --tblr-btn-active-color: var(--tblr-flickr-fg); + --tblr-btn-active-bg: rgba(var(--tblr-flickr-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-flickr); + --tblr-btn-disabled-color: var(--tblr-flickr-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-flickr { + --tblr-btn-color: var(--tblr-flickr); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-flickr); + --tblr-btn-hover-color: var(--tblr-flickr-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-flickr); + --tblr-btn-active-color: var(--tblr-flickr-fg); + --tblr-btn-active-bg: var(--tblr-flickr); + --tblr-btn-disabled-color: var(--tblr-flickr); + --tblr-btn-disabled-border-color: var(--tblr-flickr); +} + +.btn-bitbucket { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-bitbucket-fg); + --tblr-btn-bg: var(--tblr-bitbucket); + --tblr-btn-hover-color: var(--tblr-bitbucket-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-bitbucket-rgb), .8); + --tblr-btn-active-color: var(--tblr-bitbucket-fg); + --tblr-btn-active-bg: rgba(var(--tblr-bitbucket-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-bitbucket); + --tblr-btn-disabled-color: var(--tblr-bitbucket-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-bitbucket { + --tblr-btn-color: var(--tblr-bitbucket); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-bitbucket); + --tblr-btn-hover-color: var(--tblr-bitbucket-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-bitbucket); + --tblr-btn-active-color: var(--tblr-bitbucket-fg); + --tblr-btn-active-bg: var(--tblr-bitbucket); + --tblr-btn-disabled-color: var(--tblr-bitbucket); + --tblr-btn-disabled-border-color: var(--tblr-bitbucket); +} + +.btn-tabler { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-tabler-fg); + --tblr-btn-bg: var(--tblr-tabler); + --tblr-btn-hover-color: var(--tblr-tabler-fg); + --tblr-btn-hover-bg: rgba(var(--tblr-tabler-rgb), .8); + --tblr-btn-active-color: var(--tblr-tabler-fg); + --tblr-btn-active-bg: rgba(var(--tblr-tabler-rgb), .8); + --tblr-btn-disabled-bg: var(--tblr-tabler); + --tblr-btn-disabled-color: var(--tblr-tabler-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); +} + +.btn-outline-tabler { + --tblr-btn-color: var(--tblr-tabler); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-tabler); + --tblr-btn-hover-color: var(--tblr-tabler-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-tabler); + --tblr-btn-active-color: var(--tblr-tabler-fg); + --tblr-btn-active-bg: var(--tblr-tabler); + --tblr-btn-disabled-color: var(--tblr-tabler); + --tblr-btn-disabled-border-color: var(--tblr-tabler); +} + +.btn-ghost-primary { + --tblr-btn-color: var(--tblr-primary); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-primary-fg); + --tblr-btn-hover-bg: var(--tblr-primary); + --tblr-btn-hover-border-color: var(--tblr-primary); + --tblr-btn-active-color: var(--tblr-primary-fg); + --tblr-btn-active-bg: var(--tblr-primary); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-primary); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-secondary { + --tblr-btn-color: var(--tblr-secondary); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-secondary-fg); + --tblr-btn-hover-bg: var(--tblr-secondary); + --tblr-btn-hover-border-color: var(--tblr-secondary); + --tblr-btn-active-color: var(--tblr-secondary-fg); + --tblr-btn-active-bg: var(--tblr-secondary); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-secondary); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-success { + --tblr-btn-color: var(--tblr-success); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-success-fg); + --tblr-btn-hover-bg: var(--tblr-success); + --tblr-btn-hover-border-color: var(--tblr-success); + --tblr-btn-active-color: var(--tblr-success-fg); + --tblr-btn-active-bg: var(--tblr-success); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-success); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-info { + --tblr-btn-color: var(--tblr-info); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-info-fg); + --tblr-btn-hover-bg: var(--tblr-info); + --tblr-btn-hover-border-color: var(--tblr-info); + --tblr-btn-active-color: var(--tblr-info-fg); + --tblr-btn-active-bg: var(--tblr-info); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-info); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-warning { + --tblr-btn-color: var(--tblr-warning); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-warning-fg); + --tblr-btn-hover-bg: var(--tblr-warning); + --tblr-btn-hover-border-color: var(--tblr-warning); + --tblr-btn-active-color: var(--tblr-warning-fg); + --tblr-btn-active-bg: var(--tblr-warning); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-warning); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-danger { + --tblr-btn-color: var(--tblr-danger); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-danger-fg); + --tblr-btn-hover-bg: var(--tblr-danger); + --tblr-btn-hover-border-color: var(--tblr-danger); + --tblr-btn-active-color: var(--tblr-danger-fg); + --tblr-btn-active-bg: var(--tblr-danger); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-danger); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-light { + --tblr-btn-color: var(--tblr-light); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-light-fg); + --tblr-btn-hover-bg: var(--tblr-light); + --tblr-btn-hover-border-color: var(--tblr-light); + --tblr-btn-active-color: var(--tblr-light-fg); + --tblr-btn-active-bg: var(--tblr-light); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-light); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-dark { + --tblr-btn-color: var(--tblr-dark); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-dark-fg); + --tblr-btn-hover-bg: var(--tblr-dark); + --tblr-btn-hover-border-color: var(--tblr-dark); + --tblr-btn-active-color: var(--tblr-dark-fg); + --tblr-btn-active-bg: var(--tblr-dark); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-dark); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-muted { + --tblr-btn-color: var(--tblr-muted); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-muted-fg); + --tblr-btn-hover-bg: var(--tblr-muted); + --tblr-btn-hover-border-color: var(--tblr-muted); + --tblr-btn-active-color: var(--tblr-muted-fg); + --tblr-btn-active-bg: var(--tblr-muted); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-muted); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-blue { + --tblr-btn-color: var(--tblr-blue); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-blue-fg); + --tblr-btn-hover-bg: var(--tblr-blue); + --tblr-btn-hover-border-color: var(--tblr-blue); + --tblr-btn-active-color: var(--tblr-blue-fg); + --tblr-btn-active-bg: var(--tblr-blue); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-blue); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-azure { + --tblr-btn-color: var(--tblr-azure); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-azure-fg); + --tblr-btn-hover-bg: var(--tblr-azure); + --tblr-btn-hover-border-color: var(--tblr-azure); + --tblr-btn-active-color: var(--tblr-azure-fg); + --tblr-btn-active-bg: var(--tblr-azure); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-azure); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-indigo { + --tblr-btn-color: var(--tblr-indigo); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-indigo-fg); + --tblr-btn-hover-bg: var(--tblr-indigo); + --tblr-btn-hover-border-color: var(--tblr-indigo); + --tblr-btn-active-color: var(--tblr-indigo-fg); + --tblr-btn-active-bg: var(--tblr-indigo); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-indigo); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-purple { + --tblr-btn-color: var(--tblr-purple); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-purple-fg); + --tblr-btn-hover-bg: var(--tblr-purple); + --tblr-btn-hover-border-color: var(--tblr-purple); + --tblr-btn-active-color: var(--tblr-purple-fg); + --tblr-btn-active-bg: var(--tblr-purple); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-purple); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-pink { + --tblr-btn-color: var(--tblr-pink); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-pink-fg); + --tblr-btn-hover-bg: var(--tblr-pink); + --tblr-btn-hover-border-color: var(--tblr-pink); + --tblr-btn-active-color: var(--tblr-pink-fg); + --tblr-btn-active-bg: var(--tblr-pink); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-pink); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-red { + --tblr-btn-color: var(--tblr-red); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-red-fg); + --tblr-btn-hover-bg: var(--tblr-red); + --tblr-btn-hover-border-color: var(--tblr-red); + --tblr-btn-active-color: var(--tblr-red-fg); + --tblr-btn-active-bg: var(--tblr-red); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-red); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-orange { + --tblr-btn-color: var(--tblr-orange); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-orange-fg); + --tblr-btn-hover-bg: var(--tblr-orange); + --tblr-btn-hover-border-color: var(--tblr-orange); + --tblr-btn-active-color: var(--tblr-orange-fg); + --tblr-btn-active-bg: var(--tblr-orange); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-orange); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-yellow { + --tblr-btn-color: var(--tblr-yellow); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-yellow-fg); + --tblr-btn-hover-bg: var(--tblr-yellow); + --tblr-btn-hover-border-color: var(--tblr-yellow); + --tblr-btn-active-color: var(--tblr-yellow-fg); + --tblr-btn-active-bg: var(--tblr-yellow); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-yellow); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-lime { + --tblr-btn-color: var(--tblr-lime); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-lime-fg); + --tblr-btn-hover-bg: var(--tblr-lime); + --tblr-btn-hover-border-color: var(--tblr-lime); + --tblr-btn-active-color: var(--tblr-lime-fg); + --tblr-btn-active-bg: var(--tblr-lime); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-lime); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-green { + --tblr-btn-color: var(--tblr-green); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-green-fg); + --tblr-btn-hover-bg: var(--tblr-green); + --tblr-btn-hover-border-color: var(--tblr-green); + --tblr-btn-active-color: var(--tblr-green-fg); + --tblr-btn-active-bg: var(--tblr-green); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-green); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-teal { + --tblr-btn-color: var(--tblr-teal); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-teal-fg); + --tblr-btn-hover-bg: var(--tblr-teal); + --tblr-btn-hover-border-color: var(--tblr-teal); + --tblr-btn-active-color: var(--tblr-teal-fg); + --tblr-btn-active-bg: var(--tblr-teal); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-teal); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-cyan { + --tblr-btn-color: var(--tblr-cyan); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-cyan-fg); + --tblr-btn-hover-bg: var(--tblr-cyan); + --tblr-btn-hover-border-color: var(--tblr-cyan); + --tblr-btn-active-color: var(--tblr-cyan-fg); + --tblr-btn-active-bg: var(--tblr-cyan); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-cyan); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-facebook { + --tblr-btn-color: var(--tblr-facebook); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-facebook-fg); + --tblr-btn-hover-bg: var(--tblr-facebook); + --tblr-btn-hover-border-color: var(--tblr-facebook); + --tblr-btn-active-color: var(--tblr-facebook-fg); + --tblr-btn-active-bg: var(--tblr-facebook); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-facebook); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-twitter { + --tblr-btn-color: var(--tblr-twitter); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-twitter-fg); + --tblr-btn-hover-bg: var(--tblr-twitter); + --tblr-btn-hover-border-color: var(--tblr-twitter); + --tblr-btn-active-color: var(--tblr-twitter-fg); + --tblr-btn-active-bg: var(--tblr-twitter); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-twitter); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-linkedin { + --tblr-btn-color: var(--tblr-linkedin); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-linkedin-fg); + --tblr-btn-hover-bg: var(--tblr-linkedin); + --tblr-btn-hover-border-color: var(--tblr-linkedin); + --tblr-btn-active-color: var(--tblr-linkedin-fg); + --tblr-btn-active-bg: var(--tblr-linkedin); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-linkedin); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-google { + --tblr-btn-color: var(--tblr-google); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-google-fg); + --tblr-btn-hover-bg: var(--tblr-google); + --tblr-btn-hover-border-color: var(--tblr-google); + --tblr-btn-active-color: var(--tblr-google-fg); + --tblr-btn-active-bg: var(--tblr-google); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-google); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-youtube { + --tblr-btn-color: var(--tblr-youtube); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-youtube-fg); + --tblr-btn-hover-bg: var(--tblr-youtube); + --tblr-btn-hover-border-color: var(--tblr-youtube); + --tblr-btn-active-color: var(--tblr-youtube-fg); + --tblr-btn-active-bg: var(--tblr-youtube); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-youtube); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-vimeo { + --tblr-btn-color: var(--tblr-vimeo); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-vimeo-fg); + --tblr-btn-hover-bg: var(--tblr-vimeo); + --tblr-btn-hover-border-color: var(--tblr-vimeo); + --tblr-btn-active-color: var(--tblr-vimeo-fg); + --tblr-btn-active-bg: var(--tblr-vimeo); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-vimeo); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-dribbble { + --tblr-btn-color: var(--tblr-dribbble); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-dribbble-fg); + --tblr-btn-hover-bg: var(--tblr-dribbble); + --tblr-btn-hover-border-color: var(--tblr-dribbble); + --tblr-btn-active-color: var(--tblr-dribbble-fg); + --tblr-btn-active-bg: var(--tblr-dribbble); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-dribbble); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-github { + --tblr-btn-color: var(--tblr-github); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-github-fg); + --tblr-btn-hover-bg: var(--tblr-github); + --tblr-btn-hover-border-color: var(--tblr-github); + --tblr-btn-active-color: var(--tblr-github-fg); + --tblr-btn-active-bg: var(--tblr-github); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-github); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-instagram { + --tblr-btn-color: var(--tblr-instagram); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-instagram-fg); + --tblr-btn-hover-bg: var(--tblr-instagram); + --tblr-btn-hover-border-color: var(--tblr-instagram); + --tblr-btn-active-color: var(--tblr-instagram-fg); + --tblr-btn-active-bg: var(--tblr-instagram); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-instagram); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-pinterest { + --tblr-btn-color: var(--tblr-pinterest); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-pinterest-fg); + --tblr-btn-hover-bg: var(--tblr-pinterest); + --tblr-btn-hover-border-color: var(--tblr-pinterest); + --tblr-btn-active-color: var(--tblr-pinterest-fg); + --tblr-btn-active-bg: var(--tblr-pinterest); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-pinterest); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-vk { + --tblr-btn-color: var(--tblr-vk); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-vk-fg); + --tblr-btn-hover-bg: var(--tblr-vk); + --tblr-btn-hover-border-color: var(--tblr-vk); + --tblr-btn-active-color: var(--tblr-vk-fg); + --tblr-btn-active-bg: var(--tblr-vk); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-vk); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-rss { + --tblr-btn-color: var(--tblr-rss); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-rss-fg); + --tblr-btn-hover-bg: var(--tblr-rss); + --tblr-btn-hover-border-color: var(--tblr-rss); + --tblr-btn-active-color: var(--tblr-rss-fg); + --tblr-btn-active-bg: var(--tblr-rss); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-rss); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-flickr { + --tblr-btn-color: var(--tblr-flickr); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-flickr-fg); + --tblr-btn-hover-bg: var(--tblr-flickr); + --tblr-btn-hover-border-color: var(--tblr-flickr); + --tblr-btn-active-color: var(--tblr-flickr-fg); + --tblr-btn-active-bg: var(--tblr-flickr); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-flickr); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-bitbucket { + --tblr-btn-color: var(--tblr-bitbucket); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-bitbucket-fg); + --tblr-btn-hover-bg: var(--tblr-bitbucket); + --tblr-btn-hover-border-color: var(--tblr-bitbucket); + --tblr-btn-active-color: var(--tblr-bitbucket-fg); + --tblr-btn-active-bg: var(--tblr-bitbucket); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-bitbucket); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-ghost-tabler { + --tblr-btn-color: var(--tblr-tabler); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-tabler-fg); + --tblr-btn-hover-bg: var(--tblr-tabler); + --tblr-btn-hover-border-color: var(--tblr-tabler); + --tblr-btn-active-color: var(--tblr-tabler-fg); + --tblr-btn-active-bg: var(--tblr-tabler); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-tabler); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-sm, .btn-group-sm > .btn { + --tblr-btn-line-height: 1.5; + --tblr-btn-icon-size: .75rem; +} + +.btn-lg, .btn-group-lg > .btn { + --tblr-btn-line-height: 1.5; + --tblr-btn-icon-size: 2rem; +} + +.btn-pill { + padding-left: 1.5em; + padding-right: 1.5em; + border-radius: 10rem; +} +.btn-pill[class*=btn-icon] { + padding: 0.375rem 15px; +} + +.btn-square { + border-radius: 0; +} + +.btn-icon { + min-width: calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2); + min-height: calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2); + padding-right: 0; + padding-left: 0; +} +.btn-icon .icon { + margin: calc(-1 * var(--tblr-btn-padding-x)); +} + +.btn-list { + --tblr-list-gap: 0.5rem; + display: flex; + flex-wrap: wrap; + gap: var(--tblr-list-gap); +} + +.btn-floating { + position: fixed; + z-index: 1030; + bottom: 1.5rem; + left: 1.5rem; + border-radius: 100rem; +} + +.btn-loading { + position: relative; + color: transparent !important; + text-shadow: none !important; + pointer-events: none; +} +.btn-loading > * { + opacity: 0; +} +.btn-loading:after { + content: ""; + display: inline-block; + vertical-align: text-bottom; + border: 2px var(--tblr-border-style) currentColor; + border-left-color: transparent; + border-radius: 100rem; + color: var(--tblr-btn-color); + position: absolute; + width: var(--tblr-btn-icon-size); + height: var(--tblr-btn-icon-size); + right: calc(50% - var(--tblr-btn-icon-size) / 2); + top: calc(50% - var(--tblr-btn-icon-size) / 2); + animation: spinner-border 0.75s linear infinite; +} + +.btn-action { + padding: 0; + border: 0; + color: var(--tblr-muted); + display: inline-flex; + width: 2rem; + height: 2rem; + align-items: center; + justify-content: center; + border-radius: var(--tblr-border-radius); + background: transparent; +} +.btn-action:after { + content: none; +} +.btn-action:focus { + outline: none; + box-shadow: none; +} +.btn-action:hover, .btn-action.show { + color: var(--tblr-body-color); + background: var(--tblr-active-bg); +} +.btn-action.show { + color: var(--tblr-primary); +} +.btn-action .icon { + margin: 0; + width: 1.25rem; + height: 1.25rem; + font-size: 1.25rem; + stroke-width: 1; +} + +.btn-actions { + display: flex; +} + +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 5; +} +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus { + z-index: 1; +} + +.calendar { + display: block; + font-size: 0.765625rem; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} + +.calendar-nav { + display: flex; + align-items: center; +} + +.calendar-title { + flex: 1; + text-align: center; +} + +.calendar-body, +.calendar-header { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + padding: 0.5rem 0; +} + +.calendar-header { + color: var(--tblr-muted); +} + +.calendar-date { + flex: 0 0 14.2857142857%; + max-width: 14.2857142857%; + padding: 0.2rem; + text-align: center; + border: 0; +} +.calendar-date.next-month, .calendar-date.prev-month { + opacity: 0.25; +} +.calendar-date .date-item { + position: relative; + display: inline-block; + width: 1.4rem; + height: 1.4rem; + line-height: 1.4rem; + color: #66758c; + text-align: center; + text-decoration: none; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background: 100% 0; + border: var(--tblr-border-width) var(--tblr-border-style) transparent; + border-radius: 100rem; + outline: 0; + transition: background 0.3s, border 0.3s, box-shadow 0.32s, color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .calendar-date .date-item { + transition: none; + } +} +.calendar-date .date-item:hover { + color: var(--tblr-primary); + text-decoration: none; + background: #fefeff; + border-color: var(--tblr-border-color); +} +.calendar-date .date-today { + color: var(--tblr-primary); + border-color: var(--tblr-border-color); +} + +.calendar-range { + position: relative; +} +.calendar-range:before { + position: absolute; + top: 50%; + left: 0; + right: 0; + height: 1.4rem; + content: ""; + background: rgba(var(--tblr-primary-rgb), 0.1); + transform: translateY(-50%); +} +.calendar-range.range-start .date-item, .calendar-range.range-end .date-item { + color: #ffffff; + background: var(--tblr-primary); + border-color: var(--tblr-primary); +} +.calendar-range.range-start:before { + right: 50%; +} +.calendar-range.range-end:before { + left: 50%; +} + +.carousel-indicators-vertical { + right: auto; + top: 0; + margin: 0 0 0 1rem; + flex-direction: column; +} +.carousel-indicators-vertical [data-bs-target] { + margin: 3px 0 3px; + width: 3px; + height: 30px; + border: 0; + border-right: 10px var(--tblr-border-style) transparent; + border-left: 10px var(--tblr-border-style) transparent; +} + +.carousel-indicators-dot [data-bs-target] { + width: 0.5rem; + height: 0.5rem; + border-radius: 100rem; + border: 10px var(--tblr-border-style) transparent; + margin: 0; +} + +.carousel-indicators-thumb [data-bs-target] { + width: 2rem; + height: auto; + background: no-repeat center/cover; + border: 0; + border-radius: var(--tblr-border-radius); + box-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; + margin: 0 3px; + opacity: 0.75; +} +@media (min-width: 992px) { + .carousel-indicators-thumb [data-bs-target] { + width: 4rem; + } +} +.carousel-indicators-thumb [data-bs-target]:before { + content: ""; + padding-top: var(--tblr-aspect-ratio, 100%); + display: block; +} +.carousel-indicators-thumb.carousel-indicators-vertical [data-bs-target] { + margin: 3px 0; +} + +.carousel-caption-background { + background: red; + position: absolute; + right: 0; + left: 0; + bottom: 0; + height: 90%; + background: linear-gradient(0deg, rgba(24, 36, 51, 0.9), rgba(24, 36, 51, 0)); +} + +.card { + transition: transform 0.3s ease-out, opacity 0.3s ease-out, box-shadow 0.3s ease-out; +} +@media (prefers-reduced-motion: reduce) { + .card { + transition: none; + } +} +@media print { + .card { + border: none; + box-shadow: none; + } +} +a.card { + color: inherit; +} +a.card:hover { + text-decoration: none; + box-shadow: rgba(var(--tblr-body-color-rgb), 0.16) 0 2px 16px 0; +} + +.card .card { + box-shadow: none; +} + +.card-borderless, +.card-borderless .card-header, +.card-borderless .card-footer { + border-color: transparent; +} + +.card-stamp { + --tblr-stamp-size: 7rem; + position: absolute; + top: 0; + left: 0; + width: calc(var(--tblr-stamp-size) * 1); + height: calc(var(--tblr-stamp-size) * 1); + max-height: 100%; + border-top-left-radius: 4px; + opacity: 0.2; + overflow: hidden; + pointer-events: none; +} + +.card-stamp-lg { + --tblr-stamp-size: 13rem; +} + +.card-stamp-icon { + background: var(--tblr-muted); + color: var(--tblr-card-bg, var(--tblr-bg-surface)); + display: flex; + align-items: center; + justify-content: center; + border-radius: 100rem; + width: calc(var(--tblr-stamp-size) * 1); + height: calc(var(--tblr-stamp-size) * 1); + position: relative; + top: calc(var(--tblr-stamp-size) * -0.25); + left: calc(var(--tblr-stamp-size) * -0.25); + font-size: calc(var(--tblr-stamp-size) * 0.75); + transform: rotate(-10deg); +} +.card-stamp-icon .icon { + stroke-width: 2; + width: calc(var(--tblr-stamp-size) * 0.75); + height: calc(var(--tblr-stamp-size) * 0.75); +} + +.card-img, +.card-img-start { + border-top-right-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); + border-bottom-right-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); +} + +.card-img, +.card-img-end { + border-top-left-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); + border-bottom-left-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); +} + +.card-img-overlay { + display: flex; + flex-direction: column; + justify-content: flex-end; +} + +.card-img-overlay-dark { + background-image: linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%); +} + +.card-inactive { + pointer-events: none; + box-shadow: none; +} +.card-inactive .card-body { + opacity: 0.64; +} + +.card-active { + --tblr-card-border-color: var(--tblr-primary); + --tblr-card-bg: var(--tblr-active-bg); +} + +.card-btn { + display: flex; + align-items: center; + justify-content: center; + padding: 1rem 1.5rem; + text-align: center; + transition: background 0.3s; + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + flex: 1; + color: inherit; + font-weight: var(--tblr-font-weight-medium); +} +@media (prefers-reduced-motion: reduce) { + .card-btn { + transition: none; + } +} +.card-btn:hover { + text-decoration: none; + background: rgba(var(--tblr-primary-rgb), 0.04); +} +.card-btn + .card-btn { + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +/** +Stacked card + */ +.card-stacked { + --tblr-card-stacked-offset: .25rem; + position: relative; +} +.card-stacked:after { + position: absolute; + top: calc(-1 * var(--tblr-card-stacked-offset)); + left: var(--tblr-card-stacked-offset); + right: var(--tblr-card-stacked-offset); + height: var(--tblr-card-stacked-offset); + content: ""; + background: var(--tblr-card-bg, var(--tblr-bg-surface)); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-card-border-color); + border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; +} + +.card-cover { + position: relative; + padding: 1rem 1.5rem; + background: #666666 no-repeat center/cover; +} +.card-cover:before { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + content: ""; + background: rgba(24, 36, 51, 0.48); +} +.card-cover:first-child, .card-cover:first-child:before { + border-radius: 4px 4px 0 0; +} + +.card-cover-blurred:before { + -webkit-backdrop-filter: blur(2px); + backdrop-filter: blur(2px); +} + +.card-actions { + margin: -0.5rem auto -0.5rem -0.5rem; + padding-right: 0.5rem; +} +.card-actions a { + text-decoration: none; +} + +.card-header { + color: inherit; + display: flex; + align-items: center; + background: transparent; +} +.card-header:first-child { + border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; +} + +.card-header-light { + border-bottom-color: transparent; + background: var(--tblr-bg-surface-tertiary); +} + +.card-header-tabs { + background: var(--tblr-bg-surface-tertiary); + flex: 1; + margin: calc(var(--tblr-card-cap-padding-y) * -1) calc(var(--tblr-card-cap-padding-x) * -1) calc(var(--tblr-card-cap-padding-y) * -1); + padding: calc(var(--tblr-card-cap-padding-y) * 0.5) calc(var(--tblr-card-cap-padding-x) * 0.5) 0; +} + +.card-header-pills { + flex: 1; + margin-top: -0.5rem; + margin-bottom: -0.5rem; +} + +.card-rotate-left { + transform: rotate(1.5deg); +} + +.card-rotate-right { + transform: rotate(-1.5deg); +} + +.card-link { + color: inherit; +} +.card-link:hover { + color: inherit; + text-decoration: none; + box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.08); +} + +.card-link-rotate:hover { + transform: rotate(-1.5deg); + opacity: 1; +} + +.card-link-pop:hover { + transform: translateY(-2px); + opacity: 1; +} + +.card-footer { + margin-top: auto; +} +.card-footer:last-child { + border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius); +} + +.card-footer-transparent { + background: transparent; + border-color: transparent; + padding-top: 0; +} + +.card-footer-borderless { + border-top: none; +} + +.card-progress { + height: 0.25rem; +} +.card-progress:last-child { + border-radius: 0 0 2px 2px; +} +.card-progress:first-child { + border-radius: 2px 2px 0 0; +} + +.card-meta { + color: var(--tblr-muted); +} + +.card-title { + display: block; + margin: 0 0 1rem; + font-size: 1rem; + font-weight: var(--tblr-font-weight-medium); + line-height: 1.5rem; +} +a.card-title:hover { + color: inherit; +} + +.card-header .card-title { + margin: 0; +} + +.card-subtitle { + margin-bottom: 1.25rem; + color: var(--tblr-muted); + font-weight: normal; +} +.card-header .card-subtitle { + margin: 0; +} +.card-title .card-subtitle { + margin: 0 0.25rem 0 0; + font-size: 0.875rem; +} + +.card-body { + position: relative; +} +.card-body > :last-child { + margin-bottom: 0; +} +.card-sm > .card-body { + padding: 1rem; +} +@media (min-width: 768px) { + .card-md > .card-body { + padding: 2.5rem; + } +} +@media (min-width: 768px) { + .card-lg > .card-body { + padding: 2rem; + } +} +@media (min-width: 992px) { + .card-lg > .card-body { + padding: 4rem; + } +} +@media print { + .card-body { + padding: 0; + } +} +.card-body + .card-body { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +.card-body-scrollable { + overflow: auto; +} + +/** +Card optinos + */ +.card-options { + top: 1.5rem; + left: 0.75rem; + display: flex; + margin-right: auto; +} + +.card-options-link { + display: inline-block; + min-width: 1rem; + margin-right: 0.25rem; + color: var(--tblr-muted); +} + +/** +Card status + */ +.card-status-top { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 2px; + border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; +} + +.card-status-start { + position: absolute; + left: auto; + bottom: 0; + width: 2px; + height: 100%; + border-radius: 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0; +} + +.card-status-bottom { + position: absolute; + top: initial; + bottom: 0; + width: 100%; + height: 2px; + border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius); +} + +/** +Card table + */ +.card-table { + margin-bottom: 0 !important; +} +.card-table tr td:first-child, +.card-table tr th:first-child { + padding-right: 1.5rem; + border-right: 0; +} +.card-table tr td:last-child, +.card-table tr th:last-child { + padding-left: 1.5rem; + border-left: 0; +} +.card-table thead tr:first-child, +.card-table tbody tr:first-child, +.card-table tfoot tr:first-child { + border-top: 0; +} +.card-table thead tr:first-child td, +.card-table thead tr:first-child th, +.card-table tbody tr:first-child td, +.card-table tbody tr:first-child th, +.card-table tfoot tr:first-child td, +.card-table tfoot tr:first-child th { + border-top: 0; +} +.card-body + .card-table { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-table-border-color); +} + +/* +Card code + */ +.card-code { + padding: 0; +} +.card-code .highlight { + margin: 0; + border: 0; +} +.card-code pre { + margin: 0 !important; + border: 0 !important; +} + +/* +Card chart + */ +.card-chart { + position: relative; + z-index: 1; + height: 3.5rem; +} + +/** +Card avatar + */ +.card-avatar { + margin-right: auto; + margin-left: auto; + box-shadow: 0 0 0 0.25rem var(--tblr-card-bg, var(--tblr-bg-surface)); + margin-top: calc(-1 * var(--tblr-avatar-size) * 0.5); +} + +/* +Card list group + */ +.card-body + .card-list-group { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} +.card-list-group .list-group-item { + padding-left: 1.5rem; + padding-right: 1.5rem; + border-left: 0; + border-right: 0; + border-radius: 0; +} +.card-list-group .list-group-item:last-child { + border-bottom: 0; +} +.card-list-group .list-group-item:first-child { + border-top: 0; +} + +.card-tabs .nav-tabs { + position: relative; + z-index: 1000; + border-bottom: 0; +} +.card-tabs .nav-tabs .nav-link { + background: var(--tblr-bg-surface-tertiary); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); +} +.card-tabs .nav-tabs .nav-link.active, .card-tabs .nav-tabs .nav-link:active, .card-tabs .nav-tabs .nav-link:hover { + border-color: var(--tblr-border-color-translucent); + color: var(--tblr-body-color); +} +.card-tabs .nav-tabs .nav-link.active { + background: var(--tblr-card-bg, var(--tblr-bg-surface)); + border-bottom-color: transparent; +} +.card-tabs .nav-tabs .nav-item:not(:first-child) .nav-link { + border-top-right-radius: 0; +} +.card-tabs .nav-tabs .nav-item:not(:last-child) .nav-link { + border-top-left-radius: 0; +} +.card-tabs .nav-tabs .nav-item + .nav-item { + margin-right: calc(-1 * var(--tblr-border-width)); +} +.card-tabs .nav-tabs-bottom { + margin-bottom: 0; +} +.card-tabs .nav-tabs-bottom .nav-link { + margin-bottom: 0; +} +.card-tabs .nav-tabs-bottom .nav-link.active { + border-top-color: transparent; +} +.card-tabs .nav-tabs-bottom .nav-item { + margin-top: calc(-1 * var(--tblr-border-width)); + margin-bottom: 0; +} +.card-tabs .nav-tabs-bottom .nav-item .nav-link { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + border-radius: 0 0 var(--tblr-border-radius) var(--tblr-border-radius); +} +.card-tabs .nav-tabs-bottom .nav-item:not(:first-child) .nav-link { + border-bottom-right-radius: 0; +} +.card-tabs .nav-tabs-bottom .nav-item:not(:last-child) .nav-link { + border-bottom-left-radius: 0; +} +.card-tabs .card { + border-bottom-right-radius: 0; +} +.card-tabs .nav-tabs + .tab-content .card { + border-bottom-right-radius: var(--tblr-card-border-radius); + border-top-right-radius: 0; +} + +.btn-close { + cursor: pointer; +} +.btn-close:focus { + outline: none; +} + +.dropdown-menu { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.dropdown-menu.card { + padding: 0; + min-width: 25rem; + display: none; +} +.dropdown-menu.card.show { + display: flex; +} + +.dropdown-item { + min-width: 11rem; + display: flex; + align-items: center; + margin: 0; + line-height: 1.4285714286; +} + +.dropdown-item-icon { + width: 1.25rem !important; + height: 1.25rem !important; + margin-left: 0.5rem; + color: var(--tblr-muted); + opacity: 0.7; + text-align: center; +} + +.dropdown-item-indicator { + margin-left: 0.5rem; + margin-right: -0.25rem; + height: 1.25rem; + display: inline-flex; + line-height: 1; + vertical-align: bottom; + align-items: center; +} + +.dropdown-header { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + padding-bottom: 0.25rem; + pointer-events: none; +} + +.dropdown-menu-scrollable { + height: auto; + max-height: 13rem; + overflow-x: hidden; +} + +.dropdown-menu-column { + min-width: 11rem; +} +.dropdown-menu-column .dropdown-item { + min-width: 0; +} + +.dropdown-menu-columns { + display: flex; + flex: 0 0.25rem; +} + +.dropdown-menu-arrow:before { + content: ""; + position: absolute; + top: -0.25rem; + right: 0.75rem; + display: block; + background: inherit; + width: 14px; + height: 14px; + transform: rotate(45deg); + transform-origin: center; + border: 1px solid; + border-color: inherit; + z-index: -1; + clip: rect(0px, 9px, 9px, 0px); +} +.dropdown-menu-arrow.dropdown-menu-end:before { + left: 0.75rem; + right: auto; +} + +.dropend > .dropdown-menu { + margin-top: calc(-0.25rem - 1px); + margin-right: -0.25rem; +} +.dropend .dropdown-toggle:after { + margin-right: auto; +} + +.dropdown-menu-card { + padding: 0; +} +.dropdown-menu-card > .card { + margin: 0; + border: 0; + box-shadow: none; +} + +.datagrid { + --tblr-datagrid-padding: 1.5rem; + --tblr-datagrid-item-width: 15rem; + display: grid; + grid-gap: var(--tblr-datagrid-padding); + grid-template-columns: repeat(auto-fit, minmax(var(--tblr-datagrid-item-width), 1fr)); +} + +.datagrid-title { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + margin-bottom: 0.25rem; +} + +.empty { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; + text-align: center; +} +@media (min-width: 768px) { + .empty { + padding: 3rem; + } +} + +.empty-icon { + margin: 0 0 1rem; + width: 3rem; + height: 3rem; + line-height: 1; + color: var(--tblr-muted); +} +.empty-icon svg { + width: 100%; + height: 100%; +} + +.empty-img { + margin: 0 0 2rem; + line-height: 1; +} +.empty-img img { + height: 8rem; + width: auto; +} + +.empty-header { + margin: 0 0 1rem; + font-size: 4rem; + font-weight: var(--tblr-font-weight-light); + line-height: 1; + color: var(--tblr-muted); +} + +.empty-title { + font-size: 1.25rem; + line-height: 1.75rem; + font-weight: var(--tblr-font-weight-bold); +} + +.empty-title, +.empty-subtitle { + margin: 0 0 0.5rem; +} + +.empty-action { + margin-top: 1.5rem; +} + +.empty-bordered { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} + +.row > * { + min-width: 0; +} + +.col-separator { + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +.container-slim { + --tblr-gutter-x: calc(var(--tblr-page-padding) * 2); + --tblr-gutter-y: 0; + width: 100%; + padding-left: calc(var(--tblr-gutter-x) * 0.5); + padding-right: calc(var(--tblr-gutter-x) * 0.5); + margin-left: auto; + margin-right: auto; + max-width: 16rem; +} +.container-tight { + --tblr-gutter-x: calc(var(--tblr-page-padding) * 2); + --tblr-gutter-y: 0; + width: 100%; + padding-left: calc(var(--tblr-gutter-x) * 0.5); + padding-right: calc(var(--tblr-gutter-x) * 0.5); + margin-left: auto; + margin-right: auto; + max-width: 30rem; +} +.container-narrow { + --tblr-gutter-x: calc(var(--tblr-page-padding) * 2); + --tblr-gutter-y: 0; + width: 100%; + padding-left: calc(var(--tblr-gutter-x) * 0.5); + padding-right: calc(var(--tblr-gutter-x) * 0.5); + margin-left: auto; + margin-right: auto; + max-width: 45rem; +} + +.row-0 { + margin-left: 0; + margin-right: 0; +} +.row-0 > .col, +.row-0 > [class*=col-] { + padding-left: 0; + padding-right: 0; +} +.row-0 .card { + margin-bottom: 0; +} + +.row-sm { + margin-left: -0.375rem; + margin-right: -0.375rem; +} +.row-sm > .col, +.row-sm > [class*=col-] { + padding-left: 0.375rem; + padding-right: 0.375rem; +} +.row-sm .card { + margin-bottom: 0.75rem; +} + +.row-md { + margin-left: -1.5rem; + margin-right: -1.5rem; +} +.row-md > .col, +.row-md > [class*=col-] { + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.row-md .card { + margin-bottom: 3rem; +} + +.row-lg { + margin-left: -3rem; + margin-right: -3rem; +} +.row-lg > .col, +.row-lg > [class*=col-] { + padding-left: 3rem; + padding-right: 3rem; +} +.row-lg .card { + margin-bottom: 6rem; +} + +.row-deck > .col, +.row-deck > [class*=col-] { + display: flex; + align-items: stretch; +} +.row-deck > .col .card, +.row-deck > [class*=col-] .card { + flex: 1 1 auto; +} + +.row-cards { + --tblr-gutter-x: var(--tblr-page-padding); + --tblr-gutter-y: var(--tblr-page-padding); + min-width: 0; +} +.row-cards .row-cards { + flex: 1; +} + +.space-y { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.space-x { + display: flex; + gap: 1rem; +} + +.space-y-0 { + display: flex; + flex-direction: column; + gap: 0; +} + +.space-x-0 { + display: flex; + gap: 0; +} + +.space-y-1 { + display: flex; + flex-direction: column; + gap: 0.25rem; +} + +.space-x-1 { + display: flex; + gap: 0.25rem; +} + +.space-y-2 { + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +.space-x-2 { + display: flex; + gap: 0.5rem; +} + +.space-y-3 { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.space-x-3 { + display: flex; + gap: 1rem; +} + +.space-y-4 { + display: flex; + flex-direction: column; + gap: 1.5rem; +} + +.space-x-4 { + display: flex; + gap: 1.5rem; +} + +.space-y-5 { + display: flex; + flex-direction: column; + gap: 2rem; +} + +.space-x-5 { + display: flex; + gap: 2rem; +} + +.space-y-6 { + display: flex; + flex-direction: column; + gap: 3rem; +} + +.space-x-6 { + display: flex; + gap: 3rem; +} + +.space-y-7 { + display: flex; + flex-direction: column; + gap: 5rem; +} + +.space-x-7 { + display: flex; + gap: 5rem; +} + +.space-y-8 { + display: flex; + flex-direction: column; + gap: 8rem; +} + +.space-x-8 { + display: flex; + gap: 8rem; +} + +.divide-y > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y > :not(template):not(:first-child) { + padding-top: 1rem !important; +} +.divide-y > :not(template):not(:last-child) { + padding-bottom: 1rem !important; +} + +.divide-x > :not(template) ~ :not(template) { + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x > :not(template):not(:first-child) { + padding-right: 1rem !important; +} +.divide-x > :not(template):not(:last-child) { + padding-left: 1rem !important; +} + +.divide-y-0 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-0 > :not(template):not(:first-child) { + padding-top: 0 !important; +} +.divide-y-0 > :not(template):not(:last-child) { + padding-bottom: 0 !important; +} + +.divide-x-0 > :not(template) ~ :not(template) { + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-0 > :not(template):not(:first-child) { + padding-right: 0 !important; +} +.divide-x-0 > :not(template):not(:last-child) { + padding-left: 0 !important; +} + +.divide-y-1 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-1 > :not(template):not(:first-child) { + padding-top: 0.25rem !important; +} +.divide-y-1 > :not(template):not(:last-child) { + padding-bottom: 0.25rem !important; +} + +.divide-x-1 > :not(template) ~ :not(template) { + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-1 > :not(template):not(:first-child) { + padding-right: 0.25rem !important; +} +.divide-x-1 > :not(template):not(:last-child) { + padding-left: 0.25rem !important; +} + +.divide-y-2 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-2 > :not(template):not(:first-child) { + padding-top: 0.5rem !important; +} +.divide-y-2 > :not(template):not(:last-child) { + padding-bottom: 0.5rem !important; +} + +.divide-x-2 > :not(template) ~ :not(template) { + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-2 > :not(template):not(:first-child) { + padding-right: 0.5rem !important; +} +.divide-x-2 > :not(template):not(:last-child) { + padding-left: 0.5rem !important; +} + +.divide-y-3 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-3 > :not(template):not(:first-child) { + padding-top: 1rem !important; +} +.divide-y-3 > :not(template):not(:last-child) { + padding-bottom: 1rem !important; +} + +.divide-x-3 > :not(template) ~ :not(template) { + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-3 > :not(template):not(:first-child) { + padding-right: 1rem !important; +} +.divide-x-3 > :not(template):not(:last-child) { + padding-left: 1rem !important; +} + +.divide-y-4 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-4 > :not(template):not(:first-child) { + padding-top: 1.5rem !important; +} +.divide-y-4 > :not(template):not(:last-child) { + padding-bottom: 1.5rem !important; +} + +.divide-x-4 > :not(template) ~ :not(template) { + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-4 > :not(template):not(:first-child) { + padding-right: 1.5rem !important; +} +.divide-x-4 > :not(template):not(:last-child) { + padding-left: 1.5rem !important; +} + +.divide-y-5 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-5 > :not(template):not(:first-child) { + padding-top: 2rem !important; +} +.divide-y-5 > :not(template):not(:last-child) { + padding-bottom: 2rem !important; +} + +.divide-x-5 > :not(template) ~ :not(template) { + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-5 > :not(template):not(:first-child) { + padding-right: 2rem !important; +} +.divide-x-5 > :not(template):not(:last-child) { + padding-left: 2rem !important; +} + +.divide-y-6 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-6 > :not(template):not(:first-child) { + padding-top: 3rem !important; +} +.divide-y-6 > :not(template):not(:last-child) { + padding-bottom: 3rem !important; +} + +.divide-x-6 > :not(template) ~ :not(template) { + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-6 > :not(template):not(:first-child) { + padding-right: 3rem !important; +} +.divide-x-6 > :not(template):not(:last-child) { + padding-left: 3rem !important; +} + +.divide-y-7 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-7 > :not(template):not(:first-child) { + padding-top: 5rem !important; +} +.divide-y-7 > :not(template):not(:last-child) { + padding-bottom: 5rem !important; +} + +.divide-x-7 > :not(template) ~ :not(template) { + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-7 > :not(template):not(:first-child) { + padding-right: 5rem !important; +} +.divide-x-7 > :not(template):not(:last-child) { + padding-left: 5rem !important; +} + +.divide-y-8 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-8 > :not(template):not(:first-child) { + padding-top: 8rem !important; +} +.divide-y-8 > :not(template):not(:last-child) { + padding-bottom: 8rem !important; +} + +.divide-x-8 > :not(template) ~ :not(template) { + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-8 > :not(template):not(:first-child) { + padding-right: 8rem !important; +} +.divide-x-8 > :not(template):not(:last-child) { + padding-left: 8rem !important; +} + +.divide-y-fill { + display: flex; + flex-direction: column; + height: 100%; +} +.divide-y-fill > :not(template) { + flex: 1; + display: flex; + justify-content: center; + flex-direction: column; +} + +.icon { + --tblr-icon-size: 1.25rem; + width: var(--tblr-icon-size); + height: var(--tblr-icon-size); + font-size: var(--tblr-icon-size); + vertical-align: bottom; + stroke-width: 1.5; +} +.icon:hover { + text-decoration: none; +} + +.icon-inline { + --tblr-icon-size: 1rem; + vertical-align: -0.2rem; +} + +.icon-filled { + fill: currentColor; +} + +.icon-sm { + --tblr-icon-size: 1rem; + stroke-width: 1; +} + +.icon-md { + --tblr-icon-size: 2.5rem; + stroke-width: 1; +} + +.icon-lg { + --tblr-icon-size: 3.5rem; + stroke-width: 1; +} + +.icon-pulse { + transition: all 0.15s ease 0s; + animation: pulse 2s ease infinite; + animation-fill-mode: both; +} + +.icon-tada { + transition: all 0.15s ease 0s; + animation: tada 3s ease infinite; + animation-fill-mode: both; +} + +.icon-rotate { + transition: all 0.15s ease 0s; + animation: rotate-360 3s linear infinite; + animation-fill-mode: both; +} + +.img-responsive { + --tblr-img-responsive-ratio: 75%; + background: no-repeat center/cover; + padding-top: var(--tblr-img-responsive-ratio); +} + +.img-responsive-grid { + padding-top: calc(var(--tblr-img-responsive-ratio) - var(--tblr-gutter-y) / 2); +} + +.img-responsive-1x1 { + --tblr-img-responsive-ratio: 100%; +} + +.img-responsive-2x1 { + --tblr-img-responsive-ratio: 50%; +} + +.img-responsive-1x2 { + --tblr-img-responsive-ratio: 200%; +} + +.img-responsive-3x1 { + --tblr-img-responsive-ratio: 33.3333333333%; +} + +.img-responsive-1x3 { + --tblr-img-responsive-ratio: 300%; +} + +.img-responsive-4x3 { + --tblr-img-responsive-ratio: 75%; +} + +.img-responsive-3x4 { + --tblr-img-responsive-ratio: 133.3333333333%; +} + +.img-responsive-16x9 { + --tblr-img-responsive-ratio: 56.25%; +} + +.img-responsive-9x16 { + --tblr-img-responsive-ratio: 177.7777777778%; +} + +.img-responsive-21x9 { + --tblr-img-responsive-ratio: 42.8571428571%; +} + +.img-responsive-9x21 { + --tblr-img-responsive-ratio: 233.3333333333%; +} + +textarea[cols] { + height: auto; +} + +/** +Form label + */ +.col-form-label, +.form-label { + display: block; + font-weight: var(--tblr-font-weight-medium); +} +.col-form-label.required:after, +.form-label.required:after { + content: "*"; + margin-right: 0.25rem; + color: #d63939; +} + +.form-label-description { + float: left; + font-weight: var(--tblr-font-weight-normal); + color: var(--tblr-muted); +} + +/** +Form hint + */ +.form-hint { + display: block; + color: var(--tblr-muted); +} +.form-hint:last-child { + margin-bottom: 0; +} +.form-hint + .form-control { + margin-top: 0.25rem; +} +.form-label + .form-hint { + margin-top: -0.25rem; +} +.input-group + .form-hint, .form-control + .form-hint, .form-select + .form-hint { + margin-top: 0.5rem; +} + +/** +Form select + */ +.form-select:-moz-focusring { + color: var(--tblr-body-color); +} + +/** +Form control + */ +.form-control:-webkit-autofill { + box-shadow: 0 0 0 1000px var(--tblr-body-bg) inset; + color: var(--tblr-body-color); + -webkit-text-fill-color: var(--tblr-body-color); +} +.form-control:disabled, .form-control.disabled { + color: var(--tblr-muted); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.form-control[size] { + width: auto; +} + +.form-control-light { + background-color: var(--tblr-gray-100); + border-color: transparent; +} + +.form-control-dark { + background-color: rgba(0, 0, 0, 0.1); + color: #ffffff; + border-color: transparent; +} +.form-control-dark:focus { + background-color: rgba(0, 0, 0, 0.1); + box-shadow: none; + border-color: rgba(255, 255, 255, 0.24); +} +.form-control-dark::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.6); +} +.form-control-dark:-ms-input-placeholder { + color: rgba(255, 255, 255, 0.6); +} +.form-control-dark::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.6); +} +.form-control-dark::placeholder { + color: rgba(255, 255, 255, 0.6); +} + +.form-control-rounded { + border-radius: 10rem; +} + +.form-control-flush { + padding: 0; + background: none !important; + border-color: transparent !important; + resize: none; + box-shadow: none !important; + line-height: inherit; +} + +.form-footer { + margin-top: 2rem; +} + +.form-fieldset { + padding: 1rem; + margin-bottom: 1rem; + background: var(--tblr-body-bg); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} + +/** +Form help + */ +.form-help { + display: inline-flex; + font-weight: var(--tblr-font-weight-bold); + align-items: center; + justify-content: center; + width: 1.125rem; + height: 1.125rem; + font-size: 0.75rem; + color: var(--tblr-muted); + text-align: center; + text-decoration: none; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background: var(--tblr-gray-100); + border-radius: 100rem; + transition: background-color 0.3s, color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-help { + transition: none; + } +} +.form-help:hover, .form-help[aria-describedby] { + color: #ffffff; + background: var(--tblr-primary); +} + +/** +Input group + */ +.input-group-link { + font-size: 0.75rem; +} + +.input-group-flat:focus-within { + box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); + border-radius: var(--tblr-border-radius); +} +.input-group-flat:focus-within .form-control, +.input-group-flat:focus-within .input-group-text { + border-color: #90b5e2 !important; +} +.input-group-flat .form-control:focus { + border-color: var(--tblr-border-color); + box-shadow: none; +} +.input-group-flat .form-control:not(:last-child) { + border-left: 0; +} +.input-group-flat .form-control:not(:first-child) { + border-right: 0; +} +.input-group-flat .input-group-text { + background: var(--tblr-bg-forms); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .input-group-flat .input-group-text { + transition: none; + } +} +.input-group-flat .input-group-text:first-child { + padding-left: 0; +} +.input-group-flat .input-group-text:last-child { + padding-right: 0; +} + +/** +Upload files + */ +.form-file-button { + margin-right: 0; + border-right: 0; +} + +/** +Icon input + */ +.input-icon { + position: relative; +} +.input-icon .form-control:not(:last-child), +.input-icon .form-select:not(:last-child) { + padding-left: 2.5rem; +} +.input-icon .form-control:not(:first-child), +.input-icon .form-select:not(:last-child) { + padding-right: 2.5rem; +} + +.input-icon-addon { + position: absolute; + top: 0; + bottom: 0; + right: 0; + display: flex; + align-items: center; + justify-content: center; + min-width: 2.5rem; + color: var(--tblr-icon-color); + pointer-events: none; + font-size: 1.2em; +} +.input-icon-addon:last-child { + left: 0; + right: auto; +} + +/* +Color Input + */ +.form-colorinput { + position: relative; + display: inline-block; + margin: 0; + line-height: 1; + cursor: pointer; +} + +.form-colorinput-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +.form-colorinput-color { + display: block; + width: 1.5rem; + height: 1.5rem; + color: #ffffff; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + border-radius: 3px; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +.form-colorinput-color:before { + position: absolute; + top: 0; + right: 0; + width: 100%; + height: 100%; + content: ""; + background: no-repeat center center/1rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); + opacity: 0; + transition: opacity 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-colorinput-color:before { + transition: none; + } +} +.form-colorinput-input:checked ~ .form-colorinput-color:before { + opacity: 1; +} +.form-colorinput-input:focus ~ .form-colorinput-color { + border-color: var(--tblr-primary); + box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-colorinput-light .form-colorinput-color:before { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23182433' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); +} + +/** +Image check + */ +.form-imagecheck { + position: relative; + margin: 0; + cursor: pointer; +} + +.form-imagecheck-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +.form-imagecheck-figure { + position: relative; + display: block; + margin: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: 3px; +} +.form-imagecheck-input:focus ~ .form-imagecheck-figure { + border-color: var(--tblr-primary); + box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} +.form-imagecheck-input:checked ~ .form-imagecheck-figure { + border-color: var(--tblr-primary); +} +.form-imagecheck-figure:before { + position: absolute; + top: 0.25rem; + right: 0.25rem; + z-index: 1; + display: block; + width: 1rem; + height: 1rem; + color: #ffffff; + pointer-events: none; + content: ""; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background: var(--tblr-bg-forms); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); + transition: opacity 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-imagecheck-figure:before { + transition: none; + } +} +.form-imagecheck-input:checked ~ .form-imagecheck-figure:before { + background-color: var(--tblr-primary); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); + background-repeat: repeat; + background-position: center; + background-size: 1rem; + border-color: var(--tblr-border-color-translucent); +} +.form-imagecheck-input[type=radio] ~ .form-imagecheck-figure:before { + border-radius: 50%; +} +.form-imagecheck-input[type=radio]:checked ~ .form-imagecheck-figure:before { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); +} + +.form-imagecheck-image { + max-width: 100%; + display: block; + opacity: 0.64; + transition: opacity 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-imagecheck-image { + transition: none; + } +} +.form-imagecheck-image:first-child { + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.form-imagecheck-image:last-child { + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; +} +.form-imagecheck:hover .form-imagecheck-image, .form-imagecheck-input:focus ~ .form-imagecheck-figure .form-imagecheck-image, .form-imagecheck-input:checked ~ .form-imagecheck-figure .form-imagecheck-image { + opacity: 1; +} + +.form-imagecheck-caption { + padding: 0.25rem; + font-size: 0.765625rem; + color: var(--tblr-muted); + text-align: center; + transition: color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-imagecheck-caption { + transition: none; + } +} +.form-imagecheck:hover .form-imagecheck-caption, .form-imagecheck-input:focus ~ .form-imagecheck-figure .form-imagecheck-caption, .form-imagecheck-input:checked ~ .form-imagecheck-figure .form-imagecheck-caption { + color: var(--tblr-body-color); +} + +/* +Select group + */ +.form-selectgroup { + display: inline-flex; + margin: 0 0 -0.5rem -0.5rem; + flex-wrap: wrap; +} +.form-selectgroup .form-selectgroup-item { + margin: 0 0 0.5rem 0.5rem; +} + +.form-selectgroup-vertical { + flex-direction: column; +} + +.form-selectgroup-item { + display: block; + position: relative; +} + +.form-selectgroup-input { + position: absolute; + top: 0; + right: 0; + z-index: -1; + opacity: 0; +} + +.form-selectgroup-label { + position: relative; + display: block; + min-width: calc(1.4285714286em + 0.875rem + calc(var(--tblr-border-width) * 2)); + margin: 0; + padding: 0.4375rem 0.75rem; + font-size: 0.875rem; + line-height: 1.4285714286; + color: var(--tblr-muted); + background: var(--tblr-bg-forms); + text-align: center; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: 3px; + transition: border-color 0.3s, background 0.3s, color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-selectgroup-label { + transition: none; + } +} +.form-selectgroup-label .icon:only-child { + margin: 0 -0.25rem; +} +.form-selectgroup-label:hover { + color: var(--tblr-body-color); +} + +.form-selectgroup-check { + display: inline-block; + width: 1rem; + height: 1rem; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + vertical-align: middle; +} +.form-selectgroup-input[type=checkbox] + .form-selectgroup-label .form-selectgroup-check { + border-radius: var(--tblr-border-radius); +} +.form-selectgroup-input[type=radio] + .form-selectgroup-label .form-selectgroup-check { + border-radius: 50%; +} +.form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-check { + background-color: var(--tblr-primary); + background-repeat: repeat; + background-position: center; + background-size: 1rem; + border-color: var(--tblr-border-color-translucent); +} +.form-selectgroup-input[type=checkbox]:checked + .form-selectgroup-label .form-selectgroup-check { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); +} +.form-selectgroup-input[type=radio]:checked + .form-selectgroup-label .form-selectgroup-check { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); +} + +.form-selectgroup-check-floated { + position: absolute; + top: 0.4375rem; + left: 0.4375rem; +} + +.form-selectgroup-input:checked + .form-selectgroup-label { + z-index: 1; + color: var(--tblr-primary); + background: rgba(var(--tblr-primary-rgb), 0.04); + border-color: var(--tblr-primary); +} + +.form-selectgroup-input:focus + .form-selectgroup-label { + z-index: 2; + color: var(--tblr-primary); + border-color: var(--tblr-primary); + box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); +} + +/** +Alternate version of form select group + */ +.form-selectgroup-boxes .form-selectgroup-label { + text-align: right; + padding: 1.5rem 1rem; + color: inherit; +} +.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label { + color: inherit; +} +.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-title { + color: var(--tblr-primary); +} +.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-label-content { + opacity: 1; +} + +/** +Select group + */ +.form-selectgroup-pills { + flex-wrap: wrap; + align-items: flex-start; +} +.form-selectgroup-pills .form-selectgroup-item { + flex-grow: 0; +} +.form-selectgroup-pills .form-selectgroup-label { + border-radius: 50px; +} + +/** +Bootstrap color input + */ +.form-control-color::-webkit-color-swatch { + border: none; +} + +/** +Remove the cancel buttons in Chrome and Safari on macOS. + */ +[type=search]::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +/** +Form control dark theme fix + */ +.form-control::-webkit-file-upload-button { + background-color: var(--tblr-btn-color, var(--tblr-tertiary-bg)); +} +.form-control::file-selector-button { + background-color: var(--tblr-btn-color, var(--tblr-tertiary-bg)); +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: var(--tblr-btn-color, var(--tblr-secondary-bg)); +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--tblr-btn-color, var(--tblr-secondary-bg)); +} + +/* +Form check + */ +.form-check { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.form-check.form-check-highlight .form-check-input:not(:checked) ~ .form-check-label { + color: var(--tblr-muted); +} +.form-check .form-check-label-off { + color: var(--tblr-muted); +} +.form-check .form-check-input:checked ~ .form-check-label-off { + display: none; +} +.form-check .form-check-input:not(:checked) ~ .form-check-label-on { + display: none; +} + +.form-check-input { + background-size: 1rem; + margin-top: 0.125rem; +} +.form-switch .form-check-input { + transition: background-color 0.3s, background-position 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} + +.form-check-label { + display: block; +} +.form-check-label.required:after { + content: "*"; + margin-right: 0.25rem; + color: #d63939; +} + +.form-check-description { + display: block; + color: var(--tblr-muted); + font-size: 0.75rem; + margin-top: 0.25rem; +} + +.form-check-single { + margin: 0; +} +.form-check-single .form-check-input { + margin: 0; +} + +/* +Form switch + */ +.form-switch .form-check-input { + height: 1.125rem; + margin-top: 0.0625rem; +} + +.form-switch-lg { + padding-right: 3.5rem; + min-height: 1.5rem; +} +.form-switch-lg .form-check-input { + height: 1.5rem; + width: 2.75rem; + background-size: 1.5rem; + margin-right: -3.5rem; +} +.form-switch-lg .form-check-label { + padding-top: 0.125rem; +} + +/*Correction of Form-check position*/ +.form-check-input:checked { + border: none; +} + +.form-select.is-invalid-lite, .form-control.is-invalid-lite, .form-select.is-valid-lite, .form-control.is-valid-lite { + border-color: var(--tblr-border-color) !important; +} + +/** +Legend + */ +.legend { + --tblr-legend-size: 0.75em; + display: inline-block; + background: var(--tblr-border-color); + width: var(--tblr-legend-size); + height: var(--tblr-legend-size); + border-radius: var(--tblr-border-radius-sm); +} + +.list-group { + margin-right: 0; + margin-left: 0; +} + +.list-group-header { + background: var(--tblr-bg-surface-tertiary); + padding: 0.5rem 1.5rem; + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + line-height: 1; + text-transform: uppercase; + color: var(--tblr-muted); + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} +.list-group-flush > .list-group-header:last-child { + border-bottom-width: 0; +} + +.list-group-item { + background-color: inherit; +} + +.list-group-item.active { + background-color: rgba(var(--tblr-muted-rgb), 0.04); + border-right-color: #206bc4; + border-right-width: 2px; +} + +.list-group-item:active, .list-group-item:focus, .list-group-item:hover { + background-color: rgba(var(--tblr-muted-rgb), 0.04); +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #929dab; + background-color: rgba(var(--tblr-muted-rgb), 0.04); +} + +.list-bordered .list-item { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + margin-top: -1px; +} +.list-bordered .list-item:first-child { + border-top: none; +} + +.list-group-hoverable .list-group-item-actions { + opacity: 0; + transition: opacity 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .list-group-hoverable .list-group-item-actions { + transition: none; + } +} +.list-group-hoverable .list-group-item:hover .list-group-item-actions, +.list-group-hoverable .list-group-item-actions.show { + opacity: 1; +} + +.list-group-transparent { + --tblr-list-group-border-radius: 0; + margin: 0 -1.5rem; +} +.list-group-transparent .list-group-item { + background: none; + border: 0; +} +.list-group-transparent .list-group-item .icon { + color: var(--tblr-muted); +} +.list-group-transparent .list-group-item.active { + font-weight: var(--tblr-font-weight-bold); + color: inherit; + background: var(--tblr-active-bg); +} +.list-group-transparent .list-group-item.active .icon { + color: inherit; +} + +.list-separated-item { + padding: 1rem 0; +} +.list-separated-item:first-child { + padding-top: 0; +} +.list-separated-item:last-child { + padding-bottom: 0; +} +.list-separated-item + .list-separated-item { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +/** +Inline list + */ +.list-inline-item:not(:last-child) { + margin-left: auto; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} + +.list-inline-dots .list-inline-item + .list-inline-item:before { + content: " · "; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} + +.loader { + position: relative; + display: block; + width: 2.5rem; + height: 2.5rem; + color: #206bc4; + vertical-align: middle; +} +.loader:after { + position: absolute; + top: 0; + right: 0; + width: 100%; + height: 100%; + content: ""; + border: 1px var(--tblr-border-style); + border-color: transparent; + border-top-color: currentColor; + border-right-color: currentColor; + border-radius: 100rem; + animation: rotate-360 0.6s linear; + animation-iteration-count: infinite; +} + +/** +Dimmer +*/ +.dimmer { + position: relative; +} +.dimmer .loader { + position: absolute; + top: 50%; + left: 0; + right: 0; + display: none; + margin: 0 auto; + transform: translateY(-50%); +} +.dimmer.active .loader { + display: block; +} +.dimmer.active .dimmer-content { + pointer-events: none; + opacity: 0.1; +} + +@keyframes animated-dots { + 0% { + transform: translateX(100%); + } +} +.animated-dots { + display: inline-block; + overflow: hidden; + vertical-align: bottom; +} +.animated-dots:after { + display: inline-block; + content: "..."; + animation: animated-dots 1.2s steps(4, jump-none) infinite; +} + +.modal-content .btn-close { + position: absolute; + top: 0; + left: 0; + width: 3.5rem; + height: 3.5rem; + margin: 0; + padding: 0; + z-index: 10; +} + +.modal-body { + scrollbar-color: rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.16) transparent; +} +.modal-body::-webkit-scrollbar { + width: 1rem; + height: 1rem; + -webkit-transition: background 0.3s; + transition: background 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .modal-body::-webkit-scrollbar { + -webkit-transition: none; + transition: none; + } +} +.modal-body::-webkit-scrollbar-thumb { + border-radius: 1rem; + border: 5px solid transparent; + box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.16); +} +.modal-body::-webkit-scrollbar-track { + background: transparent; +} +.modal-body:hover::-webkit-scrollbar-thumb { + box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), 0.32); +} +.modal-body::-webkit-scrollbar-corner { + background: transparent; +} +.modal-body .modal-title { + margin-bottom: 1rem; +} +.modal-body + .modal-body { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +.modal-status { + position: absolute; + top: 0; + right: 0; + left: 0; + height: 2px; + background: var(--tblr-muted); + border-radius: var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0; +} + +.modal-header { + align-items: center; + min-height: 3.5rem; + background: transparent; + padding: 0 1.5rem 0 3.5rem; +} + +.modal-title { + font-size: 1rem; + font-weight: var(--tblr-font-weight-bold); + line-height: 1.4285714286; +} + +.modal-footer { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.modal-blur { + -webkit-backdrop-filter: blur(4px); + backdrop-filter: blur(4px); +} + +.modal-full-width { + max-width: none; + margin: 0 0.5rem; +} + +.nav-vertical, +.nav-vertical .nav { + flex-direction: column; + flex-wrap: nowrap; +} +.nav-vertical .nav { + margin-right: 1.25rem; + border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + padding-right: 0.5rem; +} +.nav-vertical .nav-link.active, +.nav-vertical .nav-item.show .nav-link { + font-weight: var(--tblr-font-weight-bold); +} +.nav-vertical.nav-pills { + margin: 0 -0.75rem; +} + +.nav-bordered { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} +.nav-bordered .nav-item + .nav-item { + margin-right: 1.25rem; +} +.nav-bordered .nav-link { + padding-right: 0; + padding-left: 0; + margin: 0 0 -var(--tblr-border-width); + border: 0; + border-bottom: 2px var(--tblr-border-style) transparent; + color: var(--tblr-muted); +} +.nav-bordered .nav-link.active, +.nav-bordered .nav-item.show .nav-link { + color: var(--tblr-primary); + border-color: var(--tblr-primary); +} + +.nav-link { + display: flex; + transition: color 0.3s; + align-items: center; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} + +.nav-link-toggle { + margin-right: auto; + padding: 0 0.25rem; + transition: transform 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .nav-link-toggle { + transition: none; + } +} +.nav-link-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.306em; + width: 0.36em; + height: 0.36em; + border-bottom: 1px var(--tblr-border-style); + border-right: 1px var(--tblr-border-style); + margin-left: 0.1em; + margin-right: 0.4em; + transform: rotate(45deg); +} +.nav-link-toggle:after { + margin: 0; +} +.nav-link[aria-expanded=true] .nav-link-toggle { + transform: rotate(-180deg); +} + +.nav-link-icon { + width: 1.25rem; + height: 1.25rem; + margin-left: 0.5rem; + color: var(--tblr-icon-color); +} +.nav-link-icon svg { + display: block; + height: 100%; +} + +.nav-fill .nav-item .nav-link { + justify-content: center; +} + +.stars { + display: inline-flex; + color: #bbc3cd; + font-size: 0.75rem; +} +.stars .star:not(:first-child) { + margin-right: 0.25rem; +} + +.pagination { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.page-link { + min-width: 1.75rem; + border-radius: var(--tblr-border-radius); +} + +.page-item { + text-align: center; +} +.page-item:not(.active) .page-link:hover { + background: transparent; +} +.page-item.page-prev, .page-item.page-next { + flex: 0 0 50%; + text-align: right; +} +.page-item.page-next { + margin-right: auto; + text-align: left; +} + +.page-item-subtitle { + margin-bottom: 2px; + font-size: 12px; + color: var(--tblr-muted); + text-transform: uppercase; +} +.page-item.disabled .page-item-subtitle { + color: var(--tblr-disabled-color); +} + +.page-item-title { + font-size: 1rem; + font-weight: var(--tblr-font-weight-normal); + color: var(--tblr-body-color); +} +.page-link:hover .page-item-title { + color: #206bc4; +} +.page-item.disabled .page-item-title { + color: var(--tblr-disabled-color); +} + +@keyframes progress-indeterminate { + 0% { + left: 100%; + right: -35%; + } + 100%, 60% { + left: -90%; + right: 100%; + } +} +/** +Progress + */ +.progress { + position: relative; + width: 100%; + line-height: 0.5rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.progress::-webkit-progress-bar { + background: var(--tblr-progress-bg); +} +.progress::-webkit-progress-value { + background-color: var(--tblr-primary); +} +.progress::-moz-progress-bar { + background-color: var(--tblr-primary); +} +.progress::-ms-fill { + background-color: var(--tblr-primary); + border: none; +} + +.progress-sm { + height: 0.25rem; +} + +/** +Progress bar + */ +.progress-bar { + height: 100%; +} + +.progress-bar-indeterminate:after, .progress-bar-indeterminate:before { + position: absolute; + top: 0; + bottom: 0; + right: 0; + content: ""; + background-color: inherit; + will-change: left, right; +} +.progress-bar-indeterminate:before { + animation: progress-indeterminate 1.5s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; +} + +.progress-separated .progress-bar { + box-shadow: 0 0 0 2px var(--tblr-card-bg, var(--tblr-bg-surface)); +} + +/** +Progressbg + */ +.progressbg { + position: relative; + padding: 0.25rem 0.5rem; + display: flex; +} + +.progressbg-text { + position: relative; + z-index: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.progressbg-progress { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 0; + height: 100%; + background: transparent; + pointer-events: none; +} + +.progressbg-value { + font-weight: var(--tblr-font-weight-medium); + margin-right: auto; + padding-right: 2rem; +} + +.ribbon { + --tblr-ribbon-margin: 0.25rem; + --tblr-ribbon-border-radius: var(--tblr-border-radius); + position: absolute; + top: 0.75rem; + left: calc(-1 * var(--tblr-ribbon-margin)); + z-index: 1; + padding: 0.25rem 0.75rem; + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + line-height: 1; + color: #ffffff; + text-align: center; + text-transform: uppercase; + background: var(--tblr-primary); + border-color: var(--tblr-primary); + border-radius: 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius); + display: inline-flex; + align-items: center; + justify-content: center; + min-height: 2rem; + min-width: 2rem; +} +.ribbon:before { + position: absolute; + left: 0; + bottom: 100%; + width: 0; + height: 0; + content: ""; + filter: brightness(70%); + border: calc(var(--tblr-ribbon-margin) * 0.5) var(--tblr-border-style); + border-color: inherit; + border-top-color: transparent; + border-left-color: transparent; +} +.ribbon.bg-blue { + border-color: var(--tblr-blue); +} +.ribbon.bg-blue-lt { + border-color: rgba(var(--tblr-blue-rgb), 0.1) !important; +} +.ribbon.bg-azure { + border-color: var(--tblr-azure); +} +.ribbon.bg-azure-lt { + border-color: rgba(var(--tblr-azure-rgb), 0.1) !important; +} +.ribbon.bg-indigo { + border-color: var(--tblr-indigo); +} +.ribbon.bg-indigo-lt { + border-color: rgba(var(--tblr-indigo-rgb), 0.1) !important; +} +.ribbon.bg-purple { + border-color: var(--tblr-purple); +} +.ribbon.bg-purple-lt { + border-color: rgba(var(--tblr-purple-rgb), 0.1) !important; +} +.ribbon.bg-pink { + border-color: var(--tblr-pink); +} +.ribbon.bg-pink-lt { + border-color: rgba(var(--tblr-pink-rgb), 0.1) !important; +} +.ribbon.bg-red { + border-color: var(--tblr-red); +} +.ribbon.bg-red-lt { + border-color: rgba(var(--tblr-red-rgb), 0.1) !important; +} +.ribbon.bg-orange { + border-color: var(--tblr-orange); +} +.ribbon.bg-orange-lt { + border-color: rgba(var(--tblr-orange-rgb), 0.1) !important; +} +.ribbon.bg-yellow { + border-color: var(--tblr-yellow); +} +.ribbon.bg-yellow-lt { + border-color: rgba(var(--tblr-yellow-rgb), 0.1) !important; +} +.ribbon.bg-lime { + border-color: var(--tblr-lime); +} +.ribbon.bg-lime-lt { + border-color: rgba(var(--tblr-lime-rgb), 0.1) !important; +} +.ribbon.bg-green { + border-color: var(--tblr-green); +} +.ribbon.bg-green-lt { + border-color: rgba(var(--tblr-green-rgb), 0.1) !important; +} +.ribbon.bg-teal { + border-color: var(--tblr-teal); +} +.ribbon.bg-teal-lt { + border-color: rgba(var(--tblr-teal-rgb), 0.1) !important; +} +.ribbon.bg-cyan { + border-color: var(--tblr-cyan); +} +.ribbon.bg-cyan-lt { + border-color: rgba(var(--tblr-cyan-rgb), 0.1) !important; +} +.ribbon .icon { + width: 1.25rem; + height: 1.25rem; + font-size: 1.25rem; +} + +.ribbon-top { + top: calc(-1 * var(--tblr-ribbon-margin)); + left: 0.75rem; + width: 2rem; + padding: 0.5rem 0; + border-radius: var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius); +} +.ribbon-top:before { + top: 0; + left: 100%; + bottom: auto; + border-color: inherit; + border-top-color: transparent; + border-right-color: transparent; +} +.ribbon-top.ribbon-start { + left: auto; + right: 0.75rem; +} +.ribbon-top.ribbon-start:before { + top: 0; + left: 100%; + right: auto; +} + +.ribbon-start { + left: auto; + right: calc(-1 * var(--tblr-ribbon-margin)); +} +.ribbon-start:before { + top: auto; + bottom: 100%; + right: 0; + border-color: inherit; + border-top-color: transparent; + border-right-color: transparent; +} + +.ribbon-bottom { + top: auto; + bottom: 0.75rem; +} + +.ribbon-bookmark { + padding-right: 0.25rem; + border-radius: 0 0 0 var(--tblr-ribbon-border-radius); +} +.ribbon-bookmark:after { + position: absolute; + top: 0; + left: 100%; + display: block; + width: 0; + height: 0; + content: ""; + border: 1rem var(--tblr-border-style); + border-color: inherit; + border-left-width: 0; + border-right-color: transparent; + border-right-width: 0.5rem; +} +.ribbon-bookmark.ribbon-left { + padding-left: 0.5rem; +} +.ribbon-bookmark.ribbon-left:after { + left: auto; + right: 100%; + border-left-color: transparent; + border-left-width: 0.5rem; + border-right-width: 0; +} +.ribbon-bookmark.ribbon-top { + padding-left: 0; + padding-bottom: 0.25rem; + padding-right: 0; + border-radius: var(--tblr-ribbon-border-radius) 0 0 0; +} +.ribbon-bookmark.ribbon-top:after { + top: 100%; + left: 0; + right: 0; + border-color: inherit; + border-width: 1rem; + border-top-width: 0; + border-bottom-color: transparent; + border-bottom-width: 0.5rem; +} + +/** +Markdown + */ +.markdown { + line-height: 1.7142857143; +} +.markdown > :first-child { + margin-top: 0; +} +.markdown > :last-child, +.markdown > :last-child .highlight { + margin-bottom: 0; +} +@media (min-width: 768px) { + .markdown > hr, .markdown > .hr { + margin-top: 3em; + margin-bottom: 3em; + } +} +.markdown > h1, .markdown > .h1, .markdown > h2, .markdown > .h2, .markdown > h3, .markdown > .h3, .markdown > h4, .markdown > .h4, .markdown > h5, .markdown > .h5, .markdown > h6, .markdown > .h6 { + font-weight: var(--tblr-font-weight-bold); +} +.markdown > blockquote { + font-size: 1rem; + margin: 1.5rem 0; + padding: 0.5rem 1.5rem; +} +.markdown > img { + border-radius: var(--tblr-border-radius); +} + +.placeholder:not(.btn):not([class*=bg-]) { + background-color: currentColor !important; +} +.placeholder:not(.avatar):not([class*=card-img-]) { + border-radius: var(--tblr-border-radius); +} + +.steps { + --tblr-steps-color: var(--tblr-primary); + --tblr-steps-inactive-color: var(--tblr-border-color); + --tblr-steps-dot-size: .5rem; + --tblr-steps-border-width: 2px; + display: flex; + flex-wrap: nowrap; + width: 100%; + padding: 0; + margin: 0; + list-style: none; +} + +.steps-blue { + --tblr-steps-color: var(--tblr-blue); +} + +.steps-azure { + --tblr-steps-color: var(--tblr-azure); +} + +.steps-indigo { + --tblr-steps-color: var(--tblr-indigo); +} + +.steps-purple { + --tblr-steps-color: var(--tblr-purple); +} + +.steps-pink { + --tblr-steps-color: var(--tblr-pink); +} + +.steps-red { + --tblr-steps-color: var(--tblr-red); +} + +.steps-orange { + --tblr-steps-color: var(--tblr-orange); +} + +.steps-yellow { + --tblr-steps-color: var(--tblr-yellow); +} + +.steps-lime { + --tblr-steps-color: var(--tblr-lime); +} + +.steps-green { + --tblr-steps-color: var(--tblr-green); +} + +.steps-teal { + --tblr-steps-color: var(--tblr-teal); +} + +.steps-cyan { + --tblr-steps-color: var(--tblr-cyan); +} + +.step-item { + position: relative; + flex: 1 1 0; + min-height: 1rem; + margin-top: 0; + color: inherit; + text-align: center; + cursor: default; + padding-top: calc(var(--tblr-steps-dot-size)); +} +a.step-item { + cursor: pointer; +} +a.step-item:hover { + color: inherit; +} + +.step-item:after, .step-item:before { + background: var(--tblr-steps-color); +} +.step-item:not(:last-child):after { + position: absolute; + right: 50%; + width: 100%; + content: ""; + transform: translateY(-50%); +} +.step-item:after { + top: calc(var(--tblr-steps-dot-size) * 0.5); + height: var(--tblr-steps-border-width); +} +.step-item:before { + content: ""; + position: absolute; + top: 0; + right: 50%; + z-index: 1; + box-sizing: content-box; + display: flex; + align-items: center; + justify-content: center; + border-radius: 100rem; + transform: translateX(50%); + color: var(--tblr-white); + width: var(--tblr-steps-dot-size); + height: var(--tblr-steps-dot-size); +} +.step-item.active { + font-weight: var(--tblr-font-weight-bold); +} +.step-item.active:after { + background: var(--tblr-steps-inactive-color); +} +.step-item.active ~ .step-item { + color: var(--tblr-disabled-color); +} +.step-item.active ~ .step-item:after, .step-item.active ~ .step-item:before { + background: var(--tblr-steps-inactive-color); +} + +.steps-counter { + --tblr-steps-dot-size: 1.5rem; + counter-reset: steps; +} +.steps-counter .step-item { + counter-increment: steps; +} +.steps-counter .step-item:before { + content: counter(steps); +} + +.steps-vertical { + --tblr-steps-dot-offset: 6px; + flex-direction: column; +} +.steps-vertical.steps-counter { + --tblr-steps-dot-offset: -2px; +} +.steps-vertical .step-item { + text-align: right; + padding-top: 0; + padding-right: calc(var(--tblr-steps-dot-size) + 1rem); + min-height: auto; +} +.steps-vertical .step-item:not(:first-child) { + margin-top: 1rem; +} +.steps-vertical .step-item:before { + top: var(--tblr-steps-dot-offset); + right: 0; + transform: translate(0, 0); +} +.steps-vertical .step-item:not(:last-child):after { + position: absolute; + content: ""; + transform: translateX(50%); + top: var(--tblr-steps-dot-offset); + right: calc(var(--tblr-steps-dot-size) * 0.5); + width: var(--tblr-steps-border-width); + height: calc(100% + 1rem); +} + +@keyframes status-pulsate-main { + 40% { + transform: scale(1.25, 1.25); + } + 60% { + transform: scale(1.25, 1.25); + } +} +@keyframes status-pulsate-secondary { + 10% { + transform: scale(1, 1); + } + 30% { + transform: scale(3, 3); + } + 80% { + transform: scale(3, 3); + } + 100% { + transform: scale(1, 1); + } +} +@keyframes status-pulsate-tertiary { + 25% { + transform: scale(1, 1); + } + 80% { + transform: scale(3, 3); + opacity: 0; + } + 100% { + transform: scale(3, 3); + opacity: 0; + } +} +.status { + --tblr-status-height: 1.5rem; + --tblr-status-color: #667382; + --tblr-status-color-rgb: 102, 115, 130; + display: inline-flex; + align-items: center; + height: var(--tblr-status-height); + padding: 0.25rem 0.75rem; + gap: 0.5rem; + color: var(--tblr-status-color); + background: rgba(var(--tblr-status-color-rgb), 0.1); + font-size: 0.875rem; + text-transform: none; + letter-spacing: normal; + border-radius: 100rem; + font-weight: var(--tblr-font-weight-medium); + line-height: 1; + margin: 0; +} +.status .status-dot { + background: var(--tblr-status-color); +} +.status .icon { + font-size: 1.25rem; +} + +.status-lite { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; + background: transparent !important; + color: var(--tblr-body-color) !important; +} + +.status-primary { + --tblr-status-color: #206bc4; + --tblr-status-color-rgb: 32, 107, 196; +} + +.status-secondary { + --tblr-status-color: #667382; + --tblr-status-color-rgb: 102, 115, 130; +} + +.status-success { + --tblr-status-color: #2fb344; + --tblr-status-color-rgb: 47, 179, 68; +} + +.status-info { + --tblr-status-color: #4299e1; + --tblr-status-color-rgb: 66, 153, 225; +} + +.status-warning { + --tblr-status-color: #f76707; + --tblr-status-color-rgb: 247, 103, 7; +} + +.status-danger { + --tblr-status-color: #d63939; + --tblr-status-color-rgb: 214, 57, 57; +} + +.status-light { + --tblr-status-color: #fcfdfe; + --tblr-status-color-rgb: 252, 253, 254; +} + +.status-dark { + --tblr-status-color: #182433; + --tblr-status-color-rgb: 24, 36, 51; +} + +.status-muted { + --tblr-status-color: #667382; + --tblr-status-color-rgb: 102, 115, 130; +} + +.status-blue { + --tblr-status-color: #206bc4; + --tblr-status-color-rgb: 32, 107, 196; +} + +.status-azure { + --tblr-status-color: #4299e1; + --tblr-status-color-rgb: 66, 153, 225; +} + +.status-indigo { + --tblr-status-color: #4263eb; + --tblr-status-color-rgb: 66, 99, 235; +} + +.status-purple { + --tblr-status-color: #ae3ec9; + --tblr-status-color-rgb: 174, 62, 201; +} + +.status-pink { + --tblr-status-color: #d6336c; + --tblr-status-color-rgb: 214, 51, 108; +} + +.status-red { + --tblr-status-color: #d63939; + --tblr-status-color-rgb: 214, 57, 57; +} + +.status-orange { + --tblr-status-color: #f76707; + --tblr-status-color-rgb: 247, 103, 7; +} + +.status-yellow { + --tblr-status-color: #f59f00; + --tblr-status-color-rgb: 245, 159, 0; +} + +.status-lime { + --tblr-status-color: #74b816; + --tblr-status-color-rgb: 116, 184, 22; +} + +.status-green { + --tblr-status-color: #2fb344; + --tblr-status-color-rgb: 47, 179, 68; +} + +.status-teal { + --tblr-status-color: #0ca678; + --tblr-status-color-rgb: 12, 166, 120; +} + +.status-cyan { + --tblr-status-color: #17a2b8; + --tblr-status-color-rgb: 23, 162, 184; +} + +.status-facebook { + --tblr-status-color: #1877f2; + --tblr-status-color-rgb: 24, 119, 242; +} + +.status-twitter { + --tblr-status-color: #1da1f2; + --tblr-status-color-rgb: 29, 161, 242; +} + +.status-linkedin { + --tblr-status-color: #0a66c2; + --tblr-status-color-rgb: 10, 102, 194; +} + +.status-google { + --tblr-status-color: #dc4e41; + --tblr-status-color-rgb: 220, 78, 65; +} + +.status-youtube { + --tblr-status-color: #ff0000; + --tblr-status-color-rgb: 255, 0, 0; +} + +.status-vimeo { + --tblr-status-color: #1ab7ea; + --tblr-status-color-rgb: 26, 183, 234; +} + +.status-dribbble { + --tblr-status-color: #ea4c89; + --tblr-status-color-rgb: 234, 76, 137; +} + +.status-github { + --tblr-status-color: #181717; + --tblr-status-color-rgb: 24, 23, 23; +} + +.status-instagram { + --tblr-status-color: #e4405f; + --tblr-status-color-rgb: 228, 64, 95; +} + +.status-pinterest { + --tblr-status-color: #bd081c; + --tblr-status-color-rgb: 189, 8, 28; +} + +.status-vk { + --tblr-status-color: #6383a8; + --tblr-status-color-rgb: 99, 131, 168; +} + +.status-rss { + --tblr-status-color: #ffa500; + --tblr-status-color-rgb: 255, 165, 0; +} + +.status-flickr { + --tblr-status-color: #0063dc; + --tblr-status-color-rgb: 0, 99, 220; +} + +.status-bitbucket { + --tblr-status-color: #0052cc; + --tblr-status-color-rgb: 0, 82, 204; +} + +.status-tabler { + --tblr-status-color: #206bc4; + --tblr-status-color-rgb: 32, 107, 196; +} + +.status-dot { + --tblr-status-dot-color: var(--tblr-status-color, #667382); + --tblr-status-size: 0.5rem; + position: relative; + display: inline-block; + width: var(--tblr-status-size); + height: var(--tblr-status-size); + background: var(--tblr-status-dot-color); + border-radius: 100rem; +} + +.status-dot-animated:before { + content: ""; + position: absolute; + inset: 0; + z-index: 0; + background: inherit; + border-radius: inherit; + opacity: 0.6; + animation: 1s linear 2s backwards infinite status-pulsate-tertiary; +} + +.status-indicator { + --tblr-status-indicator-size: 2.5rem; + --tblr-status-indicator-color: var(--tblr-status-color, #667382); + display: block; + position: relative; + width: var(--tblr-status-indicator-size); + height: var(--tblr-status-indicator-size); +} + +.status-indicator-circle { + --tblr-status-circle-size: .75rem; + position: absolute; + right: 50%; + top: 50%; + margin: calc(var(--tblr-status-circle-size) / -2) calc(var(--tblr-status-circle-size) / -2) 0 0; + width: var(--tblr-status-circle-size); + height: var(--tblr-status-circle-size); + border-radius: 100rem; + background: var(--tblr-status-color); +} +.status-indicator-circle:nth-child(1) { + z-index: 3; +} +.status-indicator-circle:nth-child(2) { + z-index: 2; + opacity: 0.1; +} +.status-indicator-circle:nth-child(3) { + z-index: 1; + opacity: 0.3; +} + +.status-indicator-animated .status-indicator-circle:nth-child(1) { + animation: 2s linear 1s infinite backwards status-pulsate-main; +} +.status-indicator-animated .status-indicator-circle:nth-child(2) { + animation: 2s linear 1s infinite backwards status-pulsate-secondary; +} +.status-indicator-animated .status-indicator-circle:nth-child(3) { + animation: 2s linear 1s infinite backwards status-pulsate-tertiary; +} + +.switch-icon { + display: inline-block; + line-height: 1; + border: 0; + padding: 0; + background: transparent; + width: 1.25rem; + height: 1.25rem; + vertical-align: bottom; + position: relative; + cursor: pointer; +} +.switch-icon.disabled { + pointer-events: none; + opacity: 0.4; +} +.switch-icon:focus { + outline: none; +} +.switch-icon svg { + display: block; + width: 100%; + height: 100%; +} +.switch-icon .switch-icon-a, +.switch-icon .switch-icon-b { + display: block; + width: 100%; + height: 100%; +} +.switch-icon .switch-icon-a { + opacity: 1; +} +.switch-icon .switch-icon-b { + position: absolute; + top: 0; + right: 0; + opacity: 0; +} +.switch-icon.active .switch-icon-a { + opacity: 0; +} +.switch-icon.active .switch-icon-b { + opacity: 1; +} + +.switch-icon-fade .switch-icon-a, +.switch-icon-fade .switch-icon-b { + transition: opacity 0.5s; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-fade .switch-icon-a, + .switch-icon-fade .switch-icon-b { + transition: none; + } +} + +.switch-icon-scale .switch-icon-a, +.switch-icon-scale .switch-icon-b { + transition: opacity 0.5s, transform 0s 0.5s; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-scale .switch-icon-a, + .switch-icon-scale .switch-icon-b { + transition: none; + } +} +.switch-icon-scale .switch-icon-b { + transform: scale(1.5); +} +.switch-icon-scale.active .switch-icon-a, +.switch-icon-scale.active .switch-icon-b { + transition: opacity 0s, transform 0.5s; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-scale.active .switch-icon-a, + .switch-icon-scale.active .switch-icon-b { + transition: none; + } +} +.switch-icon-scale.active .switch-icon-b { + transform: scale(1); +} + +.switch-icon-flip { + perspective: 10em; +} +.switch-icon-flip .switch-icon-a, +.switch-icon-flip .switch-icon-b { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transform-style: preserve-3d; + transition: opacity 0s 0.2s, transform 0.4s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-flip .switch-icon-a, + .switch-icon-flip .switch-icon-b { + transition: none; + } +} +.switch-icon-flip .switch-icon-a { + opacity: 1; + transform: rotateY(0deg); +} +.switch-icon-flip .switch-icon-b { + opacity: 1; + transform: rotateY(180deg); +} +.switch-icon-flip.active .switch-icon-a { + opacity: 1; + transform: rotateY(-180deg); +} +.switch-icon-flip.active .switch-icon-b { + opacity: 1; + transform: rotateY(0deg); +} + +.switch-icon-slide-up, +.switch-icon-slide-right, +.switch-icon-slide-left, +.switch-icon-slide-down { + overflow: hidden; +} +.switch-icon-slide-up .switch-icon-a, +.switch-icon-slide-up .switch-icon-b, +.switch-icon-slide-right .switch-icon-a, +.switch-icon-slide-right .switch-icon-b, +.switch-icon-slide-left .switch-icon-a, +.switch-icon-slide-left .switch-icon-b, +.switch-icon-slide-down .switch-icon-a, +.switch-icon-slide-down .switch-icon-b { + transition: opacity 0.3s, transform 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-slide-up .switch-icon-a, + .switch-icon-slide-up .switch-icon-b, + .switch-icon-slide-right .switch-icon-a, + .switch-icon-slide-right .switch-icon-b, + .switch-icon-slide-left .switch-icon-a, + .switch-icon-slide-left .switch-icon-b, + .switch-icon-slide-down .switch-icon-a, + .switch-icon-slide-down .switch-icon-b { + transition: none; + } +} +.switch-icon-slide-up .switch-icon-a, +.switch-icon-slide-right .switch-icon-a, +.switch-icon-slide-left .switch-icon-a, +.switch-icon-slide-down .switch-icon-a { + transform: translateY(0); +} +.switch-icon-slide-up .switch-icon-b, +.switch-icon-slide-right .switch-icon-b, +.switch-icon-slide-left .switch-icon-b, +.switch-icon-slide-down .switch-icon-b { + transform: translateY(100%); +} +.switch-icon-slide-up.active .switch-icon-a, +.switch-icon-slide-right.active .switch-icon-a, +.switch-icon-slide-left.active .switch-icon-a, +.switch-icon-slide-down.active .switch-icon-a { + transform: translateY(-100%); +} +.switch-icon-slide-up.active .switch-icon-b, +.switch-icon-slide-right.active .switch-icon-b, +.switch-icon-slide-left.active .switch-icon-b, +.switch-icon-slide-down.active .switch-icon-b { + transform: translateY(0); +} + +.switch-icon-slide-right .switch-icon-a { + transform: translateX(0); +} +.switch-icon-slide-left .switch-icon-b { + transform: translateX(-100%); +} +.switch-icon-slide-left.active .switch-icon-a { + transform: translateX(100%); +} +.switch-icon-slide-right.active .switch-icon-b { + transform: translateX(0); +} + +.switch-icon-slide-left .switch-icon-a { + transform: translateX(0); +} +.switch-icon-slide-right .switch-icon-b { + transform: translateX(100%); +} +.switch-icon-slide-right.active .switch-icon-a { + transform: translateX(-100%); +} +.switch-icon-slide-left.active .switch-icon-b { + transform: translateX(0); +} + +.switch-icon-slide-down .switch-icon-a { + transform: translateY(0); +} +.switch-icon-slide-down .switch-icon-b { + transform: translateY(-100%); +} +.switch-icon-slide-down.active .switch-icon-a { + transform: translateY(100%); +} +.switch-icon-slide-down.active .switch-icon-b { + transform: translateY(0); +} + +.table thead th, .markdown > table thead th { + color: var(--tblr-muted); + background: var(--tblr-bg-surface-tertiary); + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + white-space: nowrap; +} +@media print { + .table thead th, .markdown > table thead th { + background: transparent; + } +} + +.table-responsive .table, .table-responsive .markdown > table { + margin-bottom: 0; +} +.table-responsive + .card-footer { + border-top: 0; +} + +.table-transparent thead th { + background: transparent; +} + +.table-nowrap > :not(caption) > * > * { + white-space: nowrap; +} + +.table-vcenter > :not(caption) > * > * { + vertical-align: middle; +} + +.table-center > :not(caption) > * > * { + text-align: center; +} + +.td-truncate { + max-width: 1px; + width: 100%; +} + +.table-mobile { + display: block; +} +.table-mobile thead { + display: none; +} +.table-mobile tbody, +.table-mobile tr { + display: flex; + flex-direction: column; +} +.table-mobile td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; +} +.table-mobile td[data-label]:before { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + content: attr(data-label); + display: block; +} +.table-mobile tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); +} +.table-mobile .btn { + display: block; +} +@media (max-width: 575.98px) { + .table-mobile-sm { + display: block; + } + .table-mobile-sm thead { + display: none; + } + .table-mobile-sm tbody, + .table-mobile-sm tr { + display: flex; + flex-direction: column; + } + .table-mobile-sm td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-sm td[data-label]:before { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + content: attr(data-label); + display: block; + } + .table-mobile-sm tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-sm .btn { + display: block; + } +} +@media (max-width: 767.98px) { + .table-mobile-md { + display: block; + } + .table-mobile-md thead { + display: none; + } + .table-mobile-md tbody, + .table-mobile-md tr { + display: flex; + flex-direction: column; + } + .table-mobile-md td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-md td[data-label]:before { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + content: attr(data-label); + display: block; + } + .table-mobile-md tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-md .btn { + display: block; + } +} +@media (max-width: 991.98px) { + .table-mobile-lg { + display: block; + } + .table-mobile-lg thead { + display: none; + } + .table-mobile-lg tbody, + .table-mobile-lg tr { + display: flex; + flex-direction: column; + } + .table-mobile-lg td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-lg td[data-label]:before { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + content: attr(data-label); + display: block; + } + .table-mobile-lg tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-lg .btn { + display: block; + } +} +@media (max-width: 1199.98px) { + .table-mobile-xl { + display: block; + } + .table-mobile-xl thead { + display: none; + } + .table-mobile-xl tbody, + .table-mobile-xl tr { + display: flex; + flex-direction: column; + } + .table-mobile-xl td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-xl td[data-label]:before { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + content: attr(data-label); + display: block; + } + .table-mobile-xl tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-xl .btn { + display: block; + } +} +@media (max-width: 1399.98px) { + .table-mobile-xxl { + display: block; + } + .table-mobile-xxl thead { + display: none; + } + .table-mobile-xxl tbody, + .table-mobile-xxl tr { + display: flex; + flex-direction: column; + } + .table-mobile-xxl td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-xxl td[data-label]:before { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + content: attr(data-label); + display: block; + } + .table-mobile-xxl tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-xxl .btn { + display: block; + } +} + +/** +Table sort + */ +.table-sort { + font: inherit; + color: inherit; + text-transform: inherit; + letter-spacing: inherit; + border: 0; + background: inherit; + display: block; + width: 100%; + text-align: inherit; + transition: color 0.3s; + margin: -0.5rem -0.75rem; + padding: 0.5rem 0.75rem; +} +@media (prefers-reduced-motion: reduce) { + .table-sort { + transition: none; + } +} +.table-sort:hover, .table-sort.asc, .table-sort.desc { + color: var(--tblr-body-color); +} +.table-sort:after { + content: ""; + display: inline-flex; + width: 1rem; + height: 1rem; + vertical-align: bottom; + -webkit-mask-image: url("data:image/svg+xml,"); + mask-image: url("data:image/svg+xml,"); + background: currentColor; + margin-right: 0.25rem; +} +.table-sort.asc:after { + -webkit-mask-image: url("data:image/svg+xml,"); + mask-image: url("data:image/svg+xml,"); +} +.table-sort.desc:after { + -webkit-mask-image: url("data:image/svg+xml,"); + mask-image: url("data:image/svg+xml,"); +} + +.table-borderless thead th { + background: transparent; +} + +.toast { + background: #ffffff; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + box-shadow: rgba(24, 36, 51, 0.04) 0 2px 4px 0; +} +.toast .toast-header { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.toast button[data-bs-dismiss=toast] { + outline: none; +} + +.toast-primary { + --tblr-toast-color: #206bc4; +} + +.toast-secondary { + --tblr-toast-color: #667382; +} + +.toast-success { + --tblr-toast-color: #2fb344; +} + +.toast-info { + --tblr-toast-color: #4299e1; +} + +.toast-warning { + --tblr-toast-color: #f76707; +} + +.toast-danger { + --tblr-toast-color: #d63939; +} + +.toast-light { + --tblr-toast-color: #fcfdfe; +} + +.toast-dark { + --tblr-toast-color: #182433; +} + +.toast-muted { + --tblr-toast-color: #667382; +} + +.toast-blue { + --tblr-toast-color: #206bc4; +} + +.toast-azure { + --tblr-toast-color: #4299e1; +} + +.toast-indigo { + --tblr-toast-color: #4263eb; +} + +.toast-purple { + --tblr-toast-color: #ae3ec9; +} + +.toast-pink { + --tblr-toast-color: #d6336c; +} + +.toast-red { + --tblr-toast-color: #d63939; +} + +.toast-orange { + --tblr-toast-color: #f76707; +} + +.toast-yellow { + --tblr-toast-color: #f59f00; +} + +.toast-lime { + --tblr-toast-color: #74b816; +} + +.toast-green { + --tblr-toast-color: #2fb344; +} + +.toast-teal { + --tblr-toast-color: #0ca678; +} + +.toast-cyan { + --tblr-toast-color: #17a2b8; +} + +.toast-facebook { + --tblr-toast-color: #1877f2; +} + +.toast-twitter { + --tblr-toast-color: #1da1f2; +} + +.toast-linkedin { + --tblr-toast-color: #0a66c2; +} + +.toast-google { + --tblr-toast-color: #dc4e41; +} + +.toast-youtube { + --tblr-toast-color: #ff0000; +} + +.toast-vimeo { + --tblr-toast-color: #1ab7ea; +} + +.toast-dribbble { + --tblr-toast-color: #ea4c89; +} + +.toast-github { + --tblr-toast-color: #181717; +} + +.toast-instagram { + --tblr-toast-color: #e4405f; +} + +.toast-pinterest { + --tblr-toast-color: #bd081c; +} + +.toast-vk { + --tblr-toast-color: #6383a8; +} + +.toast-rss { + --tblr-toast-color: #ffa500; +} + +.toast-flickr { + --tblr-toast-color: #0063dc; +} + +.toast-bitbucket { + --tblr-toast-color: #0052cc; +} + +.toast-tabler { + --tblr-toast-color: #206bc4; +} + +.toolbar { + display: flex; + flex-wrap: nowrap; + flex-shrink: 0; + margin: 0 -0.5rem; +} +.toolbar > * { + margin: 0 0.5rem; +} + +.tracking { + --tblr-tracking-height: 1.5rem; + --tblr-tracking-gap-width: 0.125rem; + --tblr-tracking-block-border-radius: var(--tblr-border-radius); + display: flex; + gap: var(--tblr-tracking-gap-width); +} + +.tracking-squares { + --tblr-tracking-block-border-radius: var(--tblr-border-radius-sm); +} +.tracking-squares .tracking-block { + height: auto; +} +.tracking-squares .tracking-block:before { + content: ""; + display: block; + padding-top: 100%; +} + +.tracking-block { + flex: 1; + border-radius: var(--tblr-tracking-block-border-radius); + height: var(--tblr-tracking-height); + min-width: 0.25rem; + background: var(--tblr-border-color); +} + +.timeline { + --tblr-timeline-icon-size: 2.5rem; + position: relative; + list-style: none; + padding: 0; +} + +.timeline-event { + position: relative; +} +.timeline-event:not(:last-child) { + margin-bottom: var(--tblr-page-padding); +} +.timeline-event:not(:last-child):before { + content: ""; + position: absolute; + top: var(--tblr-timeline-icon-size); + right: calc(var(--tblr-timeline-icon-size) / 2); + bottom: calc(-1 * var(--tblr-page-padding)); + width: var(--tblr-border-width); + background-color: var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} + +.timeline-event-icon { + position: absolute; + display: flex; + align-items: center; + justify-content: center; + width: var(--tblr-timeline-icon-size, 2.5rem); + height: var(--tblr-timeline-icon-size, 2.5rem); + background: var(--tblr-gray-200); + color: var(--tblr-muted); + border-radius: var(--tblr-border-radius); + z-index: 5; +} + +.timeline-event-card { + margin-right: calc(var(--tblr-timeline-icon-size, 2.5rem) + var(--tblr-page-padding)); +} + +.timeline-simple .timeline-event-icon { + display: none; +} +.timeline-simple .timeline-event-card { + margin-right: 0; +} + +/** +Horizontal rules + */ +/** +Hr text + */ +.hr-text { + display: flex; + align-items: center; + margin: 2rem 0; + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); + height: 1px; +} +.hr-text:after, .hr-text:before { + flex: 1 1 auto; + height: 1px; + background-color: var(--tblr-border-color); +} +.hr-text:before { + content: ""; + margin-left: 0.5rem; +} +.hr-text:after { + content: ""; + margin-right: 0.5rem; +} +.hr-text > *:first-child { + padding-left: 0.5rem; + padding-right: 0; + color: var(--tblr-muted); +} +.hr-text.hr-text-right:before { + content: none; +} +.hr-text.hr-text-left > *:first-child { + padding-left: 0.5rem; + padding-right: 0.5rem; +} +.hr-text.hr-text-left:before { + content: ""; +} +.hr-text.hr-text-left:after { + content: none; +} +.hr-text.hr-text-right > *:first-child { + padding-left: 0; + padding-right: 0.5rem; +} +.card > .hr-text { + margin: 0; +} + +.hr-text-spaceless { + margin: -0.5rem 0; +} + +.lead { + line-height: 1.4; +} + +a { + -webkit-text-decoration-skip: ink; + text-decoration-skip-ink: auto; +} + +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a, +.h1 a, +.h2 a, +.h3 a, +.h4 a, +.h5 a, +.h6 a { + color: inherit; +} +h1 a:hover, +h2 a:hover, +h3 a:hover, +h4 a:hover, +h5 a:hover, +h6 a:hover, +.h1 a:hover, +.h2 a:hover, +.h3 a:hover, +.h4 a:hover, +.h5 a:hover, +.h6 a:hover { + color: inherit; +} + +h1, +.h1 { + font-size: var(--tblr-font-size-h1); + line-height: var(--tblr-line-height-h1); +} + +h2, +.h2 { + font-size: var(--tblr-font-size-h2); + line-height: var(--tblr-line-height-h2); +} + +h3, +.h3 { + font-size: var(--tblr-font-size-h3); + line-height: var(--tblr-line-height-h3); +} + +h4, +.h4 { + font-size: var(--tblr-font-size-h4); + line-height: var(--tblr-line-height-h4); +} + +h5, +.h5 { + font-size: var(--tblr-font-size-h5); + line-height: var(--tblr-line-height-h5); +} + +h6, +.h6 { + font-size: var(--tblr-font-size-h6); + line-height: var(--tblr-line-height-h6); +} + +strong, +.strong, +b { + font-weight: var(--tblr-font-weight-bold); +} + +blockquote { + padding-right: 1rem; + border-right: 2px var(--tblr-border-style) var(--tblr-border-color); +} +blockquote p { + margin-bottom: 1rem; +} +blockquote cite { + display: block; + text-align: left; +} +blockquote cite:before { + content: "— "; +} + +ul, ol { + padding-right: 1.5rem; +} + +hr, .hr { + margin: 2rem 0; +} + +dl dd:last-child { + margin-bottom: 0; +} + +pre { + padding: 1rem; + background: var(--tblr-bg-surface-dark); + color: var(--tblr-light); + border-radius: var(--tblr-border-radius); +} +pre code { + background: transparent; +} + +code { + background: var(--tblr-code-bg); + padding: 2px 4px; + border-radius: var(--tblr-border-radius); +} + +kbd, +.kbd { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + display: inline-block; + box-sizing: border-box; + max-width: 100%; + font-size: var(--tblr-font-size-h5); + font-weight: var(--tblr-font-weight-medium); + line-height: 1; + vertical-align: baseline; + border-radius: var(--tblr-border-radius); +} + +img { + max-width: 100%; +} + +.list-unstyled { + margin-right: 0; +} + +/** +Selection + */ +::-moz-selection { + background-color: rgba(var(--tblr-primary-rgb), 0.16); +} +::selection { + background-color: rgba(var(--tblr-primary-rgb), 0.16); +} + +/** +Links + */ +[class^=link-].disabled, [class*=" link-"].disabled { + color: var(--tblr-disabled-color); + pointer-events: none; +} + +/** +Subheader + */ +.subheader { + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-bold); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-muted); +} + +.chart { + display: block; + min-height: 10rem; +} +.chart text { + font-family: inherit; +} + +.chart-sm { + height: 2.5rem; +} + +.chart-lg { + height: 15rem; +} + +.chart-square { + height: 5.75rem; +} + +/** +Chart sparkline + */ +.chart-sparkline { + position: relative; + width: 4rem; + height: 2.5rem; + line-height: 1; + min-height: 0 !important; +} + +.chart-sparkline-sm { + height: 1.5rem; +} + +.chart-sparkline-square { + width: 2.5rem; +} + +.chart-sparkline-wide { + width: 6rem; +} + +.chart-sparkline-label { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.625rem; +} +.chart-sparkline-label .icon { + width: 1rem; + height: 1rem; + font-size: 1rem; +} + +.offcanvas-header { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) rgba(4, 32, 69, 0.14); +} + +.offcanvas-footer { + padding: 1.5rem 1.5rem; +} + +.offcanvas-title { + font-size: 1rem; + font-weight: var(--tblr-font-weight-medium); + line-height: 1.5rem; +} + +.offcanvas-narrow { + width: 20rem; +} + +.bg-white-overlay { + color: #ffffff; + background-color: rgba(252, 253, 254, 0.24); +} + +.bg-dark-overlay { + color: #ffffff; + background-color: rgba(24, 36, 51, 0.24); +} + +.bg-cover { + background-repeat: no-repeat; + background-size: cover; + background-position: center; +} + +.bg-primary { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-primary-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-primary-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-primary-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-primary-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-primary { + border-color: #206bc4 !important; +} + +.bg-secondary { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-secondary-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-secondary-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-secondary-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-secondary-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-secondary { + border-color: #667382 !important; +} + +.bg-success { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-success-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-success-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-success-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-success-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-success { + border-color: #2fb344 !important; +} + +.bg-info { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-info-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-info-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-info-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-info-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-info { + border-color: #4299e1 !important; +} + +.bg-warning { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-warning-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-warning-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-warning-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-warning-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-warning { + border-color: #f76707 !important; +} + +.bg-danger { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-danger-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-danger-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-danger-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-danger-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-danger { + border-color: #d63939 !important; +} + +.bg-light { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-light-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-light-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-light-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-light-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-light { + border-color: #fcfdfe !important; +} + +.bg-dark { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-dark-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-dark-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-dark-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-dark-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-dark { + border-color: #182433 !important; +} + +.bg-muted { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-muted-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-muted-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-muted-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-muted-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-muted { + border-color: #667382 !important; +} + +.bg-blue { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-blue-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-blue-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-blue-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-blue-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-blue { + border-color: #206bc4 !important; +} + +.bg-azure { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-azure-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-azure-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-azure-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-azure-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-azure { + border-color: #4299e1 !important; +} + +.bg-indigo { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-indigo-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-indigo-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-indigo-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-indigo-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-indigo { + border-color: #4263eb !important; +} + +.bg-purple { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-purple-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-purple-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-purple-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-purple-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-purple { + border-color: #ae3ec9 !important; +} + +.bg-pink { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-pink-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-pink-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-pink-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-pink-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-pink { + border-color: #d6336c !important; +} + +.bg-red { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-red-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-red-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-red-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-red-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-red { + border-color: #d63939 !important; +} + +.bg-orange { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-orange-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-orange-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-orange-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-orange-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-orange { + border-color: #f76707 !important; +} + +.bg-yellow { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-yellow-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-yellow-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-yellow-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-yellow-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-yellow { + border-color: #f59f00 !important; +} + +.bg-lime { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-lime-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-lime-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-lime-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-lime-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-lime { + border-color: #74b816 !important; +} + +.bg-green { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-green-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-green-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-green-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-green-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-green { + border-color: #2fb344 !important; +} + +.bg-teal { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-teal-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-teal-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-teal-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-teal-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-teal { + border-color: #0ca678 !important; +} + +.bg-cyan { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-cyan-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-cyan-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-cyan-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-cyan-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-cyan { + border-color: #17a2b8 !important; +} + +.bg-facebook { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-facebook-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-facebook-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-facebook-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-facebook-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-facebook { + border-color: #1877f2 !important; +} + +.bg-twitter { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-twitter-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-twitter-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-twitter-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-twitter-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-twitter { + border-color: #1da1f2 !important; +} + +.bg-linkedin { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-linkedin-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-linkedin-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-linkedin-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-linkedin { + border-color: #0a66c2 !important; +} + +.bg-google { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-google-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-google-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-google-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-google-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-google { + border-color: #dc4e41 !important; +} + +.bg-youtube { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-youtube-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-youtube-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-youtube-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-youtube-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-youtube { + border-color: #ff0000 !important; +} + +.bg-vimeo { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-vimeo-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-vimeo-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-vimeo-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-vimeo { + border-color: #1ab7ea !important; +} + +.bg-dribbble { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-dribbble-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-dribbble-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-dribbble-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-dribbble { + border-color: #ea4c89 !important; +} + +.bg-github { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-github-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-github-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-github-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-github-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-github { + border-color: #181717 !important; +} + +.bg-instagram { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-instagram-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-instagram-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-instagram-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-instagram-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-instagram { + border-color: #e4405f !important; +} + +.bg-pinterest { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-pinterest-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-pinterest-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-pinterest-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-pinterest { + border-color: #bd081c !important; +} + +.bg-vk { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-vk-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-vk-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-vk-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-vk-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-vk { + border-color: #6383a8 !important; +} + +.bg-rss { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-rss-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-rss-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-rss-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-rss-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-rss { + border-color: #ffa500 !important; +} + +.bg-flickr { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-flickr-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-flickr-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-flickr-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-flickr-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-flickr { + border-color: #0063dc !important; +} + +.bg-bitbucket { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-bitbucket-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-bitbucket-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-bitbucket { + border-color: #0052cc !important; +} + +.bg-tabler { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-tabler-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-tabler-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-tabler-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-tabler-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-tabler { + border-color: #206bc4 !important; +} + +.bg-white { + --tblr-bg-opacity: 1; + background-color: rgba(var(--tblr-white-rgb), var(--tblr-bg-opacity)) !important; +} + +.bg-white-lt { + --tblr-bg-opacity: 1; + --tblr-text-opacity: 1; + color: rgba(var(--tblr-white-rgb), var(--tblr-text-opacity)) !important; + background-color: rgba(var(--tblr-white-lt-rgb), var(--tblr-bg-opacity)) !important; +} + +.border-white { + border-color: #ffffff !important; +} + +.text-primary { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-primary-rgb), var(--tblr-text-opacity)) !important; +} + +.text-primary-fg { + color: var(--tblr-primary-fg) !important; +} + +.text-secondary { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-secondary-rgb), var(--tblr-text-opacity)) !important; +} + +.text-secondary-fg { + color: var(--tblr-secondary-fg) !important; +} + +.text-success { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-success-rgb), var(--tblr-text-opacity)) !important; +} + +.text-success-fg { + color: var(--tblr-success-fg) !important; +} + +.text-info { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-info-rgb), var(--tblr-text-opacity)) !important; +} + +.text-info-fg { + color: var(--tblr-info-fg) !important; +} + +.text-warning { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-warning-rgb), var(--tblr-text-opacity)) !important; +} + +.text-warning-fg { + color: var(--tblr-warning-fg) !important; +} + +.text-danger { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-danger-rgb), var(--tblr-text-opacity)) !important; +} + +.text-danger-fg { + color: var(--tblr-danger-fg) !important; +} + +.text-light { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-light-rgb), var(--tblr-text-opacity)) !important; +} + +.text-light-fg { + color: var(--tblr-light-fg) !important; +} + +.text-dark { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-dark-rgb), var(--tblr-text-opacity)) !important; +} + +.text-dark-fg { + color: var(--tblr-dark-fg) !important; +} + +.text-muted { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-muted-rgb), var(--tblr-text-opacity)) !important; +} + +.text-muted-fg { + color: var(--tblr-muted-fg) !important; +} + +.text-blue { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-blue-rgb), var(--tblr-text-opacity)) !important; +} + +.text-blue-fg { + color: var(--tblr-blue-fg) !important; +} + +.text-azure { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-azure-rgb), var(--tblr-text-opacity)) !important; +} + +.text-azure-fg { + color: var(--tblr-azure-fg) !important; +} + +.text-indigo { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-indigo-rgb), var(--tblr-text-opacity)) !important; +} + +.text-indigo-fg { + color: var(--tblr-indigo-fg) !important; +} + +.text-purple { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-purple-rgb), var(--tblr-text-opacity)) !important; +} + +.text-purple-fg { + color: var(--tblr-purple-fg) !important; +} + +.text-pink { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-pink-rgb), var(--tblr-text-opacity)) !important; +} + +.text-pink-fg { + color: var(--tblr-pink-fg) !important; +} + +.text-red { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-red-rgb), var(--tblr-text-opacity)) !important; +} + +.text-red-fg { + color: var(--tblr-red-fg) !important; +} + +.text-orange { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-orange-rgb), var(--tblr-text-opacity)) !important; +} + +.text-orange-fg { + color: var(--tblr-orange-fg) !important; +} + +.text-yellow { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-yellow-rgb), var(--tblr-text-opacity)) !important; +} + +.text-yellow-fg { + color: var(--tblr-yellow-fg) !important; +} + +.text-lime { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-lime-rgb), var(--tblr-text-opacity)) !important; +} + +.text-lime-fg { + color: var(--tblr-lime-fg) !important; +} + +.text-green { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-green-rgb), var(--tblr-text-opacity)) !important; +} + +.text-green-fg { + color: var(--tblr-green-fg) !important; +} + +.text-teal { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-teal-rgb), var(--tblr-text-opacity)) !important; +} + +.text-teal-fg { + color: var(--tblr-teal-fg) !important; +} + +.text-cyan { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-cyan-rgb), var(--tblr-text-opacity)) !important; +} + +.text-cyan-fg { + color: var(--tblr-cyan-fg) !important; +} + +.text-facebook { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-facebook-rgb), var(--tblr-text-opacity)) !important; +} + +.text-facebook-fg { + color: var(--tblr-facebook-fg) !important; +} + +.text-twitter { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-twitter-rgb), var(--tblr-text-opacity)) !important; +} + +.text-twitter-fg { + color: var(--tblr-twitter-fg) !important; +} + +.text-linkedin { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-linkedin-rgb), var(--tblr-text-opacity)) !important; +} + +.text-linkedin-fg { + color: var(--tblr-linkedin-fg) !important; +} + +.text-google { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-google-rgb), var(--tblr-text-opacity)) !important; +} + +.text-google-fg { + color: var(--tblr-google-fg) !important; +} + +.text-youtube { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-youtube-rgb), var(--tblr-text-opacity)) !important; +} + +.text-youtube-fg { + color: var(--tblr-youtube-fg) !important; +} + +.text-vimeo { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-vimeo-rgb), var(--tblr-text-opacity)) !important; +} + +.text-vimeo-fg { + color: var(--tblr-vimeo-fg) !important; +} + +.text-dribbble { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-dribbble-rgb), var(--tblr-text-opacity)) !important; +} + +.text-dribbble-fg { + color: var(--tblr-dribbble-fg) !important; +} + +.text-github { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-github-rgb), var(--tblr-text-opacity)) !important; +} + +.text-github-fg { + color: var(--tblr-github-fg) !important; +} + +.text-instagram { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-instagram-rgb), var(--tblr-text-opacity)) !important; +} + +.text-instagram-fg { + color: var(--tblr-instagram-fg) !important; +} + +.text-pinterest { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-pinterest-rgb), var(--tblr-text-opacity)) !important; +} + +.text-pinterest-fg { + color: var(--tblr-pinterest-fg) !important; +} + +.text-vk { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-vk-rgb), var(--tblr-text-opacity)) !important; +} + +.text-vk-fg { + color: var(--tblr-vk-fg) !important; +} + +.text-rss { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-rss-rgb), var(--tblr-text-opacity)) !important; +} + +.text-rss-fg { + color: var(--tblr-rss-fg) !important; +} + +.text-flickr { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-flickr-rgb), var(--tblr-text-opacity)) !important; +} + +.text-flickr-fg { + color: var(--tblr-flickr-fg) !important; +} + +.text-bitbucket { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-text-opacity)) !important; +} + +.text-bitbucket-fg { + color: var(--tblr-bitbucket-fg) !important; +} + +.text-tabler { + --tblr-text-opacity: 1; + color: rgba(var(--tblr-tabler-rgb), var(--tblr-text-opacity)) !important; +} + +.text-tabler-fg { + color: var(--tblr-tabler-fg) !important; +} + +.bg-gray-50 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-50-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-50-fg { + color: #182433 !important; +} + +.bg-gray-100 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-100-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-100-fg { + color: #182433 !important; +} + +.bg-gray-200 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-200-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-200-fg { + color: #182433 !important; +} + +.bg-gray-300 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-300-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-300-fg { + color: #182433 !important; +} + +.bg-gray-400 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-400-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-400-fg { + color: #fcfdfe !important; +} + +.bg-gray-500 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-500-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-500-fg { + color: #fcfdfe !important; +} + +.bg-gray-600 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-600-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-600-fg { + color: #fcfdfe !important; +} + +.bg-gray-700 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-700-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-700-fg { + color: #fcfdfe !important; +} + +.bg-gray-800 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-800-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-800-fg { + color: #fcfdfe !important; +} + +.bg-gray-900 { + --tblr-bg-opacity: .1; + background-color: rgba(var(--tblr-gray-900-rgb), var(--tblr-bg-opacity)) !important; +} + +.text-gray-900-fg { + color: #fcfdfe !important; +} + +/* +Scrollable +*/ +.scrollable { + overflow-x: hidden; + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} +.scrollable.hover { + overflow-y: hidden; +} +.scrollable.hover > * { + margin-top: -1px; +} +.scrollable.hover:hover, .scrollable.hover:focus, .scrollable.hover:active { + overflow: visible; + overflow-y: auto; +} +.touch .scrollable { + overflow-y: auto !important; +} + +.scroll-x, +.scroll-y { + overflow: hidden; + -webkit-overflow-scrolling: touch; +} + +.scroll-y { + overflow-y: auto; +} + +.scroll-x { + overflow-x: auto; +} + +.no-scroll { + overflow: hidden; +} + +.w-0 { + width: 0 !important; +} + +.h-0 { + height: 0 !important; +} + +.w-1 { + width: 0.25rem !important; +} + +.h-1 { + height: 0.25rem !important; +} + +.w-2 { + width: 0.5rem !important; +} + +.h-2 { + height: 0.5rem !important; +} + +.w-3 { + width: 1rem !important; +} + +.h-3 { + height: 1rem !important; +} + +.w-4 { + width: 1.5rem !important; +} + +.h-4 { + height: 1.5rem !important; +} + +.w-5 { + width: 2rem !important; +} + +.h-5 { + height: 2rem !important; +} + +.w-6 { + width: 3rem !important; +} + +.h-6 { + height: 3rem !important; +} + +.w-7 { + width: 5rem !important; +} + +.h-7 { + height: 5rem !important; +} + +.w-8 { + width: 8rem !important; +} + +.h-8 { + height: 8rem !important; +} + +.w-auto { + width: auto !important; +} + +.h-auto { + height: auto !important; +} + +.w-px { + width: 1px !important; +} + +.h-px { + height: 1px !important; +} + +.w-full { + width: 100% !important; +} + +.h-full { + height: 100% !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-5 { + opacity: 0.05 !important; +} + +.opacity-10 { + opacity: 0.1 !important; +} + +.opacity-15 { + opacity: 0.15 !important; +} + +.opacity-20 { + opacity: 0.2 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-30 { + opacity: 0.3 !important; +} + +.opacity-35 { + opacity: 0.35 !important; +} + +.opacity-40 { + opacity: 0.4 !important; +} + +.opacity-45 { + opacity: 0.45 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-55 { + opacity: 0.55 !important; +} + +.opacity-60 { + opacity: 0.6 !important; +} + +.opacity-65 { + opacity: 0.65 !important; +} + +.opacity-70 { + opacity: 0.7 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-80 { + opacity: 0.8 !important; +} + +.opacity-85 { + opacity: 0.85 !important; +} + +.opacity-90 { + opacity: 0.9 !important; +} + +.opacity-95 { + opacity: 0.95 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.hover-shadow-sm:hover { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.hover-shadow:hover { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.hover-shadow-lg:hover { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.hover-shadow-none:hover { + box-shadow: none !important; +} + +/** +Antialiasing + */ +.antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.subpixel-antialiased { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/css/tabler.rtl.min.css b/bin/main/static/tabler/dist/css/tabler.rtl.min.css new file mode 100644 index 0000000..9667c2e --- /dev/null +++ b/bin/main/static/tabler/dist/css/tabler.rtl.min.css @@ -0,0 +1,13 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +@charset "UTF-8";:root,[data-bs-theme=light]{--tblr-blue:#206bc4;--tblr-indigo:#4263eb;--tblr-purple:#ae3ec9;--tblr-pink:#d6336c;--tblr-red:#d63939;--tblr-orange:#f76707;--tblr-yellow:#f59f00;--tblr-green:#2fb344;--tblr-teal:#0ca678;--tblr-cyan:#17a2b8;--tblr-black:#000000;--tblr-white:#ffffff;--tblr-gray:#667382;--tblr-gray-dark:#182433;--tblr-gray-100:#f6f8fb;--tblr-gray-200:#eef1f4;--tblr-gray-300:#dadfe5;--tblr-gray-400:#bbc3cd;--tblr-gray-500:#929dab;--tblr-gray-600:#667382;--tblr-gray-700:#3a4859;--tblr-gray-800:#182433;--tblr-gray-900:#040a11;--tblr-primary:#206bc4;--tblr-secondary:#667382;--tblr-success:#2fb344;--tblr-info:#4299e1;--tblr-warning:#f76707;--tblr-danger:#d63939;--tblr-light:#fcfdfe;--tblr-dark:#182433;--tblr-muted:#667382;--tblr-blue:#206bc4;--tblr-azure:#4299e1;--tblr-indigo:#4263eb;--tblr-purple:#ae3ec9;--tblr-pink:#d6336c;--tblr-red:#d63939;--tblr-orange:#f76707;--tblr-yellow:#f59f00;--tblr-lime:#74b816;--tblr-green:#2fb344;--tblr-teal:#0ca678;--tblr-cyan:#17a2b8;--tblr-facebook:#1877f2;--tblr-twitter:#1da1f2;--tblr-linkedin:#0a66c2;--tblr-google:#dc4e41;--tblr-youtube:#ff0000;--tblr-vimeo:#1ab7ea;--tblr-dribbble:#ea4c89;--tblr-github:#181717;--tblr-instagram:#e4405f;--tblr-pinterest:#bd081c;--tblr-vk:#6383a8;--tblr-rss:#ffa500;--tblr-flickr:#0063dc;--tblr-bitbucket:#0052cc;--tblr-tabler:#206bc4;--tblr-primary-rgb:32,107,196;--tblr-secondary-rgb:102,115,130;--tblr-success-rgb:47,179,68;--tblr-info-rgb:66,153,225;--tblr-warning-rgb:247,103,7;--tblr-danger-rgb:214,57,57;--tblr-light-rgb:252,253,254;--tblr-dark-rgb:24,36,51;--tblr-muted-rgb:102,115,130;--tblr-blue-rgb:32,107,196;--tblr-azure-rgb:66,153,225;--tblr-indigo-rgb:66,99,235;--tblr-purple-rgb:174,62,201;--tblr-pink-rgb:214,51,108;--tblr-red-rgb:214,57,57;--tblr-orange-rgb:247,103,7;--tblr-yellow-rgb:245,159,0;--tblr-lime-rgb:116,184,22;--tblr-green-rgb:47,179,68;--tblr-teal-rgb:12,166,120;--tblr-cyan-rgb:23,162,184;--tblr-facebook-rgb:24,119,242;--tblr-twitter-rgb:29,161,242;--tblr-linkedin-rgb:10,102,194;--tblr-google-rgb:220,78,65;--tblr-youtube-rgb:255,0,0;--tblr-vimeo-rgb:26,183,234;--tblr-dribbble-rgb:234,76,137;--tblr-github-rgb:24,23,23;--tblr-instagram-rgb:228,64,95;--tblr-pinterest-rgb:189,8,28;--tblr-vk-rgb:99,131,168;--tblr-rss-rgb:255,165,0;--tblr-flickr-rgb:0,99,220;--tblr-bitbucket-rgb:0,82,204;--tblr-tabler-rgb:32,107,196;--tblr-primary-text-emphasis:#0d2b4e;--tblr-secondary-text-emphasis:#292e34;--tblr-success-text-emphasis:#13481b;--tblr-info-text-emphasis:#1a3d5a;--tblr-warning-text-emphasis:#632903;--tblr-danger-text-emphasis:#561717;--tblr-light-text-emphasis:#3a4859;--tblr-dark-text-emphasis:#3a4859;--tblr-primary-bg-subtle:#d2e1f3;--tblr-secondary-bg-subtle:#e0e3e6;--tblr-success-bg-subtle:#d5f0da;--tblr-info-bg-subtle:#d9ebf9;--tblr-warning-bg-subtle:#fde1cd;--tblr-danger-bg-subtle:#f7d7d7;--tblr-light-bg-subtle:#fbfcfd;--tblr-dark-bg-subtle:#bbc3cd;--tblr-primary-border-subtle:#a6c4e7;--tblr-secondary-border-subtle:#c2c7cd;--tblr-success-border-subtle:#ace1b4;--tblr-info-border-subtle:#b3d6f3;--tblr-warning-border-subtle:#fcc29c;--tblr-danger-border-subtle:#efb0b0;--tblr-light-border-subtle:#eef1f4;--tblr-dark-border-subtle:#929dab;--tblr-white-rgb:255,255,255;--tblr-black-rgb:0,0,0;--tblr-font-sans-serif:-apple-system,BlinkMacSystemFont,San Francisco,Segoe UI,Roboto,Helvetica Neue,sans-serif;--tblr-font-monospace:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;--tblr-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--tblr-body-font-family:var(--tblr-font-sans-serif);--tblr-body-font-size:0.875rem;--tblr-body-font-weight:400;--tblr-body-line-height:1.4285714286;--tblr-body-color:#182433;--tblr-body-color-rgb:24,36,51;--tblr-body-bg:#f6f8fb;--tblr-body-bg-rgb:246,248,251;--tblr-emphasis-color:#182433;--tblr-emphasis-color-rgb:24,36,51;--tblr-secondary-color:rgba(24, 36, 51, 0.75);--tblr-secondary-color-rgb:24,36,51;--tblr-secondary-bg:#eef1f4;--tblr-secondary-bg-rgb:238,241,244;--tblr-tertiary-color:rgba(24, 36, 51, 0.5);--tblr-tertiary-color-rgb:24,36,51;--tblr-tertiary-bg:#f6f8fb;--tblr-tertiary-bg-rgb:246,248,251;--tblr-link-color:#206bc4;--tblr-link-color-rgb:32,107,196;--tblr-link-decoration:none;--tblr-link-hover-color:#1a569d;--tblr-link-hover-color-rgb:26,86,157;--tblr-link-hover-decoration:underline;--tblr-code-color:var(--tblr-gray-600);--tblr-highlight-bg:#fdeccc;--tblr-border-width:1px;--tblr-border-style:solid;--tblr-border-color:#dadfe5;--tblr-border-color-translucent:rgba(4, 32, 69, 0.14);--tblr-border-radius:4px;--tblr-border-radius-sm:2px;--tblr-border-radius-lg:8px;--tblr-border-radius-xl:1rem;--tblr-border-radius-xxl:2rem;--tblr-border-radius-2xl:var(--tblr-border-radius-xxl);--tblr-border-radius-pill:100rem;--tblr-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--tblr-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--tblr-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--tblr-box-shadow-inset:0 0 transparent;--tblr-focus-ring-width:0.25rem;--tblr-focus-ring-opacity:0.25;--tblr-focus-ring-color:rgba(32, 107, 196, 0.25);--tblr-form-valid-color:#2fb344;--tblr-form-valid-border-color:#2fb344;--tblr-form-invalid-color:#d63939;--tblr-form-invalid-border-color:#d63939}[data-bs-theme=dark]{color-scheme:dark;--tblr-body-color:#fcfdfe;--tblr-body-color-rgb:252,253,254;--tblr-body-bg:#040a11;--tblr-body-bg-rgb:4,10,17;--tblr-emphasis-color:#ffffff;--tblr-emphasis-color-rgb:255,255,255;--tblr-secondary-color:rgba(252, 253, 254, 0.75);--tblr-secondary-color-rgb:252,253,254;--tblr-secondary-bg:#182433;--tblr-secondary-bg-rgb:24,36,51;--tblr-tertiary-color:rgba(252, 253, 254, 0.5);--tblr-tertiary-color-rgb:252,253,254;--tblr-tertiary-bg:#0e1722;--tblr-tertiary-bg-rgb:14,23,34;--tblr-primary-text-emphasis:#79a6dc;--tblr-secondary-text-emphasis:#a3abb4;--tblr-success-text-emphasis:#82d18f;--tblr-info-text-emphasis:#8ec2ed;--tblr-warning-text-emphasis:#faa46a;--tblr-danger-text-emphasis:#e68888;--tblr-light-text-emphasis:#f6f8fb;--tblr-dark-text-emphasis:#dadfe5;--tblr-primary-bg-subtle:#061527;--tblr-secondary-bg-subtle:#14171a;--tblr-success-bg-subtle:#09240e;--tblr-info-bg-subtle:#0d1f2d;--tblr-warning-bg-subtle:#311501;--tblr-danger-bg-subtle:#2b0b0b;--tblr-light-bg-subtle:#182433;--tblr-dark-bg-subtle:#0c121a;--tblr-primary-border-subtle:#134076;--tblr-secondary-border-subtle:#3d454e;--tblr-success-border-subtle:#1c6b29;--tblr-info-border-subtle:#285c87;--tblr-warning-border-subtle:#943e04;--tblr-danger-border-subtle:#802222;--tblr-light-border-subtle:#3a4859;--tblr-dark-border-subtle:#182433;--tblr-link-color:#79a6dc;--tblr-link-hover-color:#94b8e3;--tblr-link-color-rgb:121,166,220;--tblr-link-hover-color-rgb:148,184,227;--tblr-code-color:var(--tblr-gray-300);--tblr-border-color:#1f2e41;--tblr-border-color-translucent:rgba(72, 110, 149, 0.14);--tblr-form-valid-color:#82d18f;--tblr-form-valid-border-color:#82d18f;--tblr-form-invalid-color:#e68888;--tblr-form-invalid-border-color:#e68888}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--tblr-body-font-family);font-size:var(--tblr-body-font-size);font-weight:var(--tblr-body-font-weight);line-height:var(--tblr-body-line-height);color:var(--tblr-body-color);text-align:var(--tblr-body-text-align);background-color:var(--tblr-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.hr,hr{margin:2rem 0;color:inherit;border:0;border-top:var(--tblr-border-width) solid;opacity:.16}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--tblr-spacer);font-weight:var(--tblr-font-weight-bold);line-height:1.2;color:var(--tblr-heading-color,inherit)}.h1,h1{font-size:1.5rem}.h2,h2{font-size:1.25rem}.h3,h3{font-size:1rem}.h4,h4{font-size:.875rem}.h5,h5{font-size:.75rem}.h6,h6{font-size:.625rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:600}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:85.714285%}.mark,mark{padding:.1875em;background-color:var(--tblr-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-opacity,1));text-decoration:none}a:hover{--tblr-link-color-rgb:var(--tblr-link-hover-color-rgb);text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--tblr-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:85.714285%;color:var(--tblr-light)}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:85.714285%;color:var(--tblr-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.25rem .5rem;font-size:var(--tblr-font-size-h5);color:var(--tblr-muted-dark);background-color:var(--tblr-code-bg);border-radius:2px}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:var(--tblr-secondary-color);text-align:right}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:.875rem;font-weight:var(--tblr-font-weight-normal)}.display-1{font-size:5rem;font-weight:300;line-height:1.2}.display-2{font-size:4.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}.display-5{font-size:3rem;font-weight:300;line-height:1.2}.display-6{font-size:2rem;font-weight:300;line-height:1.2}.list-unstyled{padding-right:0;list-style:none}.list-inline{padding-right:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-left:.5rem}.initialism{font-size:85.714285%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:.875rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:85.714285%;color:#667382}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--tblr-body-bg);border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-box-shadow-sm);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:85.714285%;color:var(--tblr-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--tblr-gutter-x:calc(var(--tblr-page-padding) * 2);--tblr-gutter-y:0;width:100%;padding-left:calc(var(--tblr-gutter-x) * .5);padding-right:calc(var(--tblr-gutter-x) * .5);margin-left:auto;margin-right:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--tblr-breakpoint-xs:0;--tblr-breakpoint-sm:576px;--tblr-breakpoint-md:768px;--tblr-breakpoint-lg:992px;--tblr-breakpoint-xl:1200px;--tblr-breakpoint-xxl:1400px}.row{--tblr-gutter-x:var(--tblr-page-padding);--tblr-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--tblr-gutter-y));margin-left:calc(-.5 * var(--tblr-gutter-x));margin-right:calc(-.5 * var(--tblr-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-left:calc(var(--tblr-gutter-x) * .5);padding-right:calc(var(--tblr-gutter-x) * .5);margin-top:var(--tblr-gutter-y)}.grid{display:grid;grid-template-rows:repeat(var(--tblr-rows,1),1fr);grid-template-columns:repeat(var(--tblr-columns,12),1fr);gap:var(--tblr-gap,var(--tblr-page-padding))}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media (min-width:576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media (min-width:768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media (min-width:992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media (min-width:1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media (min-width:1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-right:8.33333333%}.offset-2{margin-right:16.66666667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.33333333%}.offset-5{margin-right:41.66666667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.33333333%}.offset-8{margin-right:66.66666667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.33333333%}.offset-11{margin-right:91.66666667%}.g-0,.gx-0{--tblr-gutter-x:0}.g-0,.gy-0{--tblr-gutter-y:0}.g-1,.gx-1{--tblr-gutter-x:0.25rem}.g-1,.gy-1{--tblr-gutter-y:0.25rem}.g-2,.gx-2{--tblr-gutter-x:0.5rem}.g-2,.gy-2{--tblr-gutter-y:0.5rem}.g-3,.gx-3{--tblr-gutter-x:1rem}.g-3,.gy-3{--tblr-gutter-y:1rem}.g-4,.gx-4{--tblr-gutter-x:1.5rem}.g-4,.gy-4{--tblr-gutter-y:1.5rem}.g-5,.gx-5{--tblr-gutter-x:2rem}.g-5,.gy-5{--tblr-gutter-y:2rem}.g-6,.gx-6{--tblr-gutter-x:3rem}.g-6,.gy-6{--tblr-gutter-y:3rem}.g-7,.gx-7{--tblr-gutter-x:5rem}.g-7,.gy-7{--tblr-gutter-y:5rem}.g-8,.gx-8{--tblr-gutter-x:8rem}.g-8,.gy-8{--tblr-gutter-y:8rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-right:0}.offset-sm-1{margin-right:8.33333333%}.offset-sm-2{margin-right:16.66666667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.33333333%}.offset-sm-5{margin-right:41.66666667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.33333333%}.offset-sm-8{margin-right:66.66666667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.33333333%}.offset-sm-11{margin-right:91.66666667%}.g-sm-0,.gx-sm-0{--tblr-gutter-x:0}.g-sm-0,.gy-sm-0{--tblr-gutter-y:0}.g-sm-1,.gx-sm-1{--tblr-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--tblr-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--tblr-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--tblr-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--tblr-gutter-x:1rem}.g-sm-3,.gy-sm-3{--tblr-gutter-y:1rem}.g-sm-4,.gx-sm-4{--tblr-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--tblr-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--tblr-gutter-x:2rem}.g-sm-5,.gy-sm-5{--tblr-gutter-y:2rem}.g-sm-6,.gx-sm-6{--tblr-gutter-x:3rem}.g-sm-6,.gy-sm-6{--tblr-gutter-y:3rem}.g-sm-7,.gx-sm-7{--tblr-gutter-x:5rem}.g-sm-7,.gy-sm-7{--tblr-gutter-y:5rem}.g-sm-8,.gx-sm-8{--tblr-gutter-x:8rem}.g-sm-8,.gy-sm-8{--tblr-gutter-y:8rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-right:0}.offset-md-1{margin-right:8.33333333%}.offset-md-2{margin-right:16.66666667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.33333333%}.offset-md-5{margin-right:41.66666667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.33333333%}.offset-md-8{margin-right:66.66666667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.33333333%}.offset-md-11{margin-right:91.66666667%}.g-md-0,.gx-md-0{--tblr-gutter-x:0}.g-md-0,.gy-md-0{--tblr-gutter-y:0}.g-md-1,.gx-md-1{--tblr-gutter-x:0.25rem}.g-md-1,.gy-md-1{--tblr-gutter-y:0.25rem}.g-md-2,.gx-md-2{--tblr-gutter-x:0.5rem}.g-md-2,.gy-md-2{--tblr-gutter-y:0.5rem}.g-md-3,.gx-md-3{--tblr-gutter-x:1rem}.g-md-3,.gy-md-3{--tblr-gutter-y:1rem}.g-md-4,.gx-md-4{--tblr-gutter-x:1.5rem}.g-md-4,.gy-md-4{--tblr-gutter-y:1.5rem}.g-md-5,.gx-md-5{--tblr-gutter-x:2rem}.g-md-5,.gy-md-5{--tblr-gutter-y:2rem}.g-md-6,.gx-md-6{--tblr-gutter-x:3rem}.g-md-6,.gy-md-6{--tblr-gutter-y:3rem}.g-md-7,.gx-md-7{--tblr-gutter-x:5rem}.g-md-7,.gy-md-7{--tblr-gutter-y:5rem}.g-md-8,.gx-md-8{--tblr-gutter-x:8rem}.g-md-8,.gy-md-8{--tblr-gutter-y:8rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-right:0}.offset-lg-1{margin-right:8.33333333%}.offset-lg-2{margin-right:16.66666667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.33333333%}.offset-lg-5{margin-right:41.66666667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.33333333%}.offset-lg-8{margin-right:66.66666667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.33333333%}.offset-lg-11{margin-right:91.66666667%}.g-lg-0,.gx-lg-0{--tblr-gutter-x:0}.g-lg-0,.gy-lg-0{--tblr-gutter-y:0}.g-lg-1,.gx-lg-1{--tblr-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--tblr-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--tblr-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--tblr-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--tblr-gutter-x:1rem}.g-lg-3,.gy-lg-3{--tblr-gutter-y:1rem}.g-lg-4,.gx-lg-4{--tblr-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--tblr-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--tblr-gutter-x:2rem}.g-lg-5,.gy-lg-5{--tblr-gutter-y:2rem}.g-lg-6,.gx-lg-6{--tblr-gutter-x:3rem}.g-lg-6,.gy-lg-6{--tblr-gutter-y:3rem}.g-lg-7,.gx-lg-7{--tblr-gutter-x:5rem}.g-lg-7,.gy-lg-7{--tblr-gutter-y:5rem}.g-lg-8,.gx-lg-8{--tblr-gutter-x:8rem}.g-lg-8,.gy-lg-8{--tblr-gutter-y:8rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-right:0}.offset-xl-1{margin-right:8.33333333%}.offset-xl-2{margin-right:16.66666667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.33333333%}.offset-xl-5{margin-right:41.66666667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.33333333%}.offset-xl-8{margin-right:66.66666667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.33333333%}.offset-xl-11{margin-right:91.66666667%}.g-xl-0,.gx-xl-0{--tblr-gutter-x:0}.g-xl-0,.gy-xl-0{--tblr-gutter-y:0}.g-xl-1,.gx-xl-1{--tblr-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--tblr-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--tblr-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--tblr-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--tblr-gutter-x:1rem}.g-xl-3,.gy-xl-3{--tblr-gutter-y:1rem}.g-xl-4,.gx-xl-4{--tblr-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--tblr-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--tblr-gutter-x:2rem}.g-xl-5,.gy-xl-5{--tblr-gutter-y:2rem}.g-xl-6,.gx-xl-6{--tblr-gutter-x:3rem}.g-xl-6,.gy-xl-6{--tblr-gutter-y:3rem}.g-xl-7,.gx-xl-7{--tblr-gutter-x:5rem}.g-xl-7,.gy-xl-7{--tblr-gutter-y:5rem}.g-xl-8,.gx-xl-8{--tblr-gutter-x:8rem}.g-xl-8,.gy-xl-8{--tblr-gutter-y:8rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-right:0}.offset-xxl-1{margin-right:8.33333333%}.offset-xxl-2{margin-right:16.66666667%}.offset-xxl-3{margin-right:25%}.offset-xxl-4{margin-right:33.33333333%}.offset-xxl-5{margin-right:41.66666667%}.offset-xxl-6{margin-right:50%}.offset-xxl-7{margin-right:58.33333333%}.offset-xxl-8{margin-right:66.66666667%}.offset-xxl-9{margin-right:75%}.offset-xxl-10{margin-right:83.33333333%}.offset-xxl-11{margin-right:91.66666667%}.g-xxl-0,.gx-xxl-0{--tblr-gutter-x:0}.g-xxl-0,.gy-xxl-0{--tblr-gutter-y:0}.g-xxl-1,.gx-xxl-1{--tblr-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--tblr-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--tblr-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--tblr-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--tblr-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--tblr-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--tblr-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--tblr-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--tblr-gutter-x:2rem}.g-xxl-5,.gy-xxl-5{--tblr-gutter-y:2rem}.g-xxl-6,.gx-xxl-6{--tblr-gutter-x:3rem}.g-xxl-6,.gy-xxl-6{--tblr-gutter-y:3rem}.g-xxl-7,.gx-xxl-7{--tblr-gutter-x:5rem}.g-xxl-7,.gy-xxl-7{--tblr-gutter-y:5rem}.g-xxl-8,.gx-xxl-8{--tblr-gutter-x:8rem}.g-xxl-8,.gy-xxl-8{--tblr-gutter-y:8rem}}.markdown>table,.table{--tblr-table-color:inherit;--tblr-table-bg:transparent;--tblr-table-border-color:var(--tblr-border-color-translucent);--tblr-table-accent-bg:transparent;--tblr-table-striped-color:inherit;--tblr-table-striped-bg:var(--tblr-bg-surface-tertiary);--tblr-table-active-color:inherit;--tblr-table-active-bg:rgba(0, 0, 0, 0.1);--tblr-table-hover-color:inherit;--tblr-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:var(--tblr-table-color);vertical-align:top;border-color:var(--tblr-table-border-color)}.markdown>table>:not(caption)>*>*,.table>:not(caption)>*>*{padding:.75rem .75rem;background-color:var(--tblr-table-bg);border-bottom-width:var(--tblr-border-width);box-shadow:inset 0 0 0 9999px var(--tblr-table-accent-bg)}.markdown>table>tbody,.table>tbody{vertical-align:inherit}.markdown>table>thead,.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--tblr-border-width) * 2) solid var(--tblr-border-color-translucent)}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.markdown>table>:not(caption)>*,.table-bordered>:not(caption)>*{border-width:var(--tblr-border-width) 0}.markdown>table>:not(caption)>*>*,.table-bordered>:not(caption)>*>*{border-width:0 var(--tblr-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(even)>*{--tblr-table-accent-bg:var(--tblr-table-striped-bg);color:var(--tblr-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--tblr-table-accent-bg:var(--tblr-table-striped-bg);color:var(--tblr-table-striped-color)}.table-active{--tblr-table-accent-bg:var(--tblr-table-active-bg);color:var(--tblr-table-active-color)}.table-hover>tbody>tr:hover>*{--tblr-table-accent-bg:var(--tblr-table-hover-bg);color:var(--tblr-table-hover-color)}.table-primary{--tblr-table-color:#182433;--tblr-table-bg:#d2e1f3;--tblr-table-border-color:#bfcee0;--tblr-table-striped-bg:#c9d8e9;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#bfcee0;--tblr-table-active-color:#fcfdfe;--tblr-table-hover-bg:#c4d3e5;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-secondary{--tblr-table-color:#182433;--tblr-table-bg:#e0e3e6;--tblr-table-border-color:#ccd0d4;--tblr-table-striped-bg:#d6d9dd;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#ccd0d4;--tblr-table-active-color:#fcfdfe;--tblr-table-hover-bg:#d1d5d9;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-success{--tblr-table-color:#182433;--tblr-table-bg:#d5f0da;--tblr-table-border-color:#c2dcc9;--tblr-table-striped-bg:#cce6d2;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#c2dcc9;--tblr-table-active-color:#182433;--tblr-table-hover-bg:#c7e1cd;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-info{--tblr-table-color:#182433;--tblr-table-bg:#d9ebf9;--tblr-table-border-color:#c6d7e5;--tblr-table-striped-bg:#cfe1ef;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#c6d7e5;--tblr-table-active-color:#182433;--tblr-table-hover-bg:#cbdcea;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-warning{--tblr-table-color:#182433;--tblr-table-bg:#fde1cd;--tblr-table-border-color:#e6cebe;--tblr-table-striped-bg:#f2d8c5;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#e6cebe;--tblr-table-active-color:#182433;--tblr-table-hover-bg:#ecd3c1;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-danger{--tblr-table-color:#182433;--tblr-table-bg:#f7d7d7;--tblr-table-border-color:#e1c5c7;--tblr-table-striped-bg:#eccecf;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#e1c5c7;--tblr-table-active-color:#fcfdfe;--tblr-table-hover-bg:#e6cacb;--tblr-table-hover-color:#fcfdfe;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-light{--tblr-table-color:#182433;--tblr-table-bg:#fcfdfe;--tblr-table-border-color:#e5e7ea;--tblr-table-striped-bg:#f1f2f4;--tblr-table-striped-color:#182433;--tblr-table-active-bg:#e5e7ea;--tblr-table-active-color:#182433;--tblr-table-hover-bg:#ebedef;--tblr-table-hover-color:#182433;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-dark{--tblr-table-color:#fcfdfe;--tblr-table-bg:#182433;--tblr-table-border-color:#2f3a47;--tblr-table-striped-bg:#232f3d;--tblr-table-striped-color:#fcfdfe;--tblr-table-active-bg:#2f3a47;--tblr-table-active-color:#fcfdfe;--tblr-table-hover-bg:#293442;--tblr-table-hover-color:#fcfdfe;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem;font-size:.875rem;font-weight:var(--tblr-font-weight-medium)}.col-form-label{padding-top:calc(.4375rem + var(--tblr-border-width));padding-bottom:calc(.4375rem + var(--tblr-border-width));margin-bottom:0;font-size:inherit;font-weight:var(--tblr-font-weight-medium);line-height:1.4285714286}.col-form-label-lg{padding-top:calc(.5rem + var(--tblr-border-width));padding-bottom:calc(.5rem + var(--tblr-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.125rem + var(--tblr-border-width));padding-bottom:calc(.125rem + var(--tblr-border-width));font-size:.75rem}.form-text{margin-top:.25rem;font-size:85.714285%;color:var(--tblr-secondary-color)}.form-control{display:block;width:100%;padding:.4375rem .75rem;font-family:var(--tblr-font-sans-serif);font-size:.875rem;font-weight:400;line-height:1.4285714286;color:inherit;background-color:var(--tblr-bg-forms);background-clip:padding-box;border:var(--tblr-border-width) solid var(--tblr-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--tblr-border-radius);box-shadow:0 0 transparent;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:inherit;background-color:var(--tblr-bg-forms);border-color:#90b5e2;outline:0;box-shadow:0 0 transparent,0 0 0 .25rem rgba(32,107,196,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.4285714286em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-webkit-input-placeholder{color:#929dab;opacity:1}.form-control:-ms-input-placeholder{color:#929dab;opacity:1}.form-control::-ms-input-placeholder{color:#929dab;opacity:1}.form-control::placeholder{color:#929dab;opacity:1}.form-control:disabled{background-color:var(--tblr-bg-surface-secondary);opacity:1}.form-control::-webkit-file-upload-button{padding:.4375rem .75rem;margin:-.4375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:inherit;background-color:var(--tblr-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--tblr-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.4375rem .75rem;margin:-.4375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:inherit;background-color:var(--tblr-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--tblr-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--tblr-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--tblr-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.4375rem 0;margin-bottom:0;line-height:1.4285714286;color:var(--tblr-body-color);background-color:transparent;border:solid transparent;border-width:var(--tblr-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{min-height:calc(1.4285714286em + .25rem + calc(var(--tblr-border-width) * 2));padding:.125rem .25rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.125rem .25rem;margin:-.125rem -.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.form-control-sm::file-selector-button{padding:.125rem .25rem;margin:-.125rem -.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.form-control-lg{min-height:calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2));padding:.5rem .75rem;font-size:1.25rem;border-radius:var(--tblr-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem .75rem;margin:-.5rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem}.form-control-lg::file-selector-button{padding:.5rem .75rem;margin:-.5rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem}textarea.form-control{min-height:calc(1.4285714286em + .875rem + calc(var(--tblr-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.4285714286em + .25rem + calc(var(--tblr-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.4285714286em + .875rem + calc(var(--tblr-border-width) * 2));padding:.4375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--tblr-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--tblr-border-radius)}.form-control-color.form-control-sm{height:calc(1.4285714286em + .25rem + calc(var(--tblr-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.4285714286em + 1rem + calc(var(--tblr-border-width) * 2))}.form-select{--tblr-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23929dab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.4375rem .75rem .4375rem 2.25rem;font-family:var(--tblr-font-sans-serif);font-size:.875rem;font-weight:400;line-height:1.4285714286;color:inherit;background-color:var(--tblr-bg-forms);background-image:var(--tblr-form-select-bg-img),var(--tblr-form-select-bg-icon,none);background-repeat:no-repeat;background-position:left .75rem center;background-size:16px 12px;border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:0 0 transparent;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#90b5e2;outline:0;box-shadow:0 0 transparent,0 0 0 .25rem rgba(32,107,196,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-left:.75rem;background-image:none}.form-select:disabled{background-color:var(--tblr-bg-surface-secondary)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 inherit}.form-select-sm{padding-top:.125rem;padding-bottom:.125rem;padding-right:.25rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-right:.75rem;font-size:1.25rem;border-radius:var(--tblr-border-radius-lg)}[data-bs-theme=dark] .form-select{--tblr-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fcfdfe' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.25rem;padding-right:1.5rem;margin-bottom:.5rem}.form-check .form-check-input{float:right;margin-right:-1.5rem}.form-check-reverse{padding-left:1.5rem;padding-right:0;text-align:left}.form-check-reverse .form-check-input{float:left;margin-left:-1.5rem;margin-right:0}.form-check-input{--tblr-form-check-bg:var(--tblr-bg-forms);width:1rem;height:1rem;margin-top:.2142857143rem;vertical-align:top;background-color:var(--tblr-form-check-bg);background-image:var(--tblr-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:var(--tblr-border-radius)}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#90b5e2;outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-check-input:checked{background-color:var(--tblr-primary);border-color:var(--tblr-border-color-translucent)}.form-check-input:checked[type=checkbox]{--tblr-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--tblr-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:var(--tblr-primary);border-color:var(--tblr-primary);--tblr-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.7}.form-switch{padding-right:2.5rem}.form-switch .form-check-input{--tblr-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23dadfe5'/%3e%3c/svg%3e");width:2rem;margin-right:-2.5rem;background-image:var(--tblr-form-switch-bg);background-position:right center;border-radius:2rem;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--tblr-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2390b5e2'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:left center;--tblr-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-left:2.5rem;padding-right:0}.form-switch.form-check-reverse .form-check-input{margin-left:-2.5rem;margin-right:0}.form-check-inline{display:inline-block;margin-left:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.4}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--tblr-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.25rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f6f8fb,0 0 0 .25rem rgba(32,107,196,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f6f8fb,0 0 0 .25rem rgba(32,107,196,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.375rem;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #fff;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#bcd3ed}.form-range::-webkit-slider-runnable-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem;box-shadow:0 0 transparent}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #fff;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#bcd3ed}.form-range::-moz-range-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem;box-shadow:0 0 transparent}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--tblr-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--tblr-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--tblr-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;right:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--tblr-border-width) solid transparent;transform-origin:100% 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-webkit-input-placeholder,.form-floating>.form-control::-webkit-input-placeholder{color:transparent}.form-floating>.form-control-plaintext:-ms-input-placeholder,.form-floating>.form-control:-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::-ms-input-placeholder,.form-floating>.form-control::-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-ms-input-placeholder),.form-floating>.form-control:not(:-ms-input-placeholder){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-ms-input-placeholder)~label{color:rgba(var(--tblr-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--tblr-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control:not(:-ms-input-placeholder)~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--tblr-bg-forms);border-radius:var(--tblr-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--tblr-bg-forms);border-radius:var(--tblr-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--tblr-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--tblr-border-width) 0}.form-floating>:disabled~label{color:#667382}.form-floating>:disabled~label::after{background-color:var(--tblr-bg-surface-secondary)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.4375rem .75rem;font-size:.875rem;font-weight:400;line-height:1.4285714286;color:var(--tblr-muted);text-align:center;white-space:nowrap;background-color:var(--tblr-bg-surface-secondary);border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem .75rem;font-size:1.25rem;border-radius:var(--tblr-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.125rem .25rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-left:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-left-radius:0;border-bottom-left-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-right:calc(var(--tblr-border-width) * -1);border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:85.714285%;color:var(--tblr-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:var(--tblr-spacer-2) var(--tblr-spacer-2);margin-top:.1rem;font-size:.765625rem;color:#fff;background-color:var(--tblr-success);border-radius:var(--tblr-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--tblr-form-valid-border-color);padding-left:calc(1.4285714286em + .875rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--tblr-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-left:calc(1.4285714286em + .875rem);background-position:top calc(.3571428572em + .21875rem) left calc(.3571428572em + .21875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--tblr-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--tblr-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");padding-left:4.125rem;background-position:left .75rem center,center left 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--tblr-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.4285714286em + .875rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--tblr-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--tblr-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--tblr-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-right:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:85.714285%;color:var(--tblr-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:var(--tblr-spacer-2) var(--tblr-spacer-2);margin-top:.1rem;font-size:.765625rem;color:#fff;background-color:var(--tblr-danger);border-radius:var(--tblr-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--tblr-form-invalid-border-color);padding-left:calc(1.4285714286em + .875rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--tblr-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-left:calc(1.4285714286em + .875rem);background-position:top calc(.3571428572em + .21875rem) left calc(.3571428572em + .21875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--tblr-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--tblr-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");padding-left:4.125rem;background-position:left .75rem center,center left 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--tblr-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.4285714286em + .875rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--tblr-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--tblr-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--tblr-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-right:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--tblr-btn-padding-x:1rem;--tblr-btn-padding-y:0.4375rem;--tblr-btn-font-family:var(--tblr-font-sans-serif);--tblr-btn-font-size:0.875rem;--tblr-btn-font-weight:var(--tblr-font-weight-medium);--tblr-btn-line-height:1.4285714286;--tblr-btn-color:var(--tblr-body-color);--tblr-btn-bg:transparent;--tblr-btn-border-width:var(--tblr-border-width);--tblr-btn-border-color:transparent;--tblr-btn-border-radius:var(--tblr-border-radius);--tblr-btn-hover-border-color:transparent;--tblr-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--tblr-btn-disabled-opacity:0.4;--tblr-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--tblr-btn-padding-y) var(--tblr-btn-padding-x);font-family:var(--tblr-btn-font-family);font-size:var(--tblr-btn-font-size);font-weight:var(--tblr-btn-font-weight);line-height:var(--tblr-btn-line-height);color:var(--tblr-btn-color);text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-btn-border-width) solid var(--tblr-btn-border-color);border-radius:var(--tblr-btn-border-radius);background-color:var(--tblr-btn-bg);box-shadow:var(--tblr-btn-box-shadow);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--tblr-btn-hover-color);text-decoration:none;background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--tblr-btn-color);background-color:var(--tblr-btn-bg);border-color:var(--tblr-btn-border-color)}.btn:focus-visible{color:var(--tblr-btn-hover-color);background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-box-shadow),var(--tblr-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-box-shadow),var(--tblr-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--tblr-btn-active-color);background-color:var(--tblr-btn-active-bg);border-color:var(--tblr-btn-active-border-color);box-shadow:var(--tblr-btn-active-shadow)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--tblr-btn-active-shadow),var(--tblr-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--tblr-btn-disabled-color);pointer-events:none;background-color:var(--tblr-btn-disabled-bg);border-color:var(--tblr-btn-disabled-border-color);opacity:var(--tblr-btn-disabled-opacity);box-shadow:none}.btn-link{--tblr-btn-font-weight:400;--tblr-btn-color:var(--tblr-link-color);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-link-hover-color);--tblr-btn-hover-border-color:transparent;--tblr-btn-active-color:var(--tblr-link-hover-color);--tblr-btn-active-border-color:transparent;--tblr-btn-disabled-color:#667382;--tblr-btn-disabled-border-color:transparent;--tblr-btn-box-shadow:0 0 0 #000;--tblr-btn-focus-shadow-rgb:65,129,205;text-decoration:none}.btn-link:focus-visible,.btn-link:hover{text-decoration:underline}.btn-link:focus-visible{color:var(--tblr-btn-color)}.btn-link:hover{color:var(--tblr-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--tblr-btn-padding-y:0.5rem;--tblr-btn-padding-x:0.75rem;--tblr-btn-font-size:1.25rem;--tblr-btn-border-radius:var(--tblr-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--tblr-btn-padding-y:0.125rem;--tblr-btn-padding-x:0.25rem;--tblr-btn-font-size:0.75rem;--tblr-btn-border-radius:var(--tblr-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-right:1px var(--tblr-border-style);margin-left:.1em;margin-right:.4em;transform:rotate(45deg)}.dropdown-menu{--tblr-dropdown-zindex:1000;--tblr-dropdown-min-width:11rem;--tblr-dropdown-padding-x:0;--tblr-dropdown-padding-y:0.25rem;--tblr-dropdown-spacer:1px;--tblr-dropdown-font-size:0.875rem;--tblr-dropdown-color:var(--tblr-body-color);--tblr-dropdown-bg:var(--tblr-bg-surface);--tblr-dropdown-border-color:var(--tblr-border-color-translucent);--tblr-dropdown-border-radius:var(--tblr-border-radius);--tblr-dropdown-border-width:var(--tblr-border-width);--tblr-dropdown-inner-border-radius:calc(var(--tblr-border-radius) - var(--tblr-border-width));--tblr-dropdown-divider-bg:var(--tblr-border-color-translucent);--tblr-dropdown-divider-margin-y:var(--tblr-spacer);--tblr-dropdown-box-shadow:var(--tblr-shadow-dropdown);--tblr-dropdown-link-color:inherit;--tblr-dropdown-link-hover-color:inherit;--tblr-dropdown-link-hover-bg:rgba(var(--tblr-muted-rgb), 0.04);--tblr-dropdown-link-active-color:var(--tblr-primary);--tblr-dropdown-link-active-bg:var(--tblr-active-bg);--tblr-dropdown-link-disabled-color:var(--tblr-tertiary-color);--tblr-dropdown-item-padding-x:0.75rem;--tblr-dropdown-item-padding-y:0.5rem;--tblr-dropdown-header-color:#667382;--tblr-dropdown-header-padding-x:0.75rem;--tblr-dropdown-header-padding-y:0.25rem;position:absolute;z-index:var(--tblr-dropdown-zindex);display:none;min-width:var(--tblr-dropdown-min-width);padding:var(--tblr-dropdown-padding-y) var(--tblr-dropdown-padding-x);margin:0;font-size:var(--tblr-dropdown-font-size);color:var(--tblr-dropdown-color);text-align:right;list-style:none;background-color:var(--tblr-dropdown-bg);background-clip:padding-box;border:var(--tblr-dropdown-border-width) solid var(--tblr-dropdown-border-color);border-radius:var(--tblr-dropdown-border-radius);box-shadow:var(--tblr-dropdown-box-shadow)}.dropdown-menu[data-bs-popper]{top:100%;right:0;margin-top:var(--tblr-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{left:0;right:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{left:0;right:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{left:0;right:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{left:0;right:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{left:0;right:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{left:0;right:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--tblr-dropdown-spacer)}.dropup .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-right:1px var(--tblr-border-style);margin-left:.1em;margin-right:.4em;transform:rotate(-135deg)}.dropend .dropdown-menu[data-bs-popper]{top:0;left:auto;right:100%;margin-top:0;margin-right:var(--tblr-dropdown-spacer)}.dropend .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-right:1px var(--tblr-border-style);margin-left:.1em;margin-right:.4em;transform:rotate(135deg)}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;left:100%;right:auto;margin-top:0;margin-left:var(--tblr-dropdown-spacer)}.dropstart .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-right:1px var(--tblr-border-style);margin-left:.1em;margin-right:.4em;transform:rotate(-45deg)}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--tblr-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--tblr-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--tblr-dropdown-link-color);text-align:inherit;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--tblr-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--tblr-dropdown-link-hover-color);text-decoration:none;background-color:var(--tblr-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--tblr-dropdown-link-active-color);text-decoration:none;background-color:var(--tblr-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--tblr-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--tblr-dropdown-header-padding-y) var(--tblr-dropdown-header-padding-x);margin-bottom:0;font-size:.765625rem;color:var(--tblr-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);color:var(--tblr-dropdown-link-color)}.dropdown-menu-dark{--tblr-dropdown-color:#dadfe5;--tblr-dropdown-bg:#182433;--tblr-dropdown-border-color:var(--tblr-border-color-translucent);--tblr-dropdown-link-color:#dadfe5;--tblr-dropdown-link-hover-color:#ffffff;--tblr-dropdown-divider-bg:var(--tblr-border-color-translucent);--tblr-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--tblr-dropdown-link-active-color:var(--tblr-primary);--tblr-dropdown-link-active-bg:var(--tblr-active-bg);--tblr-dropdown-link-disabled-color:#929dab;--tblr-dropdown-header-color:#929dab}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--tblr-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-right:calc(var(--tblr-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-right-radius:0;border-bottom-right-radius:0}.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-right:0}.dropstart .dropdown-toggle-split::before{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.1875rem;padding-right:.1875rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.btn-group.show .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--tblr-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-right-radius:0;border-top-left-radius:0}.nav{--tblr-nav-link-padding-x:0.75rem;--tblr-nav-link-padding-y:0.5rem;--tblr-nav-link-color:var(--tblr-muted);--tblr-nav-link-hover-color:var(--tblr-link-hover-color);--tblr-nav-link-disabled-color:var(--tblr-disabled-color);display:flex;flex-wrap:wrap;padding-right:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--tblr-nav-link-padding-y) var(--tblr-nav-link-padding-x);font-size:var(--tblr-nav-link-font-size);font-weight:var(--tblr-nav-link-font-weight);color:var(--tblr-nav-link-color);background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--tblr-nav-link-hover-color);text-decoration:none}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.nav-link.disabled{color:var(--tblr-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--tblr-nav-tabs-border-width:var(--tblr-border-width);--tblr-nav-tabs-border-color:var(--tblr-border-color);--tblr-nav-tabs-border-radius:var(--tblr-border-radius);--tblr-nav-tabs-link-hover-border-color:var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);--tblr-nav-tabs-link-active-color:var(--tblr-body-color);--tblr-nav-tabs-link-active-bg:var(--tblr-body-bg);--tblr-nav-tabs-link-active-border-color:var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);border-bottom:var(--tblr-nav-tabs-border-width) solid var(--tblr-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--tblr-nav-tabs-border-width));border:var(--tblr-nav-tabs-border-width) solid transparent;border-top-right-radius:var(--tblr-nav-tabs-border-radius);border-top-left-radius:var(--tblr-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--tblr-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--tblr-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--tblr-nav-tabs-link-active-color);background-color:var(--tblr-nav-tabs-link-active-bg);border-color:var(--tblr-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--tblr-nav-tabs-border-width));border-top-right-radius:0;border-top-left-radius:0}.nav-pills{--tblr-nav-pills-border-radius:var(--tblr-border-radius);--tblr-nav-pills-link-active-color:var(--tblr-primary);--tblr-nav-pills-link-active-bg:var(--tblr-active-bg)}.nav-pills .nav-link{border-radius:var(--tblr-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--tblr-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--tblr-nav-pills-link-active-color);background-color:var(--tblr-nav-pills-link-active-bg)}.nav-underline{--tblr-nav-underline-gap:1rem;--tblr-nav-underline-border-width:0.125rem;--tblr-nav-underline-link-active-color:var(--tblr-emphasis-color);gap:var(--tblr-nav-underline-gap)}.nav-underline .nav-link{padding-left:0;padding-right:0;border-bottom:var(--tblr-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:600;color:var(--tblr-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--tblr-navbar-padding-x:0;--tblr-navbar-padding-y:0.25rem;--tblr-navbar-color:var(--tblr-body-color);--tblr-navbar-hover-color:rgba(var(--tblr-emphasis-color-rgb), 0.8);--tblr-navbar-disabled-color:var(--tblr-disabled-color);--tblr-navbar-active-color:var(--tblr-body-color) color;--tblr-navbar-brand-padding-y:0.5rem;--tblr-navbar-brand-margin-end:1rem;--tblr-navbar-brand-font-size:1.25rem;--tblr-navbar-brand-color:var(--tblr-body-color);--tblr-navbar-brand-hover-color:var(--tblr-body-color) color;--tblr-navbar-nav-link-padding-x:0.75rem;--tblr-navbar-toggler-padding-y:0;--tblr-navbar-toggler-padding-x:0;--tblr-navbar-toggler-font-size:1rem;--tblr-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2824, 36, 51, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--tblr-navbar-toggler-border-color:rgba(var(--tblr-emphasis-color-rgb), 0.15);--tblr-navbar-toggler-border-radius:var(--tblr-border-radius);--tblr-navbar-toggler-focus-width:0;--tblr-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--tblr-navbar-padding-y) var(--tblr-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--tblr-navbar-brand-padding-y);padding-bottom:var(--tblr-navbar-brand-padding-y);margin-left:var(--tblr-navbar-brand-margin-end);font-size:var(--tblr-navbar-brand-font-size);color:var(--tblr-navbar-brand-color);white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--tblr-navbar-brand-hover-color);text-decoration:none}.navbar-nav{--tblr-nav-link-padding-x:0;--tblr-nav-link-padding-y:0.5rem;--tblr-nav-link-color:var(--tblr-navbar-color);--tblr-nav-link-hover-color:var(--tblr-navbar-hover-color);--tblr-nav-link-disabled-color:var(--tblr-navbar-disabled-color);display:flex;flex-direction:column;padding-right:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--tblr-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--tblr-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--tblr-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--tblr-navbar-toggler-padding-y) var(--tblr-navbar-toggler-padding-x);font-size:var(--tblr-navbar-toggler-font-size);line-height:1;color:var(--tblr-navbar-color);background-color:transparent;border:var(--tblr-border-width) solid var(--tblr-navbar-toggler-border-color);border-radius:var(--tblr-navbar-toggler-border-radius);transition:var(--tblr-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--tblr-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--tblr-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--tblr-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:var(--tblr-navbar-nav-link-padding-x);padding-right:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:var(--tblr-navbar-nav-link-padding-x);padding-right:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:var(--tblr-navbar-nav-link-padding-x);padding-right:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--tblr-navbar-nav-link-padding-x);padding-right:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-left:var(--tblr-navbar-nav-link-padding-x);padding-right:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:var(--tblr-navbar-nav-link-padding-x);padding-right:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark{--tblr-navbar-color:rgba(255, 255, 255, 0.7);--tblr-navbar-hover-color:rgba(255, 255, 255, 0.75);--tblr-navbar-disabled-color:var(--tblr-disabled-color);--tblr-navbar-active-color:#ffffff;--tblr-navbar-brand-color:#ffffff;--tblr-navbar-brand-hover-color:#ffffff;--tblr-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--tblr-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--tblr-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--tblr-card-spacer-y:1rem;--tblr-card-spacer-x:1.5rem;--tblr-card-title-spacer-y:1.25rem;--tblr-card-border-width:var(--tblr-border-width);--tblr-card-border-color:var(--tblr-border-color-translucent);--tblr-card-border-radius:var(--tblr-border-radius);--tblr-card-box-shadow:var(--tblr-shadow-card);--tblr-card-inner-border-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));--tblr-card-cap-padding-y:1rem;--tblr-card-cap-padding-x:1.5rem;--tblr-card-cap-bg:var(--tblr-bg-surface-tertiary);--tblr-card-cap-color:inherit;--tblr-card-color:inherit;--tblr-card-bg:var(--tblr-bg-surface);--tblr-card-img-overlay-padding:1rem;--tblr-card-group-margin:1.5rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--tblr-card-height);color:var(--tblr-body-color);word-wrap:break-word;background-color:var(--tblr-card-bg);background-clip:border-box;border:var(--tblr-card-border-width) solid var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius);box-shadow:var(--tblr-card-box-shadow)}.card>.hr,.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-right-radius:var(--tblr-card-inner-border-radius);border-top-left-radius:var(--tblr-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-left-radius:var(--tblr-card-inner-border-radius);border-bottom-right-radius:var(--tblr-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--tblr-card-spacer-y) var(--tblr-card-spacer-x);color:var(--tblr-card-color)}.card-title{margin-bottom:var(--tblr-card-title-spacer-y);color:var(--tblr-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--tblr-card-title-spacer-y));margin-bottom:0;color:var(--tblr-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-right:var(--tblr-card-spacer-x)}.card-header{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);margin-bottom:0;color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-bottom:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-header:first-child{border-radius:var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0}.card-footer{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-top:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius)}.card-header-tabs{margin-left:calc(-.5 * var(--tblr-card-cap-padding-x));margin-bottom:calc(-1 * var(--tblr-card-cap-padding-y));margin-right:calc(-.5 * var(--tblr-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--tblr-card-bg);border-bottom-color:var(--tblr-card-bg)}.card-header-pills{margin-left:calc(-.5 * var(--tblr-card-cap-padding-x));margin-right:calc(-.5 * var(--tblr-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;left:0;bottom:0;right:0;padding:var(--tblr-card-img-overlay-padding);border-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-right-radius:var(--tblr-card-inner-border-radius);border-top-left-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-left-radius:var(--tblr-card-inner-border-radius);border-bottom-right-radius:var(--tblr-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--tblr-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-right:0;border-right:0}.card-group>.card:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:not(:first-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-right-radius:0}}.accordion{--tblr-accordion-color:var(--tblr-body-color);--tblr-accordion-bg:transparent;--tblr-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--tblr-accordion-border-color:var(--tblr-border-color-translucent);--tblr-accordion-border-width:var(--tblr-border-width);--tblr-accordion-border-radius:var(--tblr-border-radius);--tblr-accordion-inner-border-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));--tblr-accordion-btn-padding-x:1.25rem;--tblr-accordion-btn-padding-y:1rem;--tblr-accordion-btn-color:var(--tblr-body-color);--tblr-accordion-btn-bg:transparent;--tblr-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23182433'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--tblr-accordion-btn-icon-width:1rem;--tblr-accordion-btn-icon-transform:rotate(-180deg);--tblr-accordion-btn-icon-transition:transform 0.2s ease-in-out;--tblr-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230d2b4e'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--tblr-accordion-btn-focus-border-color:var(--tblr-border-color-translucent);--tblr-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(32, 107, 196, 0.25);--tblr-accordion-body-padding-x:1.25rem;--tblr-accordion-body-padding-y:1rem;--tblr-accordion-active-color:inherit;--tblr-accordion-active-bg:transparent}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--tblr-accordion-btn-padding-y) var(--tblr-accordion-btn-padding-x);font-size:.875rem;color:var(--tblr-accordion-btn-color);text-align:right;background-color:var(--tblr-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--tblr-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--tblr-accordion-active-color);background-color:var(--tblr-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--tblr-accordion-border-width)) 0 var(--tblr-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--tblr-accordion-btn-active-icon);transform:var(--tblr-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--tblr-accordion-btn-icon-width);height:var(--tblr-accordion-btn-icon-width);margin-right:auto;content:"";background-image:var(--tblr-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--tblr-accordion-btn-icon-width);transition:var(--tblr-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--tblr-accordion-btn-focus-border-color);outline:0;box-shadow:var(--tblr-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--tblr-accordion-color);background-color:var(--tblr-accordion-bg);border:var(--tblr-accordion-border-width) solid var(--tblr-accordion-border-color)}.accordion-item:first-of-type{border-top-right-radius:var(--tblr-accordion-border-radius);border-top-left-radius:var(--tblr-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-right-radius:var(--tblr-accordion-inner-border-radius);border-top-left-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-left-radius:var(--tblr-accordion-border-radius);border-bottom-right-radius:var(--tblr-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-left-radius:var(--tblr-accordion-inner-border-radius);border-bottom-right-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-left-radius:var(--tblr-accordion-border-radius);border-bottom-right-radius:var(--tblr-accordion-border-radius)}.accordion-body{padding:var(--tblr-accordion-body-padding-y) var(--tblr-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-left:0;border-right:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--tblr-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2379a6dc'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--tblr-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2379a6dc'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--tblr-breadcrumb-padding-x:0;--tblr-breadcrumb-padding-y:0;--tblr-breadcrumb-margin-bottom:1rem;--tblr-breadcrumb-divider-color:var(--tblr-muted);--tblr-breadcrumb-item-padding-x:0.5rem;--tblr-breadcrumb-item-active-color:inherit;display:flex;flex-wrap:wrap;padding:var(--tblr-breadcrumb-padding-y) var(--tblr-breadcrumb-padding-x);margin-bottom:var(--tblr-breadcrumb-margin-bottom);font-size:var(--tblr-breadcrumb-font-size);list-style:none;background-color:var(--tblr-breadcrumb-bg);border-radius:var(--tblr-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-right:var(--tblr-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:right;padding-left:var(--tblr-breadcrumb-item-padding-x);color:var(--tblr-breadcrumb-divider-color);content:var(--tblr-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--tblr-breadcrumb-item-active-color)}.pagination{--tblr-pagination-padding-x:0.25rem;--tblr-pagination-padding-y:0.25rem;--tblr-pagination-font-size:0.875rem;--tblr-pagination-color:var(--tblr-muted);--tblr-pagination-bg:transparent;--tblr-pagination-border-width:0;--tblr-pagination-border-color:var(--tblr-border-color);--tblr-pagination-border-radius:var(--tblr-border-radius);--tblr-pagination-hover-color:var(--tblr-link-hover-color);--tblr-pagination-hover-bg:var(--tblr-tertiary-bg);--tblr-pagination-hover-border-color:var(--tblr-border-color);--tblr-pagination-focus-color:var(--tblr-link-hover-color);--tblr-pagination-focus-bg:var(--tblr-secondary-bg);--tblr-pagination-focus-box-shadow:0 0 0 0.25rem rgba(32, 107, 196, 0.25);--tblr-pagination-active-color:#ffffff;--tblr-pagination-active-bg:var(--tblr-primary);--tblr-pagination-active-border-color:var(--tblr-primary);--tblr-pagination-disabled-color:var(--tblr-disabled-color);--tblr-pagination-disabled-bg:transparent;--tblr-pagination-disabled-border-color:var(--tblr-border-color);display:flex;padding-right:0;list-style:none}.page-link{position:relative;display:block;padding:var(--tblr-pagination-padding-y) var(--tblr-pagination-padding-x);font-size:var(--tblr-pagination-font-size);color:var(--tblr-pagination-color);background-color:var(--tblr-pagination-bg);border:var(--tblr-pagination-border-width) solid var(--tblr-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--tblr-pagination-hover-color);text-decoration:none;background-color:var(--tblr-pagination-hover-bg);border-color:var(--tblr-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--tblr-pagination-focus-color);background-color:var(--tblr-pagination-focus-bg);outline:0;box-shadow:var(--tblr-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--tblr-pagination-active-color);background-color:var(--tblr-pagination-active-bg);border-color:var(--tblr-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--tblr-pagination-disabled-color);pointer-events:none;background-color:var(--tblr-pagination-disabled-bg);border-color:var(--tblr-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-right:calc(0 * -1)}.page-item:first-child .page-link{border-top-right-radius:var(--tblr-pagination-border-radius);border-bottom-right-radius:var(--tblr-pagination-border-radius)}.page-item:last-child .page-link{border-top-left-radius:var(--tblr-pagination-border-radius);border-bottom-left-radius:var(--tblr-pagination-border-radius)}.pagination-lg{--tblr-pagination-padding-x:1.5rem;--tblr-pagination-padding-y:0.75rem;--tblr-pagination-font-size:1.09375rem;--tblr-pagination-border-radius:var(--tblr-border-radius-lg)}.pagination-sm{--tblr-pagination-padding-x:0.5rem;--tblr-pagination-padding-y:0.25rem;--tblr-pagination-font-size:0.765625rem;--tblr-pagination-border-radius:var(--tblr-border-radius-sm)}.badge{--tblr-badge-padding-x:0.5em;--tblr-badge-padding-y:0.25em;--tblr-badge-font-size:85.714285%;--tblr-badge-font-weight:var(--tblr-font-weight-medium);--tblr-badge-color:#ffffff;--tblr-badge-border-radius:var(--tblr-border-radius);display:inline-block;padding:var(--tblr-badge-padding-y) var(--tblr-badge-padding-x);font-size:var(--tblr-badge-font-size);font-weight:var(--tblr-badge-font-weight);line-height:1;color:var(--tblr-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--tblr-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--tblr-alert-bg:transparent;--tblr-alert-padding-x:1rem;--tblr-alert-padding-y:1rem;--tblr-alert-margin-bottom:1rem;--tblr-alert-color:inherit;--tblr-alert-border-color:transparent;--tblr-alert-border:var(--tblr-border-width) solid var(--tblr-alert-border-color);--tblr-alert-border-radius:var(--tblr-border-radius);--tblr-alert-link-color:inherit;position:relative;padding:var(--tblr-alert-padding-y) var(--tblr-alert-padding-x);margin-bottom:var(--tblr-alert-margin-bottom);color:var(--tblr-alert-color);background-color:var(--tblr-alert-bg);border:var(--tblr-alert-border);border-radius:var(--tblr-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:var(--tblr-font-weight-bold);color:var(--tblr-alert-link-color)}.alert-dismissible{padding-left:3rem}.alert-dismissible .btn-close{position:absolute;top:0;left:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--tblr-alert-color:var(--tblr-primary-text-emphasis);--tblr-alert-bg:var(--tblr-primary-bg-subtle);--tblr-alert-border-color:var(--tblr-primary-border-subtle);--tblr-alert-link-color:var(--tblr-primary-text-emphasis)}.alert-secondary{--tblr-alert-color:var(--tblr-secondary-text-emphasis);--tblr-alert-bg:var(--tblr-secondary-bg-subtle);--tblr-alert-border-color:var(--tblr-secondary-border-subtle);--tblr-alert-link-color:var(--tblr-secondary-text-emphasis)}.alert-success{--tblr-alert-color:var(--tblr-success-text-emphasis);--tblr-alert-bg:var(--tblr-success-bg-subtle);--tblr-alert-border-color:var(--tblr-success-border-subtle);--tblr-alert-link-color:var(--tblr-success-text-emphasis)}.alert-info{--tblr-alert-color:var(--tblr-info-text-emphasis);--tblr-alert-bg:var(--tblr-info-bg-subtle);--tblr-alert-border-color:var(--tblr-info-border-subtle);--tblr-alert-link-color:var(--tblr-info-text-emphasis)}.alert-warning{--tblr-alert-color:var(--tblr-warning-text-emphasis);--tblr-alert-bg:var(--tblr-warning-bg-subtle);--tblr-alert-border-color:var(--tblr-warning-border-subtle);--tblr-alert-link-color:var(--tblr-warning-text-emphasis)}.alert-danger{--tblr-alert-color:var(--tblr-danger-text-emphasis);--tblr-alert-bg:var(--tblr-danger-bg-subtle);--tblr-alert-border-color:var(--tblr-danger-border-subtle);--tblr-alert-link-color:var(--tblr-danger-text-emphasis)}.alert-light{--tblr-alert-color:var(--tblr-light-text-emphasis);--tblr-alert-bg:var(--tblr-light-bg-subtle);--tblr-alert-border-color:var(--tblr-light-border-subtle);--tblr-alert-link-color:var(--tblr-light-text-emphasis)}.alert-dark{--tblr-alert-color:var(--tblr-dark-text-emphasis);--tblr-alert-bg:var(--tblr-dark-bg-subtle);--tblr-alert-border-color:var(--tblr-dark-border-subtle);--tblr-alert-link-color:var(--tblr-dark-text-emphasis)}.alert-muted{--tblr-alert-color:var(--tblr-muted-text-emphasis);--tblr-alert-bg:var(--tblr-muted-bg-subtle);--tblr-alert-border-color:var(--tblr-muted-border-subtle);--tblr-alert-link-color:var(--tblr-muted-text-emphasis)}.alert-blue{--tblr-alert-color:var(--tblr-blue-text-emphasis);--tblr-alert-bg:var(--tblr-blue-bg-subtle);--tblr-alert-border-color:var(--tblr-blue-border-subtle);--tblr-alert-link-color:var(--tblr-blue-text-emphasis)}.alert-azure{--tblr-alert-color:var(--tblr-azure-text-emphasis);--tblr-alert-bg:var(--tblr-azure-bg-subtle);--tblr-alert-border-color:var(--tblr-azure-border-subtle);--tblr-alert-link-color:var(--tblr-azure-text-emphasis)}.alert-indigo{--tblr-alert-color:var(--tblr-indigo-text-emphasis);--tblr-alert-bg:var(--tblr-indigo-bg-subtle);--tblr-alert-border-color:var(--tblr-indigo-border-subtle);--tblr-alert-link-color:var(--tblr-indigo-text-emphasis)}.alert-purple{--tblr-alert-color:var(--tblr-purple-text-emphasis);--tblr-alert-bg:var(--tblr-purple-bg-subtle);--tblr-alert-border-color:var(--tblr-purple-border-subtle);--tblr-alert-link-color:var(--tblr-purple-text-emphasis)}.alert-pink{--tblr-alert-color:var(--tblr-pink-text-emphasis);--tblr-alert-bg:var(--tblr-pink-bg-subtle);--tblr-alert-border-color:var(--tblr-pink-border-subtle);--tblr-alert-link-color:var(--tblr-pink-text-emphasis)}.alert-red{--tblr-alert-color:var(--tblr-red-text-emphasis);--tblr-alert-bg:var(--tblr-red-bg-subtle);--tblr-alert-border-color:var(--tblr-red-border-subtle);--tblr-alert-link-color:var(--tblr-red-text-emphasis)}.alert-orange{--tblr-alert-color:var(--tblr-orange-text-emphasis);--tblr-alert-bg:var(--tblr-orange-bg-subtle);--tblr-alert-border-color:var(--tblr-orange-border-subtle);--tblr-alert-link-color:var(--tblr-orange-text-emphasis)}.alert-yellow{--tblr-alert-color:var(--tblr-yellow-text-emphasis);--tblr-alert-bg:var(--tblr-yellow-bg-subtle);--tblr-alert-border-color:var(--tblr-yellow-border-subtle);--tblr-alert-link-color:var(--tblr-yellow-text-emphasis)}.alert-lime{--tblr-alert-color:var(--tblr-lime-text-emphasis);--tblr-alert-bg:var(--tblr-lime-bg-subtle);--tblr-alert-border-color:var(--tblr-lime-border-subtle);--tblr-alert-link-color:var(--tblr-lime-text-emphasis)}.alert-green{--tblr-alert-color:var(--tblr-green-text-emphasis);--tblr-alert-bg:var(--tblr-green-bg-subtle);--tblr-alert-border-color:var(--tblr-green-border-subtle);--tblr-alert-link-color:var(--tblr-green-text-emphasis)}.alert-teal{--tblr-alert-color:var(--tblr-teal-text-emphasis);--tblr-alert-bg:var(--tblr-teal-bg-subtle);--tblr-alert-border-color:var(--tblr-teal-border-subtle);--tblr-alert-link-color:var(--tblr-teal-text-emphasis)}.alert-cyan{--tblr-alert-color:var(--tblr-cyan-text-emphasis);--tblr-alert-bg:var(--tblr-cyan-bg-subtle);--tblr-alert-border-color:var(--tblr-cyan-border-subtle);--tblr-alert-link-color:var(--tblr-cyan-text-emphasis)}.alert-facebook{--tblr-alert-color:var(--tblr-facebook-text-emphasis);--tblr-alert-bg:var(--tblr-facebook-bg-subtle);--tblr-alert-border-color:var(--tblr-facebook-border-subtle);--tblr-alert-link-color:var(--tblr-facebook-text-emphasis)}.alert-twitter{--tblr-alert-color:var(--tblr-twitter-text-emphasis);--tblr-alert-bg:var(--tblr-twitter-bg-subtle);--tblr-alert-border-color:var(--tblr-twitter-border-subtle);--tblr-alert-link-color:var(--tblr-twitter-text-emphasis)}.alert-linkedin{--tblr-alert-color:var(--tblr-linkedin-text-emphasis);--tblr-alert-bg:var(--tblr-linkedin-bg-subtle);--tblr-alert-border-color:var(--tblr-linkedin-border-subtle);--tblr-alert-link-color:var(--tblr-linkedin-text-emphasis)}.alert-google{--tblr-alert-color:var(--tblr-google-text-emphasis);--tblr-alert-bg:var(--tblr-google-bg-subtle);--tblr-alert-border-color:var(--tblr-google-border-subtle);--tblr-alert-link-color:var(--tblr-google-text-emphasis)}.alert-youtube{--tblr-alert-color:var(--tblr-youtube-text-emphasis);--tblr-alert-bg:var(--tblr-youtube-bg-subtle);--tblr-alert-border-color:var(--tblr-youtube-border-subtle);--tblr-alert-link-color:var(--tblr-youtube-text-emphasis)}.alert-vimeo{--tblr-alert-color:var(--tblr-vimeo-text-emphasis);--tblr-alert-bg:var(--tblr-vimeo-bg-subtle);--tblr-alert-border-color:var(--tblr-vimeo-border-subtle);--tblr-alert-link-color:var(--tblr-vimeo-text-emphasis)}.alert-dribbble{--tblr-alert-color:var(--tblr-dribbble-text-emphasis);--tblr-alert-bg:var(--tblr-dribbble-bg-subtle);--tblr-alert-border-color:var(--tblr-dribbble-border-subtle);--tblr-alert-link-color:var(--tblr-dribbble-text-emphasis)}.alert-github{--tblr-alert-color:var(--tblr-github-text-emphasis);--tblr-alert-bg:var(--tblr-github-bg-subtle);--tblr-alert-border-color:var(--tblr-github-border-subtle);--tblr-alert-link-color:var(--tblr-github-text-emphasis)}.alert-instagram{--tblr-alert-color:var(--tblr-instagram-text-emphasis);--tblr-alert-bg:var(--tblr-instagram-bg-subtle);--tblr-alert-border-color:var(--tblr-instagram-border-subtle);--tblr-alert-link-color:var(--tblr-instagram-text-emphasis)}.alert-pinterest{--tblr-alert-color:var(--tblr-pinterest-text-emphasis);--tblr-alert-bg:var(--tblr-pinterest-bg-subtle);--tblr-alert-border-color:var(--tblr-pinterest-border-subtle);--tblr-alert-link-color:var(--tblr-pinterest-text-emphasis)}.alert-vk{--tblr-alert-color:var(--tblr-vk-text-emphasis);--tblr-alert-bg:var(--tblr-vk-bg-subtle);--tblr-alert-border-color:var(--tblr-vk-border-subtle);--tblr-alert-link-color:var(--tblr-vk-text-emphasis)}.alert-rss{--tblr-alert-color:var(--tblr-rss-text-emphasis);--tblr-alert-bg:var(--tblr-rss-bg-subtle);--tblr-alert-border-color:var(--tblr-rss-border-subtle);--tblr-alert-link-color:var(--tblr-rss-text-emphasis)}.alert-flickr{--tblr-alert-color:var(--tblr-flickr-text-emphasis);--tblr-alert-bg:var(--tblr-flickr-bg-subtle);--tblr-alert-border-color:var(--tblr-flickr-border-subtle);--tblr-alert-link-color:var(--tblr-flickr-text-emphasis)}.alert-bitbucket{--tblr-alert-color:var(--tblr-bitbucket-text-emphasis);--tblr-alert-bg:var(--tblr-bitbucket-bg-subtle);--tblr-alert-border-color:var(--tblr-bitbucket-border-subtle);--tblr-alert-link-color:var(--tblr-bitbucket-text-emphasis)}.alert-tabler{--tblr-alert-color:var(--tblr-tabler-text-emphasis);--tblr-alert-bg:var(--tblr-tabler-bg-subtle);--tblr-alert-border-color:var(--tblr-tabler-border-subtle);--tblr-alert-link-color:var(--tblr-tabler-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:.5rem}}.progress,.progress-stacked{--tblr-progress-height:0.5rem;--tblr-progress-font-size:0.65625rem;--tblr-progress-bg:var(--tblr-border-color);--tblr-progress-border-radius:var(--tblr-border-radius);--tblr-progress-box-shadow:var(--tblr-box-shadow-inset);--tblr-progress-bar-color:#ffffff;--tblr-progress-bar-bg:var(--tblr-primary);--tblr-progress-bar-transition:width 0.6s ease;display:flex;height:var(--tblr-progress-height);overflow:hidden;font-size:var(--tblr-progress-font-size);background-color:var(--tblr-progress-bg);border-radius:var(--tblr-progress-border-radius);box-shadow:var(--tblr-progress-box-shadow)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--tblr-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--tblr-progress-bar-bg);transition:var(--tblr-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--tblr-progress-height) var(--tblr-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--tblr-list-group-color:var(--tblr-body-color);--tblr-list-group-bg:inherit;--tblr-list-group-border-color:var(--tblr-border-color);--tblr-list-group-border-width:var(--tblr-border-width);--tblr-list-group-border-radius:var(--tblr-border-radius);--tblr-list-group-item-padding-x:1.5rem;--tblr-list-group-item-padding-y:1rem;--tblr-list-group-action-color:inherit;--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:rgba(var(--tblr-muted-rgb), 0.04);--tblr-list-group-action-active-color:var(--tblr-body-color);--tblr-list-group-action-active-bg:var(--tblr-secondary-bg);--tblr-list-group-disabled-color:var(--tblr-secondary-color);--tblr-list-group-disabled-bg:inherit;--tblr-list-group-active-color:inherit;--tblr-list-group-active-bg:var(--tblr-active-bg);--tblr-list-group-active-border-color:var(--tblr-border-color);display:flex;flex-direction:column;padding-right:0;margin-bottom:0;border-radius:var(--tblr-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--tblr-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--tblr-list-group-action-hover-color);text-decoration:none;background-color:var(--tblr-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--tblr-list-group-action-active-color);background-color:var(--tblr-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--tblr-list-group-item-padding-y) var(--tblr-list-group-item-padding-x);color:var(--tblr-list-group-color);background-color:var(--tblr-list-group-bg);border:var(--tblr-list-group-border-width) solid var(--tblr-list-group-border-color)}.list-group-item:first-child{border-top-right-radius:inherit;border-top-left-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--tblr-list-group-disabled-color);pointer-events:none;background-color:var(--tblr-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--tblr-list-group-active-color);background-color:var(--tblr-list-group-active-bg);border-color:var(--tblr-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--tblr-list-group-border-width));border-top-width:var(--tblr-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--tblr-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--tblr-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-right-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--tblr-list-group-border-width));border-right-width:var(--tblr-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--tblr-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--tblr-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-right-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--tblr-list-group-border-width));border-right-width:var(--tblr-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--tblr-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--tblr-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-right-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--tblr-list-group-border-width));border-right-width:var(--tblr-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--tblr-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--tblr-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-right-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--tblr-list-group-border-width));border-right-width:var(--tblr-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--tblr-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--tblr-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-right-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--tblr-list-group-border-width));border-right-width:var(--tblr-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--tblr-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--tblr-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-right-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--tblr-list-group-border-width));border-right-width:var(--tblr-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--tblr-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--tblr-list-group-color:var(--tblr-primary-text-emphasis);--tblr-list-group-bg:var(--tblr-primary-bg-subtle);--tblr-list-group-border-color:var(--tblr-primary-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-primary-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-primary-border-subtle);--tblr-list-group-active-color:var(--tblr-primary-bg-subtle);--tblr-list-group-active-bg:var(--tblr-primary-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-primary-text-emphasis)}.list-group-item-secondary{--tblr-list-group-color:var(--tblr-secondary-text-emphasis);--tblr-list-group-bg:var(--tblr-secondary-bg-subtle);--tblr-list-group-border-color:var(--tblr-secondary-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-secondary-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-secondary-border-subtle);--tblr-list-group-active-color:var(--tblr-secondary-bg-subtle);--tblr-list-group-active-bg:var(--tblr-secondary-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-secondary-text-emphasis)}.list-group-item-success{--tblr-list-group-color:var(--tblr-success-text-emphasis);--tblr-list-group-bg:var(--tblr-success-bg-subtle);--tblr-list-group-border-color:var(--tblr-success-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-success-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-success-border-subtle);--tblr-list-group-active-color:var(--tblr-success-bg-subtle);--tblr-list-group-active-bg:var(--tblr-success-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-success-text-emphasis)}.list-group-item-info{--tblr-list-group-color:var(--tblr-info-text-emphasis);--tblr-list-group-bg:var(--tblr-info-bg-subtle);--tblr-list-group-border-color:var(--tblr-info-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-info-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-info-border-subtle);--tblr-list-group-active-color:var(--tblr-info-bg-subtle);--tblr-list-group-active-bg:var(--tblr-info-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-info-text-emphasis)}.list-group-item-warning{--tblr-list-group-color:var(--tblr-warning-text-emphasis);--tblr-list-group-bg:var(--tblr-warning-bg-subtle);--tblr-list-group-border-color:var(--tblr-warning-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-warning-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-warning-border-subtle);--tblr-list-group-active-color:var(--tblr-warning-bg-subtle);--tblr-list-group-active-bg:var(--tblr-warning-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-warning-text-emphasis)}.list-group-item-danger{--tblr-list-group-color:var(--tblr-danger-text-emphasis);--tblr-list-group-bg:var(--tblr-danger-bg-subtle);--tblr-list-group-border-color:var(--tblr-danger-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-danger-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-danger-border-subtle);--tblr-list-group-active-color:var(--tblr-danger-bg-subtle);--tblr-list-group-active-bg:var(--tblr-danger-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-danger-text-emphasis)}.list-group-item-light{--tblr-list-group-color:var(--tblr-light-text-emphasis);--tblr-list-group-bg:var(--tblr-light-bg-subtle);--tblr-list-group-border-color:var(--tblr-light-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-light-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-light-border-subtle);--tblr-list-group-active-color:var(--tblr-light-bg-subtle);--tblr-list-group-active-bg:var(--tblr-light-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-light-text-emphasis)}.list-group-item-dark{--tblr-list-group-color:var(--tblr-dark-text-emphasis);--tblr-list-group-bg:var(--tblr-dark-bg-subtle);--tblr-list-group-border-color:var(--tblr-dark-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-dark-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-dark-border-subtle);--tblr-list-group-active-color:var(--tblr-dark-bg-subtle);--tblr-list-group-active-bg:var(--tblr-dark-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-dark-text-emphasis)}.list-group-item-muted{--tblr-list-group-color:var(--tblr-muted-text-emphasis);--tblr-list-group-bg:var(--tblr-muted-bg-subtle);--tblr-list-group-border-color:var(--tblr-muted-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-muted-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-muted-border-subtle);--tblr-list-group-active-color:var(--tblr-muted-bg-subtle);--tblr-list-group-active-bg:var(--tblr-muted-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-muted-text-emphasis)}.list-group-item-blue{--tblr-list-group-color:var(--tblr-blue-text-emphasis);--tblr-list-group-bg:var(--tblr-blue-bg-subtle);--tblr-list-group-border-color:var(--tblr-blue-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-blue-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-blue-border-subtle);--tblr-list-group-active-color:var(--tblr-blue-bg-subtle);--tblr-list-group-active-bg:var(--tblr-blue-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-blue-text-emphasis)}.list-group-item-azure{--tblr-list-group-color:var(--tblr-azure-text-emphasis);--tblr-list-group-bg:var(--tblr-azure-bg-subtle);--tblr-list-group-border-color:var(--tblr-azure-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-azure-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-azure-border-subtle);--tblr-list-group-active-color:var(--tblr-azure-bg-subtle);--tblr-list-group-active-bg:var(--tblr-azure-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-azure-text-emphasis)}.list-group-item-indigo{--tblr-list-group-color:var(--tblr-indigo-text-emphasis);--tblr-list-group-bg:var(--tblr-indigo-bg-subtle);--tblr-list-group-border-color:var(--tblr-indigo-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-indigo-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-indigo-border-subtle);--tblr-list-group-active-color:var(--tblr-indigo-bg-subtle);--tblr-list-group-active-bg:var(--tblr-indigo-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-indigo-text-emphasis)}.list-group-item-purple{--tblr-list-group-color:var(--tblr-purple-text-emphasis);--tblr-list-group-bg:var(--tblr-purple-bg-subtle);--tblr-list-group-border-color:var(--tblr-purple-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-purple-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-purple-border-subtle);--tblr-list-group-active-color:var(--tblr-purple-bg-subtle);--tblr-list-group-active-bg:var(--tblr-purple-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-purple-text-emphasis)}.list-group-item-pink{--tblr-list-group-color:var(--tblr-pink-text-emphasis);--tblr-list-group-bg:var(--tblr-pink-bg-subtle);--tblr-list-group-border-color:var(--tblr-pink-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-pink-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-pink-border-subtle);--tblr-list-group-active-color:var(--tblr-pink-bg-subtle);--tblr-list-group-active-bg:var(--tblr-pink-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-pink-text-emphasis)}.list-group-item-red{--tblr-list-group-color:var(--tblr-red-text-emphasis);--tblr-list-group-bg:var(--tblr-red-bg-subtle);--tblr-list-group-border-color:var(--tblr-red-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-red-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-red-border-subtle);--tblr-list-group-active-color:var(--tblr-red-bg-subtle);--tblr-list-group-active-bg:var(--tblr-red-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-red-text-emphasis)}.list-group-item-orange{--tblr-list-group-color:var(--tblr-orange-text-emphasis);--tblr-list-group-bg:var(--tblr-orange-bg-subtle);--tblr-list-group-border-color:var(--tblr-orange-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-orange-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-orange-border-subtle);--tblr-list-group-active-color:var(--tblr-orange-bg-subtle);--tblr-list-group-active-bg:var(--tblr-orange-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-orange-text-emphasis)}.list-group-item-yellow{--tblr-list-group-color:var(--tblr-yellow-text-emphasis);--tblr-list-group-bg:var(--tblr-yellow-bg-subtle);--tblr-list-group-border-color:var(--tblr-yellow-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-yellow-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-yellow-border-subtle);--tblr-list-group-active-color:var(--tblr-yellow-bg-subtle);--tblr-list-group-active-bg:var(--tblr-yellow-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-yellow-text-emphasis)}.list-group-item-lime{--tblr-list-group-color:var(--tblr-lime-text-emphasis);--tblr-list-group-bg:var(--tblr-lime-bg-subtle);--tblr-list-group-border-color:var(--tblr-lime-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-lime-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-lime-border-subtle);--tblr-list-group-active-color:var(--tblr-lime-bg-subtle);--tblr-list-group-active-bg:var(--tblr-lime-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-lime-text-emphasis)}.list-group-item-green{--tblr-list-group-color:var(--tblr-green-text-emphasis);--tblr-list-group-bg:var(--tblr-green-bg-subtle);--tblr-list-group-border-color:var(--tblr-green-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-green-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-green-border-subtle);--tblr-list-group-active-color:var(--tblr-green-bg-subtle);--tblr-list-group-active-bg:var(--tblr-green-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-green-text-emphasis)}.list-group-item-teal{--tblr-list-group-color:var(--tblr-teal-text-emphasis);--tblr-list-group-bg:var(--tblr-teal-bg-subtle);--tblr-list-group-border-color:var(--tblr-teal-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-teal-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-teal-border-subtle);--tblr-list-group-active-color:var(--tblr-teal-bg-subtle);--tblr-list-group-active-bg:var(--tblr-teal-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-teal-text-emphasis)}.list-group-item-cyan{--tblr-list-group-color:var(--tblr-cyan-text-emphasis);--tblr-list-group-bg:var(--tblr-cyan-bg-subtle);--tblr-list-group-border-color:var(--tblr-cyan-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-cyan-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-cyan-border-subtle);--tblr-list-group-active-color:var(--tblr-cyan-bg-subtle);--tblr-list-group-active-bg:var(--tblr-cyan-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-cyan-text-emphasis)}.list-group-item-facebook{--tblr-list-group-color:var(--tblr-facebook-text-emphasis);--tblr-list-group-bg:var(--tblr-facebook-bg-subtle);--tblr-list-group-border-color:var(--tblr-facebook-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-facebook-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-facebook-border-subtle);--tblr-list-group-active-color:var(--tblr-facebook-bg-subtle);--tblr-list-group-active-bg:var(--tblr-facebook-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-facebook-text-emphasis)}.list-group-item-twitter{--tblr-list-group-color:var(--tblr-twitter-text-emphasis);--tblr-list-group-bg:var(--tblr-twitter-bg-subtle);--tblr-list-group-border-color:var(--tblr-twitter-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-twitter-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-twitter-border-subtle);--tblr-list-group-active-color:var(--tblr-twitter-bg-subtle);--tblr-list-group-active-bg:var(--tblr-twitter-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-twitter-text-emphasis)}.list-group-item-linkedin{--tblr-list-group-color:var(--tblr-linkedin-text-emphasis);--tblr-list-group-bg:var(--tblr-linkedin-bg-subtle);--tblr-list-group-border-color:var(--tblr-linkedin-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-linkedin-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-linkedin-border-subtle);--tblr-list-group-active-color:var(--tblr-linkedin-bg-subtle);--tblr-list-group-active-bg:var(--tblr-linkedin-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-linkedin-text-emphasis)}.list-group-item-google{--tblr-list-group-color:var(--tblr-google-text-emphasis);--tblr-list-group-bg:var(--tblr-google-bg-subtle);--tblr-list-group-border-color:var(--tblr-google-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-google-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-google-border-subtle);--tblr-list-group-active-color:var(--tblr-google-bg-subtle);--tblr-list-group-active-bg:var(--tblr-google-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-google-text-emphasis)}.list-group-item-youtube{--tblr-list-group-color:var(--tblr-youtube-text-emphasis);--tblr-list-group-bg:var(--tblr-youtube-bg-subtle);--tblr-list-group-border-color:var(--tblr-youtube-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-youtube-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-youtube-border-subtle);--tblr-list-group-active-color:var(--tblr-youtube-bg-subtle);--tblr-list-group-active-bg:var(--tblr-youtube-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-youtube-text-emphasis)}.list-group-item-vimeo{--tblr-list-group-color:var(--tblr-vimeo-text-emphasis);--tblr-list-group-bg:var(--tblr-vimeo-bg-subtle);--tblr-list-group-border-color:var(--tblr-vimeo-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-vimeo-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-vimeo-border-subtle);--tblr-list-group-active-color:var(--tblr-vimeo-bg-subtle);--tblr-list-group-active-bg:var(--tblr-vimeo-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-vimeo-text-emphasis)}.list-group-item-dribbble{--tblr-list-group-color:var(--tblr-dribbble-text-emphasis);--tblr-list-group-bg:var(--tblr-dribbble-bg-subtle);--tblr-list-group-border-color:var(--tblr-dribbble-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-dribbble-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-dribbble-border-subtle);--tblr-list-group-active-color:var(--tblr-dribbble-bg-subtle);--tblr-list-group-active-bg:var(--tblr-dribbble-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-dribbble-text-emphasis)}.list-group-item-github{--tblr-list-group-color:var(--tblr-github-text-emphasis);--tblr-list-group-bg:var(--tblr-github-bg-subtle);--tblr-list-group-border-color:var(--tblr-github-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-github-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-github-border-subtle);--tblr-list-group-active-color:var(--tblr-github-bg-subtle);--tblr-list-group-active-bg:var(--tblr-github-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-github-text-emphasis)}.list-group-item-instagram{--tblr-list-group-color:var(--tblr-instagram-text-emphasis);--tblr-list-group-bg:var(--tblr-instagram-bg-subtle);--tblr-list-group-border-color:var(--tblr-instagram-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-instagram-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-instagram-border-subtle);--tblr-list-group-active-color:var(--tblr-instagram-bg-subtle);--tblr-list-group-active-bg:var(--tblr-instagram-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-instagram-text-emphasis)}.list-group-item-pinterest{--tblr-list-group-color:var(--tblr-pinterest-text-emphasis);--tblr-list-group-bg:var(--tblr-pinterest-bg-subtle);--tblr-list-group-border-color:var(--tblr-pinterest-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-pinterest-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-pinterest-border-subtle);--tblr-list-group-active-color:var(--tblr-pinterest-bg-subtle);--tblr-list-group-active-bg:var(--tblr-pinterest-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-pinterest-text-emphasis)}.list-group-item-vk{--tblr-list-group-color:var(--tblr-vk-text-emphasis);--tblr-list-group-bg:var(--tblr-vk-bg-subtle);--tblr-list-group-border-color:var(--tblr-vk-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-vk-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-vk-border-subtle);--tblr-list-group-active-color:var(--tblr-vk-bg-subtle);--tblr-list-group-active-bg:var(--tblr-vk-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-vk-text-emphasis)}.list-group-item-rss{--tblr-list-group-color:var(--tblr-rss-text-emphasis);--tblr-list-group-bg:var(--tblr-rss-bg-subtle);--tblr-list-group-border-color:var(--tblr-rss-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-rss-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-rss-border-subtle);--tblr-list-group-active-color:var(--tblr-rss-bg-subtle);--tblr-list-group-active-bg:var(--tblr-rss-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-rss-text-emphasis)}.list-group-item-flickr{--tblr-list-group-color:var(--tblr-flickr-text-emphasis);--tblr-list-group-bg:var(--tblr-flickr-bg-subtle);--tblr-list-group-border-color:var(--tblr-flickr-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-flickr-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-flickr-border-subtle);--tblr-list-group-active-color:var(--tblr-flickr-bg-subtle);--tblr-list-group-active-bg:var(--tblr-flickr-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-flickr-text-emphasis)}.list-group-item-bitbucket{--tblr-list-group-color:var(--tblr-bitbucket-text-emphasis);--tblr-list-group-bg:var(--tblr-bitbucket-bg-subtle);--tblr-list-group-border-color:var(--tblr-bitbucket-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-bitbucket-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-bitbucket-border-subtle);--tblr-list-group-active-color:var(--tblr-bitbucket-bg-subtle);--tblr-list-group-active-bg:var(--tblr-bitbucket-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-bitbucket-text-emphasis)}.list-group-item-tabler{--tblr-list-group-color:var(--tblr-tabler-text-emphasis);--tblr-list-group-bg:var(--tblr-tabler-bg-subtle);--tblr-list-group-border-color:var(--tblr-tabler-border-subtle);--tblr-list-group-action-hover-color:var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg:var(--tblr-tabler-border-subtle);--tblr-list-group-action-active-color:var(--tblr-emphasis-color);--tblr-list-group-action-active-bg:var(--tblr-tabler-border-subtle);--tblr-list-group-active-color:var(--tblr-tabler-bg-subtle);--tblr-list-group-active-bg:var(--tblr-tabler-text-emphasis);--tblr-list-group-active-border-color:var(--tblr-tabler-text-emphasis)}.btn-close{--tblr-btn-close-color:#000000;--tblr-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--tblr-btn-close-opacity:0.3;--tblr-btn-close-hover-opacity:0.75;--tblr-btn-close-focus-shadow:0 0 0 0.25rem rgba(32, 107, 196, 0.25);--tblr-btn-close-focus-opacity:1;--tblr-btn-close-disabled-opacity:0.25;--tblr-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:.75rem;height:.75rem;padding:.25em .25em;color:var(--tblr-btn-close-color);background:transparent var(--tblr-btn-close-bg) center/.75rem auto no-repeat;border:0;border-radius:4px;opacity:var(--tblr-btn-close-opacity)}.btn-close:hover{color:var(--tblr-btn-close-color);text-decoration:none;opacity:var(--tblr-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--tblr-btn-close-focus-shadow);opacity:var(--tblr-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:var(--tblr-btn-close-disabled-opacity)}.btn-close-white{filter:var(--tblr-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--tblr-btn-close-white-filter)}.toast{--tblr-toast-zindex:1090;--tblr-toast-padding-x:0.75rem;--tblr-toast-padding-y:0.5rem;--tblr-toast-spacing:calc(var(--tblr-page-padding) * 2);--tblr-toast-max-width:350px;--tblr-toast-font-size:0.875rem;--tblr-toast-bg:rgba(var(--tblr-body-bg-rgb), 0.85);--tblr-toast-border-width:var(--tblr-border-width);--tblr-toast-border-color:var(--tblr-border-color);--tblr-toast-border-radius:var(--tblr-border-radius);--tblr-toast-box-shadow:var(--tblr-box-shadow);--tblr-toast-header-color:var(--tblr-muted);--tblr-toast-header-bg:rgba(var(--tblr-body-bg-rgb), 0.85);--tblr-toast-header-border-color:var(--tblr-border-color);width:var(--tblr-toast-max-width);max-width:100%;font-size:var(--tblr-toast-font-size);color:var(--tblr-toast-color);pointer-events:auto;background-color:var(--tblr-toast-bg);background-clip:padding-box;border:var(--tblr-toast-border-width) solid var(--tblr-toast-border-color);box-shadow:var(--tblr-toast-box-shadow);border-radius:var(--tblr-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--tblr-toast-zindex:1090;position:absolute;z-index:var(--tblr-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--tblr-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--tblr-toast-padding-y) var(--tblr-toast-padding-x);color:var(--tblr-toast-header-color);background-color:var(--tblr-toast-header-bg);background-clip:padding-box;border-bottom:var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color);border-top-right-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width));border-top-left-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width))}.toast-header .btn-close{margin-left:calc(-.5 * var(--tblr-toast-padding-x));margin-right:var(--tblr-toast-padding-x)}.toast-body{padding:var(--tblr-toast-padding-x);word-wrap:break-word}.modal{--tblr-modal-zindex:1055;--tblr-modal-width:540px;--tblr-modal-padding:1.5rem;--tblr-modal-margin:0.5rem;--tblr-modal-bg:var(--tblr-bg-surface);--tblr-modal-border-color:transparent;--tblr-modal-border-width:var(--tblr-border-width);--tblr-modal-border-radius:var(--tblr-border-radius-lg);--tblr-modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--tblr-modal-inner-border-radius:calc(var(--tblr-modal-border-radius) - 1px);--tblr-modal-header-padding-x:1.5rem;--tblr-modal-header-padding-y:1.5rem;--tblr-modal-header-padding:1.5rem;--tblr-modal-header-border-color:var(--tblr-border-color);--tblr-modal-header-border-width:var(--tblr-border-width);--tblr-modal-title-line-height:1.4285714286;--tblr-modal-footer-gap:0.75rem;--tblr-modal-footer-bg:var(--tblr-bg-surface-tertiary);--tblr-modal-footer-border-color:var(--tblr-border-color);--tblr-modal-footer-border-width:var(--tblr-border-width);position:fixed;top:0;right:0;z-index:var(--tblr-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--tblr-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-1rem)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--tblr-modal-color);pointer-events:auto;background-color:var(--tblr-modal-bg);background-clip:padding-box;border:var(--tblr-modal-border-width) solid var(--tblr-modal-border-color);border-radius:var(--tblr-modal-border-radius);box-shadow:var(--tblr-modal-box-shadow);outline:0}.modal-backdrop{--tblr-backdrop-zindex:1050;--tblr-backdrop-bg:#182433;--tblr-backdrop-opacity:0.24;position:fixed;top:0;right:0;z-index:var(--tblr-backdrop-zindex);width:100vw;height:100vh;background-color:var(--tblr-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--tblr-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--tblr-modal-header-padding);border-bottom:var(--tblr-modal-header-border-width) solid var(--tblr-modal-header-border-color);border-top-right-radius:var(--tblr-modal-inner-border-radius);border-top-left-radius:var(--tblr-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--tblr-modal-header-padding-y) * .5) calc(var(--tblr-modal-header-padding-x) * .5);margin:calc(-.5 * var(--tblr-modal-header-padding-y)) auto calc(-.5 * var(--tblr-modal-header-padding-y)) calc(-.5 * var(--tblr-modal-header-padding-x))}.modal-title{margin-bottom:0;line-height:var(--tblr-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--tblr-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--tblr-modal-padding) - var(--tblr-modal-footer-gap) * .5);background-color:var(--tblr-modal-footer-bg);border-top:var(--tblr-modal-footer-border-width) solid var(--tblr-modal-footer-border-color);border-bottom-left-radius:var(--tblr-modal-inner-border-radius);border-bottom-right-radius:var(--tblr-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--tblr-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--tblr-modal-margin:1.75rem;--tblr-modal-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--tblr-modal-width);margin-left:auto;margin-right:auto}.modal-sm{--tblr-modal-width:380px}}@media (min-width:992px){.modal-lg,.modal-xl{--tblr-modal-width:720px}}@media (min-width:1200px){.modal-xl{--tblr-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--tblr-tooltip-zindex:1080;--tblr-tooltip-max-width:200px;--tblr-tooltip-padding-x:var(--tblr-spacer-2);--tblr-tooltip-padding-y:var(--tblr-spacer-2);--tblr-tooltip-font-size:0.765625rem;--tblr-tooltip-color:var(--tblr-light);--tblr-tooltip-bg:var(--tblr-bg-surface-dark);--tblr-tooltip-border-radius:var(--tblr-border-radius);--tblr-tooltip-opacity:0.9;--tblr-tooltip-arrow-width:0.8rem;--tblr-tooltip-arrow-height:0.4rem;z-index:var(--tblr-tooltip-zindex);display:block;margin:var(--tblr-tooltip-margin);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:right;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--tblr-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--tblr-tooltip-arrow-width);height:var(--tblr-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--tblr-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-top-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--tblr-tooltip-arrow-height));width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-right-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--tblr-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-bottom-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--tblr-tooltip-arrow-height));width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) 0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-left-color:var(--tblr-tooltip-bg)}.tooltip-inner{max-width:var(--tblr-tooltip-max-width);padding:var(--tblr-tooltip-padding-y) var(--tblr-tooltip-padding-x);color:var(--tblr-tooltip-color);text-align:center;background-color:var(--tblr-tooltip-bg);border-radius:var(--tblr-tooltip-border-radius)}.popover{--tblr-popover-zindex:1070;--tblr-popover-max-width:276px;--tblr-popover-font-size:0.765625rem;--tblr-popover-bg:var(--tblr-bg-surface);--tblr-popover-border-width:var(--tblr-border-width);--tblr-popover-border-color:var(--tblr-border-color);--tblr-popover-border-radius:var(--tblr-border-radius-lg);--tblr-popover-inner-border-radius:calc(var(--tblr-border-radius-lg) - var(--tblr-border-width));--tblr-popover-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--tblr-popover-header-padding-x:1rem;--tblr-popover-header-padding-y:0.5rem;--tblr-popover-header-font-size:0.875rem;--tblr-popover-header-bg:transparent;--tblr-popover-body-padding-x:1rem;--tblr-popover-body-padding-y:1rem;--tblr-popover-body-color:inherit;--tblr-popover-arrow-width:1rem;--tblr-popover-arrow-height:0.5rem;--tblr-popover-arrow-border:var(--tblr-popover-border-color);z-index:var(--tblr-popover-zindex);display:block;max-width:var(--tblr-popover-max-width);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:right;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-popover-font-size);word-wrap:break-word;background-color:var(--tblr-popover-bg);background-clip:padding-box;border:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-radius:var(--tblr-popover-border-radius);box-shadow:var(--tblr-popover-box-shadow)}.popover .popover-arrow{display:block;width:var(--tblr-popover-arrow-width);height:var(--tblr-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--tblr-popover-border-width);border-top-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--tblr-popover-border-width);border-right-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--tblr-popover-border-width);border-bottom-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;right:50%;display:block;width:var(--tblr-popover-arrow-width);margin-right:calc(-.5 * var(--tblr-popover-arrow-width));content:"";border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--tblr-popover-arrow-width) * .5) 0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--tblr-popover-border-width);border-left-color:var(--tblr-popover-bg)}.popover-header{padding:var(--tblr-popover-header-padding-y) var(--tblr-popover-header-padding-x);margin-bottom:0;font-size:var(--tblr-popover-header-font-size);color:var(--tblr-popover-header-color);background-color:var(--tblr-popover-header-bg);border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-top-right-radius:var(--tblr-popover-inner-border-radius);border-top-left-radius:var(--tblr-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--tblr-popover-body-padding-y) var(--tblr-popover-body-padding-x);color:var(--tblr-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:right;width:100%;margin-left:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(-100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{right:0}.carousel-control-next{left:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:1.5rem;height:1.5rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e")}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e")}.carousel-indicators{position:absolute;left:0;bottom:0;right:0;z-index:2;display:flex;justify-content:center;padding:0;margin-left:15%;margin-bottom:1rem;margin-right:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-left:3px;margin-right:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;left:15%;bottom:1.25rem;right:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--tblr-spinner-width);height:var(--tblr-spinner-height);vertical-align:var(--tblr-spinner-vertical-align);border-radius:50%;animation:var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--tblr-spinner-width:1.5rem;--tblr-spinner-height:1.5rem;--tblr-spinner-vertical-align:-0.125em;--tblr-spinner-border-width:2px;--tblr-spinner-animation-speed:0.75s;--tblr-spinner-animation-name:spinner-border;border:var(--tblr-spinner-border-width) solid currentcolor;border-left-color:transparent}.spinner-border-sm{--tblr-spinner-width:1rem;--tblr-spinner-height:1rem;--tblr-spinner-border-width:1px}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--tblr-spinner-width:1.5rem;--tblr-spinner-height:1.5rem;--tblr-spinner-vertical-align:-0.125em;--tblr-spinner-animation-speed:0.75s;--tblr-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--tblr-spinner-width:1rem;--tblr-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--tblr-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--tblr-offcanvas-zindex:1045;--tblr-offcanvas-width:400px;--tblr-offcanvas-height:30vh;--tblr-offcanvas-padding-x:1.5rem;--tblr-offcanvas-padding-y:1.5rem;--tblr-offcanvas-color:var(--tblr-body-color);--tblr-offcanvas-bg:var(--tblr-bg-surface);--tblr-offcanvas-border-width:var(--tblr-border-width);--tblr-offcanvas-border-color:var(--tblr-border-color);--tblr-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--tblr-offcanvas-transition:transform 0.3s ease-in-out;--tblr-offcanvas-title-line-height:1.4285714286}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-end{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-top{top:0;left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-end{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-top{top:0;left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-end{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-top{top:0;left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-end{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-top{top:0;left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-end{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-top{top:0;left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-end{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-top{top:0;left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;right:0;z-index:1040;width:100vw;height:100vh;background-color:#182433}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.24}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--tblr-offcanvas-padding-y) * .5) calc(var(--tblr-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--tblr-offcanvas-padding-y));margin-left:calc(-.5 * var(--tblr-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--tblr-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--tblr-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.2}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.1}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.9) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.9) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0;mask-position:-200% 0}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fcfdfe!important;background-color:RGBA(32,107,196,var(--tblr-bg-opacity,1))!important}.text-bg-secondary{color:#fcfdfe!important;background-color:RGBA(102,115,130,var(--tblr-bg-opacity,1))!important}.text-bg-success{color:#fcfdfe!important;background-color:RGBA(47,179,68,var(--tblr-bg-opacity,1))!important}.text-bg-info{color:#fcfdfe!important;background-color:RGBA(66,153,225,var(--tblr-bg-opacity,1))!important}.text-bg-warning{color:#fcfdfe!important;background-color:RGBA(247,103,7,var(--tblr-bg-opacity,1))!important}.text-bg-danger{color:#fcfdfe!important;background-color:RGBA(214,57,57,var(--tblr-bg-opacity,1))!important}.text-bg-light{color:#182433!important;background-color:RGBA(252,253,254,var(--tblr-bg-opacity,1))!important}.text-bg-dark{color:#fcfdfe!important;background-color:RGBA(24,36,51,var(--tblr-bg-opacity,1))!important}.text-bg-muted{color:#fcfdfe!important;background-color:RGBA(102,115,130,var(--tblr-bg-opacity,1))!important}.text-bg-blue{color:#fcfdfe!important;background-color:RGBA(32,107,196,var(--tblr-bg-opacity,1))!important}.text-bg-azure{color:#fcfdfe!important;background-color:RGBA(66,153,225,var(--tblr-bg-opacity,1))!important}.text-bg-indigo{color:#fcfdfe!important;background-color:RGBA(66,99,235,var(--tblr-bg-opacity,1))!important}.text-bg-purple{color:#fcfdfe!important;background-color:RGBA(174,62,201,var(--tblr-bg-opacity,1))!important}.text-bg-pink{color:#fcfdfe!important;background-color:RGBA(214,51,108,var(--tblr-bg-opacity,1))!important}.text-bg-red{color:#fcfdfe!important;background-color:RGBA(214,57,57,var(--tblr-bg-opacity,1))!important}.text-bg-orange{color:#fcfdfe!important;background-color:RGBA(247,103,7,var(--tblr-bg-opacity,1))!important}.text-bg-yellow{color:#fcfdfe!important;background-color:RGBA(245,159,0,var(--tblr-bg-opacity,1))!important}.text-bg-lime{color:#fcfdfe!important;background-color:RGBA(116,184,22,var(--tblr-bg-opacity,1))!important}.text-bg-green{color:#fcfdfe!important;background-color:RGBA(47,179,68,var(--tblr-bg-opacity,1))!important}.text-bg-teal{color:#fcfdfe!important;background-color:RGBA(12,166,120,var(--tblr-bg-opacity,1))!important}.text-bg-cyan{color:#fcfdfe!important;background-color:RGBA(23,162,184,var(--tblr-bg-opacity,1))!important}.text-bg-facebook{color:#fcfdfe!important;background-color:RGBA(24,119,242,var(--tblr-bg-opacity,1))!important}.text-bg-twitter{color:#fcfdfe!important;background-color:RGBA(29,161,242,var(--tblr-bg-opacity,1))!important}.text-bg-linkedin{color:#fcfdfe!important;background-color:RGBA(10,102,194,var(--tblr-bg-opacity,1))!important}.text-bg-google{color:#fcfdfe!important;background-color:RGBA(220,78,65,var(--tblr-bg-opacity,1))!important}.text-bg-youtube{color:#fcfdfe!important;background-color:RGBA(255,0,0,var(--tblr-bg-opacity,1))!important}.text-bg-vimeo{color:#fcfdfe!important;background-color:RGBA(26,183,234,var(--tblr-bg-opacity,1))!important}.text-bg-dribbble{color:#fcfdfe!important;background-color:RGBA(234,76,137,var(--tblr-bg-opacity,1))!important}.text-bg-github{color:#fcfdfe!important;background-color:RGBA(24,23,23,var(--tblr-bg-opacity,1))!important}.text-bg-instagram{color:#fcfdfe!important;background-color:RGBA(228,64,95,var(--tblr-bg-opacity,1))!important}.text-bg-pinterest{color:#fcfdfe!important;background-color:RGBA(189,8,28,var(--tblr-bg-opacity,1))!important}.text-bg-vk{color:#fcfdfe!important;background-color:RGBA(99,131,168,var(--tblr-bg-opacity,1))!important}.text-bg-rss{color:#fcfdfe!important;background-color:RGBA(255,165,0,var(--tblr-bg-opacity,1))!important}.text-bg-flickr{color:#fcfdfe!important;background-color:RGBA(0,99,220,var(--tblr-bg-opacity,1))!important}.text-bg-bitbucket{color:#fcfdfe!important;background-color:RGBA(0,82,204,var(--tblr-bg-opacity,1))!important}.text-bg-tabler{color:#fcfdfe!important;background-color:RGBA(32,107,196,var(--tblr-bg-opacity,1))!important}.link-primary{color:RGBA(var(--tblr-primary-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity,1))}.link-primary:focus,.link-primary:hover{color:RGBA(26,86,157,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(26,86,157,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(26,86,157,var(--tblr-link-underline-opacity,1))}.link-secondary{color:RGBA(var(--tblr-secondary-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity,1))}.link-secondary:focus,.link-secondary:hover{color:RGBA(82,92,104,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(82,92,104,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(82,92,104,var(--tblr-link-underline-opacity,1))}.link-success{color:RGBA(var(--tblr-success-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-success-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-success-rgb),var(--tblr-link-underline-opacity,1))}.link-success:focus,.link-success:hover{color:RGBA(38,143,54,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity,1))}.link-info{color:RGBA(var(--tblr-info-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-info-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-info-rgb),var(--tblr-link-underline-opacity,1))}.link-info:focus,.link-info:hover{color:RGBA(53,122,180,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity,1))}.link-warning{color:RGBA(var(--tblr-warning-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity,1))}.link-warning:focus,.link-warning:hover{color:RGBA(198,82,6,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity,1))}.link-danger{color:RGBA(var(--tblr-danger-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity,1))}.link-danger:focus,.link-danger:hover{color:RGBA(171,46,46,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity,1))}.link-light{color:RGBA(var(--tblr-light-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-light-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-light-rgb),var(--tblr-link-underline-opacity,1))}.link-light:focus,.link-light:hover{color:RGBA(253,253,254,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(253,253,254,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(253,253,254,var(--tblr-link-underline-opacity,1))}.link-dark{color:RGBA(var(--tblr-dark-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity,1))}.link-dark:focus,.link-dark:hover{color:RGBA(19,29,41,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(19,29,41,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(19,29,41,var(--tblr-link-underline-opacity,1))}.link-muted{color:RGBA(var(--tblr-muted-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity,1))}.link-muted:focus,.link-muted:hover{color:RGBA(82,92,104,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(82,92,104,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(82,92,104,var(--tblr-link-underline-opacity,1))}.link-blue{color:RGBA(var(--tblr-blue-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity,1))}.link-blue:focus,.link-blue:hover{color:RGBA(26,86,157,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(26,86,157,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(26,86,157,var(--tblr-link-underline-opacity,1))}.link-azure{color:RGBA(var(--tblr-azure-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity,1))}.link-azure:focus,.link-azure:hover{color:RGBA(53,122,180,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity,1))}.link-indigo{color:RGBA(var(--tblr-indigo-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity,1))}.link-indigo:focus,.link-indigo:hover{color:RGBA(53,79,188,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(53,79,188,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(53,79,188,var(--tblr-link-underline-opacity,1))}.link-purple{color:RGBA(var(--tblr-purple-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity,1))}.link-purple:focus,.link-purple:hover{color:RGBA(139,50,161,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(139,50,161,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(139,50,161,var(--tblr-link-underline-opacity,1))}.link-pink{color:RGBA(var(--tblr-pink-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity,1))}.link-pink:focus,.link-pink:hover{color:RGBA(171,41,86,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(171,41,86,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(171,41,86,var(--tblr-link-underline-opacity,1))}.link-red{color:RGBA(var(--tblr-red-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-red-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-red-rgb),var(--tblr-link-underline-opacity,1))}.link-red:focus,.link-red:hover{color:RGBA(171,46,46,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity,1))}.link-orange{color:RGBA(var(--tblr-orange-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity,1))}.link-orange:focus,.link-orange:hover{color:RGBA(198,82,6,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity,1))}.link-yellow{color:RGBA(var(--tblr-yellow-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity,1))}.link-yellow:focus,.link-yellow:hover{color:RGBA(196,127,0,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(196,127,0,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(196,127,0,var(--tblr-link-underline-opacity,1))}.link-lime{color:RGBA(var(--tblr-lime-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity,1))}.link-lime:focus,.link-lime:hover{color:RGBA(93,147,18,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(93,147,18,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(93,147,18,var(--tblr-link-underline-opacity,1))}.link-green{color:RGBA(var(--tblr-green-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-green-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-green-rgb),var(--tblr-link-underline-opacity,1))}.link-green:focus,.link-green:hover{color:RGBA(38,143,54,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity,1))}.link-teal{color:RGBA(var(--tblr-teal-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity,1))}.link-teal:focus,.link-teal:hover{color:RGBA(10,133,96,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(10,133,96,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(10,133,96,var(--tblr-link-underline-opacity,1))}.link-cyan{color:RGBA(var(--tblr-cyan-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity,1))}.link-cyan:focus,.link-cyan:hover{color:RGBA(18,130,147,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(18,130,147,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(18,130,147,var(--tblr-link-underline-opacity,1))}.link-facebook{color:RGBA(var(--tblr-facebook-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-facebook-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-facebook-rgb),var(--tblr-link-underline-opacity,1))}.link-facebook:focus,.link-facebook:hover{color:RGBA(19,95,194,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(19,95,194,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(19,95,194,var(--tblr-link-underline-opacity,1))}.link-twitter{color:RGBA(var(--tblr-twitter-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-twitter-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-twitter-rgb),var(--tblr-link-underline-opacity,1))}.link-twitter:focus,.link-twitter:hover{color:RGBA(23,129,194,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(23,129,194,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(23,129,194,var(--tblr-link-underline-opacity,1))}.link-linkedin{color:RGBA(var(--tblr-linkedin-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-linkedin-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-linkedin-rgb),var(--tblr-link-underline-opacity,1))}.link-linkedin:focus,.link-linkedin:hover{color:RGBA(8,82,155,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(8,82,155,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(8,82,155,var(--tblr-link-underline-opacity,1))}.link-google{color:RGBA(var(--tblr-google-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-google-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-google-rgb),var(--tblr-link-underline-opacity,1))}.link-google:focus,.link-google:hover{color:RGBA(176,62,52,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(176,62,52,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(176,62,52,var(--tblr-link-underline-opacity,1))}.link-youtube{color:RGBA(var(--tblr-youtube-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-youtube-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-youtube-rgb),var(--tblr-link-underline-opacity,1))}.link-youtube:focus,.link-youtube:hover{color:RGBA(204,0,0,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(204,0,0,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(204,0,0,var(--tblr-link-underline-opacity,1))}.link-vimeo{color:RGBA(var(--tblr-vimeo-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-vimeo-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-vimeo-rgb),var(--tblr-link-underline-opacity,1))}.link-vimeo:focus,.link-vimeo:hover{color:RGBA(21,146,187,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(21,146,187,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(21,146,187,var(--tblr-link-underline-opacity,1))}.link-dribbble{color:RGBA(var(--tblr-dribbble-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-dribbble-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-dribbble-rgb),var(--tblr-link-underline-opacity,1))}.link-dribbble:focus,.link-dribbble:hover{color:RGBA(187,61,110,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(187,61,110,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(187,61,110,var(--tblr-link-underline-opacity,1))}.link-github{color:RGBA(var(--tblr-github-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-github-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-github-rgb),var(--tblr-link-underline-opacity,1))}.link-github:focus,.link-github:hover{color:RGBA(19,18,18,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(19,18,18,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(19,18,18,var(--tblr-link-underline-opacity,1))}.link-instagram{color:RGBA(var(--tblr-instagram-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-instagram-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-instagram-rgb),var(--tblr-link-underline-opacity,1))}.link-instagram:focus,.link-instagram:hover{color:RGBA(182,51,76,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(182,51,76,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(182,51,76,var(--tblr-link-underline-opacity,1))}.link-pinterest{color:RGBA(var(--tblr-pinterest-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-pinterest-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-pinterest-rgb),var(--tblr-link-underline-opacity,1))}.link-pinterest:focus,.link-pinterest:hover{color:RGBA(151,6,22,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(151,6,22,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(151,6,22,var(--tblr-link-underline-opacity,1))}.link-vk{color:RGBA(var(--tblr-vk-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-vk-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-vk-rgb),var(--tblr-link-underline-opacity,1))}.link-vk:focus,.link-vk:hover{color:RGBA(79,105,134,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(79,105,134,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(79,105,134,var(--tblr-link-underline-opacity,1))}.link-rss{color:RGBA(var(--tblr-rss-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-rss-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-rss-rgb),var(--tblr-link-underline-opacity,1))}.link-rss:focus,.link-rss:hover{color:RGBA(204,132,0,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(204,132,0,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(204,132,0,var(--tblr-link-underline-opacity,1))}.link-flickr{color:RGBA(var(--tblr-flickr-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-flickr-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-flickr-rgb),var(--tblr-link-underline-opacity,1))}.link-flickr:focus,.link-flickr:hover{color:RGBA(0,79,176,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(0,79,176,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(0,79,176,var(--tblr-link-underline-opacity,1))}.link-bitbucket{color:RGBA(var(--tblr-bitbucket-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-bitbucket-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-bitbucket-rgb),var(--tblr-link-underline-opacity,1))}.link-bitbucket:focus,.link-bitbucket:hover{color:RGBA(0,66,163,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(0,66,163,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(0,66,163,var(--tblr-link-underline-opacity,1))}.link-tabler{color:RGBA(var(--tblr-tabler-rgb,var(--tblr-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--tblr-tabler-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-tabler-rgb),var(--tblr-link-underline-opacity,1))}.link-tabler:focus,.link-tabler:hover{color:RGBA(26,86,157,var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(26,86,157,var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(26,86,157,var(--tblr-link-underline-opacity,1))}.link-body-emphasis{color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-opacity,1));-webkit-text-decoration-color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-underline-opacity,1));text-decoration-color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-underline-opacity,1))}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-opacity,.75));-webkit-text-decoration-color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-underline-opacity,.75));text-decoration-color:RGBA(var(--tblr-emphasis-color-rgb),var(--tblr-link-underline-opacity,.75))}.focus-ring:focus{outline:0;box-shadow:var(--tblr-focus-ring-x,0) var(--tblr-focus-ring-y,0) var(--tblr-focus-ring-blur,0) var(--tblr-focus-ring-width) var(--tblr-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-opacity,.5));text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-opacity,.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--tblr-icon-link-transform,translate3d(-.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--tblr-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;right:0;width:100%;height:100%}.ratio-1x1{--tblr-aspect-ratio:100%}.ratio-2x1{--tblr-aspect-ratio:50%}.ratio-1x2{--tblr-aspect-ratio:200%}.ratio-3x1{--tblr-aspect-ratio:33.3333333333%}.ratio-1x3{--tblr-aspect-ratio:300%}.ratio-4x3{--tblr-aspect-ratio:75%}.ratio-3x4{--tblr-aspect-ratio:133.3333333333%}.ratio-16x9{--tblr-aspect-ratio:56.25%}.ratio-9x16{--tblr-aspect-ratio:177.7777777778%}.ratio-21x9{--tblr-aspect-ratio:42.8571428571%}.ratio-9x21{--tblr-aspect-ratio:233.3333333333%}.fixed-top{position:fixed;top:0;left:0;right:0;z-index:1030}.fixed-bottom{position:fixed;left:0;bottom:0;right:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link::after{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.16}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:right!important}.float-end{float:left!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--tblr-focus-ring-color:rgba(var(--tblr-primary-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-secondary{--tblr-focus-ring-color:rgba(var(--tblr-secondary-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-success{--tblr-focus-ring-color:rgba(var(--tblr-success-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-info{--tblr-focus-ring-color:rgba(var(--tblr-info-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-warning{--tblr-focus-ring-color:rgba(var(--tblr-warning-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-danger{--tblr-focus-ring-color:rgba(var(--tblr-danger-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-light{--tblr-focus-ring-color:rgba(var(--tblr-light-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-dark{--tblr-focus-ring-color:rgba(var(--tblr-dark-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-muted{--tblr-focus-ring-color:rgba(var(--tblr-muted-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-blue{--tblr-focus-ring-color:rgba(var(--tblr-blue-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-azure{--tblr-focus-ring-color:rgba(var(--tblr-azure-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-indigo{--tblr-focus-ring-color:rgba(var(--tblr-indigo-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-purple{--tblr-focus-ring-color:rgba(var(--tblr-purple-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-pink{--tblr-focus-ring-color:rgba(var(--tblr-pink-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-red{--tblr-focus-ring-color:rgba(var(--tblr-red-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-orange{--tblr-focus-ring-color:rgba(var(--tblr-orange-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-yellow{--tblr-focus-ring-color:rgba(var(--tblr-yellow-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-lime{--tblr-focus-ring-color:rgba(var(--tblr-lime-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-green{--tblr-focus-ring-color:rgba(var(--tblr-green-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-teal{--tblr-focus-ring-color:rgba(var(--tblr-teal-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-cyan{--tblr-focus-ring-color:rgba(var(--tblr-cyan-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-facebook{--tblr-focus-ring-color:rgba(var(--tblr-facebook-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-twitter{--tblr-focus-ring-color:rgba(var(--tblr-twitter-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-linkedin{--tblr-focus-ring-color:rgba(var(--tblr-linkedin-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-google{--tblr-focus-ring-color:rgba(var(--tblr-google-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-youtube{--tblr-focus-ring-color:rgba(var(--tblr-youtube-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-vimeo{--tblr-focus-ring-color:rgba(var(--tblr-vimeo-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-dribbble{--tblr-focus-ring-color:rgba(var(--tblr-dribbble-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-github{--tblr-focus-ring-color:rgba(var(--tblr-github-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-instagram{--tblr-focus-ring-color:rgba(var(--tblr-instagram-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-pinterest{--tblr-focus-ring-color:rgba(var(--tblr-pinterest-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-vk{--tblr-focus-ring-color:rgba(var(--tblr-vk-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-rss{--tblr-focus-ring-color:rgba(var(--tblr-rss-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-flickr{--tblr-focus-ring-color:rgba(var(--tblr-flickr-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-bitbucket{--tblr-focus-ring-color:rgba(var(--tblr-bitbucket-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-tabler{--tblr-focus-ring-color:rgba(var(--tblr-tabler-rgb), var(--tblr-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{right:0!important}.start-50{right:50%!important}.start-100{right:100%!important}.end-0{left:0!important}.end-50{left:50%!important}.end-100{left:100%!important}.translate-middle{transform:translate(50%,-50%)!important}.translate-middle-x{transform:translateX(50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-wide{border:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-0{border:0!important}.border-top{border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-top-wide{border-top:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-top-0{border-top:0!important}.border-end{border-left:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-end-wide{border-left:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-end-0{border-left:0!important}.border-bottom{border-bottom:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-bottom-wide{border-bottom:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-right:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-start-wide{border-right:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-start-0{border-right:0!important}.border-primary{--tblr-border-opacity:1;border-color:rgba(var(--tblr-primary-rgb),var(--tblr-border-opacity))!important}.border-secondary{--tblr-border-opacity:1;border-color:rgba(var(--tblr-secondary-rgb),var(--tblr-border-opacity))!important}.border-success{--tblr-border-opacity:1;border-color:rgba(var(--tblr-success-rgb),var(--tblr-border-opacity))!important}.border-info{--tblr-border-opacity:1;border-color:rgba(var(--tblr-info-rgb),var(--tblr-border-opacity))!important}.border-warning{--tblr-border-opacity:1;border-color:rgba(var(--tblr-warning-rgb),var(--tblr-border-opacity))!important}.border-danger{--tblr-border-opacity:1;border-color:rgba(var(--tblr-danger-rgb),var(--tblr-border-opacity))!important}.border-light{--tblr-border-opacity:1;border-color:rgba(var(--tblr-light-rgb),var(--tblr-border-opacity))!important}.border-dark{--tblr-border-opacity:1;border-color:rgba(var(--tblr-dark-rgb),var(--tblr-border-opacity))!important}.border-muted{--tblr-border-opacity:1;border-color:rgba(var(--tblr-muted-rgb),var(--tblr-border-opacity))!important}.border-blue{--tblr-border-opacity:1;border-color:rgba(var(--tblr-blue-rgb),var(--tblr-border-opacity))!important}.border-azure{--tblr-border-opacity:1;border-color:rgba(var(--tblr-azure-rgb),var(--tblr-border-opacity))!important}.border-indigo{--tblr-border-opacity:1;border-color:rgba(var(--tblr-indigo-rgb),var(--tblr-border-opacity))!important}.border-purple{--tblr-border-opacity:1;border-color:rgba(var(--tblr-purple-rgb),var(--tblr-border-opacity))!important}.border-pink{--tblr-border-opacity:1;border-color:rgba(var(--tblr-pink-rgb),var(--tblr-border-opacity))!important}.border-red{--tblr-border-opacity:1;border-color:rgba(var(--tblr-red-rgb),var(--tblr-border-opacity))!important}.border-orange{--tblr-border-opacity:1;border-color:rgba(var(--tblr-orange-rgb),var(--tblr-border-opacity))!important}.border-yellow{--tblr-border-opacity:1;border-color:rgba(var(--tblr-yellow-rgb),var(--tblr-border-opacity))!important}.border-lime{--tblr-border-opacity:1;border-color:rgba(var(--tblr-lime-rgb),var(--tblr-border-opacity))!important}.border-green{--tblr-border-opacity:1;border-color:rgba(var(--tblr-green-rgb),var(--tblr-border-opacity))!important}.border-teal{--tblr-border-opacity:1;border-color:rgba(var(--tblr-teal-rgb),var(--tblr-border-opacity))!important}.border-cyan{--tblr-border-opacity:1;border-color:rgba(var(--tblr-cyan-rgb),var(--tblr-border-opacity))!important}.border-facebook{--tblr-border-opacity:1;border-color:rgba(var(--tblr-facebook-rgb),var(--tblr-border-opacity))!important}.border-twitter{--tblr-border-opacity:1;border-color:rgba(var(--tblr-twitter-rgb),var(--tblr-border-opacity))!important}.border-linkedin{--tblr-border-opacity:1;border-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-border-opacity))!important}.border-google{--tblr-border-opacity:1;border-color:rgba(var(--tblr-google-rgb),var(--tblr-border-opacity))!important}.border-youtube{--tblr-border-opacity:1;border-color:rgba(var(--tblr-youtube-rgb),var(--tblr-border-opacity))!important}.border-vimeo{--tblr-border-opacity:1;border-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-border-opacity))!important}.border-dribbble{--tblr-border-opacity:1;border-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-border-opacity))!important}.border-github{--tblr-border-opacity:1;border-color:rgba(var(--tblr-github-rgb),var(--tblr-border-opacity))!important}.border-instagram{--tblr-border-opacity:1;border-color:rgba(var(--tblr-instagram-rgb),var(--tblr-border-opacity))!important}.border-pinterest{--tblr-border-opacity:1;border-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-border-opacity))!important}.border-vk{--tblr-border-opacity:1;border-color:rgba(var(--tblr-vk-rgb),var(--tblr-border-opacity))!important}.border-rss{--tblr-border-opacity:1;border-color:rgba(var(--tblr-rss-rgb),var(--tblr-border-opacity))!important}.border-flickr{--tblr-border-opacity:1;border-color:rgba(var(--tblr-flickr-rgb),var(--tblr-border-opacity))!important}.border-bitbucket{--tblr-border-opacity:1;border-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-border-opacity))!important}.border-tabler{--tblr-border-opacity:1;border-color:rgba(var(--tblr-tabler-rgb),var(--tblr-border-opacity))!important}.border-black{--tblr-border-opacity:1;border-color:rgba(var(--tblr-black-rgb),var(--tblr-border-opacity))!important}.border-white{--tblr-border-opacity:1;border-color:rgba(var(--tblr-white-rgb),var(--tblr-border-opacity))!important}.border-primary-subtle{border-color:var(--tblr-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--tblr-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--tblr-success-border-subtle)!important}.border-info-subtle{border-color:var(--tblr-info-border-subtle)!important}.border-warning-subtle{border-color:var(--tblr-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--tblr-danger-border-subtle)!important}.border-light-subtle{border-color:var(--tblr-light-border-subtle)!important}.border-dark-subtle{border-color:var(--tblr-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--tblr-border-opacity:0.1}.border-opacity-25{--tblr-border-opacity:0.25}.border-opacity-50{--tblr-border-opacity:0.5}.border-opacity-75{--tblr-border-opacity:0.75}.border-opacity-100{--tblr-border-opacity:1}.w-0{width:0!important}.w-1{width:.25rem!important}.w-2{width:.5rem!important}.w-3{width:1rem!important}.w-4{width:1.5rem!important}.w-5{width:2rem!important}.w-6{width:3rem!important}.w-7{width:5rem!important}.w-8{width:8rem!important}.w-25{width:25%!important}.w-33{width:33.33333%!important}.w-50{width:50%!important}.w-66{width:66.66666%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-0{height:0!important}.h-1{height:.25rem!important}.h-2{height:.5rem!important}.h-3{height:1rem!important}.h-4{height:1.5rem!important}.h-5{height:2rem!important}.h-6{height:3rem!important}.h-7{height:5rem!important}.h-8{height:8rem!important}.h-25{height:25%!important}.h-33{height:33.33333%!important}.h-50{height:50%!important}.h-66{height:66.66666%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:2rem!important}.m-6{margin:3rem!important}.m-7{margin:5rem!important}.m-8{margin:8rem!important}.m-auto{margin:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:2rem!important;margin-right:2rem!important}.mx-6{margin-left:3rem!important;margin-right:3rem!important}.mx-7{margin-left:5rem!important;margin-right:5rem!important}.mx-8{margin-left:8rem!important;margin-right:8rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:2rem!important}.mt-6{margin-top:3rem!important}.mt-7{margin-top:5rem!important}.mt-8{margin-top:8rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-left:0!important}.me-1{margin-left:.25rem!important}.me-2{margin-left:.5rem!important}.me-3{margin-left:1rem!important}.me-4{margin-left:1.5rem!important}.me-5{margin-left:2rem!important}.me-6{margin-left:3rem!important}.me-7{margin-left:5rem!important}.me-8{margin-left:8rem!important}.me-auto{margin-left:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:2rem!important}.mb-6{margin-bottom:3rem!important}.mb-7{margin-bottom:5rem!important}.mb-8{margin-bottom:8rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-right:0!important}.ms-1{margin-right:.25rem!important}.ms-2{margin-right:.5rem!important}.ms-3{margin-right:1rem!important}.ms-4{margin-right:1.5rem!important}.ms-5{margin-right:2rem!important}.ms-6{margin-right:3rem!important}.ms-7{margin-right:5rem!important}.ms-8{margin-right:8rem!important}.ms-auto{margin-right:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:2rem!important}.p-6{padding:3rem!important}.p-7{padding:5rem!important}.p-8{padding:8rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:2rem!important;padding-right:2rem!important}.px-6{padding-left:3rem!important;padding-right:3rem!important}.px-7{padding-left:5rem!important;padding-right:5rem!important}.px-8{padding-left:8rem!important;padding-right:8rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:2rem!important}.pt-6{padding-top:3rem!important}.pt-7{padding-top:5rem!important}.pt-8{padding-top:8rem!important}.pe-0{padding-left:0!important}.pe-1{padding-left:.25rem!important}.pe-2{padding-left:.5rem!important}.pe-3{padding-left:1rem!important}.pe-4{padding-left:1.5rem!important}.pe-5{padding-left:2rem!important}.pe-6{padding-left:3rem!important}.pe-7{padding-left:5rem!important}.pe-8{padding-left:8rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:2rem!important}.pb-6{padding-bottom:3rem!important}.pb-7{padding-bottom:5rem!important}.pb-8{padding-bottom:8rem!important}.ps-0{padding-right:0!important}.ps-1{padding-right:.25rem!important}.ps-2{padding-right:.5rem!important}.ps-3{padding-right:1rem!important}.ps-4{padding-right:1.5rem!important}.ps-5{padding-right:2rem!important}.ps-6{padding-right:3rem!important}.ps-7{padding-right:5rem!important}.ps-8{padding-right:8rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:2rem!important}.gap-6{gap:3rem!important}.gap-7{gap:5rem!important}.gap-8{gap:8rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:2rem!important}.row-gap-6{row-gap:3rem!important}.row-gap-7{row-gap:5rem!important}.row-gap-8{row-gap:8rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.font-monospace{font-family:var(--tblr-font-monospace)!important}.fs-1{font-size:1.5rem!important}.fs-2{font-size:1.25rem!important}.fs-3{font-size:1rem!important}.fs-4{font-size:.875rem!important}.fs-5{font-size:.75rem!important}.fs-6{font-size:.625rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:600!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.1428571429!important}.lh-base{line-height:1.4285714286!important}.lh-lg{line-height:1.7142857143!important}.text-start{text-align:right!important}.text-end{text-align:left!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-primary{--tblr-text-opacity:1;color:rgba(var(--tblr-primary-rgb),var(--tblr-text-opacity))!important}.text-secondary{--tblr-text-opacity:1;color:rgba(var(--tblr-secondary-rgb),var(--tblr-text-opacity))!important}.text-success{--tblr-text-opacity:1;color:rgba(var(--tblr-success-rgb),var(--tblr-text-opacity))!important}.text-info{--tblr-text-opacity:1;color:rgba(var(--tblr-info-rgb),var(--tblr-text-opacity))!important}.text-warning{--tblr-text-opacity:1;color:rgba(var(--tblr-warning-rgb),var(--tblr-text-opacity))!important}.text-danger{--tblr-text-opacity:1;color:rgba(var(--tblr-danger-rgb),var(--tblr-text-opacity))!important}.text-light{--tblr-text-opacity:1;color:rgba(var(--tblr-light-rgb),var(--tblr-text-opacity))!important}.text-dark{--tblr-text-opacity:1;color:rgba(var(--tblr-dark-rgb),var(--tblr-text-opacity))!important}.text-muted{--tblr-text-opacity:1;color:var(--tblr-secondary-color)!important}.text-blue{--tblr-text-opacity:1;color:rgba(var(--tblr-blue-rgb),var(--tblr-text-opacity))!important}.text-azure{--tblr-text-opacity:1;color:rgba(var(--tblr-azure-rgb),var(--tblr-text-opacity))!important}.text-indigo{--tblr-text-opacity:1;color:rgba(var(--tblr-indigo-rgb),var(--tblr-text-opacity))!important}.text-purple{--tblr-text-opacity:1;color:rgba(var(--tblr-purple-rgb),var(--tblr-text-opacity))!important}.text-pink{--tblr-text-opacity:1;color:rgba(var(--tblr-pink-rgb),var(--tblr-text-opacity))!important}.text-red{--tblr-text-opacity:1;color:rgba(var(--tblr-red-rgb),var(--tblr-text-opacity))!important}.text-orange{--tblr-text-opacity:1;color:rgba(var(--tblr-orange-rgb),var(--tblr-text-opacity))!important}.text-yellow{--tblr-text-opacity:1;color:rgba(var(--tblr-yellow-rgb),var(--tblr-text-opacity))!important}.text-lime{--tblr-text-opacity:1;color:rgba(var(--tblr-lime-rgb),var(--tblr-text-opacity))!important}.text-green{--tblr-text-opacity:1;color:rgba(var(--tblr-green-rgb),var(--tblr-text-opacity))!important}.text-teal{--tblr-text-opacity:1;color:rgba(var(--tblr-teal-rgb),var(--tblr-text-opacity))!important}.text-cyan{--tblr-text-opacity:1;color:rgba(var(--tblr-cyan-rgb),var(--tblr-text-opacity))!important}.text-facebook{--tblr-text-opacity:1;color:rgba(var(--tblr-facebook-rgb),var(--tblr-text-opacity))!important}.text-twitter{--tblr-text-opacity:1;color:rgba(var(--tblr-twitter-rgb),var(--tblr-text-opacity))!important}.text-linkedin{--tblr-text-opacity:1;color:rgba(var(--tblr-linkedin-rgb),var(--tblr-text-opacity))!important}.text-google{--tblr-text-opacity:1;color:rgba(var(--tblr-google-rgb),var(--tblr-text-opacity))!important}.text-youtube{--tblr-text-opacity:1;color:rgba(var(--tblr-youtube-rgb),var(--tblr-text-opacity))!important}.text-vimeo{--tblr-text-opacity:1;color:rgba(var(--tblr-vimeo-rgb),var(--tblr-text-opacity))!important}.text-dribbble{--tblr-text-opacity:1;color:rgba(var(--tblr-dribbble-rgb),var(--tblr-text-opacity))!important}.text-github{--tblr-text-opacity:1;color:rgba(var(--tblr-github-rgb),var(--tblr-text-opacity))!important}.text-instagram{--tblr-text-opacity:1;color:rgba(var(--tblr-instagram-rgb),var(--tblr-text-opacity))!important}.text-pinterest{--tblr-text-opacity:1;color:rgba(var(--tblr-pinterest-rgb),var(--tblr-text-opacity))!important}.text-vk{--tblr-text-opacity:1;color:rgba(var(--tblr-vk-rgb),var(--tblr-text-opacity))!important}.text-rss{--tblr-text-opacity:1;color:rgba(var(--tblr-rss-rgb),var(--tblr-text-opacity))!important}.text-flickr{--tblr-text-opacity:1;color:rgba(var(--tblr-flickr-rgb),var(--tblr-text-opacity))!important}.text-bitbucket{--tblr-text-opacity:1;color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-text-opacity))!important}.text-tabler{--tblr-text-opacity:1;color:rgba(var(--tblr-tabler-rgb),var(--tblr-text-opacity))!important}.text-black{--tblr-text-opacity:1;color:rgba(var(--tblr-black-rgb),var(--tblr-text-opacity))!important}.text-white{--tblr-text-opacity:1;color:rgba(var(--tblr-white-rgb),var(--tblr-text-opacity))!important}.text-body{--tblr-text-opacity:1;color:rgba(var(--tblr-body-color-rgb),var(--tblr-text-opacity))!important}.text-black-50{--tblr-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--tblr-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--tblr-text-opacity:1;color:var(--tblr-secondary-color)!important}.text-body-tertiary{--tblr-text-opacity:1;color:var(--tblr-tertiary-color)!important}.text-body-emphasis{--tblr-text-opacity:1;color:var(--tblr-emphasis-color)!important}.text-reset{--tblr-text-opacity:1;color:inherit!important}.text-opacity-25{--tblr-text-opacity:0.25}.text-opacity-50{--tblr-text-opacity:0.5}.text-opacity-75{--tblr-text-opacity:0.75}.text-opacity-100{--tblr-text-opacity:1}.text-primary-emphasis{color:var(--tblr-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--tblr-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--tblr-success-text-emphasis)!important}.text-info-emphasis{color:var(--tblr-info-text-emphasis)!important}.text-warning-emphasis{color:var(--tblr-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--tblr-danger-text-emphasis)!important}.text-light-emphasis{color:var(--tblr-light-text-emphasis)!important}.text-dark-emphasis{color:var(--tblr-dark-text-emphasis)!important}.link-opacity-10{--tblr-link-opacity:0.1}.link-opacity-10-hover:hover{--tblr-link-opacity:0.1}.link-opacity-25{--tblr-link-opacity:0.25}.link-opacity-25-hover:hover{--tblr-link-opacity:0.25}.link-opacity-50{--tblr-link-opacity:0.5}.link-opacity-50-hover:hover{--tblr-link-opacity:0.5}.link-opacity-75{--tblr-link-opacity:0.75}.link-opacity-75-hover:hover{--tblr-link-opacity:0.75}.link-opacity-100{--tblr-link-opacity:1}.link-opacity-100-hover:hover{--tblr-link-opacity:1}.link-offset-1{text-underline-offset:.125em!important}.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2{text-underline-offset:.25em!important}.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3{text-underline-offset:.375em!important}.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-secondary{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-success{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-success-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-success-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-info{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-info-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-info-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-warning{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-danger{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-light{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-light-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-light-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-dark{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-muted{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-blue{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-azure{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-indigo{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-purple{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-pink{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-red{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-red-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-red-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-orange{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-yellow{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-lime{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-green{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-green-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-green-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-teal{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-cyan{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-facebook{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-facebook-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-facebook-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-twitter{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-twitter-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-twitter-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-linkedin{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-google{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-google-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-google-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-youtube{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-youtube-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-youtube-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-vimeo{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-dribbble{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-github{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-github-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-github-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-instagram{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-instagram-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-instagram-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-pinterest{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-vk{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-vk-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-vk-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-rss{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-rss-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-rss-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-flickr{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-flickr-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-flickr-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-bitbucket{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-tabler{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-tabler-rgb),var(--tblr-link-underline-opacity))!important;text-decoration-color:rgba(var(--tblr-tabler-rgb),var(--tblr-link-underline-opacity))!important}.link-underline{--tblr-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-underline-opacity,1))!important}.link-underline-opacity-0{--tblr-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--tblr-link-underline-opacity:0}.link-underline-opacity-10{--tblr-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--tblr-link-underline-opacity:0.1}.link-underline-opacity-25{--tblr-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--tblr-link-underline-opacity:0.25}.link-underline-opacity-50{--tblr-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--tblr-link-underline-opacity:0.5}.link-underline-opacity-75{--tblr-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--tblr-link-underline-opacity:0.75}.link-underline-opacity-100{--tblr-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--tblr-link-underline-opacity:1}.bg-primary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-primary-rgb),var(--tblr-bg-opacity))!important}.bg-secondary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-secondary-rgb),var(--tblr-bg-opacity))!important}.bg-success{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-success-rgb),var(--tblr-bg-opacity))!important}.bg-info{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-info-rgb),var(--tblr-bg-opacity))!important}.bg-warning{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-warning-rgb),var(--tblr-bg-opacity))!important}.bg-danger{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-danger-rgb),var(--tblr-bg-opacity))!important}.bg-light{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-light-rgb),var(--tblr-bg-opacity))!important}.bg-dark{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dark-rgb),var(--tblr-bg-opacity))!important}.bg-muted{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-muted-rgb),var(--tblr-bg-opacity))!important}.bg-blue{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-blue-rgb),var(--tblr-bg-opacity))!important}.bg-azure{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-azure-rgb),var(--tblr-bg-opacity))!important}.bg-indigo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-indigo-rgb),var(--tblr-bg-opacity))!important}.bg-purple{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-purple-rgb),var(--tblr-bg-opacity))!important}.bg-pink{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pink-rgb),var(--tblr-bg-opacity))!important}.bg-red{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-red-rgb),var(--tblr-bg-opacity))!important}.bg-orange{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-orange-rgb),var(--tblr-bg-opacity))!important}.bg-yellow{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-yellow-rgb),var(--tblr-bg-opacity))!important}.bg-lime{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-lime-rgb),var(--tblr-bg-opacity))!important}.bg-green{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-green-rgb),var(--tblr-bg-opacity))!important}.bg-teal{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-teal-rgb),var(--tblr-bg-opacity))!important}.bg-cyan{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-cyan-rgb),var(--tblr-bg-opacity))!important}.bg-facebook{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-facebook-rgb),var(--tblr-bg-opacity))!important}.bg-twitter{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-twitter-rgb),var(--tblr-bg-opacity))!important}.bg-linkedin{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-bg-opacity))!important}.bg-google{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-google-rgb),var(--tblr-bg-opacity))!important}.bg-youtube{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-youtube-rgb),var(--tblr-bg-opacity))!important}.bg-vimeo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-bg-opacity))!important}.bg-dribbble{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-bg-opacity))!important}.bg-github{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-github-rgb),var(--tblr-bg-opacity))!important}.bg-instagram{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-instagram-rgb),var(--tblr-bg-opacity))!important}.bg-pinterest{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-bg-opacity))!important}.bg-vk{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vk-rgb),var(--tblr-bg-opacity))!important}.bg-rss{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-rss-rgb),var(--tblr-bg-opacity))!important}.bg-flickr{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-flickr-rgb),var(--tblr-bg-opacity))!important}.bg-bitbucket{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-bg-opacity))!important}.bg-tabler{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-tabler-rgb),var(--tblr-bg-opacity))!important}.bg-black{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-black-rgb),var(--tblr-bg-opacity))!important}.bg-white{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-white-rgb),var(--tblr-bg-opacity))!important}.bg-body{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-body-bg-rgb),var(--tblr-bg-opacity))!important}.bg-transparent{--tblr-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-secondary-bg-rgb),var(--tblr-bg-opacity))!important}.bg-body-tertiary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-tertiary-bg-rgb),var(--tblr-bg-opacity))!important}.bg-opacity-10{--tblr-bg-opacity:0.1}.bg-opacity-25{--tblr-bg-opacity:0.25}.bg-opacity-50{--tblr-bg-opacity:0.5}.bg-opacity-75{--tblr-bg-opacity:0.75}.bg-opacity-100{--tblr-bg-opacity:1}.bg-primary-subtle{background-color:var(--tblr-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--tblr-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--tblr-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--tblr-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--tblr-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--tblr-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--tblr-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--tblr-dark-bg-subtle)!important}.bg-gradient{background-image:var(--tblr-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--tblr-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--tblr-border-radius-sm)!important}.rounded-2{border-radius:var(--tblr-border-radius)!important}.rounded-3{border-radius:var(--tblr-border-radius-lg)!important}.rounded-4{border-radius:var(--tblr-border-radius-xl)!important}.rounded-5{border-radius:var(--tblr-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--tblr-border-radius-pill)!important}.rounded-top{border-top-right-radius:var(--tblr-border-radius)!important;border-top-left-radius:var(--tblr-border-radius)!important}.rounded-top-0{border-top-right-radius:0!important;border-top-left-radius:0!important}.rounded-top-1{border-top-right-radius:var(--tblr-border-radius-sm)!important;border-top-left-radius:var(--tblr-border-radius-sm)!important}.rounded-top-2{border-top-right-radius:var(--tblr-border-radius)!important;border-top-left-radius:var(--tblr-border-radius)!important}.rounded-top-3{border-top-right-radius:var(--tblr-border-radius-lg)!important;border-top-left-radius:var(--tblr-border-radius-lg)!important}.rounded-top-4{border-top-right-radius:var(--tblr-border-radius-xl)!important;border-top-left-radius:var(--tblr-border-radius-xl)!important}.rounded-top-5{border-top-right-radius:var(--tblr-border-radius-xxl)!important;border-top-left-radius:var(--tblr-border-radius-xxl)!important}.rounded-top-circle{border-top-right-radius:50%!important;border-top-left-radius:50%!important}.rounded-top-pill{border-top-right-radius:var(--tblr-border-radius-pill)!important;border-top-left-radius:var(--tblr-border-radius-pill)!important}.rounded-end{border-top-left-radius:var(--tblr-border-radius)!important;border-bottom-left-radius:var(--tblr-border-radius)!important}.rounded-end-0{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.rounded-end-1{border-top-left-radius:var(--tblr-border-radius-sm)!important;border-bottom-left-radius:var(--tblr-border-radius-sm)!important}.rounded-end-2{border-top-left-radius:var(--tblr-border-radius)!important;border-bottom-left-radius:var(--tblr-border-radius)!important}.rounded-end-3{border-top-left-radius:var(--tblr-border-radius-lg)!important;border-bottom-left-radius:var(--tblr-border-radius-lg)!important}.rounded-end-4{border-top-left-radius:var(--tblr-border-radius-xl)!important;border-bottom-left-radius:var(--tblr-border-radius-xl)!important}.rounded-end-5{border-top-left-radius:var(--tblr-border-radius-xxl)!important;border-bottom-left-radius:var(--tblr-border-radius-xxl)!important}.rounded-end-circle{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-end-pill{border-top-left-radius:var(--tblr-border-radius-pill)!important;border-bottom-left-radius:var(--tblr-border-radius-pill)!important}.rounded-bottom{border-bottom-left-radius:var(--tblr-border-radius)!important;border-bottom-right-radius:var(--tblr-border-radius)!important}.rounded-bottom-0{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.rounded-bottom-1{border-bottom-left-radius:var(--tblr-border-radius-sm)!important;border-bottom-right-radius:var(--tblr-border-radius-sm)!important}.rounded-bottom-2{border-bottom-left-radius:var(--tblr-border-radius)!important;border-bottom-right-radius:var(--tblr-border-radius)!important}.rounded-bottom-3{border-bottom-left-radius:var(--tblr-border-radius-lg)!important;border-bottom-right-radius:var(--tblr-border-radius-lg)!important}.rounded-bottom-4{border-bottom-left-radius:var(--tblr-border-radius-xl)!important;border-bottom-right-radius:var(--tblr-border-radius-xl)!important}.rounded-bottom-5{border-bottom-left-radius:var(--tblr-border-radius-xxl)!important;border-bottom-right-radius:var(--tblr-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-bottom-pill{border-bottom-left-radius:var(--tblr-border-radius-pill)!important;border-bottom-right-radius:var(--tblr-border-radius-pill)!important}.rounded-start{border-bottom-right-radius:var(--tblr-border-radius)!important;border-top-right-radius:var(--tblr-border-radius)!important}.rounded-start-0{border-bottom-right-radius:0!important;border-top-right-radius:0!important}.rounded-start-1{border-bottom-right-radius:var(--tblr-border-radius-sm)!important;border-top-right-radius:var(--tblr-border-radius-sm)!important}.rounded-start-2{border-bottom-right-radius:var(--tblr-border-radius)!important;border-top-right-radius:var(--tblr-border-radius)!important}.rounded-start-3{border-bottom-right-radius:var(--tblr-border-radius-lg)!important;border-top-right-radius:var(--tblr-border-radius-lg)!important}.rounded-start-4{border-bottom-right-radius:var(--tblr-border-radius-xl)!important;border-top-right-radius:var(--tblr-border-radius-xl)!important}.rounded-start-5{border-bottom-right-radius:var(--tblr-border-radius-xxl)!important;border-top-right-radius:var(--tblr-border-radius-xxl)!important}.rounded-start-circle{border-bottom-right-radius:50%!important;border-top-right-radius:50%!important}.rounded-start-pill{border-bottom-right-radius:var(--tblr-border-radius-pill)!important;border-top-right-radius:var(--tblr-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}.object-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-scale-down{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-none{-o-object-fit:none!important;object-fit:none!important}.tracking-tight{letter-spacing:-.05em!important}.tracking-normal{letter-spacing:0!important}.tracking-wide{letter-spacing:.05em!important}.cursor-auto{cursor:auto!important}.cursor-pointer{cursor:pointer!important}.cursor-move{cursor:move!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-zoom-in{cursor:zoom-in!important}.cursor-zoom-out{cursor:zoom-out!important}.cursor-default{cursor:default!important}.cursor-none{cursor:none!important}.cursor-help{cursor:help!important}.cursor-progress{cursor:progress!important}.cursor-wait{cursor:wait!important}.cursor-text{cursor:text!important}.cursor-v-text{cursor:vertical-text!important}.cursor-grab{cursor:-webkit-grab!important;cursor:grab!important}.cursor-grabbing{cursor:-webkit-grabbing!important;cursor:grabbing!important}.border-x{border-right:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important;border-left:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-x-wide{border-right:2px var(--tblr-border-style) rgba(4,32,69,.14)!important;border-left:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-x-0{border-right:0!important;border-left:0!important}.border-y{border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important;border-bottom:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-y-wide{border-top:2px var(--tblr-border-style) rgba(4,32,69,.14)!important;border-bottom:2px var(--tblr-border-style) rgba(4,32,69,.14)!important}.border-y-0{border-top:0!important;border-bottom:0!important}.columns-2{-moz-columns:2!important;columns:2!important}.columns-3{-moz-columns:3!important;columns:3!important}.columns-4{-moz-columns:4!important;columns:4!important}@media (min-width:576px){.float-sm-start{float:right!important}.float-sm-end{float:left!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:2rem!important}.m-sm-6{margin:3rem!important}.m-sm-7{margin:5rem!important}.m-sm-8{margin:8rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:2rem!important;margin-right:2rem!important}.mx-sm-6{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-7{margin-left:5rem!important;margin-right:5rem!important}.mx-sm-8{margin-left:8rem!important;margin-right:8rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-sm-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-sm-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:2rem!important}.mt-sm-6{margin-top:3rem!important}.mt-sm-7{margin-top:5rem!important}.mt-sm-8{margin-top:8rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-left:0!important}.me-sm-1{margin-left:.25rem!important}.me-sm-2{margin-left:.5rem!important}.me-sm-3{margin-left:1rem!important}.me-sm-4{margin-left:1.5rem!important}.me-sm-5{margin-left:2rem!important}.me-sm-6{margin-left:3rem!important}.me-sm-7{margin-left:5rem!important}.me-sm-8{margin-left:8rem!important}.me-sm-auto{margin-left:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:2rem!important}.mb-sm-6{margin-bottom:3rem!important}.mb-sm-7{margin-bottom:5rem!important}.mb-sm-8{margin-bottom:8rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-right:0!important}.ms-sm-1{margin-right:.25rem!important}.ms-sm-2{margin-right:.5rem!important}.ms-sm-3{margin-right:1rem!important}.ms-sm-4{margin-right:1.5rem!important}.ms-sm-5{margin-right:2rem!important}.ms-sm-6{margin-right:3rem!important}.ms-sm-7{margin-right:5rem!important}.ms-sm-8{margin-right:8rem!important}.ms-sm-auto{margin-right:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:2rem!important}.p-sm-6{padding:3rem!important}.p-sm-7{padding:5rem!important}.p-sm-8{padding:8rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:2rem!important;padding-right:2rem!important}.px-sm-6{padding-left:3rem!important;padding-right:3rem!important}.px-sm-7{padding-left:5rem!important;padding-right:5rem!important}.px-sm-8{padding-left:8rem!important;padding-right:8rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-sm-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-sm-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-sm-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:2rem!important}.pt-sm-6{padding-top:3rem!important}.pt-sm-7{padding-top:5rem!important}.pt-sm-8{padding-top:8rem!important}.pe-sm-0{padding-left:0!important}.pe-sm-1{padding-left:.25rem!important}.pe-sm-2{padding-left:.5rem!important}.pe-sm-3{padding-left:1rem!important}.pe-sm-4{padding-left:1.5rem!important}.pe-sm-5{padding-left:2rem!important}.pe-sm-6{padding-left:3rem!important}.pe-sm-7{padding-left:5rem!important}.pe-sm-8{padding-left:8rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:2rem!important}.pb-sm-6{padding-bottom:3rem!important}.pb-sm-7{padding-bottom:5rem!important}.pb-sm-8{padding-bottom:8rem!important}.ps-sm-0{padding-right:0!important}.ps-sm-1{padding-right:.25rem!important}.ps-sm-2{padding-right:.5rem!important}.ps-sm-3{padding-right:1rem!important}.ps-sm-4{padding-right:1.5rem!important}.ps-sm-5{padding-right:2rem!important}.ps-sm-6{padding-right:3rem!important}.ps-sm-7{padding-right:5rem!important}.ps-sm-8{padding-right:8rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:2rem!important}.gap-sm-6{gap:3rem!important}.gap-sm-7{gap:5rem!important}.gap-sm-8{gap:8rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:2rem!important}.row-gap-sm-6{row-gap:3rem!important}.row-gap-sm-7{row-gap:5rem!important}.row-gap-sm-8{row-gap:8rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-sm-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-sm-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-sm-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-sm-start{text-align:right!important}.text-sm-end{text-align:left!important}.text-sm-center{text-align:center!important}.columns-sm-2{-moz-columns:2!important;columns:2!important}.columns-sm-3{-moz-columns:3!important;columns:3!important}.columns-sm-4{-moz-columns:4!important;columns:4!important}}@media (min-width:768px){.float-md-start{float:right!important}.float-md-end{float:left!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:2rem!important}.m-md-6{margin:3rem!important}.m-md-7{margin:5rem!important}.m-md-8{margin:8rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:2rem!important;margin-right:2rem!important}.mx-md-6{margin-left:3rem!important;margin-right:3rem!important}.mx-md-7{margin-left:5rem!important;margin-right:5rem!important}.mx-md-8{margin-left:8rem!important;margin-right:8rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-md-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-md-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:2rem!important}.mt-md-6{margin-top:3rem!important}.mt-md-7{margin-top:5rem!important}.mt-md-8{margin-top:8rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-left:0!important}.me-md-1{margin-left:.25rem!important}.me-md-2{margin-left:.5rem!important}.me-md-3{margin-left:1rem!important}.me-md-4{margin-left:1.5rem!important}.me-md-5{margin-left:2rem!important}.me-md-6{margin-left:3rem!important}.me-md-7{margin-left:5rem!important}.me-md-8{margin-left:8rem!important}.me-md-auto{margin-left:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:2rem!important}.mb-md-6{margin-bottom:3rem!important}.mb-md-7{margin-bottom:5rem!important}.mb-md-8{margin-bottom:8rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-right:0!important}.ms-md-1{margin-right:.25rem!important}.ms-md-2{margin-right:.5rem!important}.ms-md-3{margin-right:1rem!important}.ms-md-4{margin-right:1.5rem!important}.ms-md-5{margin-right:2rem!important}.ms-md-6{margin-right:3rem!important}.ms-md-7{margin-right:5rem!important}.ms-md-8{margin-right:8rem!important}.ms-md-auto{margin-right:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:2rem!important}.p-md-6{padding:3rem!important}.p-md-7{padding:5rem!important}.p-md-8{padding:8rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:2rem!important;padding-right:2rem!important}.px-md-6{padding-left:3rem!important;padding-right:3rem!important}.px-md-7{padding-left:5rem!important;padding-right:5rem!important}.px-md-8{padding-left:8rem!important;padding-right:8rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-md-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-md-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-md-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:2rem!important}.pt-md-6{padding-top:3rem!important}.pt-md-7{padding-top:5rem!important}.pt-md-8{padding-top:8rem!important}.pe-md-0{padding-left:0!important}.pe-md-1{padding-left:.25rem!important}.pe-md-2{padding-left:.5rem!important}.pe-md-3{padding-left:1rem!important}.pe-md-4{padding-left:1.5rem!important}.pe-md-5{padding-left:2rem!important}.pe-md-6{padding-left:3rem!important}.pe-md-7{padding-left:5rem!important}.pe-md-8{padding-left:8rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:2rem!important}.pb-md-6{padding-bottom:3rem!important}.pb-md-7{padding-bottom:5rem!important}.pb-md-8{padding-bottom:8rem!important}.ps-md-0{padding-right:0!important}.ps-md-1{padding-right:.25rem!important}.ps-md-2{padding-right:.5rem!important}.ps-md-3{padding-right:1rem!important}.ps-md-4{padding-right:1.5rem!important}.ps-md-5{padding-right:2rem!important}.ps-md-6{padding-right:3rem!important}.ps-md-7{padding-right:5rem!important}.ps-md-8{padding-right:8rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:2rem!important}.gap-md-6{gap:3rem!important}.gap-md-7{gap:5rem!important}.gap-md-8{gap:8rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:2rem!important}.row-gap-md-6{row-gap:3rem!important}.row-gap-md-7{row-gap:5rem!important}.row-gap-md-8{row-gap:8rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-md-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-md-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-md-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-md-start{text-align:right!important}.text-md-end{text-align:left!important}.text-md-center{text-align:center!important}.columns-md-2{-moz-columns:2!important;columns:2!important}.columns-md-3{-moz-columns:3!important;columns:3!important}.columns-md-4{-moz-columns:4!important;columns:4!important}}@media (min-width:992px){.float-lg-start{float:right!important}.float-lg-end{float:left!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:2rem!important}.m-lg-6{margin:3rem!important}.m-lg-7{margin:5rem!important}.m-lg-8{margin:8rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:2rem!important;margin-right:2rem!important}.mx-lg-6{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-7{margin-left:5rem!important;margin-right:5rem!important}.mx-lg-8{margin-left:8rem!important;margin-right:8rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-lg-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-lg-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:2rem!important}.mt-lg-6{margin-top:3rem!important}.mt-lg-7{margin-top:5rem!important}.mt-lg-8{margin-top:8rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-left:0!important}.me-lg-1{margin-left:.25rem!important}.me-lg-2{margin-left:.5rem!important}.me-lg-3{margin-left:1rem!important}.me-lg-4{margin-left:1.5rem!important}.me-lg-5{margin-left:2rem!important}.me-lg-6{margin-left:3rem!important}.me-lg-7{margin-left:5rem!important}.me-lg-8{margin-left:8rem!important}.me-lg-auto{margin-left:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:2rem!important}.mb-lg-6{margin-bottom:3rem!important}.mb-lg-7{margin-bottom:5rem!important}.mb-lg-8{margin-bottom:8rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-right:0!important}.ms-lg-1{margin-right:.25rem!important}.ms-lg-2{margin-right:.5rem!important}.ms-lg-3{margin-right:1rem!important}.ms-lg-4{margin-right:1.5rem!important}.ms-lg-5{margin-right:2rem!important}.ms-lg-6{margin-right:3rem!important}.ms-lg-7{margin-right:5rem!important}.ms-lg-8{margin-right:8rem!important}.ms-lg-auto{margin-right:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:2rem!important}.p-lg-6{padding:3rem!important}.p-lg-7{padding:5rem!important}.p-lg-8{padding:8rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:2rem!important;padding-right:2rem!important}.px-lg-6{padding-left:3rem!important;padding-right:3rem!important}.px-lg-7{padding-left:5rem!important;padding-right:5rem!important}.px-lg-8{padding-left:8rem!important;padding-right:8rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-lg-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-lg-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-lg-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:2rem!important}.pt-lg-6{padding-top:3rem!important}.pt-lg-7{padding-top:5rem!important}.pt-lg-8{padding-top:8rem!important}.pe-lg-0{padding-left:0!important}.pe-lg-1{padding-left:.25rem!important}.pe-lg-2{padding-left:.5rem!important}.pe-lg-3{padding-left:1rem!important}.pe-lg-4{padding-left:1.5rem!important}.pe-lg-5{padding-left:2rem!important}.pe-lg-6{padding-left:3rem!important}.pe-lg-7{padding-left:5rem!important}.pe-lg-8{padding-left:8rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:2rem!important}.pb-lg-6{padding-bottom:3rem!important}.pb-lg-7{padding-bottom:5rem!important}.pb-lg-8{padding-bottom:8rem!important}.ps-lg-0{padding-right:0!important}.ps-lg-1{padding-right:.25rem!important}.ps-lg-2{padding-right:.5rem!important}.ps-lg-3{padding-right:1rem!important}.ps-lg-4{padding-right:1.5rem!important}.ps-lg-5{padding-right:2rem!important}.ps-lg-6{padding-right:3rem!important}.ps-lg-7{padding-right:5rem!important}.ps-lg-8{padding-right:8rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:2rem!important}.gap-lg-6{gap:3rem!important}.gap-lg-7{gap:5rem!important}.gap-lg-8{gap:8rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:2rem!important}.row-gap-lg-6{row-gap:3rem!important}.row-gap-lg-7{row-gap:5rem!important}.row-gap-lg-8{row-gap:8rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-lg-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-lg-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-lg-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-lg-start{text-align:right!important}.text-lg-end{text-align:left!important}.text-lg-center{text-align:center!important}.columns-lg-2{-moz-columns:2!important;columns:2!important}.columns-lg-3{-moz-columns:3!important;columns:3!important}.columns-lg-4{-moz-columns:4!important;columns:4!important}}@media (min-width:1200px){.float-xl-start{float:right!important}.float-xl-end{float:left!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:2rem!important}.m-xl-6{margin:3rem!important}.m-xl-7{margin:5rem!important}.m-xl-8{margin:8rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:2rem!important;margin-right:2rem!important}.mx-xl-6{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-7{margin-left:5rem!important;margin-right:5rem!important}.mx-xl-8{margin-left:8rem!important;margin-right:8rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-xl-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-xl-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:2rem!important}.mt-xl-6{margin-top:3rem!important}.mt-xl-7{margin-top:5rem!important}.mt-xl-8{margin-top:8rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-left:0!important}.me-xl-1{margin-left:.25rem!important}.me-xl-2{margin-left:.5rem!important}.me-xl-3{margin-left:1rem!important}.me-xl-4{margin-left:1.5rem!important}.me-xl-5{margin-left:2rem!important}.me-xl-6{margin-left:3rem!important}.me-xl-7{margin-left:5rem!important}.me-xl-8{margin-left:8rem!important}.me-xl-auto{margin-left:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:2rem!important}.mb-xl-6{margin-bottom:3rem!important}.mb-xl-7{margin-bottom:5rem!important}.mb-xl-8{margin-bottom:8rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-right:0!important}.ms-xl-1{margin-right:.25rem!important}.ms-xl-2{margin-right:.5rem!important}.ms-xl-3{margin-right:1rem!important}.ms-xl-4{margin-right:1.5rem!important}.ms-xl-5{margin-right:2rem!important}.ms-xl-6{margin-right:3rem!important}.ms-xl-7{margin-right:5rem!important}.ms-xl-8{margin-right:8rem!important}.ms-xl-auto{margin-right:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:2rem!important}.p-xl-6{padding:3rem!important}.p-xl-7{padding:5rem!important}.p-xl-8{padding:8rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:2rem!important;padding-right:2rem!important}.px-xl-6{padding-left:3rem!important;padding-right:3rem!important}.px-xl-7{padding-left:5rem!important;padding-right:5rem!important}.px-xl-8{padding-left:8rem!important;padding-right:8rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-xl-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-xl-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-xl-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:2rem!important}.pt-xl-6{padding-top:3rem!important}.pt-xl-7{padding-top:5rem!important}.pt-xl-8{padding-top:8rem!important}.pe-xl-0{padding-left:0!important}.pe-xl-1{padding-left:.25rem!important}.pe-xl-2{padding-left:.5rem!important}.pe-xl-3{padding-left:1rem!important}.pe-xl-4{padding-left:1.5rem!important}.pe-xl-5{padding-left:2rem!important}.pe-xl-6{padding-left:3rem!important}.pe-xl-7{padding-left:5rem!important}.pe-xl-8{padding-left:8rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:2rem!important}.pb-xl-6{padding-bottom:3rem!important}.pb-xl-7{padding-bottom:5rem!important}.pb-xl-8{padding-bottom:8rem!important}.ps-xl-0{padding-right:0!important}.ps-xl-1{padding-right:.25rem!important}.ps-xl-2{padding-right:.5rem!important}.ps-xl-3{padding-right:1rem!important}.ps-xl-4{padding-right:1.5rem!important}.ps-xl-5{padding-right:2rem!important}.ps-xl-6{padding-right:3rem!important}.ps-xl-7{padding-right:5rem!important}.ps-xl-8{padding-right:8rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:2rem!important}.gap-xl-6{gap:3rem!important}.gap-xl-7{gap:5rem!important}.gap-xl-8{gap:8rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:2rem!important}.row-gap-xl-6{row-gap:3rem!important}.row-gap-xl-7{row-gap:5rem!important}.row-gap-xl-8{row-gap:8rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-xl-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-xl-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-xl-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-xl-start{text-align:right!important}.text-xl-end{text-align:left!important}.text-xl-center{text-align:center!important}.columns-xl-2{-moz-columns:2!important;columns:2!important}.columns-xl-3{-moz-columns:3!important;columns:3!important}.columns-xl-4{-moz-columns:4!important;columns:4!important}}@media (min-width:1400px){.float-xxl-start{float:right!important}.float-xxl-end{float:left!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:2rem!important}.m-xxl-6{margin:3rem!important}.m-xxl-7{margin:5rem!important}.m-xxl-8{margin:8rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:2rem!important;margin-right:2rem!important}.mx-xxl-6{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-7{margin-left:5rem!important;margin-right:5rem!important}.mx-xxl-8{margin-left:8rem!important;margin-right:8rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-xxl-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-xxl-8{margin-top:8rem!important;margin-bottom:8rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:2rem!important}.mt-xxl-6{margin-top:3rem!important}.mt-xxl-7{margin-top:5rem!important}.mt-xxl-8{margin-top:8rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-left:0!important}.me-xxl-1{margin-left:.25rem!important}.me-xxl-2{margin-left:.5rem!important}.me-xxl-3{margin-left:1rem!important}.me-xxl-4{margin-left:1.5rem!important}.me-xxl-5{margin-left:2rem!important}.me-xxl-6{margin-left:3rem!important}.me-xxl-7{margin-left:5rem!important}.me-xxl-8{margin-left:8rem!important}.me-xxl-auto{margin-left:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:2rem!important}.mb-xxl-6{margin-bottom:3rem!important}.mb-xxl-7{margin-bottom:5rem!important}.mb-xxl-8{margin-bottom:8rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-right:0!important}.ms-xxl-1{margin-right:.25rem!important}.ms-xxl-2{margin-right:.5rem!important}.ms-xxl-3{margin-right:1rem!important}.ms-xxl-4{margin-right:1.5rem!important}.ms-xxl-5{margin-right:2rem!important}.ms-xxl-6{margin-right:3rem!important}.ms-xxl-7{margin-right:5rem!important}.ms-xxl-8{margin-right:8rem!important}.ms-xxl-auto{margin-right:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:2rem!important}.p-xxl-6{padding:3rem!important}.p-xxl-7{padding:5rem!important}.p-xxl-8{padding:8rem!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:2rem!important;padding-right:2rem!important}.px-xxl-6{padding-left:3rem!important;padding-right:3rem!important}.px-xxl-7{padding-left:5rem!important;padding-right:5rem!important}.px-xxl-8{padding-left:8rem!important;padding-right:8rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-xxl-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-xxl-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-xxl-8{padding-top:8rem!important;padding-bottom:8rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:2rem!important}.pt-xxl-6{padding-top:3rem!important}.pt-xxl-7{padding-top:5rem!important}.pt-xxl-8{padding-top:8rem!important}.pe-xxl-0{padding-left:0!important}.pe-xxl-1{padding-left:.25rem!important}.pe-xxl-2{padding-left:.5rem!important}.pe-xxl-3{padding-left:1rem!important}.pe-xxl-4{padding-left:1.5rem!important}.pe-xxl-5{padding-left:2rem!important}.pe-xxl-6{padding-left:3rem!important}.pe-xxl-7{padding-left:5rem!important}.pe-xxl-8{padding-left:8rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:2rem!important}.pb-xxl-6{padding-bottom:3rem!important}.pb-xxl-7{padding-bottom:5rem!important}.pb-xxl-8{padding-bottom:8rem!important}.ps-xxl-0{padding-right:0!important}.ps-xxl-1{padding-right:.25rem!important}.ps-xxl-2{padding-right:.5rem!important}.ps-xxl-3{padding-right:1rem!important}.ps-xxl-4{padding-right:1.5rem!important}.ps-xxl-5{padding-right:2rem!important}.ps-xxl-6{padding-right:3rem!important}.ps-xxl-7{padding-right:5rem!important}.ps-xxl-8{padding-right:8rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:2rem!important}.gap-xxl-6{gap:3rem!important}.gap-xxl-7{gap:5rem!important}.gap-xxl-8{gap:8rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:2rem!important}.row-gap-xxl-6{row-gap:3rem!important}.row-gap-xxl-7{row-gap:5rem!important}.row-gap-xxl-8{row-gap:8rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-xxl-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-xxl-7{-moz-column-gap:5rem!important;column-gap:5rem!important}.column-gap-xxl-8{-moz-column-gap:8rem!important;column-gap:8rem!important}.text-xxl-start{text-align:right!important}.text-xxl-end{text-align:left!important}.text-xxl-center{text-align:center!important}.columns-xxl-2{-moz-columns:2!important;columns:2!important}.columns-xxl-3{-moz-columns:3!important;columns:3!important}.columns-xxl-4{-moz-columns:4!important;columns:4!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}:host,:root{font-size:16px;height:100%;--tblr-primary:#206bc4;--tblr-primary-rgb:32,107,196;--tblr-primary-fg:var(--tblr-light);--tblr-primary-darken:#1d60b0;--tblr-primary-lt:#e9f0f9;--tblr-primary-lt-rgb:233,240,249;--tblr-secondary:#667382;--tblr-secondary-rgb:102,115,130;--tblr-secondary-fg:var(--tblr-light);--tblr-secondary-darken:#5c6875;--tblr-secondary-lt:#f0f1f3;--tblr-secondary-lt-rgb:240,241,243;--tblr-success:#2fb344;--tblr-success-rgb:47,179,68;--tblr-success-fg:var(--tblr-light);--tblr-success-darken:#2aa13d;--tblr-success-lt:#eaf7ec;--tblr-success-lt-rgb:234,247,236;--tblr-info:#4299e1;--tblr-info-rgb:66,153,225;--tblr-info-fg:var(--tblr-light);--tblr-info-darken:#3b8acb;--tblr-info-lt:#ecf5fc;--tblr-info-lt-rgb:236,245,252;--tblr-warning:#f76707;--tblr-warning-rgb:247,103,7;--tblr-warning-fg:var(--tblr-light);--tblr-warning-darken:#de5d06;--tblr-warning-lt:#fef0e6;--tblr-warning-lt-rgb:254,240,230;--tblr-danger:#d63939;--tblr-danger-rgb:214,57,57;--tblr-danger-fg:var(--tblr-light);--tblr-danger-darken:#c13333;--tblr-danger-lt:#fbebeb;--tblr-danger-lt-rgb:251,235,235;--tblr-light:#fcfdfe;--tblr-light-rgb:252,253,254;--tblr-light-fg:var(--tblr-dark);--tblr-light-darken:#e3e4e5;--tblr-light-lt:white;--tblr-light-lt-rgb:255,255,255;--tblr-dark:#182433;--tblr-dark-rgb:24,36,51;--tblr-dark-fg:var(--tblr-light);--tblr-dark-darken:#16202e;--tblr-dark-lt:#e8e9eb;--tblr-dark-lt-rgb:232,233,235;--tblr-muted:#667382;--tblr-muted-rgb:102,115,130;--tblr-muted-fg:var(--tblr-light);--tblr-muted-darken:#5c6875;--tblr-muted-lt:#f0f1f3;--tblr-muted-lt-rgb:240,241,243;--tblr-blue:#206bc4;--tblr-blue-rgb:32,107,196;--tblr-blue-fg:var(--tblr-light);--tblr-blue-darken:#1d60b0;--tblr-blue-lt:#e9f0f9;--tblr-blue-lt-rgb:233,240,249;--tblr-azure:#4299e1;--tblr-azure-rgb:66,153,225;--tblr-azure-fg:var(--tblr-light);--tblr-azure-darken:#3b8acb;--tblr-azure-lt:#ecf5fc;--tblr-azure-lt-rgb:236,245,252;--tblr-indigo:#4263eb;--tblr-indigo-rgb:66,99,235;--tblr-indigo-fg:var(--tblr-light);--tblr-indigo-darken:#3b59d4;--tblr-indigo-lt:#eceffd;--tblr-indigo-lt-rgb:236,239,253;--tblr-purple:#ae3ec9;--tblr-purple-rgb:174,62,201;--tblr-purple-fg:var(--tblr-light);--tblr-purple-darken:#9d38b5;--tblr-purple-lt:#f7ecfa;--tblr-purple-lt-rgb:247,236,250;--tblr-pink:#d6336c;--tblr-pink-rgb:214,51,108;--tblr-pink-fg:var(--tblr-light);--tblr-pink-darken:#c12e61;--tblr-pink-lt:#fbebf0;--tblr-pink-lt-rgb:251,235,240;--tblr-red:#d63939;--tblr-red-rgb:214,57,57;--tblr-red-fg:var(--tblr-light);--tblr-red-darken:#c13333;--tblr-red-lt:#fbebeb;--tblr-red-lt-rgb:251,235,235;--tblr-orange:#f76707;--tblr-orange-rgb:247,103,7;--tblr-orange-fg:var(--tblr-light);--tblr-orange-darken:#de5d06;--tblr-orange-lt:#fef0e6;--tblr-orange-lt-rgb:254,240,230;--tblr-yellow:#f59f00;--tblr-yellow-rgb:245,159,0;--tblr-yellow-fg:var(--tblr-light);--tblr-yellow-darken:#dd8f00;--tblr-yellow-lt:#fef5e6;--tblr-yellow-lt-rgb:254,245,230;--tblr-lime:#74b816;--tblr-lime-rgb:116,184,22;--tblr-lime-fg:var(--tblr-light);--tblr-lime-darken:#68a614;--tblr-lime-lt:#f1f8e8;--tblr-lime-lt-rgb:241,248,232;--tblr-green:#2fb344;--tblr-green-rgb:47,179,68;--tblr-green-fg:var(--tblr-light);--tblr-green-darken:#2aa13d;--tblr-green-lt:#eaf7ec;--tblr-green-lt-rgb:234,247,236;--tblr-teal:#0ca678;--tblr-teal-rgb:12,166,120;--tblr-teal-fg:var(--tblr-light);--tblr-teal-darken:#0b956c;--tblr-teal-lt:#e7f6f2;--tblr-teal-lt-rgb:231,246,242;--tblr-cyan:#17a2b8;--tblr-cyan-rgb:23,162,184;--tblr-cyan-fg:var(--tblr-light);--tblr-cyan-darken:#1592a6;--tblr-cyan-lt:#e8f6f8;--tblr-cyan-lt-rgb:232,246,248;--tblr-facebook:#1877f2;--tblr-facebook-rgb:24,119,242;--tblr-facebook-fg:var(--tblr-light);--tblr-facebook-darken:#166bda;--tblr-facebook-lt:#e8f1fe;--tblr-facebook-lt-rgb:232,241,254;--tblr-twitter:#1da1f2;--tblr-twitter-rgb:29,161,242;--tblr-twitter-fg:var(--tblr-light);--tblr-twitter-darken:#1a91da;--tblr-twitter-lt:#e8f6fe;--tblr-twitter-lt-rgb:232,246,254;--tblr-linkedin:#0a66c2;--tblr-linkedin-rgb:10,102,194;--tblr-linkedin-fg:var(--tblr-light);--tblr-linkedin-darken:#095caf;--tblr-linkedin-lt:#e7f0f9;--tblr-linkedin-lt-rgb:231,240,249;--tblr-google:#dc4e41;--tblr-google-rgb:220,78,65;--tblr-google-fg:var(--tblr-light);--tblr-google-darken:#c6463b;--tblr-google-lt:#fcedec;--tblr-google-lt-rgb:252,237,236;--tblr-youtube:#ff0000;--tblr-youtube-rgb:255,0,0;--tblr-youtube-fg:var(--tblr-light);--tblr-youtube-darken:#e60000;--tblr-youtube-lt:#ffe6e6;--tblr-youtube-lt-rgb:255,230,230;--tblr-vimeo:#1ab7ea;--tblr-vimeo-rgb:26,183,234;--tblr-vimeo-fg:var(--tblr-light);--tblr-vimeo-darken:#17a5d3;--tblr-vimeo-lt:#e8f8fd;--tblr-vimeo-lt-rgb:232,248,253;--tblr-dribbble:#ea4c89;--tblr-dribbble-rgb:234,76,137;--tblr-dribbble-fg:var(--tblr-light);--tblr-dribbble-darken:#d3447b;--tblr-dribbble-lt:#fdedf3;--tblr-dribbble-lt-rgb:253,237,243;--tblr-github:#181717;--tblr-github-rgb:24,23,23;--tblr-github-fg:var(--tblr-light);--tblr-github-darken:#161515;--tblr-github-lt:#e8e8e8;--tblr-github-lt-rgb:232,232,232;--tblr-instagram:#e4405f;--tblr-instagram-rgb:228,64,95;--tblr-instagram-fg:var(--tblr-light);--tblr-instagram-darken:#cd3a56;--tblr-instagram-lt:#fcecef;--tblr-instagram-lt-rgb:252,236,239;--tblr-pinterest:#bd081c;--tblr-pinterest-rgb:189,8,28;--tblr-pinterest-fg:var(--tblr-light);--tblr-pinterest-darken:#aa0719;--tblr-pinterest-lt:#f8e6e8;--tblr-pinterest-lt-rgb:248,230,232;--tblr-vk:#6383a8;--tblr-vk-rgb:99,131,168;--tblr-vk-fg:var(--tblr-light);--tblr-vk-darken:#597697;--tblr-vk-lt:#eff3f6;--tblr-vk-lt-rgb:239,243,246;--tblr-rss:#ffa500;--tblr-rss-rgb:255,165,0;--tblr-rss-fg:var(--tblr-light);--tblr-rss-darken:#e69500;--tblr-rss-lt:#fff6e6;--tblr-rss-lt-rgb:255,246,230;--tblr-flickr:#0063dc;--tblr-flickr-rgb:0,99,220;--tblr-flickr-fg:var(--tblr-light);--tblr-flickr-darken:#0059c6;--tblr-flickr-lt:#e6effc;--tblr-flickr-lt-rgb:230,239,252;--tblr-bitbucket:#0052cc;--tblr-bitbucket-rgb:0,82,204;--tblr-bitbucket-fg:var(--tblr-light);--tblr-bitbucket-darken:#004ab8;--tblr-bitbucket-lt:#e6eefa;--tblr-bitbucket-lt-rgb:230,238,250;--tblr-tabler:#206bc4;--tblr-tabler-rgb:32,107,196;--tblr-tabler-fg:var(--tblr-light);--tblr-tabler-darken:#1d60b0;--tblr-tabler-lt:#e9f0f9;--tblr-tabler-lt-rgb:233,240,249;--tblr-gray-50:#fcfdfe;--tblr-gray-50-rgb:252,253,254;--tblr-gray-50-fg:var(--tblr-dark);--tblr-gray-50-darken:#e3e4e5;--tblr-gray-50-lt:white;--tblr-gray-50-lt-rgb:255,255,255;--tblr-gray-100:#f6f8fb;--tblr-gray-100-rgb:246,248,251;--tblr-gray-100-fg:var(--tblr-dark);--tblr-gray-100-darken:#dddfe2;--tblr-gray-100-lt:#fefeff;--tblr-gray-100-lt-rgb:254,254,255;--tblr-gray-200:#eef1f4;--tblr-gray-200-rgb:238,241,244;--tblr-gray-200-fg:var(--tblr-dark);--tblr-gray-200-darken:#d6d9dc;--tblr-gray-200-lt:#fdfefe;--tblr-gray-200-lt-rgb:253,254,254;--tblr-gray-300:#dadfe5;--tblr-gray-300-rgb:218,223,229;--tblr-gray-300-fg:var(--tblr-dark);--tblr-gray-300-darken:#c4c9ce;--tblr-gray-300-lt:#fbfcfc;--tblr-gray-300-lt-rgb:251,252,252;--tblr-gray-400:#bbc3cd;--tblr-gray-400-rgb:187,195,205;--tblr-gray-400-fg:var(--tblr-light);--tblr-gray-400-darken:#a8b0b9;--tblr-gray-400-lt:#f8f9fa;--tblr-gray-400-lt-rgb:248,249,250;--tblr-gray-500:#929dab;--tblr-gray-500-rgb:146,157,171;--tblr-gray-500-fg:var(--tblr-light);--tblr-gray-500-darken:#838d9a;--tblr-gray-500-lt:#f4f5f7;--tblr-gray-500-lt-rgb:244,245,247;--tblr-gray-600:#667382;--tblr-gray-600-rgb:102,115,130;--tblr-gray-600-fg:var(--tblr-light);--tblr-gray-600-darken:#5c6875;--tblr-gray-600-lt:#f0f1f3;--tblr-gray-600-lt-rgb:240,241,243;--tblr-gray-700:#3a4859;--tblr-gray-700-rgb:58,72,89;--tblr-gray-700-fg:var(--tblr-light);--tblr-gray-700-darken:#344150;--tblr-gray-700-lt:#ebedee;--tblr-gray-700-lt-rgb:235,237,238;--tblr-gray-800:#182433;--tblr-gray-800-rgb:24,36,51;--tblr-gray-800-fg:var(--tblr-light);--tblr-gray-800-darken:#16202e;--tblr-gray-800-lt:#e8e9eb;--tblr-gray-800-lt-rgb:232,233,235;--tblr-gray-900:#040a11;--tblr-gray-900-rgb:4,10,17;--tblr-gray-900-fg:var(--tblr-light);--tblr-gray-900-darken:#04090f;--tblr-gray-900-lt:#e6e7e7;--tblr-gray-900-lt-rgb:230,231,231;--tblr-spacer-0:0;--tblr-spacer-1:0.25rem;--tblr-spacer-2:0.5rem;--tblr-spacer-3:1rem;--tblr-spacer-4:1.5rem;--tblr-spacer-5:2rem;--tblr-spacer-6:3rem;--tblr-spacer-7:5rem;--tblr-spacer-8:8rem;--tblr-spacer:1rem;--tblr-bg-surface:var(--tblr-white);--tblr-bg-surface-secondary:var(--tblr-gray-100);--tblr-bg-surface-tertiary:var(--tblr-gray-50);--tblr-bg-surface-dark:var(--tblr-dark);--tblr-bg-forms:var(--tblr-bg-surface);--tblr-border-color:#dadfe5;--tblr-border-color-translucent:rgba(4, 32, 69, 0.14);--tblr-border-dark-color:#bbc3cd;--tblr-border-dark-color-translucent:rgba(4, 32, 69, 0.27);--tblr-border-active-color:#b6bcc3;--tblr-icon-color:var(--tblr-gray-500);--tblr-active-bg:rgba(var(--tblr-primary-rgb), 0.04);--tblr-disabled-bg:var(--tblr-bg-surface-secondary);--tblr-disabled-color:var(--tblr-gray-300);--tblr-code-color:var(--tblr-gray-600);--tblr-code-bg:var(--tblr-bg-surface-secondary);--tblr-dark-mode-border-color:#1f2e41;--tblr-dark-mode-border-color-translucent:rgba(72, 110, 149, 0.14);--tblr-dark-mode-border-color-active:#2c415d;--tblr-dark-mode-border-dark-color:#1f2e41;--tblr-page-padding:var(--tblr-spacer-3);--tblr-page-padding-y:var(--tblr-spacer-4);--tblr-font-weight-light:300;--tblr-font-weight-normal:400;--tblr-font-weight-medium:500;--tblr-font-weight-bold:600;--tblr-font-weight-headings:var(--tblr-font-weight-bold);--tblr-font-size-h1:1.5rem;--tblr-font-size-h2:1.25rem;--tblr-font-size-h3:1rem;--tblr-font-size-h4:0.875rem;--tblr-font-size-h5:0.75rem;--tblr-font-size-h6:0.625rem;--tblr-line-height-h1:2rem;--tblr-line-height-h2:1.75rem;--tblr-line-height-h3:1.5rem;--tblr-line-height-h4:1.25rem;--tblr-line-height-h5:1rem;--tblr-line-height-h6:1rem;--tblr-shadow:rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0;--tblr-shadow-transparent:0 0 0 0 transparent;--tblr-shadow-button:0 1px 0 rgba(var(--tblr-body-color-rgb), 0.04);--tblr-shadow-button-inset:inset 0 -1px 0 rgba(var(--tblr-body-color-rgb), 0.2);--tblr-shadow-card:0 0 4px rgba(var(--tblr-body-color-rgb), 0.04);--tblr-shadow-card-hover:rgba(var(--tblr-body-color-rgb), 0.16) 0 2px 16px 0;--tblr-shadow-dropdown:0px 16px 24px 2px rgba(0, 0, 0, 0.07),0px 6px 30px 5px rgba(0, 0, 0, 0.06),0px 8px 10px -5px rgba(0, 0, 0, 0.1)}@media (max-width:991.98px){:host,:root{--tblr-page-padding:var(--tblr-spacer-2)}}@keyframes pulse{from{opacity:1;transform:scale3d(.8,.8,.8)}50%{transform:scale3d(1,1,1);opacity:1}to{opacity:1;transform:scale3d(.8,.8,.8)}}@keyframes tada{0%{transform:scale3d(1,1,1)}10%,5%{transform:scale3d(.9,.9,.9) rotate3d(0,0,1,5deg)}15%,25%,35%,45%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-5deg)}20%,30%,40%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,5deg)}50%{transform:scale3d(1,1,1)}}@keyframes rotate-360{from{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes blink{from{opacity:0}50%{opacity:1}to{opacity:0}}body{letter-spacing:0;touch-action:manipulation;text-rendering:optimizeLegibility;font-feature-settings:"liga" 0;position:relative;min-height:100%;height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media print{body{background:0 0}}*{scrollbar-color:rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16) transparent}::-webkit-scrollbar{width:1rem;height:1rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){::-webkit-scrollbar{-webkit-transition:none;transition:none}}::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16)}::-webkit-scrollbar-track{background:0 0}:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.32)}::-webkit-scrollbar-corner{background:0 0}.layout-fluid .container,.layout-fluid [class*=" container-"],.layout-fluid [class^=container-]{max-width:100%}.layout-boxed{--tblr-theme-boxed-border-radius:0;--tblr-theme-boxed-width:1320px}@media (min-width:768px){.layout-boxed{background:#182433 linear-gradient(to left,rgba(255,255,255,.1),transparent) fixed;padding:1rem;--tblr-theme-boxed-border-radius:4px}}.layout-boxed .page{margin:0 auto;max-width:var(--tblr-theme-boxed-width);border-radius:var(--tblr-theme-boxed-border-radius);color:var(--tblr-body-color)}@media (min-width:768px){.layout-boxed .page{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background:var(--tblr-body-bg)}}.layout-boxed .page>.navbar:first-child{border-top-right-radius:var(--tblr-theme-boxed-border-radius);border-top-left-radius:var(--tblr-theme-boxed-border-radius)}.navbar{--tblr-navbar-bg:var(--tblr-bg-surface);--tblr-navbar-border-width:var(--tblr-border-width);--tblr-navbar-active-border-color:var(--tblr-primary);--tblr-navbar-active-bg:rgba(0, 0, 0, 0.06);--tblr-navbar-color:var(--tblr-body-color);--tblr-navbar-border-color:var(--tblr-border-color);align-items:stretch;min-height:3.5rem;box-shadow:inset 0 calc(-1 * var(--tblr-navbar-border-width)) 0 0 var(--tblr-navbar-border-color);background:var(--tblr-navbar-bg);color:var(--tblr-navbar-color)}.navbar-collapse .navbar{flex-grow:1}.navbar.collapsing{min-height:0}.navbar .dropdown-menu{position:absolute;z-index:1030}.navbar .navbar-nav{min-height:3rem}.navbar .navbar-nav .nav-link{position:relative;min-width:2rem;min-height:2rem;justify-content:center;border-radius:var(--tblr-border-radius)}.navbar .navbar-nav .nav-link .badge{position:absolute;top:.375rem;left:.375rem;transform:translate(-50%,-50%)}.navbar-nav{margin:0;padding:0}@media (max-width:575.98px){.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-sm .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:576px){.navbar-expand-sm .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-sm .nav-item.active{position:relative}.navbar-expand-sm .nav-item.active:after{content:"";position:absolute;right:0;left:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-sm.navbar-vertical{box-shadow:inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical.navbar-right{box-shadow:inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical~.navbar,.navbar-expand-sm.navbar-vertical~.page-wrapper{margin-right:15rem}.navbar-expand-sm.navbar-vertical.navbar-right~.navbar,.navbar-expand-sm.navbar-vertical.navbar-right~.page-wrapper{margin-right:0;margin-left:15rem}}@media (max-width:767.98px){.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-md .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:768px){.navbar-expand-md .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-md .nav-item.active{position:relative}.navbar-expand-md .nav-item.active:after{content:"";position:absolute;right:0;left:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-md.navbar-vertical{box-shadow:inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical.navbar-right{box-shadow:inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical~.navbar,.navbar-expand-md.navbar-vertical~.page-wrapper{margin-right:15rem}.navbar-expand-md.navbar-vertical.navbar-right~.navbar,.navbar-expand-md.navbar-vertical.navbar-right~.page-wrapper{margin-right:0;margin-left:15rem}}@media (max-width:991.98px){.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-lg .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:992px){.navbar-expand-lg .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-lg .nav-item.active{position:relative}.navbar-expand-lg .nav-item.active:after{content:"";position:absolute;right:0;left:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-lg.navbar-vertical{box-shadow:inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical.navbar-right{box-shadow:inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical~.navbar,.navbar-expand-lg.navbar-vertical~.page-wrapper{margin-right:15rem}.navbar-expand-lg.navbar-vertical.navbar-right~.navbar,.navbar-expand-lg.navbar-vertical.navbar-right~.page-wrapper{margin-right:0;margin-left:15rem}}@media (max-width:1199.98px){.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xl .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:1200px){.navbar-expand-xl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xl .nav-item.active{position:relative}.navbar-expand-xl .nav-item.active:after{content:"";position:absolute;right:0;left:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xl.navbar-vertical{box-shadow:inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical.navbar-right{box-shadow:inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical~.navbar,.navbar-expand-xl.navbar-vertical~.page-wrapper{margin-right:15rem}.navbar-expand-xl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xl.navbar-vertical.navbar-right~.page-wrapper{margin-right:0;margin-left:15rem}}@media (max-width:1399.98px){.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:1400px){.navbar-expand-xxl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xxl .nav-item.active{position:relative}.navbar-expand-xxl .nav-item.active:after{content:"";position:absolute;right:0;left:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xxl.navbar-vertical{box-shadow:inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical.navbar-right{box-shadow:inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical~.navbar,.navbar-expand-xxl.navbar-vertical~.page-wrapper{margin-right:15rem}.navbar-expand-xxl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xxl.navbar-vertical.navbar-right~.page-wrapper{margin-right:0;margin-left:15rem}}.navbar-expand .navbar-collapse{flex-direction:column}.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}.navbar-expand .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand .nav-item.active{position:relative}.navbar-expand .nav-item.active:after{content:"";position:absolute;right:0;left:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand.navbar-vertical{box-shadow:inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical.navbar-right{box-shadow:inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical~.navbar,.navbar-expand.navbar-vertical~.page-wrapper{margin-right:15rem}.navbar-expand.navbar-vertical.navbar-right~.navbar,.navbar-expand.navbar-vertical.navbar-right~.page-wrapper{margin-right:0;margin-left:15rem}.navbar-brand{display:inline-flex;align-items:center;font-weight:var(--tblr-font-weight-bold);margin:0;line-height:1;gap:.5rem}.navbar-brand-image{height:2rem;width:auto}.navbar-toggler{border:0;width:2rem;height:2rem;position:relative;display:flex;align-items:center;justify-content:center}.navbar-toggler-icon{height:2px;width:1.25em;background:currentColor;border-radius:10px;transition:top .2s .2s,bottom .2s .2s,transform .2s,opacity 0s .2s;position:relative}@media (prefers-reduced-motion:reduce){.navbar-toggler-icon{transition:none}}.navbar-toggler-icon:after,.navbar-toggler-icon:before{content:"";display:block;height:inherit;width:inherit;border-radius:inherit;background:inherit;position:absolute;right:0;transition:inherit}@media (prefers-reduced-motion:reduce){.navbar-toggler-icon:after,.navbar-toggler-icon:before{transition:none}}.navbar-toggler-icon:before{top:-.45em}.navbar-toggler-icon:after{bottom:-.45em}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transform:rotate(-45deg);transition:top .3s,bottom .3s,transform .3s .3s,opacity 0s .3s}@media (prefers-reduced-motion:reduce){.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transition:none}}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before{top:0;transform:rotate(90deg)}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after{bottom:0;opacity:0}.navbar-transparent{--tblr-navbar-border-color:transparent!important;background:0 0!important}.navbar-nav{align-items:stretch}.navbar-nav .nav-item{display:flex;flex-direction:column;justify-content:center}.navbar-side{margin:0;display:flex;flex-direction:row;align-items:center;justify-content:space-around}@media (min-width:576px){.navbar-vertical.navbar-expand-sm{width:15rem;position:fixed;top:0;right:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:576px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-sm{transition:none}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm.navbar-right{right:auto;left:0}.navbar-vertical.navbar-expand-sm .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-sm .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-sm .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-sm .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-sm>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-sm~.page{padding-right:15rem}.navbar-vertical.navbar-expand-sm~.page [class^=container]{padding-right:1.5rem;padding-left:1.5rem}.navbar-vertical.navbar-expand-sm.navbar-right~.page{padding-right:0;padding-left:15rem}.navbar-vertical.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-vertical.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:768px){.navbar-vertical.navbar-expand-md{width:15rem;position:fixed;top:0;right:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:768px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-md{transition:none}}@media (min-width:768px){.navbar-vertical.navbar-expand-md.navbar-right{right:auto;left:0}.navbar-vertical.navbar-expand-md .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-md .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-md .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-md .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-md>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-md~.page{padding-right:15rem}.navbar-vertical.navbar-expand-md~.page [class^=container]{padding-right:1.5rem;padding-left:1.5rem}.navbar-vertical.navbar-expand-md.navbar-right~.page{padding-right:0;padding-left:15rem}.navbar-vertical.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-vertical.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg{width:15rem;position:fixed;top:0;right:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:992px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-lg{transition:none}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg.navbar-right{right:auto;left:0}.navbar-vertical.navbar-expand-lg .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-lg .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-lg .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-lg .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-lg>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-lg~.page{padding-right:15rem}.navbar-vertical.navbar-expand-lg~.page [class^=container]{padding-right:1.5rem;padding-left:1.5rem}.navbar-vertical.navbar-expand-lg.navbar-right~.page{padding-right:0;padding-left:15rem}.navbar-vertical.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-vertical.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl{width:15rem;position:fixed;top:0;right:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:1200px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xl{transition:none}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl.navbar-right{right:auto;left:0}.navbar-vertical.navbar-expand-xl .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-xl .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-xl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-xl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-xl~.page{padding-right:15rem}.navbar-vertical.navbar-expand-xl~.page [class^=container]{padding-right:1.5rem;padding-left:1.5rem}.navbar-vertical.navbar-expand-xl.navbar-right~.page{padding-right:0;padding-left:15rem}.navbar-vertical.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-vertical.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl{width:15rem;position:fixed;top:0;right:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media (min-width:1400px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xxl{transition:none}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl.navbar-right{right:auto;left:0}.navbar-vertical.navbar-expand-xxl .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-xxl .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-xxl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xxl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-xxl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-xxl~.page{padding-right:15rem}.navbar-vertical.navbar-expand-xxl~.page [class^=container]{padding-right:1.5rem;padding-left:1.5rem}.navbar-vertical.navbar-expand-xxl.navbar-right~.page{padding-right:0;padding-left:15rem}.navbar-vertical.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-vertical.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}.navbar-vertical.navbar-expand{width:15rem;position:fixed;top:0;right:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}@media (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand{transition:none}}.navbar-vertical.navbar-expand.navbar-right{right:auto;left:0}.navbar-vertical.navbar-expand .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand~.page{padding-right:15rem}.navbar-vertical.navbar-expand~.page [class^=container]{padding-right:1.5rem;padding-left:1.5rem}.navbar-vertical.navbar-expand.navbar-right~.page{padding-right:0;padding-left:15rem}.navbar-vertical.navbar-expand .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2)/ 2);justify-content:flex-start}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 3.25rem)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:calc(calc(calc(var(--tblr-page-padding) * 2)/ 2) + 4.75rem)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-vertical.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}.navbar-overlap:after{content:"";height:9rem;position:absolute;top:100%;right:0;left:0;background:inherit;z-index:-1;box-shadow:inherit}.page{display:flex;flex-direction:column;position:relative;min-height:100%}.page-center .container{margin-top:auto;margin-bottom:auto}.page-wrapper{flex:1;display:flex;flex-direction:column}@media print{.page-wrapper{margin:0!important}}.page-wrapper-full .page-body:first-child{margin:0;border-top:0}.page-body{margin-top:var(--tblr-page-padding-y);margin-bottom:var(--tblr-page-padding-y)}.page-body-card{background:var(--tblr-bg-surface);border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);padding:var(--tblr-page-padding) 0;margin-bottom:0;flex:1}.page-body~.page-body-card{margin-top:0}.page-cover{background:no-repeat center/cover;min-height:9rem}@media (min-width:768px){.page-cover{min-height:12rem}}@media (min-width:992px){.page-cover{min-height:15rem}}.page-cover-overlay{position:relative}.page-cover-overlay:after{content:"";position:absolute;top:0;right:0;left:0;bottom:0;background-image:linear-gradient(-180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 100%)}.page-header{display:flex;flex-wrap:wrap;min-height:2.25rem;flex-direction:column;justify-content:center}.page-wrapper .page-header{margin:var(--tblr-page-padding-y) 0 0}.page-header-border{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding:var(--tblr-page-padding-y) 0;margin:0!important;background-color:var(--tblr-bg-surface)}.page-pretitle{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted)}.page-title{margin:0;font-size:1.25rem;line-height:1.75rem;font-weight:var(--tblr-font-weight-bold);color:inherit;display:flex;align-items:center}.page-title svg{width:1.5rem;height:1.5rem;margin-left:.25rem}.page-title-lg{font-size:1.5rem;line-height:2rem}.page-subtitle{margin-top:.25rem;color:var(--tblr-muted)}.page-cover{--tblr-page-cover-blur:20px;--tblr-page-cover-padding:1rem;min-height:6rem;padding:var(--tblr-page-cover-padding) 0;position:relative;overflow:hidden}.page-cover-img{position:absolute;top:calc(-2 * var(--tblr-page-cover-blur,0));right:calc(-2 * var(--tblr-page-cover-blur,0));left:calc(-2 * var(--tblr-page-cover-blur,0));bottom:calc(-2 * var(--tblr-page-cover-blur,0));pointer-events:none;filter:blur(var(--tblr-page-cover-blur));-o-object-fit:cover;object-fit:cover;background-size:cover;background-position:center;z-index:-1}.page-tabs{margin-top:.5rem;position:relative}.page-header-tabs .nav-bordered{border:0}.page-header-tabs+.page-body-card{margin-top:0}.footer{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background-color:#fff;padding:2rem 0;color:var(--tblr-muted);margin-top:auto}.footer-transparent{background-color:transparent;border-top:0}body:not(.theme-dark):not([data-bs-theme=dark]) .hide-theme-light{display:none!important}body.theme-dark .hide-theme-dark,body[data-bs-theme=dark] .hide-theme-dark{display:none!important}[data-bs-theme=dark]{--tblr-body-color:#fcfdfe;--tblr-body-color-rgb:252,253,254;--tblr-muted:#3a4859;--tblr-body-bg:#151f2c;--tblr-body-bg-rgb:21,31,44;--tblr-emphasis-color:#ffffff;--tblr-emphasis-color-rgb:255,255,255;--tblr-bg-forms:#151f2c;--tblr-bg-surface:#182433;--tblr-bg-surface-dark:#151f2c;--tblr-bg-surface-secondary:#1b293a;--tblr-bg-surface-tertiary:#151f2c;--tblr-link-color:#307fdd;--tblr-link-hover-color:#206bc4;--tblr-active-bg:#1b293a;--tblr-disabled-color:var(--tblr-gray-700);--tblr-border-color:var(--tblr-dark-mode-border-color);--tblr-border-color-translucent:var( + --tblr-dark-mode-border-color-translucent + );--tblr-border-dark-color:var(--tblr-dark-mode-border-dark-color);--tblr-border-color-active:var( + --tblr-dark-mode-border-color-active + );--tblr-btn-color:#151f2c;--tblr-code-color:var(--tblr-body-color);--tblr-code-bg:#1f2e41;--tblr-primary-lt:#192b42;--tblr-primary-lt-rgb:25,43,66;--tblr-secondary-lt:#202c3b;--tblr-secondary-lt-rgb:32,44,59;--tblr-success-lt:#1a3235;--tblr-success-lt-rgb:26,50,53;--tblr-info-lt:#1c3044;--tblr-info-lt-rgb:28,48,68;--tblr-warning-lt:#2e2b2f;--tblr-warning-lt-rgb:46,43,47;--tblr-danger-lt:#2b2634;--tblr-danger-lt-rgb:43,38,52;--tblr-light-lt:#2f3a47;--tblr-light-lt-rgb:47,58,71;--tblr-dark-lt:#182433;--tblr-dark-lt-rgb:24,36,51;--tblr-muted-lt:#202c3b;--tblr-muted-lt-rgb:32,44,59;--tblr-blue-lt:#192b42;--tblr-blue-lt-rgb:25,43,66;--tblr-azure-lt:#1c3044;--tblr-azure-lt-rgb:28,48,68;--tblr-indigo-lt:#1c2a45;--tblr-indigo-lt-rgb:28,42,69;--tblr-purple-lt:#272742;--tblr-purple-lt-rgb:39,39,66;--tblr-pink-lt:#2b2639;--tblr-pink-lt-rgb:43,38,57;--tblr-red-lt:#2b2634;--tblr-red-lt-rgb:43,38,52;--tblr-orange-lt:#2e2b2f;--tblr-orange-lt-rgb:46,43,47;--tblr-yellow-lt:#2e302e;--tblr-yellow-lt-rgb:46,48,46;--tblr-lime-lt:#213330;--tblr-lime-lt-rgb:33,51,48;--tblr-green-lt:#1a3235;--tblr-green-lt-rgb:26,50,53;--tblr-teal-lt:#17313a;--tblr-teal-lt-rgb:23,49,58;--tblr-cyan-lt:#183140;--tblr-cyan-lt-rgb:24,49,64;--tblr-facebook-lt:#182c46;--tblr-facebook-lt-rgb:24,44,70;--tblr-twitter-lt:#193146;--tblr-twitter-lt-rgb:25,49,70;--tblr-linkedin-lt:#172b41;--tblr-linkedin-lt-rgb:23,43,65;--tblr-google-lt:#2c2834;--tblr-google-lt-rgb:44,40,52;--tblr-youtube-lt:#2f202e;--tblr-youtube-lt-rgb:47,32,46;--tblr-vimeo-lt:#183345;--tblr-vimeo-lt-rgb:24,51,69;--tblr-dribbble-lt:#2d283c;--tblr-dribbble-lt-rgb:45,40,60;--tblr-github-lt:#182330;--tblr-github-lt-rgb:24,35,48;--tblr-instagram-lt:#2c2737;--tblr-instagram-lt-rgb:44,39,55;--tblr-pinterest-lt:#292131;--tblr-pinterest-lt-rgb:41,33,49;--tblr-vk-lt:#202e3f;--tblr-vk-lt-rgb:32,46,63;--tblr-rss-lt:#2f312e;--tblr-rss-lt-rgb:47,49,46;--tblr-flickr-lt:#162a44;--tblr-flickr-lt-rgb:22,42,68;--tblr-bitbucket-lt:#162942;--tblr-bitbucket-lt-rgb:22,41,66;--tblr-tabler-lt:#192b42;--tblr-tabler-lt-rgb:25,43,66}[data-bs-theme=dark] .navbar-brand-autodark .navbar-brand-image{filter:brightness(0) invert(1)}.accordion{--tblr-accordion-color:var(--tblr-body-color)}.accordion-button:focus:not(:focus-visible){outline:0;box-shadow:none}.accordion-button:after{opacity:.7}.accordion-button:not(.collapsed){font-weight:var(--tblr-font-weight-bold);border-bottom-color:transparent;box-shadow:none}.accordion-button:not(.collapsed):after{opacity:1}.alert{--tblr-alert-color:var(--tblr-muted);background:#fff;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-right:.25rem var(--tblr-border-style) var(--tblr-alert-color);box-shadow:rgba(24,36,51,.04) 0 2px 4px 0}.alert>:last-child{margin-bottom:0}.alert-important{border-color:transparent;background:var(--tblr-alert-color);color:#fff}.alert-important .alert-icon,.alert-important .alert-link{color:inherit}.alert-important .alert-link:hover{color:inherit}.alert-link,.alert-link:hover{color:var(--tblr-alert-color)}.alert-primary{--tblr-alert-color:var(--tblr-primary)}.alert-secondary{--tblr-alert-color:var(--tblr-secondary)}.alert-success{--tblr-alert-color:var(--tblr-success)}.alert-info{--tblr-alert-color:var(--tblr-info)}.alert-warning{--tblr-alert-color:var(--tblr-warning)}.alert-danger{--tblr-alert-color:var(--tblr-danger)}.alert-light{--tblr-alert-color:var(--tblr-light)}.alert-dark{--tblr-alert-color:var(--tblr-dark)}.alert-muted{--tblr-alert-color:var(--tblr-muted)}.alert-blue{--tblr-alert-color:var(--tblr-blue)}.alert-azure{--tblr-alert-color:var(--tblr-azure)}.alert-indigo{--tblr-alert-color:var(--tblr-indigo)}.alert-purple{--tblr-alert-color:var(--tblr-purple)}.alert-pink{--tblr-alert-color:var(--tblr-pink)}.alert-red{--tblr-alert-color:var(--tblr-red)}.alert-orange{--tblr-alert-color:var(--tblr-orange)}.alert-yellow{--tblr-alert-color:var(--tblr-yellow)}.alert-lime{--tblr-alert-color:var(--tblr-lime)}.alert-green{--tblr-alert-color:var(--tblr-green)}.alert-teal{--tblr-alert-color:var(--tblr-teal)}.alert-cyan{--tblr-alert-color:var(--tblr-cyan)}.alert-facebook{--tblr-alert-color:var(--tblr-facebook)}.alert-twitter{--tblr-alert-color:var(--tblr-twitter)}.alert-linkedin{--tblr-alert-color:var(--tblr-linkedin)}.alert-google{--tblr-alert-color:var(--tblr-google)}.alert-youtube{--tblr-alert-color:var(--tblr-youtube)}.alert-vimeo{--tblr-alert-color:var(--tblr-vimeo)}.alert-dribbble{--tblr-alert-color:var(--tblr-dribbble)}.alert-github{--tblr-alert-color:var(--tblr-github)}.alert-instagram{--tblr-alert-color:var(--tblr-instagram)}.alert-pinterest{--tblr-alert-color:var(--tblr-pinterest)}.alert-vk{--tblr-alert-color:var(--tblr-vk)}.alert-rss{--tblr-alert-color:var(--tblr-rss)}.alert-flickr{--tblr-alert-color:var(--tblr-flickr)}.alert-bitbucket{--tblr-alert-color:var(--tblr-bitbucket)}.alert-tabler{--tblr-alert-color:var(--tblr-tabler)}.alert-icon{color:var(--tblr-alert-color);width:1.5rem!important;height:1.5rem!important;margin:-.125rem 0 -.125rem 1rem}.alert-title{font-size:.875rem;line-height:1.25rem;font-weight:var(--tblr-font-weight-bold);margin-bottom:.25rem;color:var(--tblr-alert-color)}.avatar{--tblr-avatar-size:2.5rem;--tblr-avatar-bg:var(--tblr-bg-surface-secondary);--tblr-avatar-shadow:inset var(--tblr-border-color-translucent) 0 0 0 1px;position:relative;width:var(--tblr-avatar-size);height:var(--tblr-avatar-size);font-size:calc(var(--tblr-avatar-size)/ 2.8571428572);font-weight:var(--tblr-font-weight-medium);display:inline-flex;align-items:center;justify-content:center;color:var(--tblr-muted);text-align:center;text-transform:uppercase;vertical-align:bottom;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-avatar-bg) no-repeat center/cover;border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-avatar-shadow)}.avatar svg{width:calc(var(--tblr-avatar-size)/ 1.6666666667);height:calc(var(--tblr-avatar-size)/ 1.6666666667)}.avatar .badge{position:absolute;left:0;bottom:0;border-radius:100rem;box-shadow:0 0 0 2px var(--tblr-bg-surface)}a.avatar{cursor:pointer}.avatar-rounded{border-radius:100rem}.avatar-xs{--tblr-avatar-size:1.5rem}.avatar-xs .badge:empty{width:.375rem;height:.375rem}.avatar-sm{--tblr-avatar-size:2rem}.avatar-sm .badge:empty{width:.5rem;height:.5rem}.avatar-md{--tblr-avatar-size:4rem}.avatar-md .badge:empty{width:1rem;height:1rem}.avatar-lg{--tblr-avatar-size:5.5rem}.avatar-lg .badge:empty{width:1.375rem;height:1.375rem}.avatar-xl{--tblr-avatar-size:7rem}.avatar-xl .badge:empty{width:1.75rem;height:1.75rem}.avatar-2xl{--tblr-avatar-size:11rem}.avatar-2xl .badge:empty{width:2.75rem;height:2.75rem}.avatar-list{--tblr-list-gap:0.5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.avatar-list a.avatar:hover{z-index:1}.avatar-list-stacked{display:block;--tblr-list-gap:0}.avatar-list-stacked .avatar{margin-left:calc(-.5 * var(--tblr-avatar-size))!important;box-shadow:var(--tblr-avatar-shadow),0 0 0 2px var(--tblr-card-cap-bg,var(--tblr-card-bg,var(--tblr-bg-surface)))}.avatar-upload{width:4rem;height:4rem;border:var(--tblr-border-width) dashed var(--tblr-border-color);background:var(--tblr-bg-forms);flex-direction:column;transition:color .3s,background-color .3s}@media (prefers-reduced-motion:reduce){.avatar-upload{transition:none}}.avatar-upload svg{width:1.5rem;height:1.5rem;stroke-width:1}.avatar-upload:hover{border-color:var(--tblr-primary);color:var(--tblr-primary);text-decoration:none}.avatar-upload-text{font-size:.625rem;line-height:1;margin-top:.25rem}.avatar-cover{margin-top:calc(-.5 * var(--tblr-avatar-size));box-shadow:0 0 0 .25rem var(--tblr-card-bg,var(--tblr-body-bg))}.badge{justify-content:center;align-items:center;background:#929dab;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) transparent;min-width:1.35714285em;font-weight:var(--tblr-font-weight-bold);letter-spacing:.04em;vertical-align:bottom}a.badge{color:var(--tblr-bg-surface)}.badge:empty{display:inline-block;width:.5rem;height:.5rem;min-width:0;min-height:auto;padding:0;border-radius:100rem;vertical-align:baseline}.badge .avatar{box-sizing:content-box;width:1.25rem;height:1.25rem;margin:0 -.5rem 0 .5rem}.badge .icon{width:1em;height:1em;font-size:1rem;stroke-width:2}.badge-outline{background-color:transparent;border:var(--tblr-border-width) var(--tblr-border-style) currentColor}.badge-pill{border-radius:100rem}.badges-list{--tblr-list-gap:0.5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.badge-notification{position:absolute!important;top:0!important;left:0!important;transform:translate(-50%,-50%);z-index:1}.badge-blink{animation:blink 2s infinite}.breadcrumb{--tblr-breadcrumb-item-active-font-weight:var(--tblr-font-weight-bold);--tblr-breadcrumb-item-disabled-color:var(--tblr-disabled-color);--tblr-breadcrumb-link-color:var(--tblr-link-color);padding:0;margin:0;background:0 0}.breadcrumb a{color:var(--tblr-breadcrumb-link-color)}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-muted{--tblr-breadcrumb-link-color:var(--tblr-muted)}.breadcrumb-item.active{font-weight:var(--tblr-breadcrumb-item-active-font-weight)}.breadcrumb-item.active a{color:inherit;pointer-events:none}.breadcrumb-item.disabled{color:var(--tblr-breadcrumb-item-disabled-color)}.breadcrumb-item.disabled:before{color:inherit}.breadcrumb-item.disabled a{color:inherit;pointer-events:none}.breadcrumb-dots{--tblr-breadcrumb-divider:"·"}.breadcrumb-arrows{--tblr-breadcrumb-divider:"›"}.breadcrumb-bullets{--tblr-breadcrumb-divider:"•"}.btn{--tblr-btn-bg:var(--tblr-bg-surface);--tblr-btn-hover-bg:var(--tblr-bg-surface);--tblr-btn-icon-size:1.25rem;--tblr-btn-bg:var(--tblr-bg-surface);--tblr-btn-color:var(--tblr-body-color);--tblr-btn-border-color:var(--tblr-border-color);--tblr-btn-hover-bg:var(--tblr-btn-bg);--tblr-btn-hover-border-color:var(--tblr-border-color-active);--tblr-btn-box-shadow:var(--tblr-shadow-button);--tblr-btn-active-color:var(--tblr-primary);--tblr-btn-active-bg:rgba(var(--tblr-primary-rgb), 0.04);--tblr-btn-active-border-color:var(--tblr-primary);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:var(--tblr-btn-box-shadow)}.btn .icon{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);min-width:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x)/ -4) 0 calc(var(--tblr-btn-padding-x)/ 2);vertical-align:bottom;color:inherit}.btn .avatar{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x)/ -4) 0 calc(var(--tblr-btn-padding-x)/ 2)}.btn .icon-right{margin:0 calc(var(--tblr-btn-padding-x)/ 2) 0 calc(var(--tblr-btn-padding-x)/ -4)}.btn .badge{top:auto}.btn-check+.btn:hover{color:var(--tblr-btn-hover-color);background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color)}.btn-link{color:#206bc4;background-color:transparent;border-color:transparent;box-shadow:none}.btn-link .icon{color:inherit}.btn-link:hover{color:#1a569d;border-color:transparent}.btn-primary{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-primary-fg);--tblr-btn-bg:var(--tblr-primary);--tblr-btn-hover-color:var(--tblr-primary-fg);--tblr-btn-hover-bg:rgba(var(--tblr-primary-rgb), .8);--tblr-btn-active-color:var(--tblr-primary-fg);--tblr-btn-active-bg:rgba(var(--tblr-primary-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-primary);--tblr-btn-disabled-color:var(--tblr-primary-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-primary{--tblr-btn-color:var(--tblr-primary);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-primary);--tblr-btn-hover-color:var(--tblr-primary-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-primary);--tblr-btn-active-color:var(--tblr-primary-fg);--tblr-btn-active-bg:var(--tblr-primary);--tblr-btn-disabled-color:var(--tblr-primary);--tblr-btn-disabled-border-color:var(--tblr-primary)}.btn-secondary{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-secondary-fg);--tblr-btn-bg:var(--tblr-secondary);--tblr-btn-hover-color:var(--tblr-secondary-fg);--tblr-btn-hover-bg:rgba(var(--tblr-secondary-rgb), .8);--tblr-btn-active-color:var(--tblr-secondary-fg);--tblr-btn-active-bg:rgba(var(--tblr-secondary-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-secondary);--tblr-btn-disabled-color:var(--tblr-secondary-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-secondary{--tblr-btn-color:var(--tblr-secondary);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-secondary);--tblr-btn-hover-color:var(--tblr-secondary-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-secondary);--tblr-btn-active-color:var(--tblr-secondary-fg);--tblr-btn-active-bg:var(--tblr-secondary);--tblr-btn-disabled-color:var(--tblr-secondary);--tblr-btn-disabled-border-color:var(--tblr-secondary)}.btn-success{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-success-fg);--tblr-btn-bg:var(--tblr-success);--tblr-btn-hover-color:var(--tblr-success-fg);--tblr-btn-hover-bg:rgba(var(--tblr-success-rgb), .8);--tblr-btn-active-color:var(--tblr-success-fg);--tblr-btn-active-bg:rgba(var(--tblr-success-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-success);--tblr-btn-disabled-color:var(--tblr-success-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-success{--tblr-btn-color:var(--tblr-success);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-success);--tblr-btn-hover-color:var(--tblr-success-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-success);--tblr-btn-active-color:var(--tblr-success-fg);--tblr-btn-active-bg:var(--tblr-success);--tblr-btn-disabled-color:var(--tblr-success);--tblr-btn-disabled-border-color:var(--tblr-success)}.btn-info{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-info-fg);--tblr-btn-bg:var(--tblr-info);--tblr-btn-hover-color:var(--tblr-info-fg);--tblr-btn-hover-bg:rgba(var(--tblr-info-rgb), .8);--tblr-btn-active-color:var(--tblr-info-fg);--tblr-btn-active-bg:rgba(var(--tblr-info-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-info);--tblr-btn-disabled-color:var(--tblr-info-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-info{--tblr-btn-color:var(--tblr-info);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-info);--tblr-btn-hover-color:var(--tblr-info-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-info);--tblr-btn-active-color:var(--tblr-info-fg);--tblr-btn-active-bg:var(--tblr-info);--tblr-btn-disabled-color:var(--tblr-info);--tblr-btn-disabled-border-color:var(--tblr-info)}.btn-warning{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-warning-fg);--tblr-btn-bg:var(--tblr-warning);--tblr-btn-hover-color:var(--tblr-warning-fg);--tblr-btn-hover-bg:rgba(var(--tblr-warning-rgb), .8);--tblr-btn-active-color:var(--tblr-warning-fg);--tblr-btn-active-bg:rgba(var(--tblr-warning-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-warning);--tblr-btn-disabled-color:var(--tblr-warning-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-warning{--tblr-btn-color:var(--tblr-warning);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-warning);--tblr-btn-hover-color:var(--tblr-warning-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-warning);--tblr-btn-active-color:var(--tblr-warning-fg);--tblr-btn-active-bg:var(--tblr-warning);--tblr-btn-disabled-color:var(--tblr-warning);--tblr-btn-disabled-border-color:var(--tblr-warning)}.btn-danger{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-danger-fg);--tblr-btn-bg:var(--tblr-danger);--tblr-btn-hover-color:var(--tblr-danger-fg);--tblr-btn-hover-bg:rgba(var(--tblr-danger-rgb), .8);--tblr-btn-active-color:var(--tblr-danger-fg);--tblr-btn-active-bg:rgba(var(--tblr-danger-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-danger);--tblr-btn-disabled-color:var(--tblr-danger-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-danger{--tblr-btn-color:var(--tblr-danger);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-danger);--tblr-btn-hover-color:var(--tblr-danger-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-danger);--tblr-btn-active-color:var(--tblr-danger-fg);--tblr-btn-active-bg:var(--tblr-danger);--tblr-btn-disabled-color:var(--tblr-danger);--tblr-btn-disabled-border-color:var(--tblr-danger)}.btn-light{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-light-fg);--tblr-btn-bg:var(--tblr-light);--tblr-btn-hover-color:var(--tblr-light-fg);--tblr-btn-hover-bg:rgba(var(--tblr-light-rgb), .8);--tblr-btn-active-color:var(--tblr-light-fg);--tblr-btn-active-bg:rgba(var(--tblr-light-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-light);--tblr-btn-disabled-color:var(--tblr-light-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-light{--tblr-btn-color:var(--tblr-light);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-light);--tblr-btn-hover-color:var(--tblr-light-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-light);--tblr-btn-active-color:var(--tblr-light-fg);--tblr-btn-active-bg:var(--tblr-light);--tblr-btn-disabled-color:var(--tblr-light);--tblr-btn-disabled-border-color:var(--tblr-light)}.btn-dark{--tblr-btn-border-color:var(--tblr-dark-mode-border-color);--tblr-btn-hover-border-color:var(--tblr-dark-mode-border-color-active);--tblr-btn-active-border-color:var(--tblr-dark-mode-border-color-active);--tblr-btn-color:var(--tblr-dark-fg);--tblr-btn-bg:var(--tblr-dark);--tblr-btn-hover-color:var(--tblr-dark-fg);--tblr-btn-hover-bg:rgba(var(--tblr-dark-rgb), .8);--tblr-btn-active-color:var(--tblr-dark-fg);--tblr-btn-active-bg:rgba(var(--tblr-dark-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-dark);--tblr-btn-disabled-color:var(--tblr-dark-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-dark{--tblr-btn-color:var(--tblr-dark);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-dark);--tblr-btn-hover-color:var(--tblr-dark-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-dark);--tblr-btn-active-color:var(--tblr-dark-fg);--tblr-btn-active-bg:var(--tblr-dark);--tblr-btn-disabled-color:var(--tblr-dark);--tblr-btn-disabled-border-color:var(--tblr-dark)}.btn-muted{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-muted-fg);--tblr-btn-bg:var(--tblr-muted);--tblr-btn-hover-color:var(--tblr-muted-fg);--tblr-btn-hover-bg:rgba(var(--tblr-muted-rgb), .8);--tblr-btn-active-color:var(--tblr-muted-fg);--tblr-btn-active-bg:rgba(var(--tblr-muted-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-muted);--tblr-btn-disabled-color:var(--tblr-muted-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-muted{--tblr-btn-color:var(--tblr-muted);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-muted);--tblr-btn-hover-color:var(--tblr-muted-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-muted);--tblr-btn-active-color:var(--tblr-muted-fg);--tblr-btn-active-bg:var(--tblr-muted);--tblr-btn-disabled-color:var(--tblr-muted);--tblr-btn-disabled-border-color:var(--tblr-muted)}.btn-blue{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-blue-fg);--tblr-btn-bg:var(--tblr-blue);--tblr-btn-hover-color:var(--tblr-blue-fg);--tblr-btn-hover-bg:rgba(var(--tblr-blue-rgb), .8);--tblr-btn-active-color:var(--tblr-blue-fg);--tblr-btn-active-bg:rgba(var(--tblr-blue-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-blue);--tblr-btn-disabled-color:var(--tblr-blue-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-blue{--tblr-btn-color:var(--tblr-blue);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-blue);--tblr-btn-hover-color:var(--tblr-blue-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-blue);--tblr-btn-active-color:var(--tblr-blue-fg);--tblr-btn-active-bg:var(--tblr-blue);--tblr-btn-disabled-color:var(--tblr-blue);--tblr-btn-disabled-border-color:var(--tblr-blue)}.btn-azure{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-azure-fg);--tblr-btn-bg:var(--tblr-azure);--tblr-btn-hover-color:var(--tblr-azure-fg);--tblr-btn-hover-bg:rgba(var(--tblr-azure-rgb), .8);--tblr-btn-active-color:var(--tblr-azure-fg);--tblr-btn-active-bg:rgba(var(--tblr-azure-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-azure);--tblr-btn-disabled-color:var(--tblr-azure-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-azure{--tblr-btn-color:var(--tblr-azure);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-azure);--tblr-btn-hover-color:var(--tblr-azure-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-azure);--tblr-btn-active-color:var(--tblr-azure-fg);--tblr-btn-active-bg:var(--tblr-azure);--tblr-btn-disabled-color:var(--tblr-azure);--tblr-btn-disabled-border-color:var(--tblr-azure)}.btn-indigo{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-indigo-fg);--tblr-btn-bg:var(--tblr-indigo);--tblr-btn-hover-color:var(--tblr-indigo-fg);--tblr-btn-hover-bg:rgba(var(--tblr-indigo-rgb), .8);--tblr-btn-active-color:var(--tblr-indigo-fg);--tblr-btn-active-bg:rgba(var(--tblr-indigo-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-indigo);--tblr-btn-disabled-color:var(--tblr-indigo-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-indigo{--tblr-btn-color:var(--tblr-indigo);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-indigo);--tblr-btn-hover-color:var(--tblr-indigo-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-indigo);--tblr-btn-active-color:var(--tblr-indigo-fg);--tblr-btn-active-bg:var(--tblr-indigo);--tblr-btn-disabled-color:var(--tblr-indigo);--tblr-btn-disabled-border-color:var(--tblr-indigo)}.btn-purple{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-purple-fg);--tblr-btn-bg:var(--tblr-purple);--tblr-btn-hover-color:var(--tblr-purple-fg);--tblr-btn-hover-bg:rgba(var(--tblr-purple-rgb), .8);--tblr-btn-active-color:var(--tblr-purple-fg);--tblr-btn-active-bg:rgba(var(--tblr-purple-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-purple);--tblr-btn-disabled-color:var(--tblr-purple-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-purple{--tblr-btn-color:var(--tblr-purple);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-purple);--tblr-btn-hover-color:var(--tblr-purple-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-purple);--tblr-btn-active-color:var(--tblr-purple-fg);--tblr-btn-active-bg:var(--tblr-purple);--tblr-btn-disabled-color:var(--tblr-purple);--tblr-btn-disabled-border-color:var(--tblr-purple)}.btn-pink{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-pink-fg);--tblr-btn-bg:var(--tblr-pink);--tblr-btn-hover-color:var(--tblr-pink-fg);--tblr-btn-hover-bg:rgba(var(--tblr-pink-rgb), .8);--tblr-btn-active-color:var(--tblr-pink-fg);--tblr-btn-active-bg:rgba(var(--tblr-pink-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-pink);--tblr-btn-disabled-color:var(--tblr-pink-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-pink{--tblr-btn-color:var(--tblr-pink);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-pink);--tblr-btn-hover-color:var(--tblr-pink-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-pink);--tblr-btn-active-color:var(--tblr-pink-fg);--tblr-btn-active-bg:var(--tblr-pink);--tblr-btn-disabled-color:var(--tblr-pink);--tblr-btn-disabled-border-color:var(--tblr-pink)}.btn-red{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-red-fg);--tblr-btn-bg:var(--tblr-red);--tblr-btn-hover-color:var(--tblr-red-fg);--tblr-btn-hover-bg:rgba(var(--tblr-red-rgb), .8);--tblr-btn-active-color:var(--tblr-red-fg);--tblr-btn-active-bg:rgba(var(--tblr-red-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-red);--tblr-btn-disabled-color:var(--tblr-red-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-red{--tblr-btn-color:var(--tblr-red);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-red);--tblr-btn-hover-color:var(--tblr-red-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-red);--tblr-btn-active-color:var(--tblr-red-fg);--tblr-btn-active-bg:var(--tblr-red);--tblr-btn-disabled-color:var(--tblr-red);--tblr-btn-disabled-border-color:var(--tblr-red)}.btn-orange{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-orange-fg);--tblr-btn-bg:var(--tblr-orange);--tblr-btn-hover-color:var(--tblr-orange-fg);--tblr-btn-hover-bg:rgba(var(--tblr-orange-rgb), .8);--tblr-btn-active-color:var(--tblr-orange-fg);--tblr-btn-active-bg:rgba(var(--tblr-orange-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-orange);--tblr-btn-disabled-color:var(--tblr-orange-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-orange{--tblr-btn-color:var(--tblr-orange);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-orange);--tblr-btn-hover-color:var(--tblr-orange-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-orange);--tblr-btn-active-color:var(--tblr-orange-fg);--tblr-btn-active-bg:var(--tblr-orange);--tblr-btn-disabled-color:var(--tblr-orange);--tblr-btn-disabled-border-color:var(--tblr-orange)}.btn-yellow{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-yellow-fg);--tblr-btn-bg:var(--tblr-yellow);--tblr-btn-hover-color:var(--tblr-yellow-fg);--tblr-btn-hover-bg:rgba(var(--tblr-yellow-rgb), .8);--tblr-btn-active-color:var(--tblr-yellow-fg);--tblr-btn-active-bg:rgba(var(--tblr-yellow-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-yellow);--tblr-btn-disabled-color:var(--tblr-yellow-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-yellow{--tblr-btn-color:var(--tblr-yellow);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-yellow);--tblr-btn-hover-color:var(--tblr-yellow-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-yellow);--tblr-btn-active-color:var(--tblr-yellow-fg);--tblr-btn-active-bg:var(--tblr-yellow);--tblr-btn-disabled-color:var(--tblr-yellow);--tblr-btn-disabled-border-color:var(--tblr-yellow)}.btn-lime{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-lime-fg);--tblr-btn-bg:var(--tblr-lime);--tblr-btn-hover-color:var(--tblr-lime-fg);--tblr-btn-hover-bg:rgba(var(--tblr-lime-rgb), .8);--tblr-btn-active-color:var(--tblr-lime-fg);--tblr-btn-active-bg:rgba(var(--tblr-lime-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-lime);--tblr-btn-disabled-color:var(--tblr-lime-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-lime{--tblr-btn-color:var(--tblr-lime);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-lime);--tblr-btn-hover-color:var(--tblr-lime-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-lime);--tblr-btn-active-color:var(--tblr-lime-fg);--tblr-btn-active-bg:var(--tblr-lime);--tblr-btn-disabled-color:var(--tblr-lime);--tblr-btn-disabled-border-color:var(--tblr-lime)}.btn-green{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-green-fg);--tblr-btn-bg:var(--tblr-green);--tblr-btn-hover-color:var(--tblr-green-fg);--tblr-btn-hover-bg:rgba(var(--tblr-green-rgb), .8);--tblr-btn-active-color:var(--tblr-green-fg);--tblr-btn-active-bg:rgba(var(--tblr-green-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-green);--tblr-btn-disabled-color:var(--tblr-green-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-green{--tblr-btn-color:var(--tblr-green);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-green);--tblr-btn-hover-color:var(--tblr-green-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-green);--tblr-btn-active-color:var(--tblr-green-fg);--tblr-btn-active-bg:var(--tblr-green);--tblr-btn-disabled-color:var(--tblr-green);--tblr-btn-disabled-border-color:var(--tblr-green)}.btn-teal{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-teal-fg);--tblr-btn-bg:var(--tblr-teal);--tblr-btn-hover-color:var(--tblr-teal-fg);--tblr-btn-hover-bg:rgba(var(--tblr-teal-rgb), .8);--tblr-btn-active-color:var(--tblr-teal-fg);--tblr-btn-active-bg:rgba(var(--tblr-teal-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-teal);--tblr-btn-disabled-color:var(--tblr-teal-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-teal{--tblr-btn-color:var(--tblr-teal);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-teal);--tblr-btn-hover-color:var(--tblr-teal-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-teal);--tblr-btn-active-color:var(--tblr-teal-fg);--tblr-btn-active-bg:var(--tblr-teal);--tblr-btn-disabled-color:var(--tblr-teal);--tblr-btn-disabled-border-color:var(--tblr-teal)}.btn-cyan{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-cyan-fg);--tblr-btn-bg:var(--tblr-cyan);--tblr-btn-hover-color:var(--tblr-cyan-fg);--tblr-btn-hover-bg:rgba(var(--tblr-cyan-rgb), .8);--tblr-btn-active-color:var(--tblr-cyan-fg);--tblr-btn-active-bg:rgba(var(--tblr-cyan-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-cyan);--tblr-btn-disabled-color:var(--tblr-cyan-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-cyan{--tblr-btn-color:var(--tblr-cyan);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-cyan);--tblr-btn-hover-color:var(--tblr-cyan-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-cyan);--tblr-btn-active-color:var(--tblr-cyan-fg);--tblr-btn-active-bg:var(--tblr-cyan);--tblr-btn-disabled-color:var(--tblr-cyan);--tblr-btn-disabled-border-color:var(--tblr-cyan)}.btn-facebook{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-facebook-fg);--tblr-btn-bg:var(--tblr-facebook);--tblr-btn-hover-color:var(--tblr-facebook-fg);--tblr-btn-hover-bg:rgba(var(--tblr-facebook-rgb), .8);--tblr-btn-active-color:var(--tblr-facebook-fg);--tblr-btn-active-bg:rgba(var(--tblr-facebook-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-facebook);--tblr-btn-disabled-color:var(--tblr-facebook-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-facebook{--tblr-btn-color:var(--tblr-facebook);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-facebook);--tblr-btn-hover-color:var(--tblr-facebook-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-facebook);--tblr-btn-active-color:var(--tblr-facebook-fg);--tblr-btn-active-bg:var(--tblr-facebook);--tblr-btn-disabled-color:var(--tblr-facebook);--tblr-btn-disabled-border-color:var(--tblr-facebook)}.btn-twitter{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-twitter-fg);--tblr-btn-bg:var(--tblr-twitter);--tblr-btn-hover-color:var(--tblr-twitter-fg);--tblr-btn-hover-bg:rgba(var(--tblr-twitter-rgb), .8);--tblr-btn-active-color:var(--tblr-twitter-fg);--tblr-btn-active-bg:rgba(var(--tblr-twitter-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-twitter);--tblr-btn-disabled-color:var(--tblr-twitter-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-twitter{--tblr-btn-color:var(--tblr-twitter);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-twitter);--tblr-btn-hover-color:var(--tblr-twitter-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-twitter);--tblr-btn-active-color:var(--tblr-twitter-fg);--tblr-btn-active-bg:var(--tblr-twitter);--tblr-btn-disabled-color:var(--tblr-twitter);--tblr-btn-disabled-border-color:var(--tblr-twitter)}.btn-linkedin{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-linkedin-fg);--tblr-btn-bg:var(--tblr-linkedin);--tblr-btn-hover-color:var(--tblr-linkedin-fg);--tblr-btn-hover-bg:rgba(var(--tblr-linkedin-rgb), .8);--tblr-btn-active-color:var(--tblr-linkedin-fg);--tblr-btn-active-bg:rgba(var(--tblr-linkedin-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-linkedin);--tblr-btn-disabled-color:var(--tblr-linkedin-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-linkedin{--tblr-btn-color:var(--tblr-linkedin);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-linkedin);--tblr-btn-hover-color:var(--tblr-linkedin-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-linkedin);--tblr-btn-active-color:var(--tblr-linkedin-fg);--tblr-btn-active-bg:var(--tblr-linkedin);--tblr-btn-disabled-color:var(--tblr-linkedin);--tblr-btn-disabled-border-color:var(--tblr-linkedin)}.btn-google{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-google-fg);--tblr-btn-bg:var(--tblr-google);--tblr-btn-hover-color:var(--tblr-google-fg);--tblr-btn-hover-bg:rgba(var(--tblr-google-rgb), .8);--tblr-btn-active-color:var(--tblr-google-fg);--tblr-btn-active-bg:rgba(var(--tblr-google-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-google);--tblr-btn-disabled-color:var(--tblr-google-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-google{--tblr-btn-color:var(--tblr-google);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-google);--tblr-btn-hover-color:var(--tblr-google-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-google);--tblr-btn-active-color:var(--tblr-google-fg);--tblr-btn-active-bg:var(--tblr-google);--tblr-btn-disabled-color:var(--tblr-google);--tblr-btn-disabled-border-color:var(--tblr-google)}.btn-youtube{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-youtube-fg);--tblr-btn-bg:var(--tblr-youtube);--tblr-btn-hover-color:var(--tblr-youtube-fg);--tblr-btn-hover-bg:rgba(var(--tblr-youtube-rgb), .8);--tblr-btn-active-color:var(--tblr-youtube-fg);--tblr-btn-active-bg:rgba(var(--tblr-youtube-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-youtube);--tblr-btn-disabled-color:var(--tblr-youtube-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-youtube{--tblr-btn-color:var(--tblr-youtube);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-youtube);--tblr-btn-hover-color:var(--tblr-youtube-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-youtube);--tblr-btn-active-color:var(--tblr-youtube-fg);--tblr-btn-active-bg:var(--tblr-youtube);--tblr-btn-disabled-color:var(--tblr-youtube);--tblr-btn-disabled-border-color:var(--tblr-youtube)}.btn-vimeo{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-vimeo-fg);--tblr-btn-bg:var(--tblr-vimeo);--tblr-btn-hover-color:var(--tblr-vimeo-fg);--tblr-btn-hover-bg:rgba(var(--tblr-vimeo-rgb), .8);--tblr-btn-active-color:var(--tblr-vimeo-fg);--tblr-btn-active-bg:rgba(var(--tblr-vimeo-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-vimeo);--tblr-btn-disabled-color:var(--tblr-vimeo-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-vimeo{--tblr-btn-color:var(--tblr-vimeo);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-vimeo);--tblr-btn-hover-color:var(--tblr-vimeo-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-vimeo);--tblr-btn-active-color:var(--tblr-vimeo-fg);--tblr-btn-active-bg:var(--tblr-vimeo);--tblr-btn-disabled-color:var(--tblr-vimeo);--tblr-btn-disabled-border-color:var(--tblr-vimeo)}.btn-dribbble{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-dribbble-fg);--tblr-btn-bg:var(--tblr-dribbble);--tblr-btn-hover-color:var(--tblr-dribbble-fg);--tblr-btn-hover-bg:rgba(var(--tblr-dribbble-rgb), .8);--tblr-btn-active-color:var(--tblr-dribbble-fg);--tblr-btn-active-bg:rgba(var(--tblr-dribbble-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-dribbble);--tblr-btn-disabled-color:var(--tblr-dribbble-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-dribbble{--tblr-btn-color:var(--tblr-dribbble);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-dribbble);--tblr-btn-hover-color:var(--tblr-dribbble-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-dribbble);--tblr-btn-active-color:var(--tblr-dribbble-fg);--tblr-btn-active-bg:var(--tblr-dribbble);--tblr-btn-disabled-color:var(--tblr-dribbble);--tblr-btn-disabled-border-color:var(--tblr-dribbble)}.btn-github{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-github-fg);--tblr-btn-bg:var(--tblr-github);--tblr-btn-hover-color:var(--tblr-github-fg);--tblr-btn-hover-bg:rgba(var(--tblr-github-rgb), .8);--tblr-btn-active-color:var(--tblr-github-fg);--tblr-btn-active-bg:rgba(var(--tblr-github-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-github);--tblr-btn-disabled-color:var(--tblr-github-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-github{--tblr-btn-color:var(--tblr-github);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-github);--tblr-btn-hover-color:var(--tblr-github-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-github);--tblr-btn-active-color:var(--tblr-github-fg);--tblr-btn-active-bg:var(--tblr-github);--tblr-btn-disabled-color:var(--tblr-github);--tblr-btn-disabled-border-color:var(--tblr-github)}.btn-instagram{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-instagram-fg);--tblr-btn-bg:var(--tblr-instagram);--tblr-btn-hover-color:var(--tblr-instagram-fg);--tblr-btn-hover-bg:rgba(var(--tblr-instagram-rgb), .8);--tblr-btn-active-color:var(--tblr-instagram-fg);--tblr-btn-active-bg:rgba(var(--tblr-instagram-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-instagram);--tblr-btn-disabled-color:var(--tblr-instagram-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-instagram{--tblr-btn-color:var(--tblr-instagram);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-instagram);--tblr-btn-hover-color:var(--tblr-instagram-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-instagram);--tblr-btn-active-color:var(--tblr-instagram-fg);--tblr-btn-active-bg:var(--tblr-instagram);--tblr-btn-disabled-color:var(--tblr-instagram);--tblr-btn-disabled-border-color:var(--tblr-instagram)}.btn-pinterest{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-pinterest-fg);--tblr-btn-bg:var(--tblr-pinterest);--tblr-btn-hover-color:var(--tblr-pinterest-fg);--tblr-btn-hover-bg:rgba(var(--tblr-pinterest-rgb), .8);--tblr-btn-active-color:var(--tblr-pinterest-fg);--tblr-btn-active-bg:rgba(var(--tblr-pinterest-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-pinterest);--tblr-btn-disabled-color:var(--tblr-pinterest-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-pinterest{--tblr-btn-color:var(--tblr-pinterest);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-pinterest);--tblr-btn-hover-color:var(--tblr-pinterest-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-pinterest);--tblr-btn-active-color:var(--tblr-pinterest-fg);--tblr-btn-active-bg:var(--tblr-pinterest);--tblr-btn-disabled-color:var(--tblr-pinterest);--tblr-btn-disabled-border-color:var(--tblr-pinterest)}.btn-vk{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-vk-fg);--tblr-btn-bg:var(--tblr-vk);--tblr-btn-hover-color:var(--tblr-vk-fg);--tblr-btn-hover-bg:rgba(var(--tblr-vk-rgb), .8);--tblr-btn-active-color:var(--tblr-vk-fg);--tblr-btn-active-bg:rgba(var(--tblr-vk-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-vk);--tblr-btn-disabled-color:var(--tblr-vk-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-vk{--tblr-btn-color:var(--tblr-vk);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-vk);--tblr-btn-hover-color:var(--tblr-vk-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-vk);--tblr-btn-active-color:var(--tblr-vk-fg);--tblr-btn-active-bg:var(--tblr-vk);--tblr-btn-disabled-color:var(--tblr-vk);--tblr-btn-disabled-border-color:var(--tblr-vk)}.btn-rss{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-rss-fg);--tblr-btn-bg:var(--tblr-rss);--tblr-btn-hover-color:var(--tblr-rss-fg);--tblr-btn-hover-bg:rgba(var(--tblr-rss-rgb), .8);--tblr-btn-active-color:var(--tblr-rss-fg);--tblr-btn-active-bg:rgba(var(--tblr-rss-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-rss);--tblr-btn-disabled-color:var(--tblr-rss-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-rss{--tblr-btn-color:var(--tblr-rss);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-rss);--tblr-btn-hover-color:var(--tblr-rss-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-rss);--tblr-btn-active-color:var(--tblr-rss-fg);--tblr-btn-active-bg:var(--tblr-rss);--tblr-btn-disabled-color:var(--tblr-rss);--tblr-btn-disabled-border-color:var(--tblr-rss)}.btn-flickr{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-flickr-fg);--tblr-btn-bg:var(--tblr-flickr);--tblr-btn-hover-color:var(--tblr-flickr-fg);--tblr-btn-hover-bg:rgba(var(--tblr-flickr-rgb), .8);--tblr-btn-active-color:var(--tblr-flickr-fg);--tblr-btn-active-bg:rgba(var(--tblr-flickr-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-flickr);--tblr-btn-disabled-color:var(--tblr-flickr-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-flickr{--tblr-btn-color:var(--tblr-flickr);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-flickr);--tblr-btn-hover-color:var(--tblr-flickr-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-flickr);--tblr-btn-active-color:var(--tblr-flickr-fg);--tblr-btn-active-bg:var(--tblr-flickr);--tblr-btn-disabled-color:var(--tblr-flickr);--tblr-btn-disabled-border-color:var(--tblr-flickr)}.btn-bitbucket{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-bitbucket-fg);--tblr-btn-bg:var(--tblr-bitbucket);--tblr-btn-hover-color:var(--tblr-bitbucket-fg);--tblr-btn-hover-bg:rgba(var(--tblr-bitbucket-rgb), .8);--tblr-btn-active-color:var(--tblr-bitbucket-fg);--tblr-btn-active-bg:rgba(var(--tblr-bitbucket-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-bitbucket);--tblr-btn-disabled-color:var(--tblr-bitbucket-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-bitbucket{--tblr-btn-color:var(--tblr-bitbucket);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-bitbucket);--tblr-btn-hover-color:var(--tblr-bitbucket-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-bitbucket);--tblr-btn-active-color:var(--tblr-bitbucket-fg);--tblr-btn-active-bg:var(--tblr-bitbucket);--tblr-btn-disabled-color:var(--tblr-bitbucket);--tblr-btn-disabled-border-color:var(--tblr-bitbucket)}.btn-tabler{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-tabler-fg);--tblr-btn-bg:var(--tblr-tabler);--tblr-btn-hover-color:var(--tblr-tabler-fg);--tblr-btn-hover-bg:rgba(var(--tblr-tabler-rgb), .8);--tblr-btn-active-color:var(--tblr-tabler-fg);--tblr-btn-active-bg:rgba(var(--tblr-tabler-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-tabler);--tblr-btn-disabled-color:var(--tblr-tabler-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-tabler{--tblr-btn-color:var(--tblr-tabler);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-tabler);--tblr-btn-hover-color:var(--tblr-tabler-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-tabler);--tblr-btn-active-color:var(--tblr-tabler-fg);--tblr-btn-active-bg:var(--tblr-tabler);--tblr-btn-disabled-color:var(--tblr-tabler);--tblr-btn-disabled-border-color:var(--tblr-tabler)}.btn-ghost-primary{--tblr-btn-color:var(--tblr-primary);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-primary-fg);--tblr-btn-hover-bg:var(--tblr-primary);--tblr-btn-hover-border-color:var(--tblr-primary);--tblr-btn-active-color:var(--tblr-primary-fg);--tblr-btn-active-bg:var(--tblr-primary);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-primary);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-secondary{--tblr-btn-color:var(--tblr-secondary);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-secondary-fg);--tblr-btn-hover-bg:var(--tblr-secondary);--tblr-btn-hover-border-color:var(--tblr-secondary);--tblr-btn-active-color:var(--tblr-secondary-fg);--tblr-btn-active-bg:var(--tblr-secondary);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-secondary);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-success{--tblr-btn-color:var(--tblr-success);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-success-fg);--tblr-btn-hover-bg:var(--tblr-success);--tblr-btn-hover-border-color:var(--tblr-success);--tblr-btn-active-color:var(--tblr-success-fg);--tblr-btn-active-bg:var(--tblr-success);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-success);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-info{--tblr-btn-color:var(--tblr-info);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-info-fg);--tblr-btn-hover-bg:var(--tblr-info);--tblr-btn-hover-border-color:var(--tblr-info);--tblr-btn-active-color:var(--tblr-info-fg);--tblr-btn-active-bg:var(--tblr-info);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-info);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-warning{--tblr-btn-color:var(--tblr-warning);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-warning-fg);--tblr-btn-hover-bg:var(--tblr-warning);--tblr-btn-hover-border-color:var(--tblr-warning);--tblr-btn-active-color:var(--tblr-warning-fg);--tblr-btn-active-bg:var(--tblr-warning);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-warning);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-danger{--tblr-btn-color:var(--tblr-danger);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-danger-fg);--tblr-btn-hover-bg:var(--tblr-danger);--tblr-btn-hover-border-color:var(--tblr-danger);--tblr-btn-active-color:var(--tblr-danger-fg);--tblr-btn-active-bg:var(--tblr-danger);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-danger);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-light{--tblr-btn-color:var(--tblr-light);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-light-fg);--tblr-btn-hover-bg:var(--tblr-light);--tblr-btn-hover-border-color:var(--tblr-light);--tblr-btn-active-color:var(--tblr-light-fg);--tblr-btn-active-bg:var(--tblr-light);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-light);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-dark{--tblr-btn-color:var(--tblr-dark);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-dark-fg);--tblr-btn-hover-bg:var(--tblr-dark);--tblr-btn-hover-border-color:var(--tblr-dark);--tblr-btn-active-color:var(--tblr-dark-fg);--tblr-btn-active-bg:var(--tblr-dark);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-dark);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-muted{--tblr-btn-color:var(--tblr-muted);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-muted-fg);--tblr-btn-hover-bg:var(--tblr-muted);--tblr-btn-hover-border-color:var(--tblr-muted);--tblr-btn-active-color:var(--tblr-muted-fg);--tblr-btn-active-bg:var(--tblr-muted);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-muted);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-blue{--tblr-btn-color:var(--tblr-blue);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-blue-fg);--tblr-btn-hover-bg:var(--tblr-blue);--tblr-btn-hover-border-color:var(--tblr-blue);--tblr-btn-active-color:var(--tblr-blue-fg);--tblr-btn-active-bg:var(--tblr-blue);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-blue);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-azure{--tblr-btn-color:var(--tblr-azure);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-azure-fg);--tblr-btn-hover-bg:var(--tblr-azure);--tblr-btn-hover-border-color:var(--tblr-azure);--tblr-btn-active-color:var(--tblr-azure-fg);--tblr-btn-active-bg:var(--tblr-azure);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-azure);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-indigo{--tblr-btn-color:var(--tblr-indigo);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-indigo-fg);--tblr-btn-hover-bg:var(--tblr-indigo);--tblr-btn-hover-border-color:var(--tblr-indigo);--tblr-btn-active-color:var(--tblr-indigo-fg);--tblr-btn-active-bg:var(--tblr-indigo);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-indigo);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-purple{--tblr-btn-color:var(--tblr-purple);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-purple-fg);--tblr-btn-hover-bg:var(--tblr-purple);--tblr-btn-hover-border-color:var(--tblr-purple);--tblr-btn-active-color:var(--tblr-purple-fg);--tblr-btn-active-bg:var(--tblr-purple);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-purple);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-pink{--tblr-btn-color:var(--tblr-pink);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-pink-fg);--tblr-btn-hover-bg:var(--tblr-pink);--tblr-btn-hover-border-color:var(--tblr-pink);--tblr-btn-active-color:var(--tblr-pink-fg);--tblr-btn-active-bg:var(--tblr-pink);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-pink);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-red{--tblr-btn-color:var(--tblr-red);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-red-fg);--tblr-btn-hover-bg:var(--tblr-red);--tblr-btn-hover-border-color:var(--tblr-red);--tblr-btn-active-color:var(--tblr-red-fg);--tblr-btn-active-bg:var(--tblr-red);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-red);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-orange{--tblr-btn-color:var(--tblr-orange);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-orange-fg);--tblr-btn-hover-bg:var(--tblr-orange);--tblr-btn-hover-border-color:var(--tblr-orange);--tblr-btn-active-color:var(--tblr-orange-fg);--tblr-btn-active-bg:var(--tblr-orange);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-orange);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-yellow{--tblr-btn-color:var(--tblr-yellow);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-yellow-fg);--tblr-btn-hover-bg:var(--tblr-yellow);--tblr-btn-hover-border-color:var(--tblr-yellow);--tblr-btn-active-color:var(--tblr-yellow-fg);--tblr-btn-active-bg:var(--tblr-yellow);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-yellow);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-lime{--tblr-btn-color:var(--tblr-lime);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-lime-fg);--tblr-btn-hover-bg:var(--tblr-lime);--tblr-btn-hover-border-color:var(--tblr-lime);--tblr-btn-active-color:var(--tblr-lime-fg);--tblr-btn-active-bg:var(--tblr-lime);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-lime);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-green{--tblr-btn-color:var(--tblr-green);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-green-fg);--tblr-btn-hover-bg:var(--tblr-green);--tblr-btn-hover-border-color:var(--tblr-green);--tblr-btn-active-color:var(--tblr-green-fg);--tblr-btn-active-bg:var(--tblr-green);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-green);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-teal{--tblr-btn-color:var(--tblr-teal);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-teal-fg);--tblr-btn-hover-bg:var(--tblr-teal);--tblr-btn-hover-border-color:var(--tblr-teal);--tblr-btn-active-color:var(--tblr-teal-fg);--tblr-btn-active-bg:var(--tblr-teal);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-teal);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-cyan{--tblr-btn-color:var(--tblr-cyan);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-cyan-fg);--tblr-btn-hover-bg:var(--tblr-cyan);--tblr-btn-hover-border-color:var(--tblr-cyan);--tblr-btn-active-color:var(--tblr-cyan-fg);--tblr-btn-active-bg:var(--tblr-cyan);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-cyan);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-facebook{--tblr-btn-color:var(--tblr-facebook);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-facebook-fg);--tblr-btn-hover-bg:var(--tblr-facebook);--tblr-btn-hover-border-color:var(--tblr-facebook);--tblr-btn-active-color:var(--tblr-facebook-fg);--tblr-btn-active-bg:var(--tblr-facebook);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-facebook);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-twitter{--tblr-btn-color:var(--tblr-twitter);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-twitter-fg);--tblr-btn-hover-bg:var(--tblr-twitter);--tblr-btn-hover-border-color:var(--tblr-twitter);--tblr-btn-active-color:var(--tblr-twitter-fg);--tblr-btn-active-bg:var(--tblr-twitter);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-twitter);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-linkedin{--tblr-btn-color:var(--tblr-linkedin);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-linkedin-fg);--tblr-btn-hover-bg:var(--tblr-linkedin);--tblr-btn-hover-border-color:var(--tblr-linkedin);--tblr-btn-active-color:var(--tblr-linkedin-fg);--tblr-btn-active-bg:var(--tblr-linkedin);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-linkedin);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-google{--tblr-btn-color:var(--tblr-google);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-google-fg);--tblr-btn-hover-bg:var(--tblr-google);--tblr-btn-hover-border-color:var(--tblr-google);--tblr-btn-active-color:var(--tblr-google-fg);--tblr-btn-active-bg:var(--tblr-google);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-google);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-youtube{--tblr-btn-color:var(--tblr-youtube);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-youtube-fg);--tblr-btn-hover-bg:var(--tblr-youtube);--tblr-btn-hover-border-color:var(--tblr-youtube);--tblr-btn-active-color:var(--tblr-youtube-fg);--tblr-btn-active-bg:var(--tblr-youtube);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-youtube);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-vimeo{--tblr-btn-color:var(--tblr-vimeo);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-vimeo-fg);--tblr-btn-hover-bg:var(--tblr-vimeo);--tblr-btn-hover-border-color:var(--tblr-vimeo);--tblr-btn-active-color:var(--tblr-vimeo-fg);--tblr-btn-active-bg:var(--tblr-vimeo);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-vimeo);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-dribbble{--tblr-btn-color:var(--tblr-dribbble);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-dribbble-fg);--tblr-btn-hover-bg:var(--tblr-dribbble);--tblr-btn-hover-border-color:var(--tblr-dribbble);--tblr-btn-active-color:var(--tblr-dribbble-fg);--tblr-btn-active-bg:var(--tblr-dribbble);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-dribbble);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-github{--tblr-btn-color:var(--tblr-github);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-github-fg);--tblr-btn-hover-bg:var(--tblr-github);--tblr-btn-hover-border-color:var(--tblr-github);--tblr-btn-active-color:var(--tblr-github-fg);--tblr-btn-active-bg:var(--tblr-github);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-github);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-instagram{--tblr-btn-color:var(--tblr-instagram);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-instagram-fg);--tblr-btn-hover-bg:var(--tblr-instagram);--tblr-btn-hover-border-color:var(--tblr-instagram);--tblr-btn-active-color:var(--tblr-instagram-fg);--tblr-btn-active-bg:var(--tblr-instagram);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-instagram);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-pinterest{--tblr-btn-color:var(--tblr-pinterest);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-pinterest-fg);--tblr-btn-hover-bg:var(--tblr-pinterest);--tblr-btn-hover-border-color:var(--tblr-pinterest);--tblr-btn-active-color:var(--tblr-pinterest-fg);--tblr-btn-active-bg:var(--tblr-pinterest);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-pinterest);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-vk{--tblr-btn-color:var(--tblr-vk);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-vk-fg);--tblr-btn-hover-bg:var(--tblr-vk);--tblr-btn-hover-border-color:var(--tblr-vk);--tblr-btn-active-color:var(--tblr-vk-fg);--tblr-btn-active-bg:var(--tblr-vk);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-vk);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-rss{--tblr-btn-color:var(--tblr-rss);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-rss-fg);--tblr-btn-hover-bg:var(--tblr-rss);--tblr-btn-hover-border-color:var(--tblr-rss);--tblr-btn-active-color:var(--tblr-rss-fg);--tblr-btn-active-bg:var(--tblr-rss);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-rss);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-flickr{--tblr-btn-color:var(--tblr-flickr);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-flickr-fg);--tblr-btn-hover-bg:var(--tblr-flickr);--tblr-btn-hover-border-color:var(--tblr-flickr);--tblr-btn-active-color:var(--tblr-flickr-fg);--tblr-btn-active-bg:var(--tblr-flickr);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-flickr);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-bitbucket{--tblr-btn-color:var(--tblr-bitbucket);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-bitbucket-fg);--tblr-btn-hover-bg:var(--tblr-bitbucket);--tblr-btn-hover-border-color:var(--tblr-bitbucket);--tblr-btn-active-color:var(--tblr-bitbucket-fg);--tblr-btn-active-bg:var(--tblr-bitbucket);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-bitbucket);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-tabler{--tblr-btn-color:var(--tblr-tabler);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-tabler-fg);--tblr-btn-hover-bg:var(--tblr-tabler);--tblr-btn-hover-border-color:var(--tblr-tabler);--tblr-btn-active-color:var(--tblr-tabler-fg);--tblr-btn-active-bg:var(--tblr-tabler);--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:var(--tblr-tabler);--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-group-sm>.btn,.btn-sm{--tblr-btn-line-height:1.5;--tblr-btn-icon-size:.75rem}.btn-group-lg>.btn,.btn-lg{--tblr-btn-line-height:1.5;--tblr-btn-icon-size:2rem}.btn-pill{padding-left:1.5em;padding-right:1.5em;border-radius:10rem}.btn-pill[class*=btn-icon]{padding:.375rem 15px}.btn-square{border-radius:0}.btn-icon{min-width:calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);min-height:calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);padding-right:0;padding-left:0}.btn-icon .icon{margin:calc(-1 * var(--tblr-btn-padding-x))}.btn-list{--tblr-list-gap:0.5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.btn-floating{position:fixed;z-index:1030;bottom:1.5rem;left:1.5rem;border-radius:100rem}.btn-loading{position:relative;color:transparent!important;text-shadow:none!important;pointer-events:none}.btn-loading>*{opacity:0}.btn-loading:after{content:"";display:inline-block;vertical-align:text-bottom;border:2px var(--tblr-border-style) currentColor;border-left-color:transparent;border-radius:100rem;color:var(--tblr-btn-color);position:absolute;width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);right:calc(50% - var(--tblr-btn-icon-size)/ 2);top:calc(50% - var(--tblr-btn-icon-size)/ 2);animation:spinner-border .75s linear infinite}.btn-action{padding:0;border:0;color:var(--tblr-muted);display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:var(--tblr-border-radius);background:0 0}.btn-action:after{content:none}.btn-action:focus{outline:0;box-shadow:none}.btn-action.show,.btn-action:hover{color:var(--tblr-body-color);background:var(--tblr-active-bg)}.btn-action.show{color:var(--tblr-primary)}.btn-action .icon{margin:0;width:1.25rem;height:1.25rem;font-size:1.25rem;stroke-width:1}.btn-actions{display:flex}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group>.btn-check:checked+.btn,.btn-group>.btn.active,.btn-group>.btn:active{z-index:5}.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.calendar{display:block;font-size:.765625rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.calendar-nav{display:flex;align-items:center}.calendar-title{flex:1;text-align:center}.calendar-body,.calendar-header{display:flex;flex-wrap:wrap;justify-content:flex-start;padding:.5rem 0}.calendar-header{color:var(--tblr-muted)}.calendar-date{flex:0 0 14.2857142857%;max-width:14.2857142857%;padding:.2rem;text-align:center;border:0}.calendar-date.next-month,.calendar-date.prev-month{opacity:.25}.calendar-date .date-item{position:relative;display:inline-block;width:1.4rem;height:1.4rem;line-height:1.4rem;color:#66758c;text-align:center;text-decoration:none;white-space:nowrap;vertical-align:middle;cursor:pointer;background:100% 0;border:var(--tblr-border-width) var(--tblr-border-style) transparent;border-radius:100rem;outline:0;transition:background .3s,border .3s,box-shadow .32s,color .3s}@media (prefers-reduced-motion:reduce){.calendar-date .date-item{transition:none}}.calendar-date .date-item:hover{color:var(--tblr-primary);text-decoration:none;background:#fefeff;border-color:var(--tblr-border-color)}.calendar-date .date-today{color:var(--tblr-primary);border-color:var(--tblr-border-color)}.calendar-range{position:relative}.calendar-range:before{position:absolute;top:50%;left:0;right:0;height:1.4rem;content:"";background:rgba(var(--tblr-primary-rgb),.1);transform:translateY(-50%)}.calendar-range.range-end .date-item,.calendar-range.range-start .date-item{color:#fff;background:var(--tblr-primary);border-color:var(--tblr-primary)}.calendar-range.range-start:before{right:50%}.calendar-range.range-end:before{left:50%}.carousel-indicators-vertical{right:auto;top:0;margin:0 0 0 1rem;flex-direction:column}.carousel-indicators-vertical [data-bs-target]{margin:3px 0 3px;width:3px;height:30px;border:0;border-right:10px var(--tblr-border-style) transparent;border-left:10px var(--tblr-border-style) transparent}.carousel-indicators-dot [data-bs-target]{width:.5rem;height:.5rem;border-radius:100rem;border:10px var(--tblr-border-style) transparent;margin:0}.carousel-indicators-thumb [data-bs-target]{width:2rem;height:auto;background:no-repeat center/cover;border:0;border-radius:var(--tblr-border-radius);box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px 0;margin:0 3px;opacity:.75}@media (min-width:992px){.carousel-indicators-thumb [data-bs-target]{width:4rem}}.carousel-indicators-thumb [data-bs-target]:before{content:"";padding-top:var(--tblr-aspect-ratio,100%);display:block}.carousel-indicators-thumb.carousel-indicators-vertical [data-bs-target]{margin:3px 0}.carousel-caption-background{background:red;position:absolute;right:0;left:0;bottom:0;height:90%;background:linear-gradient(0deg,rgba(24,36,51,.9),rgba(24,36,51,0))}.card{transition:transform .3s ease-out,opacity .3s ease-out,box-shadow .3s ease-out}@media (prefers-reduced-motion:reduce){.card{transition:none}}@media print{.card{border:none;box-shadow:none}}a.card{color:inherit}a.card:hover{text-decoration:none;box-shadow:rgba(var(--tblr-body-color-rgb),.16) 0 2px 16px 0}.card .card{box-shadow:none}.card-borderless,.card-borderless .card-footer,.card-borderless .card-header{border-color:transparent}.card-stamp{--tblr-stamp-size:7rem;position:absolute;top:0;left:0;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);max-height:100%;border-top-left-radius:4px;opacity:.2;overflow:hidden;pointer-events:none}.card-stamp-lg{--tblr-stamp-size:13rem}.card-stamp-icon{background:var(--tblr-muted);color:var(--tblr-card-bg,var(--tblr-bg-surface));display:flex;align-items:center;justify-content:center;border-radius:100rem;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);position:relative;top:calc(var(--tblr-stamp-size) * -.25);left:calc(var(--tblr-stamp-size) * -.25);font-size:calc(var(--tblr-stamp-size) * .75);transform:rotate(-10deg)}.card-stamp-icon .icon{stroke-width:2;width:calc(var(--tblr-stamp-size) * .75);height:calc(var(--tblr-stamp-size) * .75)}.card-img,.card-img-start{border-top-right-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));border-bottom-right-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)))}.card-img,.card-img-end{border-top-left-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));border-bottom-left-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)))}.card-img-overlay{display:flex;flex-direction:column;justify-content:flex-end}.card-img-overlay-dark{background-image:linear-gradient(-180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 100%)}.card-inactive{pointer-events:none;box-shadow:none}.card-inactive .card-body{opacity:.64}.card-active{--tblr-card-border-color:var(--tblr-primary);--tblr-card-bg:var(--tblr-active-bg)}.card-btn{display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem;text-align:center;transition:background .3s;border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);flex:1;color:inherit;font-weight:var(--tblr-font-weight-medium)}@media (prefers-reduced-motion:reduce){.card-btn{transition:none}}.card-btn:hover{text-decoration:none;background:rgba(var(--tblr-primary-rgb),.04)}.card-btn+.card-btn{border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-stacked{--tblr-card-stacked-offset:.25rem;position:relative}.card-stacked:after{position:absolute;top:calc(-1 * var(--tblr-card-stacked-offset));left:var(--tblr-card-stacked-offset);right:var(--tblr-card-stacked-offset);height:var(--tblr-card-stacked-offset);content:"";background:var(--tblr-card-bg,var(--tblr-bg-surface));border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-cover{position:relative;padding:1rem 1.5rem;background:#666 no-repeat center/cover}.card-cover:before{position:absolute;top:0;left:0;bottom:0;right:0;content:"";background:rgba(24,36,51,.48)}.card-cover:first-child,.card-cover:first-child:before{border-radius:4px 4px 0 0}.card-cover-blurred:before{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card-actions{margin:-.5rem auto -.5rem -.5rem;padding-right:.5rem}.card-actions a{text-decoration:none}.card-header{color:inherit;display:flex;align-items:center;background:0 0}.card-header:first-child{border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-header-light{border-bottom-color:transparent;background:var(--tblr-bg-surface-tertiary)}.card-header-tabs{background:var(--tblr-bg-surface-tertiary);flex:1;margin:calc(var(--tblr-card-cap-padding-y) * -1) calc(var(--tblr-card-cap-padding-x) * -1) calc(var(--tblr-card-cap-padding-y) * -1);padding:calc(var(--tblr-card-cap-padding-y) * .5) calc(var(--tblr-card-cap-padding-x) * .5) 0}.card-header-pills{flex:1;margin-top:-.5rem;margin-bottom:-.5rem}.card-rotate-left{transform:rotate(1.5deg)}.card-rotate-right{transform:rotate(-1.5deg)}.card-link{color:inherit}.card-link:hover{color:inherit;text-decoration:none;box-shadow:0 1px 6px 0 rgba(0,0,0,.08)}.card-link-rotate:hover{transform:rotate(-1.5deg);opacity:1}.card-link-pop:hover{transform:translateY(-2px);opacity:1}.card-footer{margin-top:auto}.card-footer:last-child{border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-footer-transparent{background:0 0;border-color:transparent;padding-top:0}.card-footer-borderless{border-top:none}.card-progress{height:.25rem}.card-progress:last-child{border-radius:0 0 2px 2px}.card-progress:first-child{border-radius:2px 2px 0 0}.card-meta{color:var(--tblr-muted)}.card-title{display:block;margin:0 0 1rem;font-size:1rem;font-weight:var(--tblr-font-weight-medium);line-height:1.5rem}a.card-title:hover{color:inherit}.card-header .card-title{margin:0}.card-subtitle{margin-bottom:1.25rem;color:var(--tblr-muted);font-weight:400}.card-header .card-subtitle{margin:0}.card-title .card-subtitle{margin:0 .25rem 0 0;font-size:.875rem}.card-body{position:relative}.card-body>:last-child{margin-bottom:0}.card-sm>.card-body{padding:1rem}@media (min-width:768px){.card-md>.card-body{padding:2.5rem}}@media (min-width:768px){.card-lg>.card-body{padding:2rem}}@media (min-width:992px){.card-lg>.card-body{padding:4rem}}@media print{.card-body{padding:0}}.card-body+.card-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-body-scrollable{overflow:auto}.card-options{top:1.5rem;left:.75rem;display:flex;margin-right:auto}.card-options-link{display:inline-block;min-width:1rem;margin-right:.25rem;color:var(--tblr-muted)}.card-status-top{position:absolute;top:0;left:0;right:0;height:2px;border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-status-start{position:absolute;left:auto;bottom:0;width:2px;height:100%;border-radius:0 var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0}.card-status-bottom{position:absolute;top:initial;bottom:0;width:100%;height:2px;border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-table{margin-bottom:0!important}.card-table tr td:first-child,.card-table tr th:first-child{padding-right:1.5rem;border-right:0}.card-table tr td:last-child,.card-table tr th:last-child{padding-left:1.5rem;border-left:0}.card-table tbody tr:first-child,.card-table tfoot tr:first-child,.card-table thead tr:first-child{border-top:0}.card-table tbody tr:first-child td,.card-table tbody tr:first-child th,.card-table tfoot tr:first-child td,.card-table tfoot tr:first-child th,.card-table thead tr:first-child td,.card-table thead tr:first-child th{border-top:0}.card-body+.card-table{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-table-border-color)}.card-code{padding:0}.card-code .highlight{margin:0;border:0}.card-code pre{margin:0!important;border:0!important}.card-chart{position:relative;z-index:1;height:3.5rem}.card-avatar{margin-right:auto;margin-left:auto;box-shadow:0 0 0 .25rem var(--tblr-card-bg,var(--tblr-bg-surface));margin-top:calc(-1 * var(--tblr-avatar-size) * .5)}.card-body+.card-list-group{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-list-group .list-group-item{padding-left:1.5rem;padding-right:1.5rem;border-left:0;border-right:0;border-radius:0}.card-list-group .list-group-item:last-child{border-bottom:0}.card-list-group .list-group-item:first-child{border-top:0}.card-tabs .nav-tabs{position:relative;z-index:1000;border-bottom:0}.card-tabs .nav-tabs .nav-link{background:var(--tblr-bg-surface-tertiary);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.card-tabs .nav-tabs .nav-link.active,.card-tabs .nav-tabs .nav-link:active,.card-tabs .nav-tabs .nav-link:hover{border-color:var(--tblr-border-color-translucent);color:var(--tblr-body-color)}.card-tabs .nav-tabs .nav-link.active{background:var(--tblr-card-bg,var(--tblr-bg-surface));border-bottom-color:transparent}.card-tabs .nav-tabs .nav-item:not(:first-child) .nav-link{border-top-right-radius:0}.card-tabs .nav-tabs .nav-item:not(:last-child) .nav-link{border-top-left-radius:0}.card-tabs .nav-tabs .nav-item+.nav-item{margin-right:calc(-1 * var(--tblr-border-width))}.card-tabs .nav-tabs-bottom{margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-link{margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-link.active{border-top-color:transparent}.card-tabs .nav-tabs-bottom .nav-item{margin-top:calc(-1 * var(--tblr-border-width));margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-item .nav-link{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-radius:0 0 var(--tblr-border-radius) var(--tblr-border-radius)}.card-tabs .nav-tabs-bottom .nav-item:not(:first-child) .nav-link{border-bottom-right-radius:0}.card-tabs .nav-tabs-bottom .nav-item:not(:last-child) .nav-link{border-bottom-left-radius:0}.card-tabs .card{border-bottom-right-radius:0}.card-tabs .nav-tabs+.tab-content .card{border-bottom-right-radius:var(--tblr-card-border-radius);border-top-right-radius:0}.btn-close{cursor:pointer}.btn-close:focus{outline:0}.dropdown-menu{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dropdown-menu.card{padding:0;min-width:25rem;display:none}.dropdown-menu.card.show{display:flex}.dropdown-item{min-width:11rem;display:flex;align-items:center;margin:0;line-height:1.4285714286}.dropdown-item-icon{width:1.25rem!important;height:1.25rem!important;margin-left:.5rem;color:var(--tblr-muted);opacity:.7;text-align:center}.dropdown-item-indicator{margin-left:.5rem;margin-right:-.25rem;height:1.25rem;display:inline-flex;line-height:1;vertical-align:bottom;align-items:center}.dropdown-header{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);padding-bottom:.25rem;pointer-events:none}.dropdown-menu-scrollable{height:auto;max-height:13rem;overflow-x:hidden}.dropdown-menu-column{min-width:11rem}.dropdown-menu-column .dropdown-item{min-width:0}.dropdown-menu-columns{display:flex;flex:0 .25rem}.dropdown-menu-arrow:before{content:"";position:absolute;top:-.25rem;right:.75rem;display:block;background:inherit;width:14px;height:14px;transform:rotate(45deg);transform-origin:center;border:1px solid;border-color:inherit;z-index:-1;clip:rect(0,9px,9px,0)}.dropdown-menu-arrow.dropdown-menu-end:before{left:.75rem;right:auto}.dropend>.dropdown-menu{margin-top:calc(-.25rem - 1px);margin-right:-.25rem}.dropend .dropdown-toggle:after{margin-right:auto}.dropdown-menu-card{padding:0}.dropdown-menu-card>.card{margin:0;border:0;box-shadow:none}.datagrid{--tblr-datagrid-padding:1.5rem;--tblr-datagrid-item-width:15rem;display:grid;grid-gap:var(--tblr-datagrid-padding);grid-template-columns:repeat(auto-fit,minmax(var(--tblr-datagrid-item-width),1fr))}.datagrid-title{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);margin-bottom:.25rem}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:1rem;text-align:center}@media (min-width:768px){.empty{padding:3rem}}.empty-icon{margin:0 0 1rem;width:3rem;height:3rem;line-height:1;color:var(--tblr-muted)}.empty-icon svg{width:100%;height:100%}.empty-img{margin:0 0 2rem;line-height:1}.empty-img img{height:8rem;width:auto}.empty-header{margin:0 0 1rem;font-size:4rem;font-weight:var(--tblr-font-weight-light);line-height:1;color:var(--tblr-muted)}.empty-title{font-size:1.25rem;line-height:1.75rem;font-weight:var(--tblr-font-weight-bold)}.empty-subtitle,.empty-title{margin:0 0 .5rem}.empty-action{margin-top:1.5rem}.empty-bordered{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.row>*{min-width:0}.col-separator{border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.container-slim{--tblr-gutter-x:calc(var(--tblr-page-padding) * 2);--tblr-gutter-y:0;width:100%;padding-left:calc(var(--tblr-gutter-x) * .5);padding-right:calc(var(--tblr-gutter-x) * .5);margin-left:auto;margin-right:auto;max-width:16rem}.container-tight{--tblr-gutter-x:calc(var(--tblr-page-padding) * 2);--tblr-gutter-y:0;width:100%;padding-left:calc(var(--tblr-gutter-x) * .5);padding-right:calc(var(--tblr-gutter-x) * .5);margin-left:auto;margin-right:auto;max-width:30rem}.container-narrow{--tblr-gutter-x:calc(var(--tblr-page-padding) * 2);--tblr-gutter-y:0;width:100%;padding-left:calc(var(--tblr-gutter-x) * .5);padding-right:calc(var(--tblr-gutter-x) * .5);margin-left:auto;margin-right:auto;max-width:45rem}.row-0{margin-left:0;margin-right:0}.row-0>.col,.row-0>[class*=col-]{padding-left:0;padding-right:0}.row-0 .card{margin-bottom:0}.row-sm{margin-left:-.375rem;margin-right:-.375rem}.row-sm>.col,.row-sm>[class*=col-]{padding-left:.375rem;padding-right:.375rem}.row-sm .card{margin-bottom:.75rem}.row-md{margin-left:-1.5rem;margin-right:-1.5rem}.row-md>.col,.row-md>[class*=col-]{padding-left:1.5rem;padding-right:1.5rem}.row-md .card{margin-bottom:3rem}.row-lg{margin-left:-3rem;margin-right:-3rem}.row-lg>.col,.row-lg>[class*=col-]{padding-left:3rem;padding-right:3rem}.row-lg .card{margin-bottom:6rem}.row-deck>.col,.row-deck>[class*=col-]{display:flex;align-items:stretch}.row-deck>.col .card,.row-deck>[class*=col-] .card{flex:1 1 auto}.row-cards{--tblr-gutter-x:var(--tblr-page-padding);--tblr-gutter-y:var(--tblr-page-padding);min-width:0}.row-cards .row-cards{flex:1}.space-y{display:flex;flex-direction:column;gap:1rem}.space-x{display:flex;gap:1rem}.space-y-0{display:flex;flex-direction:column;gap:0}.space-x-0{display:flex;gap:0}.space-y-1{display:flex;flex-direction:column;gap:.25rem}.space-x-1{display:flex;gap:.25rem}.space-y-2{display:flex;flex-direction:column;gap:.5rem}.space-x-2{display:flex;gap:.5rem}.space-y-3{display:flex;flex-direction:column;gap:1rem}.space-x-3{display:flex;gap:1rem}.space-y-4{display:flex;flex-direction:column;gap:1.5rem}.space-x-4{display:flex;gap:1.5rem}.space-y-5{display:flex;flex-direction:column;gap:2rem}.space-x-5{display:flex;gap:2rem}.space-y-6{display:flex;flex-direction:column;gap:3rem}.space-x-6{display:flex;gap:3rem}.space-y-7{display:flex;flex-direction:column;gap:5rem}.space-x-7{display:flex;gap:5rem}.space-y-8{display:flex;flex-direction:column;gap:8rem}.space-x-8{display:flex;gap:8rem}.divide-y>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y>:not(template):not(:first-child){padding-top:1rem!important}.divide-y>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x>:not(template):not(:first-child){padding-right:1rem!important}.divide-x>:not(template):not(:last-child){padding-left:1rem!important}.divide-y-0>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-0>:not(template):not(:first-child){padding-top:0!important}.divide-y-0>:not(template):not(:last-child){padding-bottom:0!important}.divide-x-0>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-0>:not(template):not(:first-child){padding-right:0!important}.divide-x-0>:not(template):not(:last-child){padding-left:0!important}.divide-y-1>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-1>:not(template):not(:first-child){padding-top:.25rem!important}.divide-y-1>:not(template):not(:last-child){padding-bottom:.25rem!important}.divide-x-1>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-1>:not(template):not(:first-child){padding-right:.25rem!important}.divide-x-1>:not(template):not(:last-child){padding-left:.25rem!important}.divide-y-2>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-2>:not(template):not(:first-child){padding-top:.5rem!important}.divide-y-2>:not(template):not(:last-child){padding-bottom:.5rem!important}.divide-x-2>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-2>:not(template):not(:first-child){padding-right:.5rem!important}.divide-x-2>:not(template):not(:last-child){padding-left:.5rem!important}.divide-y-3>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-3>:not(template):not(:first-child){padding-top:1rem!important}.divide-y-3>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x-3>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-3>:not(template):not(:first-child){padding-right:1rem!important}.divide-x-3>:not(template):not(:last-child){padding-left:1rem!important}.divide-y-4>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-4>:not(template):not(:first-child){padding-top:1.5rem!important}.divide-y-4>:not(template):not(:last-child){padding-bottom:1.5rem!important}.divide-x-4>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-4>:not(template):not(:first-child){padding-right:1.5rem!important}.divide-x-4>:not(template):not(:last-child){padding-left:1.5rem!important}.divide-y-5>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-5>:not(template):not(:first-child){padding-top:2rem!important}.divide-y-5>:not(template):not(:last-child){padding-bottom:2rem!important}.divide-x-5>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-5>:not(template):not(:first-child){padding-right:2rem!important}.divide-x-5>:not(template):not(:last-child){padding-left:2rem!important}.divide-y-6>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-6>:not(template):not(:first-child){padding-top:3rem!important}.divide-y-6>:not(template):not(:last-child){padding-bottom:3rem!important}.divide-x-6>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-6>:not(template):not(:first-child){padding-right:3rem!important}.divide-x-6>:not(template):not(:last-child){padding-left:3rem!important}.divide-y-7>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-7>:not(template):not(:first-child){padding-top:5rem!important}.divide-y-7>:not(template):not(:last-child){padding-bottom:5rem!important}.divide-x-7>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-7>:not(template):not(:first-child){padding-right:5rem!important}.divide-x-7>:not(template):not(:last-child){padding-left:5rem!important}.divide-y-8>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-8>:not(template):not(:first-child){padding-top:8rem!important}.divide-y-8>:not(template):not(:last-child){padding-bottom:8rem!important}.divide-x-8>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-8>:not(template):not(:first-child){padding-right:8rem!important}.divide-x-8>:not(template):not(:last-child){padding-left:8rem!important}.divide-y-fill{display:flex;flex-direction:column;height:100%}.divide-y-fill>:not(template){flex:1;display:flex;justify-content:center;flex-direction:column}.icon{--tblr-icon-size:1.25rem;width:var(--tblr-icon-size);height:var(--tblr-icon-size);font-size:var(--tblr-icon-size);vertical-align:bottom;stroke-width:1.5}.icon:hover{text-decoration:none}.icon-inline{--tblr-icon-size:1rem;vertical-align:-.2rem}.icon-filled{fill:currentColor}.icon-sm{--tblr-icon-size:1rem;stroke-width:1}.icon-md{--tblr-icon-size:2.5rem;stroke-width:1}.icon-lg{--tblr-icon-size:3.5rem;stroke-width:1}.icon-pulse{transition:all .15s ease 0s;animation:pulse 2s ease infinite;animation-fill-mode:both}.icon-tada{transition:all .15s ease 0s;animation:tada 3s ease infinite;animation-fill-mode:both}.icon-rotate{transition:all .15s ease 0s;animation:rotate-360 3s linear infinite;animation-fill-mode:both}.img-responsive{--tblr-img-responsive-ratio:75%;background:no-repeat center/cover;padding-top:var(--tblr-img-responsive-ratio)}.img-responsive-grid{padding-top:calc(var(--tblr-img-responsive-ratio) - var(--tblr-gutter-y)/ 2)}.img-responsive-1x1{--tblr-img-responsive-ratio:100%}.img-responsive-2x1{--tblr-img-responsive-ratio:50%}.img-responsive-1x2{--tblr-img-responsive-ratio:200%}.img-responsive-3x1{--tblr-img-responsive-ratio:33.3333333333%}.img-responsive-1x3{--tblr-img-responsive-ratio:300%}.img-responsive-4x3{--tblr-img-responsive-ratio:75%}.img-responsive-3x4{--tblr-img-responsive-ratio:133.3333333333%}.img-responsive-16x9{--tblr-img-responsive-ratio:56.25%}.img-responsive-9x16{--tblr-img-responsive-ratio:177.7777777778%}.img-responsive-21x9{--tblr-img-responsive-ratio:42.8571428571%}.img-responsive-9x21{--tblr-img-responsive-ratio:233.3333333333%}textarea[cols]{height:auto}.col-form-label,.form-label{display:block;font-weight:var(--tblr-font-weight-medium)}.col-form-label.required:after,.form-label.required:after{content:"*";margin-right:.25rem;color:#d63939}.form-label-description{float:left;font-weight:var(--tblr-font-weight-normal);color:var(--tblr-muted)}.form-hint{display:block;color:var(--tblr-muted)}.form-hint:last-child{margin-bottom:0}.form-hint+.form-control{margin-top:.25rem}.form-label+.form-hint{margin-top:-.25rem}.form-control+.form-hint,.form-select+.form-hint,.input-group+.form-hint{margin-top:.5rem}.form-select:-moz-focusring{color:var(--tblr-body-color)}.form-control:-webkit-autofill{box-shadow:0 0 0 1000px var(--tblr-body-bg) inset;color:var(--tblr-body-color);-webkit-text-fill-color:var(--tblr-body-color)}.form-control.disabled,.form-control:disabled{color:var(--tblr-muted);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-control[size]{width:auto}.form-control-light{background-color:var(--tblr-gray-100);border-color:transparent}.form-control-dark{background-color:rgba(0,0,0,.1);color:#fff;border-color:transparent}.form-control-dark:focus{background-color:rgba(0,0,0,.1);box-shadow:none;border-color:rgba(255,255,255,.24)}.form-control-dark::-webkit-input-placeholder{color:rgba(255,255,255,.6)}.form-control-dark:-ms-input-placeholder{color:rgba(255,255,255,.6)}.form-control-dark::-ms-input-placeholder{color:rgba(255,255,255,.6)}.form-control-dark::placeholder{color:rgba(255,255,255,.6)}.form-control-rounded{border-radius:10rem}.form-control-flush{padding:0;background:0 0!important;border-color:transparent!important;resize:none;box-shadow:none!important;line-height:inherit}.form-footer{margin-top:2rem}.form-fieldset{padding:1rem;margin-bottom:1rem;background:var(--tblr-body-bg);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.form-help{display:inline-flex;font-weight:var(--tblr-font-weight-bold);align-items:center;justify-content:center;width:1.125rem;height:1.125rem;font-size:.75rem;color:var(--tblr-muted);text-align:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-gray-100);border-radius:100rem;transition:background-color .3s,color .3s}@media (prefers-reduced-motion:reduce){.form-help{transition:none}}.form-help:hover,.form-help[aria-describedby]{color:#fff;background:var(--tblr-primary)}.input-group-link{font-size:.75rem}.input-group-flat:focus-within{box-shadow:0 0 0 .25rem rgba(32,107,196,.25);border-radius:var(--tblr-border-radius)}.input-group-flat:focus-within .form-control,.input-group-flat:focus-within .input-group-text{border-color:#90b5e2!important}.input-group-flat .form-control:focus{border-color:var(--tblr-border-color);box-shadow:none}.input-group-flat .form-control:not(:last-child){border-left:0}.input-group-flat .form-control:not(:first-child){border-right:0}.input-group-flat .input-group-text{background:var(--tblr-bg-forms);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group-flat .input-group-text{transition:none}}.input-group-flat .input-group-text:first-child{padding-left:0}.input-group-flat .input-group-text:last-child{padding-right:0}.form-file-button{margin-right:0;border-right:0}.input-icon{position:relative}.input-icon .form-control:not(:last-child),.input-icon .form-select:not(:last-child){padding-left:2.5rem}.input-icon .form-control:not(:first-child),.input-icon .form-select:not(:last-child){padding-right:2.5rem}.input-icon-addon{position:absolute;top:0;bottom:0;right:0;display:flex;align-items:center;justify-content:center;min-width:2.5rem;color:var(--tblr-icon-color);pointer-events:none;font-size:1.2em}.input-icon-addon:last-child{left:0;right:auto}.form-colorinput{position:relative;display:inline-block;margin:0;line-height:1;cursor:pointer}.form-colorinput-input{position:absolute;z-index:-1;opacity:0}.form-colorinput-color{display:block;width:1.5rem;height:1.5rem;color:#fff;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-radius:3px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.form-colorinput-color:before{position:absolute;top:0;right:0;width:100%;height:100%;content:"";background:no-repeat center center/1rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");opacity:0;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-colorinput-color:before{transition:none}}.form-colorinput-input:checked~.form-colorinput-color:before{opacity:1}.form-colorinput-input:focus~.form-colorinput-color{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-colorinput-light .form-colorinput-color:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23182433' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-imagecheck{position:relative;margin:0;cursor:pointer}.form-imagecheck-input{position:absolute;z-index:-1;opacity:0}.form-imagecheck-figure{position:relative;display:block;margin:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px}.form-imagecheck-input:focus~.form-imagecheck-figure{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-imagecheck-input:checked~.form-imagecheck-figure{border-color:var(--tblr-primary)}.form-imagecheck-figure:before{position:absolute;top:.25rem;right:.25rem;z-index:1;display:block;width:1rem;height:1rem;color:#fff;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-bg-forms);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius);transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-figure:before{transition:none}}.form-imagecheck-input:checked~.form-imagecheck-figure:before{background-color:var(--tblr-primary);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");background-repeat:repeat;background-position:center;background-size:1rem;border-color:var(--tblr-border-color-translucent)}.form-imagecheck-input[type=radio]~.form-imagecheck-figure:before{border-radius:50%}.form-imagecheck-input[type=radio]:checked~.form-imagecheck-figure:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-imagecheck-image{max-width:100%;display:block;opacity:.64;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-image{transition:none}}.form-imagecheck-image:first-child{border-top-right-radius:2px;border-top-left-radius:2px}.form-imagecheck-image:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-image,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-image,.form-imagecheck:hover .form-imagecheck-image{opacity:1}.form-imagecheck-caption{padding:.25rem;font-size:.765625rem;color:var(--tblr-muted);text-align:center;transition:color .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-caption{transition:none}}.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-caption,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-caption,.form-imagecheck:hover .form-imagecheck-caption{color:var(--tblr-body-color)}.form-selectgroup{display:inline-flex;margin:0 0 -.5rem -.5rem;flex-wrap:wrap}.form-selectgroup .form-selectgroup-item{margin:0 0 .5rem .5rem}.form-selectgroup-vertical{flex-direction:column}.form-selectgroup-item{display:block;position:relative}.form-selectgroup-input{position:absolute;top:0;right:0;z-index:-1;opacity:0}.form-selectgroup-label{position:relative;display:block;min-width:calc(1.4285714286em + .875rem + calc(var(--tblr-border-width) * 2));margin:0;padding:.4375rem .75rem;font-size:.875rem;line-height:1.4285714286;color:var(--tblr-muted);background:var(--tblr-bg-forms);text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px;transition:border-color .3s,background .3s,color .3s}@media (prefers-reduced-motion:reduce){.form-selectgroup-label{transition:none}}.form-selectgroup-label .icon:only-child{margin:0 -.25rem}.form-selectgroup-label:hover{color:var(--tblr-body-color)}.form-selectgroup-check{display:inline-block;width:1rem;height:1rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);vertical-align:middle}.form-selectgroup-input[type=checkbox]+.form-selectgroup-label .form-selectgroup-check{border-radius:var(--tblr-border-radius)}.form-selectgroup-input[type=radio]+.form-selectgroup-label .form-selectgroup-check{border-radius:50%}.form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-check{background-color:var(--tblr-primary);background-repeat:repeat;background-position:center;background-size:1rem;border-color:var(--tblr-border-color-translucent)}.form-selectgroup-input[type=checkbox]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-selectgroup-input[type=radio]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-selectgroup-check-floated{position:absolute;top:.4375rem;left:.4375rem}.form-selectgroup-input:checked+.form-selectgroup-label{z-index:1;color:var(--tblr-primary);background:rgba(var(--tblr-primary-rgb),.04);border-color:var(--tblr-primary)}.form-selectgroup-input:focus+.form-selectgroup-label{z-index:2;color:var(--tblr-primary);border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-selectgroup-boxes .form-selectgroup-label{text-align:right;padding:1.5rem 1rem;color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label{color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-title{color:var(--tblr-primary)}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-label-content{opacity:1}.form-selectgroup-pills{flex-wrap:wrap;align-items:flex-start}.form-selectgroup-pills .form-selectgroup-item{flex-grow:0}.form-selectgroup-pills .form-selectgroup-label{border-radius:50px}.form-control-color::-webkit-color-swatch{border:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.form-control::-webkit-file-upload-button{background-color:var(--tblr-btn-color,var(--tblr-tertiary-bg))}.form-control::file-selector-button{background-color:var(--tblr-btn-color,var(--tblr-tertiary-bg))}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--tblr-btn-color,var(--tblr-secondary-bg))}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--tblr-btn-color,var(--tblr-secondary-bg))}.form-check{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-check.form-check-highlight .form-check-input:not(:checked)~.form-check-label{color:var(--tblr-muted)}.form-check .form-check-label-off{color:var(--tblr-muted)}.form-check .form-check-input:checked~.form-check-label-off{display:none}.form-check .form-check-input:not(:checked)~.form-check-label-on{display:none}.form-check-input{background-size:1rem;margin-top:.125rem}.form-switch .form-check-input{transition:background-color .3s,background-position .3s}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-check-label{display:block}.form-check-label.required:after{content:"*";margin-right:.25rem;color:#d63939}.form-check-description{display:block;color:var(--tblr-muted);font-size:.75rem;margin-top:.25rem}.form-check-single{margin:0}.form-check-single .form-check-input{margin:0}.form-switch .form-check-input{height:1.125rem;margin-top:.0625rem}.form-switch-lg{padding-right:3.5rem;min-height:1.5rem}.form-switch-lg .form-check-input{height:1.5rem;width:2.75rem;background-size:1.5rem;margin-right:-3.5rem}.form-switch-lg .form-check-label{padding-top:.125rem}.form-check-input:checked{border:none}.form-control.is-invalid-lite,.form-control.is-valid-lite,.form-select.is-invalid-lite,.form-select.is-valid-lite{border-color:var(--tblr-border-color)!important}.legend{--tblr-legend-size:0.75em;display:inline-block;background:var(--tblr-border-color);width:var(--tblr-legend-size);height:var(--tblr-legend-size);border-radius:var(--tblr-border-radius-sm)}.list-group{margin-right:0;margin-left:0}.list-group-header{background:var(--tblr-bg-surface-tertiary);padding:.5rem 1.5rem;font-size:.75rem;font-weight:var(--tblr-font-weight-medium);line-height:1;text-transform:uppercase;color:var(--tblr-muted);border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.list-group-flush>.list-group-header:last-child{border-bottom-width:0}.list-group-item{background-color:inherit}.list-group-item.active{background-color:rgba(var(--tblr-muted-rgb),.04);border-right-color:#206bc4;border-right-width:2px}.list-group-item:active,.list-group-item:focus,.list-group-item:hover{background-color:rgba(var(--tblr-muted-rgb),.04)}.list-group-item.disabled,.list-group-item:disabled{color:#929dab;background-color:rgba(var(--tblr-muted-rgb),.04)}.list-bordered .list-item{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);margin-top:-1px}.list-bordered .list-item:first-child{border-top:none}.list-group-hoverable .list-group-item-actions{opacity:0;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.list-group-hoverable .list-group-item-actions{transition:none}}.list-group-hoverable .list-group-item-actions.show,.list-group-hoverable .list-group-item:hover .list-group-item-actions{opacity:1}.list-group-transparent{--tblr-list-group-border-radius:0;margin:0 -1.5rem}.list-group-transparent .list-group-item{background:0 0;border:0}.list-group-transparent .list-group-item .icon{color:var(--tblr-muted)}.list-group-transparent .list-group-item.active{font-weight:var(--tblr-font-weight-bold);color:inherit;background:var(--tblr-active-bg)}.list-group-transparent .list-group-item.active .icon{color:inherit}.list-separated-item{padding:1rem 0}.list-separated-item:first-child{padding-top:0}.list-separated-item:last-child{padding-bottom:0}.list-separated-item+.list-separated-item{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.list-inline-item:not(:last-child){margin-left:auto;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.list-inline-dots .list-inline-item+.list-inline-item:before{content:" · ";-webkit-margin-end:.5rem;margin-inline-end:.5rem}.loader{position:relative;display:block;width:2.5rem;height:2.5rem;color:#206bc4;vertical-align:middle}.loader:after{position:absolute;top:0;right:0;width:100%;height:100%;content:"";border:1px var(--tblr-border-style);border-color:transparent;border-top-color:currentColor;border-right-color:currentColor;border-radius:100rem;animation:rotate-360 .6s linear;animation-iteration-count:infinite}.dimmer{position:relative}.dimmer .loader{position:absolute;top:50%;left:0;right:0;display:none;margin:0 auto;transform:translateY(-50%)}.dimmer.active .loader{display:block}.dimmer.active .dimmer-content{pointer-events:none;opacity:.1}@keyframes animated-dots{0%{transform:translateX(100%)}}.animated-dots{display:inline-block;overflow:hidden;vertical-align:bottom}.animated-dots:after{display:inline-block;content:"...";animation:animated-dots 1.2s steps(4,jump-none) infinite}.modal-content .btn-close{position:absolute;top:0;left:0;width:3.5rem;height:3.5rem;margin:0;padding:0;z-index:10}.modal-body{scrollbar-color:rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16) transparent}.modal-body::-webkit-scrollbar{width:1rem;height:1rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){.modal-body::-webkit-scrollbar{-webkit-transition:none;transition:none}}.modal-body::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16)}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.32)}.modal-body::-webkit-scrollbar-corner{background:0 0}.modal-body .modal-title{margin-bottom:1rem}.modal-body+.modal-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.modal-status{position:absolute;top:0;right:0;left:0;height:2px;background:var(--tblr-muted);border-radius:var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0}.modal-header{align-items:center;min-height:3.5rem;background:0 0;padding:0 1.5rem 0 3.5rem}.modal-title{font-size:1rem;font-weight:var(--tblr-font-weight-bold);line-height:1.4285714286}.modal-footer{padding-top:.75rem;padding-bottom:.75rem}.modal-blur{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-full-width{max-width:none;margin:0 .5rem}.nav-vertical,.nav-vertical .nav{flex-direction:column;flex-wrap:nowrap}.nav-vertical .nav{margin-right:1.25rem;border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding-right:.5rem}.nav-vertical .nav-item.show .nav-link,.nav-vertical .nav-link.active{font-weight:var(--tblr-font-weight-bold)}.nav-vertical.nav-pills{margin:0 -.75rem}.nav-bordered{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.nav-bordered .nav-item+.nav-item{margin-right:1.25rem}.nav-bordered .nav-link{padding-right:0;padding-left:0;margin:0 0 -var(--tblr-border-width);border:0;border-bottom:2px var(--tblr-border-style) transparent;color:var(--tblr-muted)}.nav-bordered .nav-item.show .nav-link,.nav-bordered .nav-link.active{color:var(--tblr-primary);border-color:var(--tblr-primary)}.nav-link{display:flex;transition:color .3s;align-items:center}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link-toggle{margin-right:auto;padding:0 .25rem;transition:transform .3s}@media (prefers-reduced-motion:reduce){.nav-link-toggle{transition:none}}.nav-link-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-right:1px var(--tblr-border-style);margin-left:.1em;margin-right:.4em;transform:rotate(45deg)}.nav-link-toggle:after{margin:0}.nav-link[aria-expanded=true] .nav-link-toggle{transform:rotate(-180deg)}.nav-link-icon{width:1.25rem;height:1.25rem;margin-left:.5rem;color:var(--tblr-icon-color)}.nav-link-icon svg{display:block;height:100%}.nav-fill .nav-item .nav-link{justify-content:center}.stars{display:inline-flex;color:#bbc3cd;font-size:.75rem}.stars .star:not(:first-child){margin-right:.25rem}.pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.page-link{min-width:1.75rem;border-radius:var(--tblr-border-radius)}.page-item{text-align:center}.page-item:not(.active) .page-link:hover{background:0 0}.page-item.page-next,.page-item.page-prev{flex:0 0 50%;text-align:right}.page-item.page-next{margin-right:auto;text-align:left}.page-item-subtitle{margin-bottom:2px;font-size:12px;color:var(--tblr-muted);text-transform:uppercase}.page-item.disabled .page-item-subtitle{color:var(--tblr-disabled-color)}.page-item-title{font-size:1rem;font-weight:var(--tblr-font-weight-normal);color:var(--tblr-body-color)}.page-link:hover .page-item-title{color:#206bc4}.page-item.disabled .page-item-title{color:var(--tblr-disabled-color)}@keyframes progress-indeterminate{0%{left:100%;right:-35%}100%,60%{left:-90%;right:100%}}.progress{position:relative;width:100%;line-height:.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.progress::-webkit-progress-bar{background:var(--tblr-progress-bg)}.progress::-webkit-progress-value{background-color:var(--tblr-primary)}.progress::-moz-progress-bar{background-color:var(--tblr-primary)}.progress::-ms-fill{background-color:var(--tblr-primary);border:none}.progress-sm{height:.25rem}.progress-bar{height:100%}.progress-bar-indeterminate:after,.progress-bar-indeterminate:before{position:absolute;top:0;bottom:0;right:0;content:"";background-color:inherit;will-change:left,right}.progress-bar-indeterminate:before{animation:progress-indeterminate 1.5s cubic-bezier(.65,.815,.735,.395) infinite}.progress-separated .progress-bar{box-shadow:0 0 0 2px var(--tblr-card-bg,var(--tblr-bg-surface))}.progressbg{position:relative;padding:.25rem .5rem;display:flex}.progressbg-text{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progressbg-progress{position:absolute;top:0;left:0;bottom:0;right:0;z-index:0;height:100%;background:0 0;pointer-events:none}.progressbg-value{font-weight:var(--tblr-font-weight-medium);margin-right:auto;padding-right:2rem}.ribbon{--tblr-ribbon-margin:0.25rem;--tblr-ribbon-border-radius:var(--tblr-border-radius);position:absolute;top:.75rem;left:calc(-1 * var(--tblr-ribbon-margin));z-index:1;padding:.25rem .75rem;font-size:.625rem;font-weight:var(--tblr-font-weight-bold);line-height:1;color:#fff;text-align:center;text-transform:uppercase;background:var(--tblr-primary);border-color:var(--tblr-primary);border-radius:0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius);display:inline-flex;align-items:center;justify-content:center;min-height:2rem;min-width:2rem}.ribbon:before{position:absolute;left:0;bottom:100%;width:0;height:0;content:"";filter:brightness(70%);border:calc(var(--tblr-ribbon-margin) * .5) var(--tblr-border-style);border-color:inherit;border-top-color:transparent;border-left-color:transparent}.ribbon.bg-blue{border-color:var(--tblr-blue)}.ribbon.bg-blue-lt{border-color:rgba(var(--tblr-blue-rgb),.1)!important}.ribbon.bg-azure{border-color:var(--tblr-azure)}.ribbon.bg-azure-lt{border-color:rgba(var(--tblr-azure-rgb),.1)!important}.ribbon.bg-indigo{border-color:var(--tblr-indigo)}.ribbon.bg-indigo-lt{border-color:rgba(var(--tblr-indigo-rgb),.1)!important}.ribbon.bg-purple{border-color:var(--tblr-purple)}.ribbon.bg-purple-lt{border-color:rgba(var(--tblr-purple-rgb),.1)!important}.ribbon.bg-pink{border-color:var(--tblr-pink)}.ribbon.bg-pink-lt{border-color:rgba(var(--tblr-pink-rgb),.1)!important}.ribbon.bg-red{border-color:var(--tblr-red)}.ribbon.bg-red-lt{border-color:rgba(var(--tblr-red-rgb),.1)!important}.ribbon.bg-orange{border-color:var(--tblr-orange)}.ribbon.bg-orange-lt{border-color:rgba(var(--tblr-orange-rgb),.1)!important}.ribbon.bg-yellow{border-color:var(--tblr-yellow)}.ribbon.bg-yellow-lt{border-color:rgba(var(--tblr-yellow-rgb),.1)!important}.ribbon.bg-lime{border-color:var(--tblr-lime)}.ribbon.bg-lime-lt{border-color:rgba(var(--tblr-lime-rgb),.1)!important}.ribbon.bg-green{border-color:var(--tblr-green)}.ribbon.bg-green-lt{border-color:rgba(var(--tblr-green-rgb),.1)!important}.ribbon.bg-teal{border-color:var(--tblr-teal)}.ribbon.bg-teal-lt{border-color:rgba(var(--tblr-teal-rgb),.1)!important}.ribbon.bg-cyan{border-color:var(--tblr-cyan)}.ribbon.bg-cyan-lt{border-color:rgba(var(--tblr-cyan-rgb),.1)!important}.ribbon .icon{width:1.25rem;height:1.25rem;font-size:1.25rem}.ribbon-top{top:calc(-1 * var(--tblr-ribbon-margin));left:.75rem;width:2rem;padding:.5rem 0;border-radius:var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius)}.ribbon-top:before{top:0;left:100%;bottom:auto;border-color:inherit;border-top-color:transparent;border-right-color:transparent}.ribbon-top.ribbon-start{left:auto;right:.75rem}.ribbon-top.ribbon-start:before{top:0;left:100%;right:auto}.ribbon-start{left:auto;right:calc(-1 * var(--tblr-ribbon-margin))}.ribbon-start:before{top:auto;bottom:100%;right:0;border-color:inherit;border-top-color:transparent;border-right-color:transparent}.ribbon-bottom{top:auto;bottom:.75rem}.ribbon-bookmark{padding-right:.25rem;border-radius:0 0 0 var(--tblr-ribbon-border-radius)}.ribbon-bookmark:after{position:absolute;top:0;left:100%;display:block;width:0;height:0;content:"";border:1rem var(--tblr-border-style);border-color:inherit;border-left-width:0;border-right-color:transparent;border-right-width:.5rem}.ribbon-bookmark.ribbon-left{padding-left:.5rem}.ribbon-bookmark.ribbon-left:after{left:auto;right:100%;border-left-color:transparent;border-left-width:.5rem;border-right-width:0}.ribbon-bookmark.ribbon-top{padding-left:0;padding-bottom:.25rem;padding-right:0;border-radius:var(--tblr-ribbon-border-radius) 0 0 0}.ribbon-bookmark.ribbon-top:after{top:100%;left:0;right:0;border-color:inherit;border-width:1rem;border-top-width:0;border-bottom-color:transparent;border-bottom-width:.5rem}.markdown{line-height:1.7142857143}.markdown>:first-child{margin-top:0}.markdown>:last-child,.markdown>:last-child .highlight{margin-bottom:0}@media (min-width:768px){.markdown>.hr,.markdown>hr{margin-top:3em;margin-bottom:3em}}.markdown>.h1,.markdown>.h2,.markdown>.h3,.markdown>.h4,.markdown>.h5,.markdown>.h6,.markdown>h1,.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{font-weight:var(--tblr-font-weight-bold)}.markdown>blockquote{font-size:1rem;margin:1.5rem 0;padding:.5rem 1.5rem}.markdown>img{border-radius:var(--tblr-border-radius)}.placeholder:not(.btn):not([class*=bg-]){background-color:currentColor!important}.placeholder:not(.avatar):not([class*=card-img-]){border-radius:var(--tblr-border-radius)}.steps{--tblr-steps-color:var(--tblr-primary);--tblr-steps-inactive-color:var(--tblr-border-color);--tblr-steps-dot-size:.5rem;--tblr-steps-border-width:2px;display:flex;flex-wrap:nowrap;width:100%;padding:0;margin:0;list-style:none}.steps-blue{--tblr-steps-color:var(--tblr-blue)}.steps-azure{--tblr-steps-color:var(--tblr-azure)}.steps-indigo{--tblr-steps-color:var(--tblr-indigo)}.steps-purple{--tblr-steps-color:var(--tblr-purple)}.steps-pink{--tblr-steps-color:var(--tblr-pink)}.steps-red{--tblr-steps-color:var(--tblr-red)}.steps-orange{--tblr-steps-color:var(--tblr-orange)}.steps-yellow{--tblr-steps-color:var(--tblr-yellow)}.steps-lime{--tblr-steps-color:var(--tblr-lime)}.steps-green{--tblr-steps-color:var(--tblr-green)}.steps-teal{--tblr-steps-color:var(--tblr-teal)}.steps-cyan{--tblr-steps-color:var(--tblr-cyan)}.step-item{position:relative;flex:1 1 0;min-height:1rem;margin-top:0;color:inherit;text-align:center;cursor:default;padding-top:calc(var(--tblr-steps-dot-size))}a.step-item{cursor:pointer}a.step-item:hover{color:inherit}.step-item:after,.step-item:before{background:var(--tblr-steps-color)}.step-item:not(:last-child):after{position:absolute;right:50%;width:100%;content:"";transform:translateY(-50%)}.step-item:after{top:calc(var(--tblr-steps-dot-size) * .5);height:var(--tblr-steps-border-width)}.step-item:before{content:"";position:absolute;top:0;right:50%;z-index:1;box-sizing:content-box;display:flex;align-items:center;justify-content:center;border-radius:100rem;transform:translateX(50%);color:var(--tblr-white);width:var(--tblr-steps-dot-size);height:var(--tblr-steps-dot-size)}.step-item.active{font-weight:var(--tblr-font-weight-bold)}.step-item.active:after{background:var(--tblr-steps-inactive-color)}.step-item.active~.step-item{color:var(--tblr-disabled-color)}.step-item.active~.step-item:after,.step-item.active~.step-item:before{background:var(--tblr-steps-inactive-color)}.steps-counter{--tblr-steps-dot-size:1.5rem;counter-reset:steps}.steps-counter .step-item{counter-increment:steps}.steps-counter .step-item:before{content:counter(steps)}.steps-vertical{--tblr-steps-dot-offset:6px;flex-direction:column}.steps-vertical.steps-counter{--tblr-steps-dot-offset:-2px}.steps-vertical .step-item{text-align:right;padding-top:0;padding-right:calc(var(--tblr-steps-dot-size) + 1rem);min-height:auto}.steps-vertical .step-item:not(:first-child){margin-top:1rem}.steps-vertical .step-item:before{top:var(--tblr-steps-dot-offset);right:0;transform:translate(0,0)}.steps-vertical .step-item:not(:last-child):after{position:absolute;content:"";transform:translateX(50%);top:var(--tblr-steps-dot-offset);right:calc(var(--tblr-steps-dot-size) * .5);width:var(--tblr-steps-border-width);height:calc(100% + 1rem)}@keyframes status-pulsate-main{40%{transform:scale(1.25,1.25)}60%{transform:scale(1.25,1.25)}}@keyframes status-pulsate-secondary{10%{transform:scale(1,1)}30%{transform:scale(3,3)}80%{transform:scale(3,3)}100%{transform:scale(1,1)}}@keyframes status-pulsate-tertiary{25%{transform:scale(1,1)}80%{transform:scale(3,3);opacity:0}100%{transform:scale(3,3);opacity:0}}.status{--tblr-status-height:1.5rem;--tblr-status-color:#667382;--tblr-status-color-rgb:102,115,130;display:inline-flex;align-items:center;height:var(--tblr-status-height);padding:.25rem .75rem;gap:.5rem;color:var(--tblr-status-color);background:rgba(var(--tblr-status-color-rgb),.1);font-size:.875rem;text-transform:none;letter-spacing:normal;border-radius:100rem;font-weight:var(--tblr-font-weight-medium);line-height:1;margin:0}.status .status-dot{background:var(--tblr-status-color)}.status .icon{font-size:1.25rem}.status-lite{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;background:0 0!important;color:var(--tblr-body-color)!important}.status-primary{--tblr-status-color:#206bc4;--tblr-status-color-rgb:32,107,196}.status-secondary{--tblr-status-color:#667382;--tblr-status-color-rgb:102,115,130}.status-success{--tblr-status-color:#2fb344;--tblr-status-color-rgb:47,179,68}.status-info{--tblr-status-color:#4299e1;--tblr-status-color-rgb:66,153,225}.status-warning{--tblr-status-color:#f76707;--tblr-status-color-rgb:247,103,7}.status-danger{--tblr-status-color:#d63939;--tblr-status-color-rgb:214,57,57}.status-light{--tblr-status-color:#fcfdfe;--tblr-status-color-rgb:252,253,254}.status-dark{--tblr-status-color:#182433;--tblr-status-color-rgb:24,36,51}.status-muted{--tblr-status-color:#667382;--tblr-status-color-rgb:102,115,130}.status-blue{--tblr-status-color:#206bc4;--tblr-status-color-rgb:32,107,196}.status-azure{--tblr-status-color:#4299e1;--tblr-status-color-rgb:66,153,225}.status-indigo{--tblr-status-color:#4263eb;--tblr-status-color-rgb:66,99,235}.status-purple{--tblr-status-color:#ae3ec9;--tblr-status-color-rgb:174,62,201}.status-pink{--tblr-status-color:#d6336c;--tblr-status-color-rgb:214,51,108}.status-red{--tblr-status-color:#d63939;--tblr-status-color-rgb:214,57,57}.status-orange{--tblr-status-color:#f76707;--tblr-status-color-rgb:247,103,7}.status-yellow{--tblr-status-color:#f59f00;--tblr-status-color-rgb:245,159,0}.status-lime{--tblr-status-color:#74b816;--tblr-status-color-rgb:116,184,22}.status-green{--tblr-status-color:#2fb344;--tblr-status-color-rgb:47,179,68}.status-teal{--tblr-status-color:#0ca678;--tblr-status-color-rgb:12,166,120}.status-cyan{--tblr-status-color:#17a2b8;--tblr-status-color-rgb:23,162,184}.status-facebook{--tblr-status-color:#1877f2;--tblr-status-color-rgb:24,119,242}.status-twitter{--tblr-status-color:#1da1f2;--tblr-status-color-rgb:29,161,242}.status-linkedin{--tblr-status-color:#0a66c2;--tblr-status-color-rgb:10,102,194}.status-google{--tblr-status-color:#dc4e41;--tblr-status-color-rgb:220,78,65}.status-youtube{--tblr-status-color:#ff0000;--tblr-status-color-rgb:255,0,0}.status-vimeo{--tblr-status-color:#1ab7ea;--tblr-status-color-rgb:26,183,234}.status-dribbble{--tblr-status-color:#ea4c89;--tblr-status-color-rgb:234,76,137}.status-github{--tblr-status-color:#181717;--tblr-status-color-rgb:24,23,23}.status-instagram{--tblr-status-color:#e4405f;--tblr-status-color-rgb:228,64,95}.status-pinterest{--tblr-status-color:#bd081c;--tblr-status-color-rgb:189,8,28}.status-vk{--tblr-status-color:#6383a8;--tblr-status-color-rgb:99,131,168}.status-rss{--tblr-status-color:#ffa500;--tblr-status-color-rgb:255,165,0}.status-flickr{--tblr-status-color:#0063dc;--tblr-status-color-rgb:0,99,220}.status-bitbucket{--tblr-status-color:#0052cc;--tblr-status-color-rgb:0,82,204}.status-tabler{--tblr-status-color:#206bc4;--tblr-status-color-rgb:32,107,196}.status-dot{--tblr-status-dot-color:var(--tblr-status-color, #667382);--tblr-status-size:0.5rem;position:relative;display:inline-block;width:var(--tblr-status-size);height:var(--tblr-status-size);background:var(--tblr-status-dot-color);border-radius:100rem}.status-dot-animated:before{content:"";position:absolute;inset:0;z-index:0;background:inherit;border-radius:inherit;opacity:.6;animation:1s linear 2s backwards infinite status-pulsate-tertiary}.status-indicator{--tblr-status-indicator-size:2.5rem;--tblr-status-indicator-color:var(--tblr-status-color, #667382);display:block;position:relative;width:var(--tblr-status-indicator-size);height:var(--tblr-status-indicator-size)}.status-indicator-circle{--tblr-status-circle-size:.75rem;position:absolute;right:50%;top:50%;margin:calc(var(--tblr-status-circle-size)/ -2) calc(var(--tblr-status-circle-size)/ -2) 0 0;width:var(--tblr-status-circle-size);height:var(--tblr-status-circle-size);border-radius:100rem;background:var(--tblr-status-color)}.status-indicator-circle:nth-child(1){z-index:3}.status-indicator-circle:nth-child(2){z-index:2;opacity:.1}.status-indicator-circle:nth-child(3){z-index:1;opacity:.3}.status-indicator-animated .status-indicator-circle:nth-child(1){animation:2s linear 1s infinite backwards status-pulsate-main}.status-indicator-animated .status-indicator-circle:nth-child(2){animation:2s linear 1s infinite backwards status-pulsate-secondary}.status-indicator-animated .status-indicator-circle:nth-child(3){animation:2s linear 1s infinite backwards status-pulsate-tertiary}.switch-icon{display:inline-block;line-height:1;border:0;padding:0;background:0 0;width:1.25rem;height:1.25rem;vertical-align:bottom;position:relative;cursor:pointer}.switch-icon.disabled{pointer-events:none;opacity:.4}.switch-icon:focus{outline:0}.switch-icon svg{display:block;width:100%;height:100%}.switch-icon .switch-icon-a,.switch-icon .switch-icon-b{display:block;width:100%;height:100%}.switch-icon .switch-icon-a{opacity:1}.switch-icon .switch-icon-b{position:absolute;top:0;right:0;opacity:0}.switch-icon.active .switch-icon-a{opacity:0}.switch-icon.active .switch-icon-b{opacity:1}.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:opacity .5s}@media (prefers-reduced-motion:reduce){.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:opacity .5s,transform 0s .5s}@media (prefers-reduced-motion:reduce){.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-b{transform:scale(1.5)}.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:opacity 0s,transform .5s}@media (prefers-reduced-motion:reduce){.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:none}}.switch-icon-scale.active .switch-icon-b{transform:scale(1)}.switch-icon-flip{perspective:10em}.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d;transition:opacity 0s .2s,transform .4s ease-in-out}@media (prefers-reduced-motion:reduce){.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{transition:none}}.switch-icon-flip .switch-icon-a{opacity:1;transform:rotateY(0)}.switch-icon-flip .switch-icon-b{opacity:1;transform:rotateY(180deg)}.switch-icon-flip.active .switch-icon-a{opacity:1;transform:rotateY(-180deg)}.switch-icon-flip.active .switch-icon-b{opacity:1;transform:rotateY(0)}.switch-icon-slide-down,.switch-icon-slide-left,.switch-icon-slide-right,.switch-icon-slide-up{overflow:hidden}.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b{transition:opacity .3s,transform .3s}@media (prefers-reduced-motion:reduce){.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b{transition:none}}.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-up .switch-icon-a{transform:translateY(0)}.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-b{transform:translateY(100%)}.switch-icon-slide-down.active .switch-icon-a,.switch-icon-slide-left.active .switch-icon-a,.switch-icon-slide-right.active .switch-icon-a,.switch-icon-slide-up.active .switch-icon-a{transform:translateY(-100%)}.switch-icon-slide-down.active .switch-icon-b,.switch-icon-slide-left.active .switch-icon-b,.switch-icon-slide-right.active .switch-icon-b,.switch-icon-slide-up.active .switch-icon-b{transform:translateY(0)}.switch-icon-slide-right .switch-icon-a{transform:translateX(0)}.switch-icon-slide-left .switch-icon-b{transform:translateX(-100%)}.switch-icon-slide-left.active .switch-icon-a{transform:translateX(100%)}.switch-icon-slide-right.active .switch-icon-b{transform:translateX(0)}.switch-icon-slide-left .switch-icon-a{transform:translateX(0)}.switch-icon-slide-right .switch-icon-b{transform:translateX(100%)}.switch-icon-slide-right.active .switch-icon-a{transform:translateX(-100%)}.switch-icon-slide-left.active .switch-icon-b{transform:translateX(0)}.switch-icon-slide-down .switch-icon-a{transform:translateY(0)}.switch-icon-slide-down .switch-icon-b{transform:translateY(-100%)}.switch-icon-slide-down.active .switch-icon-a{transform:translateY(100%)}.switch-icon-slide-down.active .switch-icon-b{transform:translateY(0)}.markdown>table thead th,.table thead th{color:var(--tblr-muted);background:var(--tblr-bg-surface-tertiary);font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);padding-top:.5rem;padding-bottom:.5rem;white-space:nowrap}@media print{.markdown>table thead th,.table thead th{background:0 0}}.table-responsive .markdown>table,.table-responsive .table{margin-bottom:0}.table-responsive+.card-footer{border-top:0}.table-transparent thead th{background:0 0}.table-nowrap>:not(caption)>*>*{white-space:nowrap}.table-vcenter>:not(caption)>*>*{vertical-align:middle}.table-center>:not(caption)>*>*{text-align:center}.td-truncate{max-width:1px;width:100%}.table-mobile{display:block}.table-mobile thead{display:none}.table-mobile tbody,.table-mobile tr{display:flex;flex-direction:column}.table-mobile td{display:block;padding:.75rem .75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile .btn{display:block}@media (max-width:575.98px){.table-mobile-sm{display:block}.table-mobile-sm thead{display:none}.table-mobile-sm tbody,.table-mobile-sm tr{display:flex;flex-direction:column}.table-mobile-sm td{display:block;padding:.75rem .75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-sm td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-sm tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-sm .btn{display:block}}@media (max-width:767.98px){.table-mobile-md{display:block}.table-mobile-md thead{display:none}.table-mobile-md tbody,.table-mobile-md tr{display:flex;flex-direction:column}.table-mobile-md td{display:block;padding:.75rem .75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-md td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-md tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-md .btn{display:block}}@media (max-width:991.98px){.table-mobile-lg{display:block}.table-mobile-lg thead{display:none}.table-mobile-lg tbody,.table-mobile-lg tr{display:flex;flex-direction:column}.table-mobile-lg td{display:block;padding:.75rem .75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-lg td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-lg tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-lg .btn{display:block}}@media (max-width:1199.98px){.table-mobile-xl{display:block}.table-mobile-xl thead{display:none}.table-mobile-xl tbody,.table-mobile-xl tr{display:flex;flex-direction:column}.table-mobile-xl td{display:block;padding:.75rem .75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-xl td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-xl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xl .btn{display:block}}@media (max-width:1399.98px){.table-mobile-xxl{display:block}.table-mobile-xxl thead{display:none}.table-mobile-xxl tbody,.table-mobile-xxl tr{display:flex;flex-direction:column}.table-mobile-xxl td{display:block;padding:.75rem .75rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-xxl td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-xxl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xxl .btn{display:block}}.table-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;border:0;background:inherit;display:block;width:100%;text-align:inherit;transition:color .3s;margin:-.5rem -.75rem;padding:.5rem .75rem}@media (prefers-reduced-motion:reduce){.table-sort{transition:none}}.table-sort.asc,.table-sort.desc,.table-sort:hover{color:var(--tblr-body-color)}.table-sort:after{content:"";display:inline-flex;width:1rem;height:1rem;vertical-align:bottom;-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,");background:currentColor;margin-right:.25rem}.table-sort.asc:after{-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,")}.table-sort.desc:after{-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,")}.table-borderless thead th{background:0 0}.toast{background:#fff;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);box-shadow:rgba(24,36,51,.04) 0 2px 4px 0}.toast .toast-header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.toast button[data-bs-dismiss=toast]{outline:0}.toast-primary{--tblr-toast-color:#206bc4}.toast-secondary{--tblr-toast-color:#667382}.toast-success{--tblr-toast-color:#2fb344}.toast-info{--tblr-toast-color:#4299e1}.toast-warning{--tblr-toast-color:#f76707}.toast-danger{--tblr-toast-color:#d63939}.toast-light{--tblr-toast-color:#fcfdfe}.toast-dark{--tblr-toast-color:#182433}.toast-muted{--tblr-toast-color:#667382}.toast-blue{--tblr-toast-color:#206bc4}.toast-azure{--tblr-toast-color:#4299e1}.toast-indigo{--tblr-toast-color:#4263eb}.toast-purple{--tblr-toast-color:#ae3ec9}.toast-pink{--tblr-toast-color:#d6336c}.toast-red{--tblr-toast-color:#d63939}.toast-orange{--tblr-toast-color:#f76707}.toast-yellow{--tblr-toast-color:#f59f00}.toast-lime{--tblr-toast-color:#74b816}.toast-green{--tblr-toast-color:#2fb344}.toast-teal{--tblr-toast-color:#0ca678}.toast-cyan{--tblr-toast-color:#17a2b8}.toast-facebook{--tblr-toast-color:#1877f2}.toast-twitter{--tblr-toast-color:#1da1f2}.toast-linkedin{--tblr-toast-color:#0a66c2}.toast-google{--tblr-toast-color:#dc4e41}.toast-youtube{--tblr-toast-color:#ff0000}.toast-vimeo{--tblr-toast-color:#1ab7ea}.toast-dribbble{--tblr-toast-color:#ea4c89}.toast-github{--tblr-toast-color:#181717}.toast-instagram{--tblr-toast-color:#e4405f}.toast-pinterest{--tblr-toast-color:#bd081c}.toast-vk{--tblr-toast-color:#6383a8}.toast-rss{--tblr-toast-color:#ffa500}.toast-flickr{--tblr-toast-color:#0063dc}.toast-bitbucket{--tblr-toast-color:#0052cc}.toast-tabler{--tblr-toast-color:#206bc4}.toolbar{display:flex;flex-wrap:nowrap;flex-shrink:0;margin:0 -.5rem}.toolbar>*{margin:0 .5rem}.tracking{--tblr-tracking-height:1.5rem;--tblr-tracking-gap-width:0.125rem;--tblr-tracking-block-border-radius:var(--tblr-border-radius);display:flex;gap:var(--tblr-tracking-gap-width)}.tracking-squares{--tblr-tracking-block-border-radius:var(--tblr-border-radius-sm)}.tracking-squares .tracking-block{height:auto}.tracking-squares .tracking-block:before{content:"";display:block;padding-top:100%}.tracking-block{flex:1;border-radius:var(--tblr-tracking-block-border-radius);height:var(--tblr-tracking-height);min-width:.25rem;background:var(--tblr-border-color)}.timeline{--tblr-timeline-icon-size:2.5rem;position:relative;list-style:none;padding:0}.timeline-event{position:relative}.timeline-event:not(:last-child){margin-bottom:var(--tblr-page-padding)}.timeline-event:not(:last-child):before{content:"";position:absolute;top:var(--tblr-timeline-icon-size);right:calc(var(--tblr-timeline-icon-size)/ 2);bottom:calc(-1 * var(--tblr-page-padding));width:var(--tblr-border-width);background-color:var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.timeline-event-icon{position:absolute;display:flex;align-items:center;justify-content:center;width:var(--tblr-timeline-icon-size,2.5rem);height:var(--tblr-timeline-icon-size,2.5rem);background:var(--tblr-gray-200);color:var(--tblr-muted);border-radius:var(--tblr-border-radius);z-index:5}.timeline-event-card{margin-right:calc(var(--tblr-timeline-icon-size,2.5rem) + var(--tblr-page-padding))}.timeline-simple .timeline-event-icon{display:none}.timeline-simple .timeline-event-card{margin-right:0}.hr-text{display:flex;align-items:center;margin:2rem 0;font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);height:1px}.hr-text:after,.hr-text:before{flex:1 1 auto;height:1px;background-color:var(--tblr-border-color)}.hr-text:before{content:"";margin-left:.5rem}.hr-text:after{content:"";margin-right:.5rem}.hr-text>:first-child{padding-left:.5rem;padding-right:0;color:var(--tblr-muted)}.hr-text.hr-text-right:before{content:none}.hr-text.hr-text-left>:first-child{padding-left:.5rem;padding-right:.5rem}.hr-text.hr-text-left:before{content:""}.hr-text.hr-text-left:after{content:none}.hr-text.hr-text-right>:first-child{padding-left:0;padding-right:.5rem}.card>.hr-text{margin:0}.hr-text-spaceless{margin:-.5rem 0}.lead{line-height:1.4}a{-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}.h1 a,.h2 a,.h3 a,.h4 a,.h5 a,.h6 a,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit}.h1 a:hover,.h2 a:hover,.h3 a:hover,.h4 a:hover,.h5 a:hover,.h6 a:hover,h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:inherit}.h1,h1{font-size:var(--tblr-font-size-h1);line-height:var(--tblr-line-height-h1)}.h2,h2{font-size:var(--tblr-font-size-h2);line-height:var(--tblr-line-height-h2)}.h3,h3{font-size:var(--tblr-font-size-h3);line-height:var(--tblr-line-height-h3)}.h4,h4{font-size:var(--tblr-font-size-h4);line-height:var(--tblr-line-height-h4)}.h5,h5{font-size:var(--tblr-font-size-h5);line-height:var(--tblr-line-height-h5)}.h6,h6{font-size:var(--tblr-font-size-h6);line-height:var(--tblr-line-height-h6)}.strong,b,strong{font-weight:var(--tblr-font-weight-bold)}blockquote{padding-right:1rem;border-right:2px var(--tblr-border-style) var(--tblr-border-color)}blockquote p{margin-bottom:1rem}blockquote cite{display:block;text-align:left}blockquote cite:before{content:"— "}ol,ul{padding-right:1.5rem}.hr,hr{margin:2rem 0}dl dd:last-child{margin-bottom:0}pre{padding:1rem;background:var(--tblr-bg-surface-dark);color:var(--tblr-light);border-radius:var(--tblr-border-radius)}pre code{background:0 0}code{background:var(--tblr-code-bg);padding:2px 4px;border-radius:var(--tblr-border-radius)}.kbd,kbd{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);display:inline-block;box-sizing:border-box;max-width:100%;font-size:var(--tblr-font-size-h5);font-weight:var(--tblr-font-weight-medium);line-height:1;vertical-align:baseline;border-radius:var(--tblr-border-radius)}img{max-width:100%}.list-unstyled{margin-right:0}::-moz-selection{background-color:rgba(var(--tblr-primary-rgb),.16)}::selection{background-color:rgba(var(--tblr-primary-rgb),.16)}[class*=" link-"].disabled,[class^=link-].disabled{color:var(--tblr-disabled-color);pointer-events:none}.subheader{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted)}.chart{display:block;min-height:10rem}.chart text{font-family:inherit}.chart-sm{height:2.5rem}.chart-lg{height:15rem}.chart-square{height:5.75rem}.chart-sparkline{position:relative;width:4rem;height:2.5rem;line-height:1;min-height:0!important}.chart-sparkline-sm{height:1.5rem}.chart-sparkline-square{width:2.5rem}.chart-sparkline-wide{width:6rem}.chart-sparkline-label{position:absolute;top:0;left:0;bottom:0;right:0;display:flex;align-items:center;justify-content:center;font-size:.625rem}.chart-sparkline-label .icon{width:1rem;height:1rem;font-size:1rem}.offcanvas-header{border-bottom:var(--tblr-border-width) var(--tblr-border-style) rgba(4,32,69,.14)}.offcanvas-footer{padding:1.5rem 1.5rem}.offcanvas-title{font-size:1rem;font-weight:var(--tblr-font-weight-medium);line-height:1.5rem}.offcanvas-narrow{width:20rem}.bg-white-overlay{color:#fff;background-color:rgba(252,253,254,.24)}.bg-dark-overlay{color:#fff;background-color:rgba(24,36,51,.24)}.bg-cover{background-repeat:no-repeat;background-size:cover;background-position:center}.bg-primary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-primary-rgb),var(--tblr-bg-opacity))!important}.bg-primary-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-primary-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-primary-lt-rgb),var(--tblr-bg-opacity))!important}.border-primary{border-color:#206bc4!important}.bg-secondary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-secondary-rgb),var(--tblr-bg-opacity))!important}.bg-secondary-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-secondary-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-secondary-lt-rgb),var(--tblr-bg-opacity))!important}.border-secondary{border-color:#667382!important}.bg-success{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-success-rgb),var(--tblr-bg-opacity))!important}.bg-success-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-success-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-success-lt-rgb),var(--tblr-bg-opacity))!important}.border-success{border-color:#2fb344!important}.bg-info{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-info-rgb),var(--tblr-bg-opacity))!important}.bg-info-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-info-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-info-lt-rgb),var(--tblr-bg-opacity))!important}.border-info{border-color:#4299e1!important}.bg-warning{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-warning-rgb),var(--tblr-bg-opacity))!important}.bg-warning-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-warning-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-warning-lt-rgb),var(--tblr-bg-opacity))!important}.border-warning{border-color:#f76707!important}.bg-danger{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-danger-rgb),var(--tblr-bg-opacity))!important}.bg-danger-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-danger-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-danger-lt-rgb),var(--tblr-bg-opacity))!important}.border-danger{border-color:#d63939!important}.bg-light{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-light-rgb),var(--tblr-bg-opacity))!important}.bg-light-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-light-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-light-lt-rgb),var(--tblr-bg-opacity))!important}.border-light{border-color:#fcfdfe!important}.bg-dark{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dark-rgb),var(--tblr-bg-opacity))!important}.bg-dark-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-dark-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-dark-lt-rgb),var(--tblr-bg-opacity))!important}.border-dark{border-color:#182433!important}.bg-muted{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-muted-rgb),var(--tblr-bg-opacity))!important}.bg-muted-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-muted-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-muted-lt-rgb),var(--tblr-bg-opacity))!important}.border-muted{border-color:#667382!important}.bg-blue{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-blue-rgb),var(--tblr-bg-opacity))!important}.bg-blue-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-blue-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-blue-lt-rgb),var(--tblr-bg-opacity))!important}.border-blue{border-color:#206bc4!important}.bg-azure{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-azure-rgb),var(--tblr-bg-opacity))!important}.bg-azure-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-azure-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-azure-lt-rgb),var(--tblr-bg-opacity))!important}.border-azure{border-color:#4299e1!important}.bg-indigo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-indigo-rgb),var(--tblr-bg-opacity))!important}.bg-indigo-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-indigo-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-indigo-lt-rgb),var(--tblr-bg-opacity))!important}.border-indigo{border-color:#4263eb!important}.bg-purple{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-purple-rgb),var(--tblr-bg-opacity))!important}.bg-purple-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-purple-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-purple-lt-rgb),var(--tblr-bg-opacity))!important}.border-purple{border-color:#ae3ec9!important}.bg-pink{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pink-rgb),var(--tblr-bg-opacity))!important}.bg-pink-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-pink-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-pink-lt-rgb),var(--tblr-bg-opacity))!important}.border-pink{border-color:#d6336c!important}.bg-red{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-red-rgb),var(--tblr-bg-opacity))!important}.bg-red-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-red-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-red-lt-rgb),var(--tblr-bg-opacity))!important}.border-red{border-color:#d63939!important}.bg-orange{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-orange-rgb),var(--tblr-bg-opacity))!important}.bg-orange-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-orange-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-orange-lt-rgb),var(--tblr-bg-opacity))!important}.border-orange{border-color:#f76707!important}.bg-yellow{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-yellow-rgb),var(--tblr-bg-opacity))!important}.bg-yellow-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-yellow-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-yellow-lt-rgb),var(--tblr-bg-opacity))!important}.border-yellow{border-color:#f59f00!important}.bg-lime{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-lime-rgb),var(--tblr-bg-opacity))!important}.bg-lime-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-lime-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-lime-lt-rgb),var(--tblr-bg-opacity))!important}.border-lime{border-color:#74b816!important}.bg-green{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-green-rgb),var(--tblr-bg-opacity))!important}.bg-green-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-green-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-green-lt-rgb),var(--tblr-bg-opacity))!important}.border-green{border-color:#2fb344!important}.bg-teal{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-teal-rgb),var(--tblr-bg-opacity))!important}.bg-teal-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-teal-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-teal-lt-rgb),var(--tblr-bg-opacity))!important}.border-teal{border-color:#0ca678!important}.bg-cyan{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-cyan-rgb),var(--tblr-bg-opacity))!important}.bg-cyan-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-cyan-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-cyan-lt-rgb),var(--tblr-bg-opacity))!important}.border-cyan{border-color:#17a2b8!important}.bg-facebook{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-facebook-rgb),var(--tblr-bg-opacity))!important}.bg-facebook-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-facebook-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-facebook-lt-rgb),var(--tblr-bg-opacity))!important}.border-facebook{border-color:#1877f2!important}.bg-twitter{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-twitter-rgb),var(--tblr-bg-opacity))!important}.bg-twitter-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-twitter-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-twitter-lt-rgb),var(--tblr-bg-opacity))!important}.border-twitter{border-color:#1da1f2!important}.bg-linkedin{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-bg-opacity))!important}.bg-linkedin-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-linkedin-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-linkedin-lt-rgb),var(--tblr-bg-opacity))!important}.border-linkedin{border-color:#0a66c2!important}.bg-google{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-google-rgb),var(--tblr-bg-opacity))!important}.bg-google-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-google-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-google-lt-rgb),var(--tblr-bg-opacity))!important}.border-google{border-color:#dc4e41!important}.bg-youtube{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-youtube-rgb),var(--tblr-bg-opacity))!important}.bg-youtube-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-youtube-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-youtube-lt-rgb),var(--tblr-bg-opacity))!important}.border-youtube{border-color:red!important}.bg-vimeo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-bg-opacity))!important}.bg-vimeo-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-vimeo-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-vimeo-lt-rgb),var(--tblr-bg-opacity))!important}.border-vimeo{border-color:#1ab7ea!important}.bg-dribbble{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-bg-opacity))!important}.bg-dribbble-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-dribbble-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-dribbble-lt-rgb),var(--tblr-bg-opacity))!important}.border-dribbble{border-color:#ea4c89!important}.bg-github{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-github-rgb),var(--tblr-bg-opacity))!important}.bg-github-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-github-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-github-lt-rgb),var(--tblr-bg-opacity))!important}.border-github{border-color:#181717!important}.bg-instagram{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-instagram-rgb),var(--tblr-bg-opacity))!important}.bg-instagram-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-instagram-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-instagram-lt-rgb),var(--tblr-bg-opacity))!important}.border-instagram{border-color:#e4405f!important}.bg-pinterest{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-bg-opacity))!important}.bg-pinterest-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-pinterest-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-pinterest-lt-rgb),var(--tblr-bg-opacity))!important}.border-pinterest{border-color:#bd081c!important}.bg-vk{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vk-rgb),var(--tblr-bg-opacity))!important}.bg-vk-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-vk-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-vk-lt-rgb),var(--tblr-bg-opacity))!important}.border-vk{border-color:#6383a8!important}.bg-rss{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-rss-rgb),var(--tblr-bg-opacity))!important}.bg-rss-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-rss-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-rss-lt-rgb),var(--tblr-bg-opacity))!important}.border-rss{border-color:orange!important}.bg-flickr{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-flickr-rgb),var(--tblr-bg-opacity))!important}.bg-flickr-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-flickr-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-flickr-lt-rgb),var(--tblr-bg-opacity))!important}.border-flickr{border-color:#0063dc!important}.bg-bitbucket{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-bg-opacity))!important}.bg-bitbucket-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-bitbucket-lt-rgb),var(--tblr-bg-opacity))!important}.border-bitbucket{border-color:#0052cc!important}.bg-tabler{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-tabler-rgb),var(--tblr-bg-opacity))!important}.bg-tabler-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-tabler-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-tabler-lt-rgb),var(--tblr-bg-opacity))!important}.border-tabler{border-color:#206bc4!important}.bg-white{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-white-rgb),var(--tblr-bg-opacity))!important}.bg-white-lt{--tblr-bg-opacity:1;--tblr-text-opacity:1;color:rgba(var(--tblr-white-rgb),var(--tblr-text-opacity))!important;background-color:rgba(var(--tblr-white-lt-rgb),var(--tblr-bg-opacity))!important}.border-white{border-color:#fff!important}.text-primary{--tblr-text-opacity:1;color:rgba(var(--tblr-primary-rgb),var(--tblr-text-opacity))!important}.text-primary-fg{color:var(--tblr-primary-fg)!important}.text-secondary{--tblr-text-opacity:1;color:rgba(var(--tblr-secondary-rgb),var(--tblr-text-opacity))!important}.text-secondary-fg{color:var(--tblr-secondary-fg)!important}.text-success{--tblr-text-opacity:1;color:rgba(var(--tblr-success-rgb),var(--tblr-text-opacity))!important}.text-success-fg{color:var(--tblr-success-fg)!important}.text-info{--tblr-text-opacity:1;color:rgba(var(--tblr-info-rgb),var(--tblr-text-opacity))!important}.text-info-fg{color:var(--tblr-info-fg)!important}.text-warning{--tblr-text-opacity:1;color:rgba(var(--tblr-warning-rgb),var(--tblr-text-opacity))!important}.text-warning-fg{color:var(--tblr-warning-fg)!important}.text-danger{--tblr-text-opacity:1;color:rgba(var(--tblr-danger-rgb),var(--tblr-text-opacity))!important}.text-danger-fg{color:var(--tblr-danger-fg)!important}.text-light{--tblr-text-opacity:1;color:rgba(var(--tblr-light-rgb),var(--tblr-text-opacity))!important}.text-light-fg{color:var(--tblr-light-fg)!important}.text-dark{--tblr-text-opacity:1;color:rgba(var(--tblr-dark-rgb),var(--tblr-text-opacity))!important}.text-dark-fg{color:var(--tblr-dark-fg)!important}.text-muted{--tblr-text-opacity:1;color:rgba(var(--tblr-muted-rgb),var(--tblr-text-opacity))!important}.text-muted-fg{color:var(--tblr-muted-fg)!important}.text-blue{--tblr-text-opacity:1;color:rgba(var(--tblr-blue-rgb),var(--tblr-text-opacity))!important}.text-blue-fg{color:var(--tblr-blue-fg)!important}.text-azure{--tblr-text-opacity:1;color:rgba(var(--tblr-azure-rgb),var(--tblr-text-opacity))!important}.text-azure-fg{color:var(--tblr-azure-fg)!important}.text-indigo{--tblr-text-opacity:1;color:rgba(var(--tblr-indigo-rgb),var(--tblr-text-opacity))!important}.text-indigo-fg{color:var(--tblr-indigo-fg)!important}.text-purple{--tblr-text-opacity:1;color:rgba(var(--tblr-purple-rgb),var(--tblr-text-opacity))!important}.text-purple-fg{color:var(--tblr-purple-fg)!important}.text-pink{--tblr-text-opacity:1;color:rgba(var(--tblr-pink-rgb),var(--tblr-text-opacity))!important}.text-pink-fg{color:var(--tblr-pink-fg)!important}.text-red{--tblr-text-opacity:1;color:rgba(var(--tblr-red-rgb),var(--tblr-text-opacity))!important}.text-red-fg{color:var(--tblr-red-fg)!important}.text-orange{--tblr-text-opacity:1;color:rgba(var(--tblr-orange-rgb),var(--tblr-text-opacity))!important}.text-orange-fg{color:var(--tblr-orange-fg)!important}.text-yellow{--tblr-text-opacity:1;color:rgba(var(--tblr-yellow-rgb),var(--tblr-text-opacity))!important}.text-yellow-fg{color:var(--tblr-yellow-fg)!important}.text-lime{--tblr-text-opacity:1;color:rgba(var(--tblr-lime-rgb),var(--tblr-text-opacity))!important}.text-lime-fg{color:var(--tblr-lime-fg)!important}.text-green{--tblr-text-opacity:1;color:rgba(var(--tblr-green-rgb),var(--tblr-text-opacity))!important}.text-green-fg{color:var(--tblr-green-fg)!important}.text-teal{--tblr-text-opacity:1;color:rgba(var(--tblr-teal-rgb),var(--tblr-text-opacity))!important}.text-teal-fg{color:var(--tblr-teal-fg)!important}.text-cyan{--tblr-text-opacity:1;color:rgba(var(--tblr-cyan-rgb),var(--tblr-text-opacity))!important}.text-cyan-fg{color:var(--tblr-cyan-fg)!important}.text-facebook{--tblr-text-opacity:1;color:rgba(var(--tblr-facebook-rgb),var(--tblr-text-opacity))!important}.text-facebook-fg{color:var(--tblr-facebook-fg)!important}.text-twitter{--tblr-text-opacity:1;color:rgba(var(--tblr-twitter-rgb),var(--tblr-text-opacity))!important}.text-twitter-fg{color:var(--tblr-twitter-fg)!important}.text-linkedin{--tblr-text-opacity:1;color:rgba(var(--tblr-linkedin-rgb),var(--tblr-text-opacity))!important}.text-linkedin-fg{color:var(--tblr-linkedin-fg)!important}.text-google{--tblr-text-opacity:1;color:rgba(var(--tblr-google-rgb),var(--tblr-text-opacity))!important}.text-google-fg{color:var(--tblr-google-fg)!important}.text-youtube{--tblr-text-opacity:1;color:rgba(var(--tblr-youtube-rgb),var(--tblr-text-opacity))!important}.text-youtube-fg{color:var(--tblr-youtube-fg)!important}.text-vimeo{--tblr-text-opacity:1;color:rgba(var(--tblr-vimeo-rgb),var(--tblr-text-opacity))!important}.text-vimeo-fg{color:var(--tblr-vimeo-fg)!important}.text-dribbble{--tblr-text-opacity:1;color:rgba(var(--tblr-dribbble-rgb),var(--tblr-text-opacity))!important}.text-dribbble-fg{color:var(--tblr-dribbble-fg)!important}.text-github{--tblr-text-opacity:1;color:rgba(var(--tblr-github-rgb),var(--tblr-text-opacity))!important}.text-github-fg{color:var(--tblr-github-fg)!important}.text-instagram{--tblr-text-opacity:1;color:rgba(var(--tblr-instagram-rgb),var(--tblr-text-opacity))!important}.text-instagram-fg{color:var(--tblr-instagram-fg)!important}.text-pinterest{--tblr-text-opacity:1;color:rgba(var(--tblr-pinterest-rgb),var(--tblr-text-opacity))!important}.text-pinterest-fg{color:var(--tblr-pinterest-fg)!important}.text-vk{--tblr-text-opacity:1;color:rgba(var(--tblr-vk-rgb),var(--tblr-text-opacity))!important}.text-vk-fg{color:var(--tblr-vk-fg)!important}.text-rss{--tblr-text-opacity:1;color:rgba(var(--tblr-rss-rgb),var(--tblr-text-opacity))!important}.text-rss-fg{color:var(--tblr-rss-fg)!important}.text-flickr{--tblr-text-opacity:1;color:rgba(var(--tblr-flickr-rgb),var(--tblr-text-opacity))!important}.text-flickr-fg{color:var(--tblr-flickr-fg)!important}.text-bitbucket{--tblr-text-opacity:1;color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-text-opacity))!important}.text-bitbucket-fg{color:var(--tblr-bitbucket-fg)!important}.text-tabler{--tblr-text-opacity:1;color:rgba(var(--tblr-tabler-rgb),var(--tblr-text-opacity))!important}.text-tabler-fg{color:var(--tblr-tabler-fg)!important}.bg-gray-50{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-50-rgb),var(--tblr-bg-opacity))!important}.text-gray-50-fg{color:#182433!important}.bg-gray-100{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-100-rgb),var(--tblr-bg-opacity))!important}.text-gray-100-fg{color:#182433!important}.bg-gray-200{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-200-rgb),var(--tblr-bg-opacity))!important}.text-gray-200-fg{color:#182433!important}.bg-gray-300{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-300-rgb),var(--tblr-bg-opacity))!important}.text-gray-300-fg{color:#182433!important}.bg-gray-400{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-400-rgb),var(--tblr-bg-opacity))!important}.text-gray-400-fg{color:#fcfdfe!important}.bg-gray-500{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-500-rgb),var(--tblr-bg-opacity))!important}.text-gray-500-fg{color:#fcfdfe!important}.bg-gray-600{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-600-rgb),var(--tblr-bg-opacity))!important}.text-gray-600-fg{color:#fcfdfe!important}.bg-gray-700{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-700-rgb),var(--tblr-bg-opacity))!important}.text-gray-700-fg{color:#fcfdfe!important}.bg-gray-800{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-800-rgb),var(--tblr-bg-opacity))!important}.text-gray-800-fg{color:#fcfdfe!important}.bg-gray-900{--tblr-bg-opacity:.1;background-color:rgba(var(--tblr-gray-900-rgb),var(--tblr-bg-opacity))!important}.text-gray-900-fg{color:#fcfdfe!important}.scrollable{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scrollable.hover{overflow-y:hidden}.scrollable.hover>*{margin-top:-1px}.scrollable.hover:active,.scrollable.hover:focus,.scrollable.hover:hover{overflow:visible;overflow-y:auto}.touch .scrollable{overflow-y:auto!important}.scroll-x,.scroll-y{overflow:hidden;-webkit-overflow-scrolling:touch}.scroll-y{overflow-y:auto}.scroll-x{overflow-x:auto}.no-scroll{overflow:hidden}.w-0{width:0!important}.h-0{height:0!important}.w-1{width:.25rem!important}.h-1{height:.25rem!important}.w-2{width:.5rem!important}.h-2{height:.5rem!important}.w-3{width:1rem!important}.h-3{height:1rem!important}.w-4{width:1.5rem!important}.h-4{height:1.5rem!important}.w-5{width:2rem!important}.h-5{height:2rem!important}.w-6{width:3rem!important}.h-6{height:3rem!important}.w-7{width:5rem!important}.h-7{height:5rem!important}.w-8{width:8rem!important}.h-8{height:8rem!important}.w-auto{width:auto!important}.h-auto{height:auto!important}.w-px{width:1px!important}.h-px{height:1px!important}.w-full{width:100%!important}.h-full{height:100%!important}.opacity-0{opacity:0!important}.opacity-5{opacity:.05!important}.opacity-10{opacity:.1!important}.opacity-15{opacity:.15!important}.opacity-20{opacity:.2!important}.opacity-25{opacity:.25!important}.opacity-30{opacity:.3!important}.opacity-35{opacity:.35!important}.opacity-40{opacity:.4!important}.opacity-45{opacity:.45!important}.opacity-50{opacity:.5!important}.opacity-55{opacity:.55!important}.opacity-60{opacity:.6!important}.opacity-65{opacity:.65!important}.opacity-70{opacity:.7!important}.opacity-75{opacity:.75!important}.opacity-80{opacity:.8!important}.opacity-85{opacity:.85!important}.opacity-90{opacity:.9!important}.opacity-95{opacity:.95!important}.opacity-100{opacity:1!important}.hover-shadow-sm:hover{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.hover-shadow:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.hover-shadow-lg:hover{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.hover-shadow-none:hover{box-shadow:none!important}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto} \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ad.svg b/bin/main/static/tabler/dist/img/flags/ad.svg new file mode 100644 index 0000000..83f9a9d --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ad.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ae.svg b/bin/main/static/tabler/dist/img/flags/ae.svg new file mode 100644 index 0000000..79361a5 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ae.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/af.svg b/bin/main/static/tabler/dist/img/flags/af.svg new file mode 100644 index 0000000..e931411 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ag.svg b/bin/main/static/tabler/dist/img/flags/ag.svg new file mode 100644 index 0000000..f990176 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ai.svg b/bin/main/static/tabler/dist/img/flags/ai.svg new file mode 100644 index 0000000..94c79ca --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ai.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/al.svg b/bin/main/static/tabler/dist/img/flags/al.svg new file mode 100644 index 0000000..0376623 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/al.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/am.svg b/bin/main/static/tabler/dist/img/flags/am.svg new file mode 100644 index 0000000..0698aa6 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/am.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ao.svg b/bin/main/static/tabler/dist/img/flags/ao.svg new file mode 100644 index 0000000..e0ffd55 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ao.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/aq.svg b/bin/main/static/tabler/dist/img/flags/aq.svg new file mode 100644 index 0000000..b238e93 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/aq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ar.svg b/bin/main/static/tabler/dist/img/flags/ar.svg new file mode 100644 index 0000000..0349a30 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/as.svg b/bin/main/static/tabler/dist/img/flags/as.svg new file mode 100644 index 0000000..fa824d9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/as.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/at.svg b/bin/main/static/tabler/dist/img/flags/at.svg new file mode 100644 index 0000000..eb884b8 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/at.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/au.svg b/bin/main/static/tabler/dist/img/flags/au.svg new file mode 100644 index 0000000..d9f3feb --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/au.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/aw.svg b/bin/main/static/tabler/dist/img/flags/aw.svg new file mode 100644 index 0000000..cb622e6 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/aw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ax.svg b/bin/main/static/tabler/dist/img/flags/ax.svg new file mode 100644 index 0000000..77610aa --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ax.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/az.svg b/bin/main/static/tabler/dist/img/flags/az.svg new file mode 100644 index 0000000..5efacae --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/az.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ba.svg b/bin/main/static/tabler/dist/img/flags/ba.svg new file mode 100644 index 0000000..4c877aa --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ba.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bb.svg b/bin/main/static/tabler/dist/img/flags/bb.svg new file mode 100644 index 0000000..94ac735 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bd.svg b/bin/main/static/tabler/dist/img/flags/bd.svg new file mode 100644 index 0000000..45de3a6 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/be.svg b/bin/main/static/tabler/dist/img/flags/be.svg new file mode 100644 index 0000000..2ffcf7a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/be.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bf.svg b/bin/main/static/tabler/dist/img/flags/bf.svg new file mode 100644 index 0000000..4d28804 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bg.svg b/bin/main/static/tabler/dist/img/flags/bg.svg new file mode 100644 index 0000000..48f09f2 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bh.svg b/bin/main/static/tabler/dist/img/flags/bh.svg new file mode 100644 index 0000000..1fcc520 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bi.svg b/bin/main/static/tabler/dist/img/flags/bi.svg new file mode 100644 index 0000000..7d02d9b --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bj.svg b/bin/main/static/tabler/dist/img/flags/bj.svg new file mode 100644 index 0000000..10ae221 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bl.svg b/bin/main/static/tabler/dist/img/flags/bl.svg new file mode 100644 index 0000000..c685996 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bm.svg b/bin/main/static/tabler/dist/img/flags/bm.svg new file mode 100644 index 0000000..cf9a3be --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bn.svg b/bin/main/static/tabler/dist/img/flags/bn.svg new file mode 100644 index 0000000..dd0a86c --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bo.svg b/bin/main/static/tabler/dist/img/flags/bo.svg new file mode 100644 index 0000000..e2a7443 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bq.svg b/bin/main/static/tabler/dist/img/flags/bq.svg new file mode 100644 index 0000000..d4cdda7 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/br.svg b/bin/main/static/tabler/dist/img/flags/br.svg new file mode 100644 index 0000000..d02e603 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/br.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bs.svg b/bin/main/static/tabler/dist/img/flags/bs.svg new file mode 100644 index 0000000..09436e1 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bt.svg b/bin/main/static/tabler/dist/img/flags/bt.svg new file mode 100644 index 0000000..e063de1 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bv.svg b/bin/main/static/tabler/dist/img/flags/bv.svg new file mode 100644 index 0000000..62f9ff8 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bw.svg b/bin/main/static/tabler/dist/img/flags/bw.svg new file mode 100644 index 0000000..33c98b1 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/by.svg b/bin/main/static/tabler/dist/img/flags/by.svg new file mode 100644 index 0000000..a8e79aa --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/by.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/bz.svg b/bin/main/static/tabler/dist/img/flags/bz.svg new file mode 100644 index 0000000..ef53d38 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/bz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ca.svg b/bin/main/static/tabler/dist/img/flags/ca.svg new file mode 100644 index 0000000..5d36416 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ca.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cc.svg b/bin/main/static/tabler/dist/img/flags/cc.svg new file mode 100644 index 0000000..1a57a69 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cd.svg b/bin/main/static/tabler/dist/img/flags/cd.svg new file mode 100644 index 0000000..340bcb3 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cf.svg b/bin/main/static/tabler/dist/img/flags/cf.svg new file mode 100644 index 0000000..92b2dd5 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cg.svg b/bin/main/static/tabler/dist/img/flags/cg.svg new file mode 100644 index 0000000..c2399c9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ch.svg b/bin/main/static/tabler/dist/img/flags/ch.svg new file mode 100644 index 0000000..d4580b2 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ci.svg b/bin/main/static/tabler/dist/img/flags/ci.svg new file mode 100644 index 0000000..43741d1 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ci.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ck.svg b/bin/main/static/tabler/dist/img/flags/ck.svg new file mode 100644 index 0000000..56ca759 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ck.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cl.svg b/bin/main/static/tabler/dist/img/flags/cl.svg new file mode 100644 index 0000000..725acd9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cm.svg b/bin/main/static/tabler/dist/img/flags/cm.svg new file mode 100644 index 0000000..99ee100 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cn.svg b/bin/main/static/tabler/dist/img/flags/cn.svg new file mode 100644 index 0000000..c00e72f --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/co.svg b/bin/main/static/tabler/dist/img/flags/co.svg new file mode 100644 index 0000000..c53ea5b --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/co.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cr.svg b/bin/main/static/tabler/dist/img/flags/cr.svg new file mode 100644 index 0000000..de08765 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cu.svg b/bin/main/static/tabler/dist/img/flags/cu.svg new file mode 100644 index 0000000..0895a0a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cv.svg b/bin/main/static/tabler/dist/img/flags/cv.svg new file mode 100644 index 0000000..74a75c0 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cw.svg b/bin/main/static/tabler/dist/img/flags/cw.svg new file mode 100644 index 0000000..1edc7f7 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cx.svg b/bin/main/static/tabler/dist/img/flags/cx.svg new file mode 100644 index 0000000..b6a30de --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cy.svg b/bin/main/static/tabler/dist/img/flags/cy.svg new file mode 100644 index 0000000..6ebbe05 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/cz.svg b/bin/main/static/tabler/dist/img/flags/cz.svg new file mode 100644 index 0000000..addc416 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/cz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/de.svg b/bin/main/static/tabler/dist/img/flags/de.svg new file mode 100644 index 0000000..295bf65 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/de.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/dj.svg b/bin/main/static/tabler/dist/img/flags/dj.svg new file mode 100644 index 0000000..7417441 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/dj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/dk.svg b/bin/main/static/tabler/dist/img/flags/dk.svg new file mode 100644 index 0000000..784279c --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/dk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/dm.svg b/bin/main/static/tabler/dist/img/flags/dm.svg new file mode 100644 index 0000000..f939451 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/dm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/do.svg b/bin/main/static/tabler/dist/img/flags/do.svg new file mode 100644 index 0000000..0238de3 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/do.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/dz.svg b/bin/main/static/tabler/dist/img/flags/dz.svg new file mode 100644 index 0000000..e00a779 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/dz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ec.svg b/bin/main/static/tabler/dist/img/flags/ec.svg new file mode 100644 index 0000000..983e567 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ee.svg b/bin/main/static/tabler/dist/img/flags/ee.svg new file mode 100644 index 0000000..21743c9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/eg.svg b/bin/main/static/tabler/dist/img/flags/eg.svg new file mode 100644 index 0000000..001fde5 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/eg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/eh.svg b/bin/main/static/tabler/dist/img/flags/eh.svg new file mode 100644 index 0000000..cf5af97 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/eh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/er.svg b/bin/main/static/tabler/dist/img/flags/er.svg new file mode 100644 index 0000000..ac781cc --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/er.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/es-ct.svg b/bin/main/static/tabler/dist/img/flags/es-ct.svg new file mode 100644 index 0000000..7dd283a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/es-ct.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/es.svg b/bin/main/static/tabler/dist/img/flags/es.svg new file mode 100644 index 0000000..4d78f9b --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/es.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/et.svg b/bin/main/static/tabler/dist/img/flags/et.svg new file mode 100644 index 0000000..9554f58 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/et.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/eu.svg b/bin/main/static/tabler/dist/img/flags/eu.svg new file mode 100644 index 0000000..887edba --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/eu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/fi.svg b/bin/main/static/tabler/dist/img/flags/fi.svg new file mode 100644 index 0000000..c6a6c4f --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/fi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/fj.svg b/bin/main/static/tabler/dist/img/flags/fj.svg new file mode 100644 index 0000000..b424cf6 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/fj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/fk.svg b/bin/main/static/tabler/dist/img/flags/fk.svg new file mode 100644 index 0000000..0e870df --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/fk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/fm.svg b/bin/main/static/tabler/dist/img/flags/fm.svg new file mode 100644 index 0000000..5fe1c26 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/fm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/fo.svg b/bin/main/static/tabler/dist/img/flags/fo.svg new file mode 100644 index 0000000..9eafc41 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/fo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/fr.svg b/bin/main/static/tabler/dist/img/flags/fr.svg new file mode 100644 index 0000000..c685996 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/fr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ga.svg b/bin/main/static/tabler/dist/img/flags/ga.svg new file mode 100644 index 0000000..0e8b64c --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ga.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gb-eng.svg b/bin/main/static/tabler/dist/img/flags/gb-eng.svg new file mode 100644 index 0000000..da9792d --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gb-eng.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gb-nir.svg b/bin/main/static/tabler/dist/img/flags/gb-nir.svg new file mode 100644 index 0000000..0a41b57 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gb-nir.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gb-sct.svg b/bin/main/static/tabler/dist/img/flags/gb-sct.svg new file mode 100644 index 0000000..7605b7f --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gb-sct.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gb-wls.svg b/bin/main/static/tabler/dist/img/flags/gb-wls.svg new file mode 100644 index 0000000..c903128 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gb-wls.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gb.svg b/bin/main/static/tabler/dist/img/flags/gb.svg new file mode 100644 index 0000000..21fcf54 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gd.svg b/bin/main/static/tabler/dist/img/flags/gd.svg new file mode 100644 index 0000000..6c954a9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ge.svg b/bin/main/static/tabler/dist/img/flags/ge.svg new file mode 100644 index 0000000..d4d3cd2 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gf.svg b/bin/main/static/tabler/dist/img/flags/gf.svg new file mode 100644 index 0000000..718b04c --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gg.svg b/bin/main/static/tabler/dist/img/flags/gg.svg new file mode 100644 index 0000000..254ac6a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gh.svg b/bin/main/static/tabler/dist/img/flags/gh.svg new file mode 100644 index 0000000..778f179 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gi.svg b/bin/main/static/tabler/dist/img/flags/gi.svg new file mode 100644 index 0000000..1053c9a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gl.svg b/bin/main/static/tabler/dist/img/flags/gl.svg new file mode 100644 index 0000000..4ec8b3d --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gm.svg b/bin/main/static/tabler/dist/img/flags/gm.svg new file mode 100644 index 0000000..36cb606 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gn.svg b/bin/main/static/tabler/dist/img/flags/gn.svg new file mode 100644 index 0000000..6764fe5 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gp.svg b/bin/main/static/tabler/dist/img/flags/gp.svg new file mode 100644 index 0000000..c685996 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gq.svg b/bin/main/static/tabler/dist/img/flags/gq.svg new file mode 100644 index 0000000..5adad6e --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gr.svg b/bin/main/static/tabler/dist/img/flags/gr.svg new file mode 100644 index 0000000..2bd8ab7 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gs.svg b/bin/main/static/tabler/dist/img/flags/gs.svg new file mode 100644 index 0000000..3cfb6d2 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gs.svg @@ -0,0 +1 @@ +LEOTERRRRREOOAAAMPPPITTMG \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gt.svg b/bin/main/static/tabler/dist/img/flags/gt.svg new file mode 100644 index 0000000..1969336 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gu.svg b/bin/main/static/tabler/dist/img/flags/gu.svg new file mode 100644 index 0000000..6902892 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gu.svg @@ -0,0 +1 @@ +GUAMGUAM \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gw.svg b/bin/main/static/tabler/dist/img/flags/gw.svg new file mode 100644 index 0000000..67bc070 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/gy.svg b/bin/main/static/tabler/dist/img/flags/gy.svg new file mode 100644 index 0000000..28eabe9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/gy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/hk.svg b/bin/main/static/tabler/dist/img/flags/hk.svg new file mode 100644 index 0000000..d918869 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/hk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/hm.svg b/bin/main/static/tabler/dist/img/flags/hm.svg new file mode 100644 index 0000000..d524666 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/hm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/hn.svg b/bin/main/static/tabler/dist/img/flags/hn.svg new file mode 100644 index 0000000..6266365 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/hn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/hr.svg b/bin/main/static/tabler/dist/img/flags/hr.svg new file mode 100644 index 0000000..a3da6ea --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/hr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ht.svg b/bin/main/static/tabler/dist/img/flags/ht.svg new file mode 100644 index 0000000..2e1270b --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ht.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/hu.svg b/bin/main/static/tabler/dist/img/flags/hu.svg new file mode 100644 index 0000000..dccf792 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/hu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/id.svg b/bin/main/static/tabler/dist/img/flags/id.svg new file mode 100644 index 0000000..2950f15 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/id.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ie.svg b/bin/main/static/tabler/dist/img/flags/ie.svg new file mode 100644 index 0000000..4694ec2 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/il.svg b/bin/main/static/tabler/dist/img/flags/il.svg new file mode 100644 index 0000000..71b1038 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/il.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/im.svg b/bin/main/static/tabler/dist/img/flags/im.svg new file mode 100644 index 0000000..3379547 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/im.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/in.svg b/bin/main/static/tabler/dist/img/flags/in.svg new file mode 100644 index 0000000..bfe6c4e --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/in.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/io.svg b/bin/main/static/tabler/dist/img/flags/io.svg new file mode 100644 index 0000000..aea455a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/io.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/iq.svg b/bin/main/static/tabler/dist/img/flags/iq.svg new file mode 100644 index 0000000..4021cbf --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/iq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ir.svg b/bin/main/static/tabler/dist/img/flags/ir.svg new file mode 100644 index 0000000..6e854ba --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ir.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/is.svg b/bin/main/static/tabler/dist/img/flags/is.svg new file mode 100644 index 0000000..c5dd6a7 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/is.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/it.svg b/bin/main/static/tabler/dist/img/flags/it.svg new file mode 100644 index 0000000..51c162d --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/it.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/je.svg b/bin/main/static/tabler/dist/img/flags/je.svg new file mode 100644 index 0000000..29a0ff9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/je.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/jm.svg b/bin/main/static/tabler/dist/img/flags/jm.svg new file mode 100644 index 0000000..cd807bd --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/jm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/jo.svg b/bin/main/static/tabler/dist/img/flags/jo.svg new file mode 100644 index 0000000..6b9e790 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/jo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/jp.svg b/bin/main/static/tabler/dist/img/flags/jp.svg new file mode 100644 index 0000000..5447154 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/jp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ke.svg b/bin/main/static/tabler/dist/img/flags/ke.svg new file mode 100644 index 0000000..65b84a1 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ke.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/kg.svg b/bin/main/static/tabler/dist/img/flags/kg.svg new file mode 100644 index 0000000..73f6403 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/kg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/kh.svg b/bin/main/static/tabler/dist/img/flags/kh.svg new file mode 100644 index 0000000..412939b --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/kh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ki.svg b/bin/main/static/tabler/dist/img/flags/ki.svg new file mode 100644 index 0000000..9bc7ccf --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ki.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/km.svg b/bin/main/static/tabler/dist/img/flags/km.svg new file mode 100644 index 0000000..75b1a35 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/km.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/kn.svg b/bin/main/static/tabler/dist/img/flags/kn.svg new file mode 100644 index 0000000..47b982b --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/kn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/kp.svg b/bin/main/static/tabler/dist/img/flags/kp.svg new file mode 100644 index 0000000..d93c3da --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/kp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/kr.svg b/bin/main/static/tabler/dist/img/flags/kr.svg new file mode 100644 index 0000000..8a7fc9d --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/kr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/kw.svg b/bin/main/static/tabler/dist/img/flags/kw.svg new file mode 100644 index 0000000..26c8dfc --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/kw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ky.svg b/bin/main/static/tabler/dist/img/flags/ky.svg new file mode 100644 index 0000000..37214cd --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ky.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/kz.svg b/bin/main/static/tabler/dist/img/flags/kz.svg new file mode 100644 index 0000000..ace51d1 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/kz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/la.svg b/bin/main/static/tabler/dist/img/flags/la.svg new file mode 100644 index 0000000..1831221 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/la.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/lb.svg b/bin/main/static/tabler/dist/img/flags/lb.svg new file mode 100644 index 0000000..3430140 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/lb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/lc.svg b/bin/main/static/tabler/dist/img/flags/lc.svg new file mode 100644 index 0000000..5b54749 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/lc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/li.svg b/bin/main/static/tabler/dist/img/flags/li.svg new file mode 100644 index 0000000..f5b811a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/li.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/lk.svg b/bin/main/static/tabler/dist/img/flags/lk.svg new file mode 100644 index 0000000..147ab03 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/lk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/lr.svg b/bin/main/static/tabler/dist/img/flags/lr.svg new file mode 100644 index 0000000..cba6120 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/lr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ls.svg b/bin/main/static/tabler/dist/img/flags/ls.svg new file mode 100644 index 0000000..ad9e21b --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ls.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/lt.svg b/bin/main/static/tabler/dist/img/flags/lt.svg new file mode 100644 index 0000000..c8e8ce7 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/lt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/lu.svg b/bin/main/static/tabler/dist/img/flags/lu.svg new file mode 100644 index 0000000..ec2f3f3 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/lu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/lv.svg b/bin/main/static/tabler/dist/img/flags/lv.svg new file mode 100644 index 0000000..c5edae7 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/lv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ly.svg b/bin/main/static/tabler/dist/img/flags/ly.svg new file mode 100644 index 0000000..8a6cd8d --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ly.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ma.svg b/bin/main/static/tabler/dist/img/flags/ma.svg new file mode 100644 index 0000000..cb38ba6 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ma.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mc.svg b/bin/main/static/tabler/dist/img/flags/mc.svg new file mode 100644 index 0000000..6387108 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/md.svg b/bin/main/static/tabler/dist/img/flags/md.svg new file mode 100644 index 0000000..bc884cf --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/md.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/me.svg b/bin/main/static/tabler/dist/img/flags/me.svg new file mode 100644 index 0000000..2115bbf --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/me.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mf.svg b/bin/main/static/tabler/dist/img/flags/mf.svg new file mode 100644 index 0000000..c685996 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mg.svg b/bin/main/static/tabler/dist/img/flags/mg.svg new file mode 100644 index 0000000..3a4e733 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mh.svg b/bin/main/static/tabler/dist/img/flags/mh.svg new file mode 100644 index 0000000..6b3853a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mk.svg b/bin/main/static/tabler/dist/img/flags/mk.svg new file mode 100644 index 0000000..27ca5bc --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ml.svg b/bin/main/static/tabler/dist/img/flags/ml.svg new file mode 100644 index 0000000..671ea9e --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ml.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mm.svg b/bin/main/static/tabler/dist/img/flags/mm.svg new file mode 100644 index 0000000..50023aa --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mn.svg b/bin/main/static/tabler/dist/img/flags/mn.svg new file mode 100644 index 0000000..ab007f2 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mo.svg b/bin/main/static/tabler/dist/img/flags/mo.svg new file mode 100644 index 0000000..37eac60 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mp.svg b/bin/main/static/tabler/dist/img/flags/mp.svg new file mode 100644 index 0000000..ac50b8a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mq.svg b/bin/main/static/tabler/dist/img/flags/mq.svg new file mode 100644 index 0000000..c685996 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mr.svg b/bin/main/static/tabler/dist/img/flags/mr.svg new file mode 100644 index 0000000..18f3aac --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ms.svg b/bin/main/static/tabler/dist/img/flags/ms.svg new file mode 100644 index 0000000..2593d0a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ms.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mt.svg b/bin/main/static/tabler/dist/img/flags/mt.svg new file mode 100644 index 0000000..590c7d0 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mu.svg b/bin/main/static/tabler/dist/img/flags/mu.svg new file mode 100644 index 0000000..4596e6c --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mv.svg b/bin/main/static/tabler/dist/img/flags/mv.svg new file mode 100644 index 0000000..8c35524 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mw.svg b/bin/main/static/tabler/dist/img/flags/mw.svg new file mode 100644 index 0000000..3c6937c --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mx.svg b/bin/main/static/tabler/dist/img/flags/mx.svg new file mode 100644 index 0000000..5590e41 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/my.svg b/bin/main/static/tabler/dist/img/flags/my.svg new file mode 100644 index 0000000..ee11210 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/my.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/mz.svg b/bin/main/static/tabler/dist/img/flags/mz.svg new file mode 100644 index 0000000..dfed4a6 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/mz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/na.svg b/bin/main/static/tabler/dist/img/flags/na.svg new file mode 100644 index 0000000..cddd951 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/na.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/nc.svg b/bin/main/static/tabler/dist/img/flags/nc.svg new file mode 100644 index 0000000..c685996 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/nc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ne.svg b/bin/main/static/tabler/dist/img/flags/ne.svg new file mode 100644 index 0000000..6d2cc44 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ne.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/nf.svg b/bin/main/static/tabler/dist/img/flags/nf.svg new file mode 100644 index 0000000..4918702 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/nf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ng.svg b/bin/main/static/tabler/dist/img/flags/ng.svg new file mode 100644 index 0000000..85b7be5 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ng.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ni.svg b/bin/main/static/tabler/dist/img/flags/ni.svg new file mode 100644 index 0000000..f4d3e2b --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ni.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/nl.svg b/bin/main/static/tabler/dist/img/flags/nl.svg new file mode 100644 index 0000000..5cab4d9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/nl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/no.svg b/bin/main/static/tabler/dist/img/flags/no.svg new file mode 100644 index 0000000..d0c7e80 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/no.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/np.svg b/bin/main/static/tabler/dist/img/flags/np.svg new file mode 100644 index 0000000..170fe14 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/np.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/nr.svg b/bin/main/static/tabler/dist/img/flags/nr.svg new file mode 100644 index 0000000..1b1b93a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/nr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/nu.svg b/bin/main/static/tabler/dist/img/flags/nu.svg new file mode 100644 index 0000000..a7ece66 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/nu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/nz.svg b/bin/main/static/tabler/dist/img/flags/nz.svg new file mode 100644 index 0000000..d9a7f72 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/nz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/om.svg b/bin/main/static/tabler/dist/img/flags/om.svg new file mode 100644 index 0000000..6ee8efe --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/om.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/pa.svg b/bin/main/static/tabler/dist/img/flags/pa.svg new file mode 100644 index 0000000..dad3b46 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/pa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/pe.svg b/bin/main/static/tabler/dist/img/flags/pe.svg new file mode 100644 index 0000000..a203511 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/pe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/pf.svg b/bin/main/static/tabler/dist/img/flags/pf.svg new file mode 100644 index 0000000..123c864 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/pf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/pg.svg b/bin/main/static/tabler/dist/img/flags/pg.svg new file mode 100644 index 0000000..254dcb1 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/pg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ph.svg b/bin/main/static/tabler/dist/img/flags/ph.svg new file mode 100644 index 0000000..b679573 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ph.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/pk.svg b/bin/main/static/tabler/dist/img/flags/pk.svg new file mode 100644 index 0000000..a09c059 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/pk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/pl.svg b/bin/main/static/tabler/dist/img/flags/pl.svg new file mode 100644 index 0000000..cefafa8 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/pl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/pm.svg b/bin/main/static/tabler/dist/img/flags/pm.svg new file mode 100644 index 0000000..c685996 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/pm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/pn.svg b/bin/main/static/tabler/dist/img/flags/pn.svg new file mode 100644 index 0000000..3e0bdef --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/pn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/pr.svg b/bin/main/static/tabler/dist/img/flags/pr.svg new file mode 100644 index 0000000..dafc6fa --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/pr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ps.svg b/bin/main/static/tabler/dist/img/flags/ps.svg new file mode 100644 index 0000000..52c91bc --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ps.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/pt.svg b/bin/main/static/tabler/dist/img/flags/pt.svg new file mode 100644 index 0000000..02466e1 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/pt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/pw.svg b/bin/main/static/tabler/dist/img/flags/pw.svg new file mode 100644 index 0000000..b5087ca --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/pw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/py.svg b/bin/main/static/tabler/dist/img/flags/py.svg new file mode 100644 index 0000000..f70b521 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/py.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/qa.svg b/bin/main/static/tabler/dist/img/flags/qa.svg new file mode 100644 index 0000000..1f2866d --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/qa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/re.svg b/bin/main/static/tabler/dist/img/flags/re.svg new file mode 100644 index 0000000..c685996 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/re.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ro.svg b/bin/main/static/tabler/dist/img/flags/ro.svg new file mode 100644 index 0000000..74d28c9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ro.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/rs.svg b/bin/main/static/tabler/dist/img/flags/rs.svg new file mode 100644 index 0000000..000470c --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/rs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ru.svg b/bin/main/static/tabler/dist/img/flags/ru.svg new file mode 100644 index 0000000..bb73b9a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ru.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/rw.svg b/bin/main/static/tabler/dist/img/flags/rw.svg new file mode 100644 index 0000000..e5af6f7 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/rw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sa.svg b/bin/main/static/tabler/dist/img/flags/sa.svg new file mode 100644 index 0000000..736a424 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sb.svg b/bin/main/static/tabler/dist/img/flags/sb.svg new file mode 100644 index 0000000..38ca74a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sc.svg b/bin/main/static/tabler/dist/img/flags/sc.svg new file mode 100644 index 0000000..e852c2d --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sd.svg b/bin/main/static/tabler/dist/img/flags/sd.svg new file mode 100644 index 0000000..cd5aebc --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/se.svg b/bin/main/static/tabler/dist/img/flags/se.svg new file mode 100644 index 0000000..5c88cf3 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/se.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sg.svg b/bin/main/static/tabler/dist/img/flags/sg.svg new file mode 100644 index 0000000..6b144d6 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sh.svg b/bin/main/static/tabler/dist/img/flags/sh.svg new file mode 100644 index 0000000..daf4b9c --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/si.svg b/bin/main/static/tabler/dist/img/flags/si.svg new file mode 100644 index 0000000..aee54c9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/si.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sj.svg b/bin/main/static/tabler/dist/img/flags/sj.svg new file mode 100644 index 0000000..26e3aec --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sk.svg b/bin/main/static/tabler/dist/img/flags/sk.svg new file mode 100644 index 0000000..02f3665 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sl.svg b/bin/main/static/tabler/dist/img/flags/sl.svg new file mode 100644 index 0000000..1ba0f28 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sm.svg b/bin/main/static/tabler/dist/img/flags/sm.svg new file mode 100644 index 0000000..2898140 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sm.svg @@ -0,0 +1 @@ +LIBERTAS \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sn.svg b/bin/main/static/tabler/dist/img/flags/sn.svg new file mode 100644 index 0000000..717a0be --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/so.svg b/bin/main/static/tabler/dist/img/flags/so.svg new file mode 100644 index 0000000..ac56662 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/so.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sr.svg b/bin/main/static/tabler/dist/img/flags/sr.svg new file mode 100644 index 0000000..e98c286 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ss.svg b/bin/main/static/tabler/dist/img/flags/ss.svg new file mode 100644 index 0000000..e0671b1 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ss.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/st.svg b/bin/main/static/tabler/dist/img/flags/st.svg new file mode 100644 index 0000000..b4bd65a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/st.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sv.svg b/bin/main/static/tabler/dist/img/flags/sv.svg new file mode 100644 index 0000000..b4ae63b --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sx.svg b/bin/main/static/tabler/dist/img/flags/sx.svg new file mode 100644 index 0000000..bf73829 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sy.svg b/bin/main/static/tabler/dist/img/flags/sy.svg new file mode 100644 index 0000000..3f6867b --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/sz.svg b/bin/main/static/tabler/dist/img/flags/sz.svg new file mode 100644 index 0000000..6b66785 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/sz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/tc.svg b/bin/main/static/tabler/dist/img/flags/tc.svg new file mode 100644 index 0000000..49c6077 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/tc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/td.svg b/bin/main/static/tabler/dist/img/flags/td.svg new file mode 100644 index 0000000..15002cc --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/td.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/tf.svg b/bin/main/static/tabler/dist/img/flags/tf.svg new file mode 100644 index 0000000..4c6ba14 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/tf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/tg.svg b/bin/main/static/tabler/dist/img/flags/tg.svg new file mode 100644 index 0000000..f6a01f5 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/tg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/th.svg b/bin/main/static/tabler/dist/img/flags/th.svg new file mode 100644 index 0000000..79163c7 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/th.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/tj.svg b/bin/main/static/tabler/dist/img/flags/tj.svg new file mode 100644 index 0000000..f65a22a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/tj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/tk.svg b/bin/main/static/tabler/dist/img/flags/tk.svg new file mode 100644 index 0000000..e00e360 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/tk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/tl.svg b/bin/main/static/tabler/dist/img/flags/tl.svg new file mode 100644 index 0000000..09a8e93 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/tl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/tm.svg b/bin/main/static/tabler/dist/img/flags/tm.svg new file mode 100644 index 0000000..464c7fe --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/tm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/tn.svg b/bin/main/static/tabler/dist/img/flags/tn.svg new file mode 100644 index 0000000..c2b0cd5 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/tn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/to.svg b/bin/main/static/tabler/dist/img/flags/to.svg new file mode 100644 index 0000000..dd89121 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/to.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/tr.svg b/bin/main/static/tabler/dist/img/flags/tr.svg new file mode 100644 index 0000000..a98b729 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/tr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/tt.svg b/bin/main/static/tabler/dist/img/flags/tt.svg new file mode 100644 index 0000000..40d595a --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/tt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/tv.svg b/bin/main/static/tabler/dist/img/flags/tv.svg new file mode 100644 index 0000000..2c358df --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/tv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/tw.svg b/bin/main/static/tabler/dist/img/flags/tw.svg new file mode 100644 index 0000000..5d00048 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/tw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/tz.svg b/bin/main/static/tabler/dist/img/flags/tz.svg new file mode 100644 index 0000000..df5babf --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/tz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ua.svg b/bin/main/static/tabler/dist/img/flags/ua.svg new file mode 100644 index 0000000..d4baa97 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ua.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ug.svg b/bin/main/static/tabler/dist/img/flags/ug.svg new file mode 100644 index 0000000..047cd1e --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/um.svg b/bin/main/static/tabler/dist/img/flags/um.svg new file mode 100644 index 0000000..2e08fba --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/um.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/un.svg b/bin/main/static/tabler/dist/img/flags/un.svg new file mode 100644 index 0000000..c28b615 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/un.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/us.svg b/bin/main/static/tabler/dist/img/flags/us.svg new file mode 100644 index 0000000..09aaba1 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/us.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/uy.svg b/bin/main/static/tabler/dist/img/flags/uy.svg new file mode 100644 index 0000000..4c474f9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/uy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/uz.svg b/bin/main/static/tabler/dist/img/flags/uz.svg new file mode 100644 index 0000000..563a421 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/uz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/va.svg b/bin/main/static/tabler/dist/img/flags/va.svg new file mode 100644 index 0000000..79dd722 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/va.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/vc.svg b/bin/main/static/tabler/dist/img/flags/vc.svg new file mode 100644 index 0000000..17b5e90 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/vc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ve.svg b/bin/main/static/tabler/dist/img/flags/ve.svg new file mode 100644 index 0000000..6d73088 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ve.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/vg.svg b/bin/main/static/tabler/dist/img/flags/vg.svg new file mode 100644 index 0000000..94b83ef --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/vg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/vi.svg b/bin/main/static/tabler/dist/img/flags/vi.svg new file mode 100644 index 0000000..79d3912 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/vi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/vn.svg b/bin/main/static/tabler/dist/img/flags/vn.svg new file mode 100644 index 0000000..cd4207e --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/vn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/vu.svg b/bin/main/static/tabler/dist/img/flags/vu.svg new file mode 100644 index 0000000..750cc0d --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/vu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/wf.svg b/bin/main/static/tabler/dist/img/flags/wf.svg new file mode 100644 index 0000000..c685996 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/wf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ws.svg b/bin/main/static/tabler/dist/img/flags/ws.svg new file mode 100644 index 0000000..10d90ea --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ws.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/ye.svg b/bin/main/static/tabler/dist/img/flags/ye.svg new file mode 100644 index 0000000..651505d --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/ye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/yt.svg b/bin/main/static/tabler/dist/img/flags/yt.svg new file mode 100644 index 0000000..c685996 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/yt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/za.svg b/bin/main/static/tabler/dist/img/flags/za.svg new file mode 100644 index 0000000..0f85d43 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/za.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/zm.svg b/bin/main/static/tabler/dist/img/flags/zm.svg new file mode 100644 index 0000000..738c481 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/zm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/flags/zw.svg b/bin/main/static/tabler/dist/img/flags/zw.svg new file mode 100644 index 0000000..6341d56 --- /dev/null +++ b/bin/main/static/tabler/dist/img/flags/zw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/2checkout-dark.svg b/bin/main/static/tabler/dist/img/payments/2checkout-dark.svg new file mode 100644 index 0000000..55fa29a --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/2checkout-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/2checkout.svg b/bin/main/static/tabler/dist/img/payments/2checkout.svg new file mode 100644 index 0000000..c9bedf5 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/2checkout.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/alipay-dark.svg b/bin/main/static/tabler/dist/img/payments/alipay-dark.svg new file mode 100644 index 0000000..75c4cb8 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/alipay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/alipay.svg b/bin/main/static/tabler/dist/img/payments/alipay.svg new file mode 100644 index 0000000..9b14e57 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/alipay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/amazon-dark.svg b/bin/main/static/tabler/dist/img/payments/amazon-dark.svg new file mode 100644 index 0000000..c0f5761 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/amazon-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/amazon.svg b/bin/main/static/tabler/dist/img/payments/amazon.svg new file mode 100644 index 0000000..0560260 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/amazon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/americanexpress-dark.svg b/bin/main/static/tabler/dist/img/payments/americanexpress-dark.svg new file mode 100644 index 0000000..9372150 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/americanexpress-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/americanexpress.svg b/bin/main/static/tabler/dist/img/payments/americanexpress.svg new file mode 100644 index 0000000..9d1da2e --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/americanexpress.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/applepay-dark.svg b/bin/main/static/tabler/dist/img/payments/applepay-dark.svg new file mode 100644 index 0000000..45313fc --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/applepay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/applepay.svg b/bin/main/static/tabler/dist/img/payments/applepay.svg new file mode 100644 index 0000000..447de26 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/applepay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/bancontact-dark.svg b/bin/main/static/tabler/dist/img/payments/bancontact-dark.svg new file mode 100644 index 0000000..0209208 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/bancontact-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/bancontact.svg b/bin/main/static/tabler/dist/img/payments/bancontact.svg new file mode 100644 index 0000000..da4d41f --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/bancontact.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/bitcoin-dark.svg b/bin/main/static/tabler/dist/img/payments/bitcoin-dark.svg new file mode 100644 index 0000000..f0e63fa --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/bitcoin-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/bitcoin.svg b/bin/main/static/tabler/dist/img/payments/bitcoin.svg new file mode 100644 index 0000000..ee8fa45 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/bitcoin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/bitpay-dark.svg b/bin/main/static/tabler/dist/img/payments/bitpay-dark.svg new file mode 100644 index 0000000..d775dfb --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/bitpay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/bitpay.svg b/bin/main/static/tabler/dist/img/payments/bitpay.svg new file mode 100644 index 0000000..3720819 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/bitpay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/blik-dark.svg b/bin/main/static/tabler/dist/img/payments/blik-dark.svg new file mode 100644 index 0000000..ec6e110 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/blik-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/blik.svg b/bin/main/static/tabler/dist/img/payments/blik.svg new file mode 100644 index 0000000..b44c11d --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/blik.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/cirrus-dark.svg b/bin/main/static/tabler/dist/img/payments/cirrus-dark.svg new file mode 100644 index 0000000..b000f12 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/cirrus-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/cirrus.svg b/bin/main/static/tabler/dist/img/payments/cirrus.svg new file mode 100644 index 0000000..f3848c8 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/cirrus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/clickandbuy-dark.svg b/bin/main/static/tabler/dist/img/payments/clickandbuy-dark.svg new file mode 100644 index 0000000..d813c7e --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/clickandbuy-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/clickandbuy.svg b/bin/main/static/tabler/dist/img/payments/clickandbuy.svg new file mode 100644 index 0000000..58d0ba9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/clickandbuy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/coinkite-dark.svg b/bin/main/static/tabler/dist/img/payments/coinkite-dark.svg new file mode 100644 index 0000000..885ca6e --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/coinkite-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/coinkite.svg b/bin/main/static/tabler/dist/img/payments/coinkite.svg new file mode 100644 index 0000000..cbe194e --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/coinkite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/dinersclub-dark.svg b/bin/main/static/tabler/dist/img/payments/dinersclub-dark.svg new file mode 100644 index 0000000..5d26f69 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/dinersclub-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/dinersclub.svg b/bin/main/static/tabler/dist/img/payments/dinersclub.svg new file mode 100644 index 0000000..e1e0a55 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/dinersclub.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/directdebit-dark.svg b/bin/main/static/tabler/dist/img/payments/directdebit-dark.svg new file mode 100644 index 0000000..c5091ee --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/directdebit-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/directdebit.svg b/bin/main/static/tabler/dist/img/payments/directdebit.svg new file mode 100644 index 0000000..e3edb0c --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/directdebit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/discover-dark.svg b/bin/main/static/tabler/dist/img/payments/discover-dark.svg new file mode 100644 index 0000000..d6a51f0 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/discover-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/discover.svg b/bin/main/static/tabler/dist/img/payments/discover.svg new file mode 100644 index 0000000..cf8fdb1 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/discover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/dotpay-dark.svg b/bin/main/static/tabler/dist/img/payments/dotpay-dark.svg new file mode 100644 index 0000000..2e350d4 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/dotpay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/dotpay.svg b/bin/main/static/tabler/dist/img/payments/dotpay.svg new file mode 100644 index 0000000..75cd670 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/dotpay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/dwolla-dark.svg b/bin/main/static/tabler/dist/img/payments/dwolla-dark.svg new file mode 100644 index 0000000..63fee0e --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/dwolla-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/dwolla.svg b/bin/main/static/tabler/dist/img/payments/dwolla.svg new file mode 100644 index 0000000..f8088ed --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/dwolla.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/ebay-dark.svg b/bin/main/static/tabler/dist/img/payments/ebay-dark.svg new file mode 100644 index 0000000..eac7a2d --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/ebay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/ebay.svg b/bin/main/static/tabler/dist/img/payments/ebay.svg new file mode 100644 index 0000000..1a457a3 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/ebay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/epayco-dark.svg b/bin/main/static/tabler/dist/img/payments/epayco-dark.svg new file mode 100644 index 0000000..fa1a57f --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/epayco-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/epayco.svg b/bin/main/static/tabler/dist/img/payments/epayco.svg new file mode 100644 index 0000000..f6bd40f --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/epayco.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/eway-dark.svg b/bin/main/static/tabler/dist/img/payments/eway-dark.svg new file mode 100644 index 0000000..d98f441 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/eway-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/eway.svg b/bin/main/static/tabler/dist/img/payments/eway.svg new file mode 100644 index 0000000..a81bc7a --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/eway.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/giropay-dark.svg b/bin/main/static/tabler/dist/img/payments/giropay-dark.svg new file mode 100644 index 0000000..4c78284 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/giropay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/giropay.svg b/bin/main/static/tabler/dist/img/payments/giropay.svg new file mode 100644 index 0000000..61223fd --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/giropay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/googlewallet-dark.svg b/bin/main/static/tabler/dist/img/payments/googlewallet-dark.svg new file mode 100644 index 0000000..032c9b6 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/googlewallet-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/googlewallet.svg b/bin/main/static/tabler/dist/img/payments/googlewallet.svg new file mode 100644 index 0000000..bad376e --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/googlewallet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/ingenico-dark.svg b/bin/main/static/tabler/dist/img/payments/ingenico-dark.svg new file mode 100644 index 0000000..af3b577 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/ingenico-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/ingenico.svg b/bin/main/static/tabler/dist/img/payments/ingenico.svg new file mode 100644 index 0000000..7a7f306 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/ingenico.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/jcb-dark.svg b/bin/main/static/tabler/dist/img/payments/jcb-dark.svg new file mode 100644 index 0000000..7b503b9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/jcb-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/jcb.svg b/bin/main/static/tabler/dist/img/payments/jcb.svg new file mode 100644 index 0000000..5bdf388 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/jcb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/klarna-dark.svg b/bin/main/static/tabler/dist/img/payments/klarna-dark.svg new file mode 100644 index 0000000..119037f --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/klarna-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/klarna.svg b/bin/main/static/tabler/dist/img/payments/klarna.svg new file mode 100644 index 0000000..b9c913b --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/klarna.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/laser-dark.svg b/bin/main/static/tabler/dist/img/payments/laser-dark.svg new file mode 100644 index 0000000..93095a6 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/laser-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/laser.svg b/bin/main/static/tabler/dist/img/payments/laser.svg new file mode 100644 index 0000000..f34555c --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/laser.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/maestro-dark.svg b/bin/main/static/tabler/dist/img/payments/maestro-dark.svg new file mode 100644 index 0000000..c88d14d --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/maestro-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/maestro.svg b/bin/main/static/tabler/dist/img/payments/maestro.svg new file mode 100644 index 0000000..fe6480e --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/maestro.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/mastercard-dark.svg b/bin/main/static/tabler/dist/img/payments/mastercard-dark.svg new file mode 100644 index 0000000..76ad1ef --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/mastercard-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/mastercard.svg b/bin/main/static/tabler/dist/img/payments/mastercard.svg new file mode 100644 index 0000000..4b4fc5f --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/mastercard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/mir-dark.svg b/bin/main/static/tabler/dist/img/payments/mir-dark.svg new file mode 100644 index 0000000..971cadc --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/mir-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/mir.svg b/bin/main/static/tabler/dist/img/payments/mir.svg new file mode 100644 index 0000000..c55bff9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/mir.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/monero-dark.svg b/bin/main/static/tabler/dist/img/payments/monero-dark.svg new file mode 100644 index 0000000..6c54579 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/monero-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/monero.svg b/bin/main/static/tabler/dist/img/payments/monero.svg new file mode 100644 index 0000000..b5af0df --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/monero.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/neteller-dark.svg b/bin/main/static/tabler/dist/img/payments/neteller-dark.svg new file mode 100644 index 0000000..7a63a79 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/neteller-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/neteller.svg b/bin/main/static/tabler/dist/img/payments/neteller.svg new file mode 100644 index 0000000..965059a --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/neteller.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/ogone-dark.svg b/bin/main/static/tabler/dist/img/payments/ogone-dark.svg new file mode 100644 index 0000000..dd09a9a --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/ogone-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/ogone.svg b/bin/main/static/tabler/dist/img/payments/ogone.svg new file mode 100644 index 0000000..b970c4f --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/ogone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/okpay-dark.svg b/bin/main/static/tabler/dist/img/payments/okpay-dark.svg new file mode 100644 index 0000000..c09dcca --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/okpay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/okpay.svg b/bin/main/static/tabler/dist/img/payments/okpay.svg new file mode 100644 index 0000000..f811d50 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/okpay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/paybox-dark.svg b/bin/main/static/tabler/dist/img/payments/paybox-dark.svg new file mode 100644 index 0000000..f624622 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/paybox-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/paybox.svg b/bin/main/static/tabler/dist/img/payments/paybox.svg new file mode 100644 index 0000000..d75a447 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/paybox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/paymill-dark.svg b/bin/main/static/tabler/dist/img/payments/paymill-dark.svg new file mode 100644 index 0000000..f3651ac --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/paymill-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/paymill.svg b/bin/main/static/tabler/dist/img/payments/paymill.svg new file mode 100644 index 0000000..4a2c07f --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/paymill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/payone-dark.svg b/bin/main/static/tabler/dist/img/payments/payone-dark.svg new file mode 100644 index 0000000..a0d3f8e --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/payone-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/payone.svg b/bin/main/static/tabler/dist/img/payments/payone.svg new file mode 100644 index 0000000..d88bbc6 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/payone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/payoneer-dark.svg b/bin/main/static/tabler/dist/img/payments/payoneer-dark.svg new file mode 100644 index 0000000..9a168ec --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/payoneer-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/payoneer.svg b/bin/main/static/tabler/dist/img/payments/payoneer.svg new file mode 100644 index 0000000..206cc3a --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/payoneer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/paypal-dark.svg b/bin/main/static/tabler/dist/img/payments/paypal-dark.svg new file mode 100644 index 0000000..a905f56 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/paypal-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/paypal.svg b/bin/main/static/tabler/dist/img/payments/paypal.svg new file mode 100644 index 0000000..12b3852 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/paypal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/paysafecard-dark.svg b/bin/main/static/tabler/dist/img/payments/paysafecard-dark.svg new file mode 100644 index 0000000..06b94e9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/paysafecard-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/paysafecard.svg b/bin/main/static/tabler/dist/img/payments/paysafecard.svg new file mode 100644 index 0000000..05672f2 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/paysafecard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/payu-dark.svg b/bin/main/static/tabler/dist/img/payments/payu-dark.svg new file mode 100644 index 0000000..d745119 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/payu-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/payu.svg b/bin/main/static/tabler/dist/img/payments/payu.svg new file mode 100644 index 0000000..1b9e5b9 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/payu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/payza-dark.svg b/bin/main/static/tabler/dist/img/payments/payza-dark.svg new file mode 100644 index 0000000..ba3018d --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/payza-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/payza.svg b/bin/main/static/tabler/dist/img/payments/payza.svg new file mode 100644 index 0000000..5e92b4b --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/payza.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/przelewy24-dark.svg b/bin/main/static/tabler/dist/img/payments/przelewy24-dark.svg new file mode 100644 index 0000000..6a2a308 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/przelewy24-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/przelewy24.svg b/bin/main/static/tabler/dist/img/payments/przelewy24.svg new file mode 100644 index 0000000..23b079c --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/przelewy24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/ripple-dark.svg b/bin/main/static/tabler/dist/img/payments/ripple-dark.svg new file mode 100644 index 0000000..a5caec0 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/ripple-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/ripple.svg b/bin/main/static/tabler/dist/img/payments/ripple.svg new file mode 100644 index 0000000..63acd39 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/ripple.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/sage-dark.svg b/bin/main/static/tabler/dist/img/payments/sage-dark.svg new file mode 100644 index 0000000..22eab06 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/sage-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/sage.svg b/bin/main/static/tabler/dist/img/payments/sage.svg new file mode 100644 index 0000000..a3e9fb1 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/sage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/sepa-dark.svg b/bin/main/static/tabler/dist/img/payments/sepa-dark.svg new file mode 100644 index 0000000..ee173e2 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/sepa-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/sepa.svg b/bin/main/static/tabler/dist/img/payments/sepa.svg new file mode 100644 index 0000000..809e647 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/sepa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/shopify-dark.svg b/bin/main/static/tabler/dist/img/payments/shopify-dark.svg new file mode 100644 index 0000000..9393699 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/shopify-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/shopify.svg b/bin/main/static/tabler/dist/img/payments/shopify.svg new file mode 100644 index 0000000..d4b096e --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/shopify.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/skrill-dark.svg b/bin/main/static/tabler/dist/img/payments/skrill-dark.svg new file mode 100644 index 0000000..47e1ad7 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/skrill-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/skrill.svg b/bin/main/static/tabler/dist/img/payments/skrill.svg new file mode 100644 index 0000000..bf8a67f --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/skrill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/solo-dark.svg b/bin/main/static/tabler/dist/img/payments/solo-dark.svg new file mode 100644 index 0000000..a973d20 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/solo-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/solo.svg b/bin/main/static/tabler/dist/img/payments/solo.svg new file mode 100644 index 0000000..bdfa28c --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/solo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/square-dark.svg b/bin/main/static/tabler/dist/img/payments/square-dark.svg new file mode 100644 index 0000000..7edf435 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/square-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/square.svg b/bin/main/static/tabler/dist/img/payments/square.svg new file mode 100644 index 0000000..db0821a --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/stripe-dark.svg b/bin/main/static/tabler/dist/img/payments/stripe-dark.svg new file mode 100644 index 0000000..de6183d --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/stripe-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/stripe.svg b/bin/main/static/tabler/dist/img/payments/stripe.svg new file mode 100644 index 0000000..4c42d8e --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/stripe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/switch-dark.svg b/bin/main/static/tabler/dist/img/payments/switch-dark.svg new file mode 100644 index 0000000..41a2a9a --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/switch-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/switch.svg b/bin/main/static/tabler/dist/img/payments/switch.svg new file mode 100644 index 0000000..4d64823 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/switch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/tpay-dark.svg b/bin/main/static/tabler/dist/img/payments/tpay-dark.svg new file mode 100644 index 0000000..0b20da0 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/tpay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/tpay.svg b/bin/main/static/tabler/dist/img/payments/tpay.svg new file mode 100644 index 0000000..540e69b --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/tpay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/ukash-dark.svg b/bin/main/static/tabler/dist/img/payments/ukash-dark.svg new file mode 100644 index 0000000..d2ed42e --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/ukash-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/ukash.svg b/bin/main/static/tabler/dist/img/payments/ukash.svg new file mode 100644 index 0000000..1a89e5a --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/ukash.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/unionpay-dark.svg b/bin/main/static/tabler/dist/img/payments/unionpay-dark.svg new file mode 100644 index 0000000..b9e7eab --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/unionpay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/unionpay.svg b/bin/main/static/tabler/dist/img/payments/unionpay.svg new file mode 100644 index 0000000..3014168 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/unionpay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/verifone-dark.svg b/bin/main/static/tabler/dist/img/payments/verifone-dark.svg new file mode 100644 index 0000000..1281081 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/verifone-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/verifone.svg b/bin/main/static/tabler/dist/img/payments/verifone.svg new file mode 100644 index 0000000..a5033a6 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/verifone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/verisign-dark.svg b/bin/main/static/tabler/dist/img/payments/verisign-dark.svg new file mode 100644 index 0000000..2ccfd5e --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/verisign-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/verisign.svg b/bin/main/static/tabler/dist/img/payments/verisign.svg new file mode 100644 index 0000000..645cf12 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/verisign.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/visa-dark.svg b/bin/main/static/tabler/dist/img/payments/visa-dark.svg new file mode 100644 index 0000000..5839bc2 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/visa-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/visa.svg b/bin/main/static/tabler/dist/img/payments/visa.svg new file mode 100644 index 0000000..efaafc3 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/visa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/webmoney-dark.svg b/bin/main/static/tabler/dist/img/payments/webmoney-dark.svg new file mode 100644 index 0000000..568fc93 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/webmoney-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/webmoney.svg b/bin/main/static/tabler/dist/img/payments/webmoney.svg new file mode 100644 index 0000000..d5c36f7 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/webmoney.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/westernunion-dark.svg b/bin/main/static/tabler/dist/img/payments/westernunion-dark.svg new file mode 100644 index 0000000..433bd7d --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/westernunion-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/westernunion.svg b/bin/main/static/tabler/dist/img/payments/westernunion.svg new file mode 100644 index 0000000..5a1c97c --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/westernunion.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/worldpay-dark.svg b/bin/main/static/tabler/dist/img/payments/worldpay-dark.svg new file mode 100644 index 0000000..24a6abb --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/worldpay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/img/payments/worldpay.svg b/bin/main/static/tabler/dist/img/payments/worldpay.svg new file mode 100644 index 0000000..858f629 --- /dev/null +++ b/bin/main/static/tabler/dist/img/payments/worldpay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/bin/main/static/tabler/dist/js/demo-theme.js b/bin/main/static/tabler/dist/js/demo-theme.js new file mode 100644 index 0000000..aea1ac9 --- /dev/null +++ b/bin/main/static/tabler/dist/js/demo-theme.js @@ -0,0 +1,35 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +(function (factory) { + typeof define === 'function' && define.amd ? define(factory) : + factory(); +})((function () { 'use strict'; + + var themeStorageKey = "tablerTheme"; + var defaultTheme = "light"; + var selectedTheme; + var params = new Proxy(new URLSearchParams(window.location.search), { + get: function get(searchParams, prop) { + return searchParams.get(prop); + } + }); + if (!!params.theme) { + localStorage.setItem(themeStorageKey, params.theme); + selectedTheme = params.theme; + } else { + var storedTheme = localStorage.getItem(themeStorageKey); + selectedTheme = storedTheme ? storedTheme : defaultTheme; + } + if (selectedTheme === 'dark') { + document.body.setAttribute("data-bs-theme", selectedTheme); + } else { + document.body.removeAttribute("data-bs-theme"); + } + +})); diff --git a/bin/main/static/tabler/dist/js/demo-theme.min.js b/bin/main/static/tabler/dist/js/demo-theme.min.js new file mode 100644 index 0000000..23aab01 --- /dev/null +++ b/bin/main/static/tabler/dist/js/demo-theme.min.js @@ -0,0 +1,9 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";var e,t="tablerTheme",a=new Proxy(new URLSearchParams(window.location.search),{get:function(e,t){return e.get(t)}});if(a.theme)localStorage.setItem(t,a.theme),e=a.theme;else{var n=localStorage.getItem(t);e=n||"light"}"dark"===e?document.body.setAttribute("data-bs-theme",e):document.body.removeAttribute("data-bs-theme")})); \ No newline at end of file diff --git a/bin/main/static/tabler/dist/js/demo.js b/bin/main/static/tabler/dist/js/demo.js new file mode 100644 index 0000000..e3f33ff --- /dev/null +++ b/bin/main/static/tabler/dist/js/demo.js @@ -0,0 +1,132 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +(function (factory) { + typeof define === 'function' && define.amd ? define(factory) : + factory(); +})((function () { 'use strict'; + + function _iterableToArrayLimit(arr, i) { + var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; + if (null != _i) { + var _s, + _e, + _x, + _r, + _arr = [], + _n = !0, + _d = !1; + try { + if (_x = (_i = _i.call(arr)).next, 0 === i) { + if (Object(_i) !== _i) return; + _n = !1; + } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); + } catch (err) { + _d = !0, _e = err; + } finally { + try { + if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; + } finally { + if (_d) throw _e; + } + } + return _arr; + } + } + function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); + } + function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; + } + function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); + } + function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + return arr2; + } + function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + var items = { + "menu-position": { + localStorage: "tablerMenuPosition", + default: "top" + }, + "menu-behavior": { + localStorage: "tablerMenuBehavior", + default: "sticky" + }, + "container-layout": { + localStorage: "tablerContainerLayout", + default: "boxed" + } + }; + var config = {}; + for (var _i = 0, _Object$entries = Object.entries(items); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), + key = _Object$entries$_i[0], + params = _Object$entries$_i[1]; + var lsParams = localStorage.getItem(params.localStorage); + config[key] = lsParams ? lsParams : params.default; + } + var parseUrl = function parseUrl() { + var search = window.location.search.substring(1); + var params = search.split("&"); + for (var i = 0; i < params.length; i++) { + var arr = params[i].split("="); + var _key = arr[0]; + var value = arr[1]; + if (!!items[_key]) { + localStorage.setItem(items[_key].localStorage, value); + config[_key] = value; + } + } + }; + var toggleFormControls = function toggleFormControls(form) { + for (var _i2 = 0, _Object$entries2 = Object.entries(items); _i2 < _Object$entries2.length; _i2++) { + var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2), + _key2 = _Object$entries2$_i[0]; + _Object$entries2$_i[1]; + var elem = form.querySelector("[name=\"settings-".concat(_key2, "\"][value=\"").concat(config[_key2], "\"]")); + if (elem) { + elem.checked = true; + } + } + }; + var submitForm = function submitForm(form) { + for (var _i3 = 0, _Object$entries3 = Object.entries(items); _i3 < _Object$entries3.length; _i3++) { + var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i3], 2), + _key3 = _Object$entries3$_i[0], + _params2 = _Object$entries3$_i[1]; + var value = form.querySelector("[name=\"settings-".concat(_key3, "\"]:checked")).value; + localStorage.setItem(_params2.localStorage, value); + config[_key3] = value; + } + window.dispatchEvent(new Event("resize")); + new bootstrap.Offcanvas(form).hide(); + }; + parseUrl(); + var form = document.querySelector("#offcanvasSettings"); + if (form) { + form.addEventListener("submit", function (e) { + e.preventDefault(); + submitForm(form); + }); + toggleFormControls(form); + } + +})); diff --git a/bin/main/static/tabler/dist/js/demo.min.js b/bin/main/static/tabler/dist/js/demo.min.js new file mode 100644 index 0000000..3b870f3 --- /dev/null +++ b/bin/main/static/tabler/dist/js/demo.min.js @@ -0,0 +1,9 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";function t(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,l,i=[],c=!0,u=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=a.call(r)).done)&&(i.push(n.value),i.length!==e);c=!0);}catch(t){u=!0,o=t}finally{try{if(!c&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(u)throw o}}return i}}(t,r)||function(t,r){if(!t)return;if("string"==typeof t)return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);rparseFloat(n.maxHeight)?("hidden"===n.overflowY&&(t.style.overflow="scroll"),i=parseFloat(n.maxHeight)):"hidden"!==n.overflowY&&(t.style.overflow="hidden"),t.style.height=i+"px",s&&(t.style.textAlign=s),o&&o(),r!==i&&(t.dispatchEvent(new Event("autosize:resized",{bubbles:!0})),r=i),c!==n.overflow&&!s)){var v=n.textAlign;"hidden"===n.overflow&&(t.style.textAlign="start"===v?"end":"start"),a({restoreTextAlign:v,testForHeightReduction:!0});}}function s(){a({testForHeightReduction:!0,restoreTextAlign:null});}}(t)}),t}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],t),e},r.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],o),e});var n=r; + +var elements = document.querySelectorAll('[data-bs-toggle="autosize"]'); +if (elements.length) { + elements.forEach(function (element) { + n(element); + }); +} + +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + return target; +} + +function IMask(el) { + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + return new IMask.InputMask(el, opts); +} + +class ChangeDetails { + constructor(details) { + Object.assign(this, { + inserted: '', + rawInserted: '', + skip: false, + tailShift: 0 + }, details); + } + aggregate(details) { + this.rawInserted += details.rawInserted; + this.skip = this.skip || details.skip; + this.inserted += details.inserted; + this.tailShift += details.tailShift; + return this; + } + get offset() { + return this.tailShift + this.inserted.length; + } +} +IMask.ChangeDetails = ChangeDetails; + +function isString(str) { + return typeof str === 'string' || str instanceof String; +} +const DIRECTION = { + NONE: 'NONE', + LEFT: 'LEFT', + FORCE_LEFT: 'FORCE_LEFT', + RIGHT: 'RIGHT', + FORCE_RIGHT: 'FORCE_RIGHT' +}; +function forceDirection(direction) { + switch (direction) { + case DIRECTION.LEFT: + return DIRECTION.FORCE_LEFT; + case DIRECTION.RIGHT: + return DIRECTION.FORCE_RIGHT; + default: + return direction; + } +} +function escapeRegExp(str) { + return str.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); +} +function normalizePrepare(prep) { + return Array.isArray(prep) ? prep : [prep, new ChangeDetails()]; +} +function objectIncludes(b, a) { + if (a === b) return true; + var arrA = Array.isArray(a), + arrB = Array.isArray(b), + i; + if (arrA && arrB) { + if (a.length != b.length) return false; + for (i = 0; i < a.length; i++) if (!objectIncludes(a[i], b[i])) return false; + return true; + } + if (arrA != arrB) return false; + if (a && b && typeof a === 'object' && typeof b === 'object') { + var dateA = a instanceof Date, + dateB = b instanceof Date; + if (dateA && dateB) return a.getTime() == b.getTime(); + if (dateA != dateB) return false; + var regexpA = a instanceof RegExp, + regexpB = b instanceof RegExp; + if (regexpA && regexpB) return a.toString() == b.toString(); + if (regexpA != regexpB) return false; + var keys = Object.keys(a); + for (i = 0; i < keys.length; i++) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + for (i = 0; i < keys.length; i++) if (!objectIncludes(b[keys[i]], a[keys[i]])) return false; + return true; + } else if (a && b && typeof a === 'function' && typeof b === 'function') { + return a.toString() === b.toString(); + } + return false; +} + +class ActionDetails { + constructor(value, cursorPos, oldValue, oldSelection) { + this.value = value; + this.cursorPos = cursorPos; + this.oldValue = oldValue; + this.oldSelection = oldSelection; + while (this.value.slice(0, this.startChangePos) !== this.oldValue.slice(0, this.startChangePos)) { + --this.oldSelection.start; + } + } + get startChangePos() { + return Math.min(this.cursorPos, this.oldSelection.start); + } + get insertedCount() { + return this.cursorPos - this.startChangePos; + } + get inserted() { + return this.value.substr(this.startChangePos, this.insertedCount); + } + get removedCount() { + return Math.max(this.oldSelection.end - this.startChangePos || + this.oldValue.length - this.value.length, 0); + } + get removed() { + return this.oldValue.substr(this.startChangePos, this.removedCount); + } + get head() { + return this.value.substring(0, this.startChangePos); + } + get tail() { + return this.value.substring(this.startChangePos + this.insertedCount); + } + get removeDirection() { + if (!this.removedCount || this.insertedCount) return DIRECTION.NONE; + return (this.oldSelection.end === this.cursorPos || this.oldSelection.start === this.cursorPos) && + this.oldSelection.end === this.oldSelection.start ? DIRECTION.RIGHT : DIRECTION.LEFT; + } +} + +class ContinuousTailDetails { + constructor() { + let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + let from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + let stop = arguments.length > 2 ? arguments[2] : undefined; + this.value = value; + this.from = from; + this.stop = stop; + } + toString() { + return this.value; + } + extend(tail) { + this.value += String(tail); + } + appendTo(masked) { + return masked.append(this.toString(), { + tail: true + }).aggregate(masked._appendPlaceholder()); + } + get state() { + return { + value: this.value, + from: this.from, + stop: this.stop + }; + } + set state(state) { + Object.assign(this, state); + } + unshift(beforePos) { + if (!this.value.length || beforePos != null && this.from >= beforePos) return ''; + const shiftChar = this.value[0]; + this.value = this.value.slice(1); + return shiftChar; + } + shift() { + if (!this.value.length) return ''; + const shiftChar = this.value[this.value.length - 1]; + this.value = this.value.slice(0, -1); + return shiftChar; + } +} + +class Masked { + constructor(opts) { + this._value = ''; + this._update(Object.assign({}, Masked.DEFAULTS, opts)); + this.isInitialized = true; + } + updateOptions(opts) { + if (!Object.keys(opts).length) return; + this.withValueRefresh(this._update.bind(this, opts)); + } + _update(opts) { + Object.assign(this, opts); + } + get state() { + return { + _value: this.value + }; + } + set state(state) { + this._value = state._value; + } + reset() { + this._value = ''; + } + get value() { + return this._value; + } + set value(value) { + this.resolve(value); + } + resolve(value) { + this.reset(); + this.append(value, { + input: true + }, ''); + this.doCommit(); + return this.value; + } + get unmaskedValue() { + return this.value; + } + set unmaskedValue(value) { + this.reset(); + this.append(value, {}, ''); + this.doCommit(); + } + get typedValue() { + return this.doParse(this.value); + } + set typedValue(value) { + this.value = this.doFormat(value); + } + get rawInputValue() { + return this.extractInput(0, this.value.length, { + raw: true + }); + } + set rawInputValue(value) { + this.reset(); + this.append(value, { + raw: true + }, ''); + this.doCommit(); + } + get displayValue() { + return this.value; + } + get isComplete() { + return true; + } + get isFilled() { + return this.isComplete; + } + nearestInputPos(cursorPos, direction) { + return cursorPos; + } + totalInputPositions() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + return Math.min(this.value.length, toPos - fromPos); + } + extractInput() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + return this.value.slice(fromPos, toPos); + } + extractTail() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + return new ContinuousTailDetails(this.extractInput(fromPos, toPos), fromPos); + } + appendTail(tail) { + if (isString(tail)) tail = new ContinuousTailDetails(String(tail)); + return tail.appendTo(this); + } + _appendCharRaw(ch) { + if (!ch) return new ChangeDetails(); + this._value += ch; + return new ChangeDetails({ + inserted: ch, + rawInserted: ch + }); + } + _appendChar(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + let checkTail = arguments.length > 2 ? arguments[2] : undefined; + const consistentState = this.state; + let details; + [ch, details] = normalizePrepare(this.doPrepare(ch, flags)); + details = details.aggregate(this._appendCharRaw(ch, flags)); + if (details.inserted) { + let consistentTail; + let appended = this.doValidate(flags) !== false; + if (appended && checkTail != null) { + const beforeTailState = this.state; + if (this.overwrite === true) { + consistentTail = checkTail.state; + checkTail.unshift(this.value.length - details.tailShift); + } + let tailDetails = this.appendTail(checkTail); + appended = tailDetails.rawInserted === checkTail.toString(); + if (!(appended && tailDetails.inserted) && this.overwrite === 'shift') { + this.state = beforeTailState; + consistentTail = checkTail.state; + checkTail.shift(); + tailDetails = this.appendTail(checkTail); + appended = tailDetails.rawInserted === checkTail.toString(); + } + if (appended && tailDetails.inserted) this.state = beforeTailState; + } + if (!appended) { + details = new ChangeDetails(); + this.state = consistentState; + if (checkTail && consistentTail) checkTail.state = consistentTail; + } + } + return details; + } + _appendPlaceholder() { + return new ChangeDetails(); + } + _appendEager() { + return new ChangeDetails(); + } + append(str, flags, tail) { + if (!isString(str)) throw new Error('value should be string'); + const details = new ChangeDetails(); + const checkTail = isString(tail) ? new ContinuousTailDetails(String(tail)) : tail; + if (flags !== null && flags !== void 0 && flags.tail) flags._beforeTailState = this.state; + for (let ci = 0; ci < str.length; ++ci) { + const d = this._appendChar(str[ci], flags, checkTail); + if (!d.rawInserted && !this.doSkipInvalid(str[ci], flags, checkTail)) break; + details.aggregate(d); + } + if (checkTail != null) { + details.tailShift += this.appendTail(checkTail).tailShift; + } + if ((this.eager === true || this.eager === 'append') && flags !== null && flags !== void 0 && flags.input && str) { + details.aggregate(this._appendEager()); + } + return details; + } + remove() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + this._value = this.value.slice(0, fromPos) + this.value.slice(toPos); + return new ChangeDetails(); + } + withValueRefresh(fn) { + if (this._refreshing || !this.isInitialized) return fn(); + this._refreshing = true; + const rawInput = this.rawInputValue; + const value = this.value; + const ret = fn(); + this.rawInputValue = rawInput; + if (this.value && this.value !== value && value.indexOf(this.value) === 0) { + this.append(value.slice(this.value.length), {}, ''); + } + delete this._refreshing; + return ret; + } + runIsolated(fn) { + if (this._isolated || !this.isInitialized) return fn(this); + this._isolated = true; + const state = this.state; + const ret = fn(this); + this.state = state; + delete this._isolated; + return ret; + } + doSkipInvalid(ch) { + return this.skipInvalid; + } + doPrepare(str) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + return this.prepare ? this.prepare(str, this, flags) : str; + } + doValidate(flags) { + return (!this.validate || this.validate(this.value, this, flags)) && (!this.parent || this.parent.doValidate(flags)); + } + doCommit() { + if (this.commit) this.commit(this.value, this); + } + doFormat(value) { + return this.format ? this.format(value, this) : value; + } + doParse(str) { + return this.parse ? this.parse(str, this) : str; + } + splice(start, deleteCount, inserted, removeDirection) { + let flags = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { + input: true + }; + const tailPos = start + deleteCount; + const tail = this.extractTail(tailPos); + const eagerRemove = this.eager === true || this.eager === 'remove'; + let oldRawValue; + if (eagerRemove) { + removeDirection = forceDirection(removeDirection); + oldRawValue = this.extractInput(0, tailPos, { + raw: true + }); + } + let startChangePos = start; + const details = new ChangeDetails(); + if (removeDirection !== DIRECTION.NONE) { + startChangePos = this.nearestInputPos(start, deleteCount > 1 && start !== 0 && !eagerRemove ? DIRECTION.NONE : removeDirection); + details.tailShift = startChangePos - start; + } + details.aggregate(this.remove(startChangePos)); + if (eagerRemove && removeDirection !== DIRECTION.NONE && oldRawValue === this.rawInputValue) { + if (removeDirection === DIRECTION.FORCE_LEFT) { + let valLength; + while (oldRawValue === this.rawInputValue && (valLength = this.value.length)) { + details.aggregate(new ChangeDetails({ + tailShift: -1 + })).aggregate(this.remove(valLength - 1)); + } + } else if (removeDirection === DIRECTION.FORCE_RIGHT) { + tail.unshift(); + } + } + return details.aggregate(this.append(inserted, flags, tail)); + } + maskEquals(mask) { + return this.mask === mask; + } + typedValueEquals(value) { + const tval = this.typedValue; + return value === tval || Masked.EMPTY_VALUES.includes(value) && Masked.EMPTY_VALUES.includes(tval) || this.doFormat(value) === this.doFormat(this.typedValue); + } +} +Masked.DEFAULTS = { + format: String, + parse: v => v, + skipInvalid: true +}; +Masked.EMPTY_VALUES = [undefined, null, '']; +IMask.Masked = Masked; + +function maskedClass(mask) { + if (mask == null) { + throw new Error('mask property should be defined'); + } + if (mask instanceof RegExp) return IMask.MaskedRegExp; + if (isString(mask)) return IMask.MaskedPattern; + if (mask instanceof Date || mask === Date) return IMask.MaskedDate; + if (mask instanceof Number || typeof mask === 'number' || mask === Number) return IMask.MaskedNumber; + if (Array.isArray(mask) || mask === Array) return IMask.MaskedDynamic; + if (IMask.Masked && mask.prototype instanceof IMask.Masked) return mask; + if (mask instanceof IMask.Masked) return mask.constructor; + if (mask instanceof Function) return IMask.MaskedFunction; + console.warn('Mask not found for mask', mask); + return IMask.Masked; +} +function createMask(opts) { + if (IMask.Masked && opts instanceof IMask.Masked) return opts; + opts = Object.assign({}, opts); + const mask = opts.mask; + if (IMask.Masked && mask instanceof IMask.Masked) return mask; + const MaskedClass = maskedClass(mask); + if (!MaskedClass) throw new Error('Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.'); + return new MaskedClass(opts); +} +IMask.createMask = createMask; + +const _excluded$4 = ["parent", "isOptional", "placeholderChar", "displayChar", "lazy", "eager"]; +const DEFAULT_INPUT_DEFINITIONS = { + '0': /\d/, + 'a': /[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, + '*': /./ +}; +class PatternInputDefinition { + constructor(opts) { + const { + parent, + isOptional, + placeholderChar, + displayChar, + lazy, + eager + } = opts, + maskOpts = _objectWithoutPropertiesLoose(opts, _excluded$4); + this.masked = createMask(maskOpts); + Object.assign(this, { + parent, + isOptional, + placeholderChar, + displayChar, + lazy, + eager + }); + } + reset() { + this.isFilled = false; + this.masked.reset(); + } + remove() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + if (fromPos === 0 && toPos >= 1) { + this.isFilled = false; + return this.masked.remove(fromPos, toPos); + } + return new ChangeDetails(); + } + get value() { + return this.masked.value || (this.isFilled && !this.isOptional ? this.placeholderChar : ''); + } + get unmaskedValue() { + return this.masked.unmaskedValue; + } + get displayValue() { + return this.masked.value && this.displayChar || this.value; + } + get isComplete() { + return Boolean(this.masked.value) || this.isOptional; + } + _appendChar(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (this.isFilled) return new ChangeDetails(); + const state = this.masked.state; + const details = this.masked._appendChar(ch, flags); + if (details.inserted && this.doValidate(flags) === false) { + details.inserted = details.rawInserted = ''; + this.masked.state = state; + } + if (!details.inserted && !this.isOptional && !this.lazy && !flags.input) { + details.inserted = this.placeholderChar; + } + details.skip = !details.inserted && !this.isOptional; + this.isFilled = Boolean(details.inserted); + return details; + } + append() { + return this.masked.append(...arguments); + } + _appendPlaceholder() { + const details = new ChangeDetails(); + if (this.isFilled || this.isOptional) return details; + this.isFilled = true; + details.inserted = this.placeholderChar; + return details; + } + _appendEager() { + return new ChangeDetails(); + } + extractTail() { + return this.masked.extractTail(...arguments); + } + appendTail() { + return this.masked.appendTail(...arguments); + } + extractInput() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + let flags = arguments.length > 2 ? arguments[2] : undefined; + return this.masked.extractInput(fromPos, toPos, flags); + } + nearestInputPos(cursorPos) { + let direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; + const minPos = 0; + const maxPos = this.value.length; + const boundPos = Math.min(Math.max(cursorPos, minPos), maxPos); + switch (direction) { + case DIRECTION.LEFT: + case DIRECTION.FORCE_LEFT: + return this.isComplete ? boundPos : minPos; + case DIRECTION.RIGHT: + case DIRECTION.FORCE_RIGHT: + return this.isComplete ? boundPos : maxPos; + case DIRECTION.NONE: + default: + return boundPos; + } + } + totalInputPositions() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + return this.value.slice(fromPos, toPos).length; + } + doValidate() { + return this.masked.doValidate(...arguments) && (!this.parent || this.parent.doValidate(...arguments)); + } + doCommit() { + this.masked.doCommit(); + } + get state() { + return { + masked: this.masked.state, + isFilled: this.isFilled + }; + } + set state(state) { + this.masked.state = state.masked; + this.isFilled = state.isFilled; + } +} + +class PatternFixedDefinition { + constructor(opts) { + Object.assign(this, opts); + this._value = ''; + this.isFixed = true; + } + get value() { + return this._value; + } + get unmaskedValue() { + return this.isUnmasking ? this.value : ''; + } + get displayValue() { + return this.value; + } + reset() { + this._isRawInput = false; + this._value = ''; + } + remove() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length; + this._value = this._value.slice(0, fromPos) + this._value.slice(toPos); + if (!this._value) this._isRawInput = false; + return new ChangeDetails(); + } + nearestInputPos(cursorPos) { + let direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; + const minPos = 0; + const maxPos = this._value.length; + switch (direction) { + case DIRECTION.LEFT: + case DIRECTION.FORCE_LEFT: + return minPos; + case DIRECTION.NONE: + case DIRECTION.RIGHT: + case DIRECTION.FORCE_RIGHT: + default: + return maxPos; + } + } + totalInputPositions() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length; + return this._isRawInput ? toPos - fromPos : 0; + } + extractInput() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length; + let flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return flags.raw && this._isRawInput && this._value.slice(fromPos, toPos) || ''; + } + get isComplete() { + return true; + } + get isFilled() { + return Boolean(this._value); + } + _appendChar(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + const details = new ChangeDetails(); + if (this.isFilled) return details; + const appendEager = this.eager === true || this.eager === 'append'; + const appended = this.char === ch; + const isResolved = appended && (this.isUnmasking || flags.input || flags.raw) && (!flags.raw || !appendEager) && !flags.tail; + if (isResolved) details.rawInserted = this.char; + this._value = details.inserted = this.char; + this._isRawInput = isResolved && (flags.raw || flags.input); + return details; + } + _appendEager() { + return this._appendChar(this.char, { + tail: true + }); + } + _appendPlaceholder() { + const details = new ChangeDetails(); + if (this.isFilled) return details; + this._value = details.inserted = this.char; + return details; + } + extractTail() { + arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + return new ContinuousTailDetails(''); + } + appendTail(tail) { + if (isString(tail)) tail = new ContinuousTailDetails(String(tail)); + return tail.appendTo(this); + } + append(str, flags, tail) { + const details = this._appendChar(str[0], flags); + if (tail != null) { + details.tailShift += this.appendTail(tail).tailShift; + } + return details; + } + doCommit() {} + get state() { + return { + _value: this._value, + _isRawInput: this._isRawInput + }; + } + set state(state) { + Object.assign(this, state); + } +} + +const _excluded$3 = ["chunks"]; +class ChunksTailDetails { + constructor() { + let chunks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + let from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + this.chunks = chunks; + this.from = from; + } + toString() { + return this.chunks.map(String).join(''); + } + extend(tailChunk) { + if (!String(tailChunk)) return; + if (isString(tailChunk)) tailChunk = new ContinuousTailDetails(String(tailChunk)); + const lastChunk = this.chunks[this.chunks.length - 1]; + const extendLast = lastChunk && ( + lastChunk.stop === tailChunk.stop || tailChunk.stop == null) && + tailChunk.from === lastChunk.from + lastChunk.toString().length; + if (tailChunk instanceof ContinuousTailDetails) { + if (extendLast) { + lastChunk.extend(tailChunk.toString()); + } else { + this.chunks.push(tailChunk); + } + } else if (tailChunk instanceof ChunksTailDetails) { + if (tailChunk.stop == null) { + let firstTailChunk; + while (tailChunk.chunks.length && tailChunk.chunks[0].stop == null) { + firstTailChunk = tailChunk.chunks.shift(); + firstTailChunk.from += tailChunk.from; + this.extend(firstTailChunk); + } + } + if (tailChunk.toString()) { + tailChunk.stop = tailChunk.blockIndex; + this.chunks.push(tailChunk); + } + } + } + appendTo(masked) { + if (!(masked instanceof IMask.MaskedPattern)) { + const tail = new ContinuousTailDetails(this.toString()); + return tail.appendTo(masked); + } + const details = new ChangeDetails(); + for (let ci = 0; ci < this.chunks.length && !details.skip; ++ci) { + const chunk = this.chunks[ci]; + const lastBlockIter = masked._mapPosToBlock(masked.value.length); + const stop = chunk.stop; + let chunkBlock; + if (stop != null && ( + !lastBlockIter || lastBlockIter.index <= stop)) { + if (chunk instanceof ChunksTailDetails || + masked._stops.indexOf(stop) >= 0) { + const phDetails = masked._appendPlaceholder(stop); + details.aggregate(phDetails); + } + chunkBlock = chunk instanceof ChunksTailDetails && masked._blocks[stop]; + } + if (chunkBlock) { + const tailDetails = chunkBlock.appendTail(chunk); + tailDetails.skip = false; + details.aggregate(tailDetails); + masked._value += tailDetails.inserted; + const remainChars = chunk.toString().slice(tailDetails.rawInserted.length); + if (remainChars) details.aggregate(masked.append(remainChars, { + tail: true + })); + } else { + details.aggregate(masked.append(chunk.toString(), { + tail: true + })); + } + } + return details; + } + get state() { + return { + chunks: this.chunks.map(c => c.state), + from: this.from, + stop: this.stop, + blockIndex: this.blockIndex + }; + } + set state(state) { + const { + chunks + } = state, + props = _objectWithoutPropertiesLoose(state, _excluded$3); + Object.assign(this, props); + this.chunks = chunks.map(cstate => { + const chunk = "chunks" in cstate ? new ChunksTailDetails() : new ContinuousTailDetails(); + chunk.state = cstate; + return chunk; + }); + } + unshift(beforePos) { + if (!this.chunks.length || beforePos != null && this.from >= beforePos) return ''; + const chunkShiftPos = beforePos != null ? beforePos - this.from : beforePos; + let ci = 0; + while (ci < this.chunks.length) { + const chunk = this.chunks[ci]; + const shiftChar = chunk.unshift(chunkShiftPos); + if (chunk.toString()) { + if (!shiftChar) break; + ++ci; + } else { + this.chunks.splice(ci, 1); + } + if (shiftChar) return shiftChar; + } + return ''; + } + shift() { + if (!this.chunks.length) return ''; + let ci = this.chunks.length - 1; + while (0 <= ci) { + const chunk = this.chunks[ci]; + const shiftChar = chunk.shift(); + if (chunk.toString()) { + if (!shiftChar) break; + --ci; + } else { + this.chunks.splice(ci, 1); + } + if (shiftChar) return shiftChar; + } + return ''; + } +} + +class PatternCursor { + constructor(masked, pos) { + this.masked = masked; + this._log = []; + const { + offset, + index + } = masked._mapPosToBlock(pos) || (pos < 0 ? + { + index: 0, + offset: 0 + } : + { + index: this.masked._blocks.length, + offset: 0 + }); + this.offset = offset; + this.index = index; + this.ok = false; + } + get block() { + return this.masked._blocks[this.index]; + } + get pos() { + return this.masked._blockStartPos(this.index) + this.offset; + } + get state() { + return { + index: this.index, + offset: this.offset, + ok: this.ok + }; + } + set state(s) { + Object.assign(this, s); + } + pushState() { + this._log.push(this.state); + } + popState() { + const s = this._log.pop(); + this.state = s; + return s; + } + bindBlock() { + if (this.block) return; + if (this.index < 0) { + this.index = 0; + this.offset = 0; + } + if (this.index >= this.masked._blocks.length) { + this.index = this.masked._blocks.length - 1; + this.offset = this.block.value.length; + } + } + _pushLeft(fn) { + this.pushState(); + for (this.bindBlock(); 0 <= this.index; --this.index, this.offset = ((_this$block = this.block) === null || _this$block === void 0 ? void 0 : _this$block.value.length) || 0) { + var _this$block; + if (fn()) return this.ok = true; + } + return this.ok = false; + } + _pushRight(fn) { + this.pushState(); + for (this.bindBlock(); this.index < this.masked._blocks.length; ++this.index, this.offset = 0) { + if (fn()) return this.ok = true; + } + return this.ok = false; + } + pushLeftBeforeFilled() { + return this._pushLeft(() => { + if (this.block.isFixed || !this.block.value) return; + this.offset = this.block.nearestInputPos(this.offset, DIRECTION.FORCE_LEFT); + if (this.offset !== 0) return true; + }); + } + pushLeftBeforeInput() { + return this._pushLeft(() => { + if (this.block.isFixed) return; + this.offset = this.block.nearestInputPos(this.offset, DIRECTION.LEFT); + return true; + }); + } + pushLeftBeforeRequired() { + return this._pushLeft(() => { + if (this.block.isFixed || this.block.isOptional && !this.block.value) return; + this.offset = this.block.nearestInputPos(this.offset, DIRECTION.LEFT); + return true; + }); + } + pushRightBeforeFilled() { + return this._pushRight(() => { + if (this.block.isFixed || !this.block.value) return; + this.offset = this.block.nearestInputPos(this.offset, DIRECTION.FORCE_RIGHT); + if (this.offset !== this.block.value.length) return true; + }); + } + pushRightBeforeInput() { + return this._pushRight(() => { + if (this.block.isFixed) return; + this.offset = this.block.nearestInputPos(this.offset, DIRECTION.NONE); + return true; + }); + } + pushRightBeforeRequired() { + return this._pushRight(() => { + if (this.block.isFixed || this.block.isOptional && !this.block.value) return; + this.offset = this.block.nearestInputPos(this.offset, DIRECTION.NONE); + return true; + }); + } +} + +class MaskedRegExp extends Masked { + _update(opts) { + if (opts.mask) opts.validate = value => value.search(opts.mask) >= 0; + super._update(opts); + } +} +IMask.MaskedRegExp = MaskedRegExp; + +const _excluded$2 = ["_blocks"]; +class MaskedPattern extends Masked { + constructor() { + let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + opts.definitions = Object.assign({}, DEFAULT_INPUT_DEFINITIONS, opts.definitions); + super(Object.assign({}, MaskedPattern.DEFAULTS, opts)); + } + _update() { + let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + opts.definitions = Object.assign({}, this.definitions, opts.definitions); + super._update(opts); + this._rebuildMask(); + } + _rebuildMask() { + const defs = this.definitions; + this._blocks = []; + this._stops = []; + this._maskedBlocks = {}; + let pattern = this.mask; + if (!pattern || !defs) return; + let unmaskingBlock = false; + let optionalBlock = false; + for (let i = 0; i < pattern.length; ++i) { + var _defs$char, _defs$char2; + if (this.blocks) { + const p = pattern.slice(i); + const bNames = Object.keys(this.blocks).filter(bName => p.indexOf(bName) === 0); + bNames.sort((a, b) => b.length - a.length); + const bName = bNames[0]; + if (bName) { + const maskedBlock = createMask(Object.assign({ + parent: this, + lazy: this.lazy, + eager: this.eager, + placeholderChar: this.placeholderChar, + displayChar: this.displayChar, + overwrite: this.overwrite + }, this.blocks[bName])); + if (maskedBlock) { + this._blocks.push(maskedBlock); + if (!this._maskedBlocks[bName]) this._maskedBlocks[bName] = []; + this._maskedBlocks[bName].push(this._blocks.length - 1); + } + i += bName.length - 1; + continue; + } + } + let char = pattern[i]; + let isInput = (char in defs); + if (char === MaskedPattern.STOP_CHAR) { + this._stops.push(this._blocks.length); + continue; + } + if (char === '{' || char === '}') { + unmaskingBlock = !unmaskingBlock; + continue; + } + if (char === '[' || char === ']') { + optionalBlock = !optionalBlock; + continue; + } + if (char === MaskedPattern.ESCAPE_CHAR) { + ++i; + char = pattern[i]; + if (!char) break; + isInput = false; + } + const maskOpts = (_defs$char = defs[char]) !== null && _defs$char !== void 0 && _defs$char.mask && !(((_defs$char2 = defs[char]) === null || _defs$char2 === void 0 ? void 0 : _defs$char2.mask.prototype) instanceof IMask.Masked) ? defs[char] : { + mask: defs[char] + }; + const def = isInput ? new PatternInputDefinition(Object.assign({ + parent: this, + isOptional: optionalBlock, + lazy: this.lazy, + eager: this.eager, + placeholderChar: this.placeholderChar, + displayChar: this.displayChar + }, maskOpts)) : new PatternFixedDefinition({ + char, + eager: this.eager, + isUnmasking: unmaskingBlock + }); + this._blocks.push(def); + } + } + get state() { + return Object.assign({}, super.state, { + _blocks: this._blocks.map(b => b.state) + }); + } + set state(state) { + const { + _blocks + } = state, + maskedState = _objectWithoutPropertiesLoose(state, _excluded$2); + this._blocks.forEach((b, bi) => b.state = _blocks[bi]); + super.state = maskedState; + } + reset() { + super.reset(); + this._blocks.forEach(b => b.reset()); + } + get isComplete() { + return this._blocks.every(b => b.isComplete); + } + get isFilled() { + return this._blocks.every(b => b.isFilled); + } + get isFixed() { + return this._blocks.every(b => b.isFixed); + } + get isOptional() { + return this._blocks.every(b => b.isOptional); + } + doCommit() { + this._blocks.forEach(b => b.doCommit()); + super.doCommit(); + } + get unmaskedValue() { + return this._blocks.reduce((str, b) => str += b.unmaskedValue, ''); + } + set unmaskedValue(unmaskedValue) { + super.unmaskedValue = unmaskedValue; + } + get value() { + return this._blocks.reduce((str, b) => str += b.value, ''); + } + set value(value) { + super.value = value; + } + get displayValue() { + return this._blocks.reduce((str, b) => str += b.displayValue, ''); + } + appendTail(tail) { + return super.appendTail(tail).aggregate(this._appendPlaceholder()); + } + _appendEager() { + var _this$_mapPosToBlock; + const details = new ChangeDetails(); + let startBlockIndex = (_this$_mapPosToBlock = this._mapPosToBlock(this.value.length)) === null || _this$_mapPosToBlock === void 0 ? void 0 : _this$_mapPosToBlock.index; + if (startBlockIndex == null) return details; + if (this._blocks[startBlockIndex].isFilled) ++startBlockIndex; + for (let bi = startBlockIndex; bi < this._blocks.length; ++bi) { + const d = this._blocks[bi]._appendEager(); + if (!d.inserted) break; + details.aggregate(d); + } + return details; + } + _appendCharRaw(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + const blockIter = this._mapPosToBlock(this.value.length); + const details = new ChangeDetails(); + if (!blockIter) return details; + for (let bi = blockIter.index;; ++bi) { + var _flags$_beforeTailSta, _flags$_beforeTailSta2; + const block = this._blocks[bi]; + if (!block) break; + const blockDetails = block._appendChar(ch, Object.assign({}, flags, { + _beforeTailState: (_flags$_beforeTailSta = flags._beforeTailState) === null || _flags$_beforeTailSta === void 0 ? void 0 : (_flags$_beforeTailSta2 = _flags$_beforeTailSta._blocks) === null || _flags$_beforeTailSta2 === void 0 ? void 0 : _flags$_beforeTailSta2[bi] + })); + const skip = blockDetails.skip; + details.aggregate(blockDetails); + if (skip || blockDetails.rawInserted) break; + } + return details; + } + extractTail() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + const chunkTail = new ChunksTailDetails(); + if (fromPos === toPos) return chunkTail; + this._forEachBlocksInRange(fromPos, toPos, (b, bi, bFromPos, bToPos) => { + const blockChunk = b.extractTail(bFromPos, bToPos); + blockChunk.stop = this._findStopBefore(bi); + blockChunk.from = this._blockStartPos(bi); + if (blockChunk instanceof ChunksTailDetails) blockChunk.blockIndex = bi; + chunkTail.extend(blockChunk); + }); + return chunkTail; + } + extractInput() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + let flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + if (fromPos === toPos) return ''; + let input = ''; + this._forEachBlocksInRange(fromPos, toPos, (b, _, fromPos, toPos) => { + input += b.extractInput(fromPos, toPos, flags); + }); + return input; + } + _findStopBefore(blockIndex) { + let stopBefore; + for (let si = 0; si < this._stops.length; ++si) { + const stop = this._stops[si]; + if (stop <= blockIndex) stopBefore = stop;else break; + } + return stopBefore; + } + _appendPlaceholder(toBlockIndex) { + const details = new ChangeDetails(); + if (this.lazy && toBlockIndex == null) return details; + const startBlockIter = this._mapPosToBlock(this.value.length); + if (!startBlockIter) return details; + const startBlockIndex = startBlockIter.index; + const endBlockIndex = toBlockIndex != null ? toBlockIndex : this._blocks.length; + this._blocks.slice(startBlockIndex, endBlockIndex).forEach(b => { + if (!b.lazy || toBlockIndex != null) { + const args = b._blocks != null ? [b._blocks.length] : []; + const bDetails = b._appendPlaceholder(...args); + this._value += bDetails.inserted; + details.aggregate(bDetails); + } + }); + return details; + } + _mapPosToBlock(pos) { + let accVal = ''; + for (let bi = 0; bi < this._blocks.length; ++bi) { + const block = this._blocks[bi]; + const blockStartPos = accVal.length; + accVal += block.value; + if (pos <= accVal.length) { + return { + index: bi, + offset: pos - blockStartPos + }; + } + } + } + _blockStartPos(blockIndex) { + return this._blocks.slice(0, blockIndex).reduce((pos, b) => pos += b.value.length, 0); + } + _forEachBlocksInRange(fromPos) { + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + let fn = arguments.length > 2 ? arguments[2] : undefined; + const fromBlockIter = this._mapPosToBlock(fromPos); + if (fromBlockIter) { + const toBlockIter = this._mapPosToBlock(toPos); + const isSameBlock = toBlockIter && fromBlockIter.index === toBlockIter.index; + const fromBlockStartPos = fromBlockIter.offset; + const fromBlockEndPos = toBlockIter && isSameBlock ? toBlockIter.offset : this._blocks[fromBlockIter.index].value.length; + fn(this._blocks[fromBlockIter.index], fromBlockIter.index, fromBlockStartPos, fromBlockEndPos); + if (toBlockIter && !isSameBlock) { + for (let bi = fromBlockIter.index + 1; bi < toBlockIter.index; ++bi) { + fn(this._blocks[bi], bi, 0, this._blocks[bi].value.length); + } + fn(this._blocks[toBlockIter.index], toBlockIter.index, 0, toBlockIter.offset); + } + } + } + remove() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + const removeDetails = super.remove(fromPos, toPos); + this._forEachBlocksInRange(fromPos, toPos, (b, _, bFromPos, bToPos) => { + removeDetails.aggregate(b.remove(bFromPos, bToPos)); + }); + return removeDetails; + } + nearestInputPos(cursorPos) { + let direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; + if (!this._blocks.length) return 0; + const cursor = new PatternCursor(this, cursorPos); + if (direction === DIRECTION.NONE) { + if (cursor.pushRightBeforeInput()) return cursor.pos; + cursor.popState(); + if (cursor.pushLeftBeforeInput()) return cursor.pos; + return this.value.length; + } + if (direction === DIRECTION.LEFT || direction === DIRECTION.FORCE_LEFT) { + if (direction === DIRECTION.LEFT) { + cursor.pushRightBeforeFilled(); + if (cursor.ok && cursor.pos === cursorPos) return cursorPos; + cursor.popState(); + } + cursor.pushLeftBeforeInput(); + cursor.pushLeftBeforeRequired(); + cursor.pushLeftBeforeFilled(); + if (direction === DIRECTION.LEFT) { + cursor.pushRightBeforeInput(); + cursor.pushRightBeforeRequired(); + if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos; + cursor.popState(); + if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos; + cursor.popState(); + } + if (cursor.ok) return cursor.pos; + if (direction === DIRECTION.FORCE_LEFT) return 0; + cursor.popState(); + if (cursor.ok) return cursor.pos; + cursor.popState(); + if (cursor.ok) return cursor.pos; + return 0; + } + if (direction === DIRECTION.RIGHT || direction === DIRECTION.FORCE_RIGHT) { + cursor.pushRightBeforeInput(); + cursor.pushRightBeforeRequired(); + if (cursor.pushRightBeforeFilled()) return cursor.pos; + if (direction === DIRECTION.FORCE_RIGHT) return this.value.length; + cursor.popState(); + if (cursor.ok) return cursor.pos; + cursor.popState(); + if (cursor.ok) return cursor.pos; + return this.nearestInputPos(cursorPos, DIRECTION.LEFT); + } + return cursorPos; + } + totalInputPositions() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + let total = 0; + this._forEachBlocksInRange(fromPos, toPos, (b, _, bFromPos, bToPos) => { + total += b.totalInputPositions(bFromPos, bToPos); + }); + return total; + } + maskedBlock(name) { + return this.maskedBlocks(name)[0]; + } + maskedBlocks(name) { + const indices = this._maskedBlocks[name]; + if (!indices) return []; + return indices.map(gi => this._blocks[gi]); + } +} +MaskedPattern.DEFAULTS = { + lazy: true, + placeholderChar: '_' +}; +MaskedPattern.STOP_CHAR = '`'; +MaskedPattern.ESCAPE_CHAR = '\\'; +MaskedPattern.InputDefinition = PatternInputDefinition; +MaskedPattern.FixedDefinition = PatternFixedDefinition; +IMask.MaskedPattern = MaskedPattern; + +class MaskedRange extends MaskedPattern { + get _matchFrom() { + return this.maxLength - String(this.from).length; + } + _update(opts) { + opts = Object.assign({ + to: this.to || 0, + from: this.from || 0, + maxLength: this.maxLength || 0 + }, opts); + let maxLength = String(opts.to).length; + if (opts.maxLength != null) maxLength = Math.max(maxLength, opts.maxLength); + opts.maxLength = maxLength; + const fromStr = String(opts.from).padStart(maxLength, '0'); + const toStr = String(opts.to).padStart(maxLength, '0'); + let sameCharsCount = 0; + while (sameCharsCount < toStr.length && toStr[sameCharsCount] === fromStr[sameCharsCount]) ++sameCharsCount; + opts.mask = toStr.slice(0, sameCharsCount).replace(/0/g, '\\0') + '0'.repeat(maxLength - sameCharsCount); + super._update(opts); + } + get isComplete() { + return super.isComplete && Boolean(this.value); + } + boundaries(str) { + let minstr = ''; + let maxstr = ''; + const [, placeholder, num] = str.match(/^(\D*)(\d*)(\D*)/) || []; + if (num) { + minstr = '0'.repeat(placeholder.length) + num; + maxstr = '9'.repeat(placeholder.length) + num; + } + minstr = minstr.padEnd(this.maxLength, '0'); + maxstr = maxstr.padEnd(this.maxLength, '9'); + return [minstr, maxstr]; + } + doPrepare(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + let details; + [ch, details] = normalizePrepare(super.doPrepare(ch.replace(/\D/g, ''), flags)); + if (!this.autofix || !ch) return ch; + const fromStr = String(this.from).padStart(this.maxLength, '0'); + const toStr = String(this.to).padStart(this.maxLength, '0'); + let nextVal = this.value + ch; + if (nextVal.length > this.maxLength) return ''; + const [minstr, maxstr] = this.boundaries(nextVal); + if (Number(maxstr) < this.from) return fromStr[nextVal.length - 1]; + if (Number(minstr) > this.to) { + if (this.autofix === 'pad' && nextVal.length < this.maxLength) { + return ['', details.aggregate(this.append(fromStr[nextVal.length - 1] + ch, flags))]; + } + return toStr[nextVal.length - 1]; + } + return ch; + } + doValidate() { + const str = this.value; + const firstNonZero = str.search(/[^0]/); + if (firstNonZero === -1 && str.length <= this._matchFrom) return true; + const [minstr, maxstr] = this.boundaries(str); + return this.from <= Number(maxstr) && Number(minstr) <= this.to && super.doValidate(...arguments); + } +} +IMask.MaskedRange = MaskedRange; + +class MaskedDate extends MaskedPattern { + constructor(opts) { + super(Object.assign({}, MaskedDate.DEFAULTS, opts)); + } + _update(opts) { + if (opts.mask === Date) delete opts.mask; + if (opts.pattern) opts.mask = opts.pattern; + const blocks = opts.blocks; + opts.blocks = Object.assign({}, MaskedDate.GET_DEFAULT_BLOCKS()); + if (opts.min) opts.blocks.Y.from = opts.min.getFullYear(); + if (opts.max) opts.blocks.Y.to = opts.max.getFullYear(); + if (opts.min && opts.max && opts.blocks.Y.from === opts.blocks.Y.to) { + opts.blocks.m.from = opts.min.getMonth() + 1; + opts.blocks.m.to = opts.max.getMonth() + 1; + if (opts.blocks.m.from === opts.blocks.m.to) { + opts.blocks.d.from = opts.min.getDate(); + opts.blocks.d.to = opts.max.getDate(); + } + } + Object.assign(opts.blocks, this.blocks, blocks); + Object.keys(opts.blocks).forEach(bk => { + const b = opts.blocks[bk]; + if (!('autofix' in b) && 'autofix' in opts) b.autofix = opts.autofix; + }); + super._update(opts); + } + doValidate() { + const date = this.date; + return super.doValidate(...arguments) && (!this.isComplete || this.isDateExist(this.value) && date != null && (this.min == null || this.min <= date) && (this.max == null || date <= this.max)); + } + isDateExist(str) { + return this.format(this.parse(str, this), this).indexOf(str) >= 0; + } + get date() { + return this.typedValue; + } + set date(date) { + this.typedValue = date; + } + get typedValue() { + return this.isComplete ? super.typedValue : null; + } + set typedValue(value) { + super.typedValue = value; + } + maskEquals(mask) { + return mask === Date || super.maskEquals(mask); + } +} +MaskedDate.DEFAULTS = { + pattern: 'd{.}`m{.}`Y', + format: date => { + if (!date) return ''; + const day = String(date.getDate()).padStart(2, '0'); + const month = String(date.getMonth() + 1).padStart(2, '0'); + const year = date.getFullYear(); + return [day, month, year].join('.'); + }, + parse: str => { + const [day, month, year] = str.split('.'); + return new Date(year, month - 1, day); + } +}; +MaskedDate.GET_DEFAULT_BLOCKS = () => ({ + d: { + mask: MaskedRange, + from: 1, + to: 31, + maxLength: 2 + }, + m: { + mask: MaskedRange, + from: 1, + to: 12, + maxLength: 2 + }, + Y: { + mask: MaskedRange, + from: 1900, + to: 9999 + } +}); +IMask.MaskedDate = MaskedDate; + +class MaskElement { + get selectionStart() { + let start; + try { + start = this._unsafeSelectionStart; + } catch (e) {} + return start != null ? start : this.value.length; + } + get selectionEnd() { + let end; + try { + end = this._unsafeSelectionEnd; + } catch (e) {} + return end != null ? end : this.value.length; + } + select(start, end) { + if (start == null || end == null || start === this.selectionStart && end === this.selectionEnd) return; + try { + this._unsafeSelect(start, end); + } catch (e) {} + } + _unsafeSelect(start, end) {} + get isActive() { + return false; + } + bindEvents(handlers) {} + unbindEvents() {} +} +IMask.MaskElement = MaskElement; + +class HTMLMaskElement extends MaskElement { + constructor(input) { + super(); + this.input = input; + this._handlers = {}; + } + get rootElement() { + var _this$input$getRootNo, _this$input$getRootNo2, _this$input; + return (_this$input$getRootNo = (_this$input$getRootNo2 = (_this$input = this.input).getRootNode) === null || _this$input$getRootNo2 === void 0 ? void 0 : _this$input$getRootNo2.call(_this$input)) !== null && _this$input$getRootNo !== void 0 ? _this$input$getRootNo : document; + } + get isActive() { + return this.input === this.rootElement.activeElement; + } + get _unsafeSelectionStart() { + return this.input.selectionStart; + } + get _unsafeSelectionEnd() { + return this.input.selectionEnd; + } + _unsafeSelect(start, end) { + this.input.setSelectionRange(start, end); + } + get value() { + return this.input.value; + } + set value(value) { + this.input.value = value; + } + bindEvents(handlers) { + Object.keys(handlers).forEach(event => this._toggleEventHandler(HTMLMaskElement.EVENTS_MAP[event], handlers[event])); + } + unbindEvents() { + Object.keys(this._handlers).forEach(event => this._toggleEventHandler(event)); + } + _toggleEventHandler(event, handler) { + if (this._handlers[event]) { + this.input.removeEventListener(event, this._handlers[event]); + delete this._handlers[event]; + } + if (handler) { + this.input.addEventListener(event, handler); + this._handlers[event] = handler; + } + } +} +HTMLMaskElement.EVENTS_MAP = { + selectionChange: 'keydown', + input: 'input', + drop: 'drop', + click: 'click', + focus: 'focus', + commit: 'blur' +}; +IMask.HTMLMaskElement = HTMLMaskElement; + +class HTMLContenteditableMaskElement extends HTMLMaskElement { + get _unsafeSelectionStart() { + const root = this.rootElement; + const selection = root.getSelection && root.getSelection(); + const anchorOffset = selection && selection.anchorOffset; + const focusOffset = selection && selection.focusOffset; + if (focusOffset == null || anchorOffset == null || anchorOffset < focusOffset) { + return anchorOffset; + } + return focusOffset; + } + get _unsafeSelectionEnd() { + const root = this.rootElement; + const selection = root.getSelection && root.getSelection(); + const anchorOffset = selection && selection.anchorOffset; + const focusOffset = selection && selection.focusOffset; + if (focusOffset == null || anchorOffset == null || anchorOffset > focusOffset) { + return anchorOffset; + } + return focusOffset; + } + _unsafeSelect(start, end) { + if (!this.rootElement.createRange) return; + const range = this.rootElement.createRange(); + range.setStart(this.input.firstChild || this.input, start); + range.setEnd(this.input.lastChild || this.input, end); + const root = this.rootElement; + const selection = root.getSelection && root.getSelection(); + if (selection) { + selection.removeAllRanges(); + selection.addRange(range); + } + } + get value() { + return this.input.textContent; + } + set value(value) { + this.input.textContent = value; + } +} +IMask.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement; + +const _excluded$1 = ["mask"]; +class InputMask { + constructor(el, opts) { + this.el = el instanceof MaskElement ? el : el.isContentEditable && el.tagName !== 'INPUT' && el.tagName !== 'TEXTAREA' ? new HTMLContenteditableMaskElement(el) : new HTMLMaskElement(el); + this.masked = createMask(opts); + this._listeners = {}; + this._value = ''; + this._unmaskedValue = ''; + this._saveSelection = this._saveSelection.bind(this); + this._onInput = this._onInput.bind(this); + this._onChange = this._onChange.bind(this); + this._onDrop = this._onDrop.bind(this); + this._onFocus = this._onFocus.bind(this); + this._onClick = this._onClick.bind(this); + this.alignCursor = this.alignCursor.bind(this); + this.alignCursorFriendly = this.alignCursorFriendly.bind(this); + this._bindEvents(); + this.updateValue(); + this._onChange(); + } + get mask() { + return this.masked.mask; + } + maskEquals(mask) { + var _this$masked; + return mask == null || ((_this$masked = this.masked) === null || _this$masked === void 0 ? void 0 : _this$masked.maskEquals(mask)); + } + set mask(mask) { + if (this.maskEquals(mask)) return; + if (!(mask instanceof IMask.Masked) && this.masked.constructor === maskedClass(mask)) { + this.masked.updateOptions({ + mask + }); + return; + } + const masked = createMask({ + mask + }); + masked.unmaskedValue = this.masked.unmaskedValue; + this.masked = masked; + } + get value() { + return this._value; + } + set value(str) { + if (this.value === str) return; + this.masked.value = str; + this.updateControl(); + this.alignCursor(); + } + get unmaskedValue() { + return this._unmaskedValue; + } + set unmaskedValue(str) { + if (this.unmaskedValue === str) return; + this.masked.unmaskedValue = str; + this.updateControl(); + this.alignCursor(); + } + get typedValue() { + return this.masked.typedValue; + } + set typedValue(val) { + if (this.masked.typedValueEquals(val)) return; + this.masked.typedValue = val; + this.updateControl(); + this.alignCursor(); + } + get displayValue() { + return this.masked.displayValue; + } + _bindEvents() { + this.el.bindEvents({ + selectionChange: this._saveSelection, + input: this._onInput, + drop: this._onDrop, + click: this._onClick, + focus: this._onFocus, + commit: this._onChange + }); + } + _unbindEvents() { + if (this.el) this.el.unbindEvents(); + } + _fireEvent(ev) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + const listeners = this._listeners[ev]; + if (!listeners) return; + listeners.forEach(l => l(...args)); + } + get selectionStart() { + return this._cursorChanging ? this._changingCursorPos : this.el.selectionStart; + } + get cursorPos() { + return this._cursorChanging ? this._changingCursorPos : this.el.selectionEnd; + } + set cursorPos(pos) { + if (!this.el || !this.el.isActive) return; + this.el.select(pos, pos); + this._saveSelection(); + } + _saveSelection( + ) { + if (this.displayValue !== this.el.value) { + console.warn('Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly.'); + } + this._selection = { + start: this.selectionStart, + end: this.cursorPos + }; + } + updateValue() { + this.masked.value = this.el.value; + this._value = this.masked.value; + } + updateControl() { + const newUnmaskedValue = this.masked.unmaskedValue; + const newValue = this.masked.value; + const newDisplayValue = this.displayValue; + const isChanged = this.unmaskedValue !== newUnmaskedValue || this.value !== newValue; + this._unmaskedValue = newUnmaskedValue; + this._value = newValue; + if (this.el.value !== newDisplayValue) this.el.value = newDisplayValue; + if (isChanged) this._fireChangeEvents(); + } + updateOptions(opts) { + const { + mask + } = opts, + restOpts = _objectWithoutPropertiesLoose(opts, _excluded$1); + const updateMask = !this.maskEquals(mask); + const updateOpts = !objectIncludes(this.masked, restOpts); + if (updateMask) this.mask = mask; + if (updateOpts) this.masked.updateOptions(restOpts); + if (updateMask || updateOpts) this.updateControl(); + } + updateCursor(cursorPos) { + if (cursorPos == null) return; + this.cursorPos = cursorPos; + this._delayUpdateCursor(cursorPos); + } + _delayUpdateCursor(cursorPos) { + this._abortUpdateCursor(); + this._changingCursorPos = cursorPos; + this._cursorChanging = setTimeout(() => { + if (!this.el) return; + this.cursorPos = this._changingCursorPos; + this._abortUpdateCursor(); + }, 10); + } + _fireChangeEvents() { + this._fireEvent('accept', this._inputEvent); + if (this.masked.isComplete) this._fireEvent('complete', this._inputEvent); + } + _abortUpdateCursor() { + if (this._cursorChanging) { + clearTimeout(this._cursorChanging); + delete this._cursorChanging; + } + } + alignCursor() { + this.cursorPos = this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos, DIRECTION.LEFT)); + } + alignCursorFriendly() { + if (this.selectionStart !== this.cursorPos) return; + this.alignCursor(); + } + on(ev, handler) { + if (!this._listeners[ev]) this._listeners[ev] = []; + this._listeners[ev].push(handler); + return this; + } + off(ev, handler) { + if (!this._listeners[ev]) return this; + if (!handler) { + delete this._listeners[ev]; + return this; + } + const hIndex = this._listeners[ev].indexOf(handler); + if (hIndex >= 0) this._listeners[ev].splice(hIndex, 1); + return this; + } + _onInput(e) { + this._inputEvent = e; + this._abortUpdateCursor(); + if (!this._selection) return this.updateValue(); + const details = new ActionDetails( + this.el.value, this.cursorPos, + this.displayValue, this._selection); + const oldRawValue = this.masked.rawInputValue; + const offset = this.masked.splice(details.startChangePos, details.removed.length, details.inserted, details.removeDirection, { + input: true, + raw: true + }).offset; + const removeDirection = oldRawValue === this.masked.rawInputValue ? details.removeDirection : DIRECTION.NONE; + let cursorPos = this.masked.nearestInputPos(details.startChangePos + offset, removeDirection); + if (removeDirection !== DIRECTION.NONE) cursorPos = this.masked.nearestInputPos(cursorPos, DIRECTION.NONE); + this.updateControl(); + this.updateCursor(cursorPos); + delete this._inputEvent; + } + _onChange() { + if (this.displayValue !== this.el.value) { + this.updateValue(); + } + this.masked.doCommit(); + this.updateControl(); + this._saveSelection(); + } + _onDrop(ev) { + ev.preventDefault(); + ev.stopPropagation(); + } + _onFocus(ev) { + this.alignCursorFriendly(); + } + _onClick(ev) { + this.alignCursorFriendly(); + } + destroy() { + this._unbindEvents(); + this._listeners.length = 0; + delete this.el; + } +} +IMask.InputMask = InputMask; + +class MaskedEnum extends MaskedPattern { + _update(opts) { + if (opts.enum) opts.mask = '*'.repeat(opts.enum[0].length); + super._update(opts); + } + doValidate() { + return this.enum.some(e => e.indexOf(this.unmaskedValue) >= 0) && super.doValidate(...arguments); + } +} +IMask.MaskedEnum = MaskedEnum; + +class MaskedNumber extends Masked { + constructor(opts) { + super(Object.assign({}, MaskedNumber.DEFAULTS, opts)); + } + _update(opts) { + super._update(opts); + this._updateRegExps(); + } + _updateRegExps() { + let start = '^' + (this.allowNegative ? '[+|\\-]?' : ''); + let mid = '\\d*'; + let end = (this.scale ? "(".concat(escapeRegExp(this.radix), "\\d{0,").concat(this.scale, "})?") : '') + '$'; + this._numberRegExp = new RegExp(start + mid + end); + this._mapToRadixRegExp = new RegExp("[".concat(this.mapToRadix.map(escapeRegExp).join(''), "]"), 'g'); + this._thousandsSeparatorRegExp = new RegExp(escapeRegExp(this.thousandsSeparator), 'g'); + } + _removeThousandsSeparators(value) { + return value.replace(this._thousandsSeparatorRegExp, ''); + } + _insertThousandsSeparators(value) { + const parts = value.split(this.radix); + parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, this.thousandsSeparator); + return parts.join(this.radix); + } + doPrepare(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + ch = this._removeThousandsSeparators(this.scale && this.mapToRadix.length && ( + flags.input && flags.raw || !flags.input && !flags.raw) ? ch.replace(this._mapToRadixRegExp, this.radix) : ch); + const [prepCh, details] = normalizePrepare(super.doPrepare(ch, flags)); + if (ch && !prepCh) details.skip = true; + return [prepCh, details]; + } + _separatorsCount(to) { + let extendOnSeparators = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + let count = 0; + for (let pos = 0; pos < to; ++pos) { + if (this._value.indexOf(this.thousandsSeparator, pos) === pos) { + ++count; + if (extendOnSeparators) to += this.thousandsSeparator.length; + } + } + return count; + } + _separatorsCountFromSlice() { + let slice = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._value; + return this._separatorsCount(this._removeThousandsSeparators(slice).length, true); + } + extractInput() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + let flags = arguments.length > 2 ? arguments[2] : undefined; + [fromPos, toPos] = this._adjustRangeWithSeparators(fromPos, toPos); + return this._removeThousandsSeparators(super.extractInput(fromPos, toPos, flags)); + } + _appendCharRaw(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (!this.thousandsSeparator) return super._appendCharRaw(ch, flags); + const prevBeforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value; + const prevBeforeTailSeparatorsCount = this._separatorsCountFromSlice(prevBeforeTailValue); + this._value = this._removeThousandsSeparators(this.value); + const appendDetails = super._appendCharRaw(ch, flags); + this._value = this._insertThousandsSeparators(this._value); + const beforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value; + const beforeTailSeparatorsCount = this._separatorsCountFromSlice(beforeTailValue); + appendDetails.tailShift += (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length; + appendDetails.skip = !appendDetails.rawInserted && ch === this.thousandsSeparator; + return appendDetails; + } + _findSeparatorAround(pos) { + if (this.thousandsSeparator) { + const searchFrom = pos - this.thousandsSeparator.length + 1; + const separatorPos = this.value.indexOf(this.thousandsSeparator, searchFrom); + if (separatorPos <= pos) return separatorPos; + } + return -1; + } + _adjustRangeWithSeparators(from, to) { + const separatorAroundFromPos = this._findSeparatorAround(from); + if (separatorAroundFromPos >= 0) from = separatorAroundFromPos; + const separatorAroundToPos = this._findSeparatorAround(to); + if (separatorAroundToPos >= 0) to = separatorAroundToPos + this.thousandsSeparator.length; + return [from, to]; + } + remove() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + [fromPos, toPos] = this._adjustRangeWithSeparators(fromPos, toPos); + const valueBeforePos = this.value.slice(0, fromPos); + const valueAfterPos = this.value.slice(toPos); + const prevBeforeTailSeparatorsCount = this._separatorsCount(valueBeforePos.length); + this._value = this._insertThousandsSeparators(this._removeThousandsSeparators(valueBeforePos + valueAfterPos)); + const beforeTailSeparatorsCount = this._separatorsCountFromSlice(valueBeforePos); + return new ChangeDetails({ + tailShift: (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length + }); + } + nearestInputPos(cursorPos, direction) { + if (!this.thousandsSeparator) return cursorPos; + switch (direction) { + case DIRECTION.NONE: + case DIRECTION.LEFT: + case DIRECTION.FORCE_LEFT: + { + const separatorAtLeftPos = this._findSeparatorAround(cursorPos - 1); + if (separatorAtLeftPos >= 0) { + const separatorAtLeftEndPos = separatorAtLeftPos + this.thousandsSeparator.length; + if (cursorPos < separatorAtLeftEndPos || this.value.length <= separatorAtLeftEndPos || direction === DIRECTION.FORCE_LEFT) { + return separatorAtLeftPos; + } + } + break; + } + case DIRECTION.RIGHT: + case DIRECTION.FORCE_RIGHT: + { + const separatorAtRightPos = this._findSeparatorAround(cursorPos); + if (separatorAtRightPos >= 0) { + return separatorAtRightPos + this.thousandsSeparator.length; + } + } + } + return cursorPos; + } + doValidate(flags) { + let valid = Boolean(this._removeThousandsSeparators(this.value).match(this._numberRegExp)); + if (valid) { + const number = this.number; + valid = valid && !isNaN(number) && ( + this.min == null || this.min >= 0 || this.min <= this.number) && ( + this.max == null || this.max <= 0 || this.number <= this.max); + } + return valid && super.doValidate(flags); + } + doCommit() { + if (this.value) { + const number = this.number; + let validnum = number; + if (this.min != null) validnum = Math.max(validnum, this.min); + if (this.max != null) validnum = Math.min(validnum, this.max); + if (validnum !== number) this.unmaskedValue = this.doFormat(validnum); + let formatted = this.value; + if (this.normalizeZeros) formatted = this._normalizeZeros(formatted); + if (this.padFractionalZeros && this.scale > 0) formatted = this._padFractionalZeros(formatted); + this._value = formatted; + } + super.doCommit(); + } + _normalizeZeros(value) { + const parts = this._removeThousandsSeparators(value).split(this.radix); + parts[0] = parts[0].replace(/^(\D*)(0*)(\d*)/, (match, sign, zeros, num) => sign + num); + if (value.length && !/\d$/.test(parts[0])) parts[0] = parts[0] + '0'; + if (parts.length > 1) { + parts[1] = parts[1].replace(/0*$/, ''); + if (!parts[1].length) parts.length = 1; + } + return this._insertThousandsSeparators(parts.join(this.radix)); + } + _padFractionalZeros(value) { + if (!value) return value; + const parts = value.split(this.radix); + if (parts.length < 2) parts.push(''); + parts[1] = parts[1].padEnd(this.scale, '0'); + return parts.join(this.radix); + } + doSkipInvalid(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + let checkTail = arguments.length > 2 ? arguments[2] : undefined; + const dropFractional = this.scale === 0 && ch !== this.thousandsSeparator && (ch === this.radix || ch === MaskedNumber.UNMASKED_RADIX || this.mapToRadix.includes(ch)); + return super.doSkipInvalid(ch, flags, checkTail) && !dropFractional; + } + get unmaskedValue() { + return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix, MaskedNumber.UNMASKED_RADIX); + } + set unmaskedValue(unmaskedValue) { + super.unmaskedValue = unmaskedValue; + } + get typedValue() { + return this.doParse(this.unmaskedValue); + } + set typedValue(n) { + this.rawInputValue = this.doFormat(n).replace(MaskedNumber.UNMASKED_RADIX, this.radix); + } + get number() { + return this.typedValue; + } + set number(number) { + this.typedValue = number; + } + get allowNegative() { + return this.signed || this.min != null && this.min < 0 || this.max != null && this.max < 0; + } + typedValueEquals(value) { + return (super.typedValueEquals(value) || MaskedNumber.EMPTY_VALUES.includes(value) && MaskedNumber.EMPTY_VALUES.includes(this.typedValue)) && !(value === 0 && this.value === ''); + } +} +MaskedNumber.UNMASKED_RADIX = '.'; +MaskedNumber.DEFAULTS = { + radix: ',', + thousandsSeparator: '', + mapToRadix: [MaskedNumber.UNMASKED_RADIX], + scale: 2, + signed: false, + normalizeZeros: true, + padFractionalZeros: false, + parse: Number, + format: n => n.toLocaleString('en-US', { + useGrouping: false, + maximumFractionDigits: 20 + }) +}; +MaskedNumber.EMPTY_VALUES = [...Masked.EMPTY_VALUES, 0]; +IMask.MaskedNumber = MaskedNumber; + +class MaskedFunction extends Masked { + _update(opts) { + if (opts.mask) opts.validate = opts.mask; + super._update(opts); + } +} +IMask.MaskedFunction = MaskedFunction; + +const _excluded = ["compiledMasks", "currentMaskRef", "currentMask"], + _excluded2 = ["mask"]; +class MaskedDynamic extends Masked { + constructor(opts) { + super(Object.assign({}, MaskedDynamic.DEFAULTS, opts)); + this.currentMask = null; + } + _update(opts) { + super._update(opts); + if ('mask' in opts) { + this.compiledMasks = Array.isArray(opts.mask) ? opts.mask.map(m => createMask(m)) : []; + } + } + _appendCharRaw(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + const details = this._applyDispatch(ch, flags); + if (this.currentMask) { + details.aggregate(this.currentMask._appendChar(ch, this.currentMaskFlags(flags))); + } + return details; + } + _applyDispatch() { + let appended = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + let tail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; + const prevValueBeforeTail = flags.tail && flags._beforeTailState != null ? flags._beforeTailState._value : this.value; + const inputValue = this.rawInputValue; + const insertValue = flags.tail && flags._beforeTailState != null ? + flags._beforeTailState._rawInputValue : inputValue; + const tailValue = inputValue.slice(insertValue.length); + const prevMask = this.currentMask; + const details = new ChangeDetails(); + const prevMaskState = prevMask === null || prevMask === void 0 ? void 0 : prevMask.state; + this.currentMask = this.doDispatch(appended, Object.assign({}, flags), tail); + if (this.currentMask) { + if (this.currentMask !== prevMask) { + this.currentMask.reset(); + if (insertValue) { + const d = this.currentMask.append(insertValue, { + raw: true + }); + details.tailShift = d.inserted.length - prevValueBeforeTail.length; + } + if (tailValue) { + details.tailShift += this.currentMask.append(tailValue, { + raw: true, + tail: true + }).tailShift; + } + } else { + this.currentMask.state = prevMaskState; + } + } + return details; + } + _appendPlaceholder() { + const details = this._applyDispatch(...arguments); + if (this.currentMask) { + details.aggregate(this.currentMask._appendPlaceholder()); + } + return details; + } + _appendEager() { + const details = this._applyDispatch(...arguments); + if (this.currentMask) { + details.aggregate(this.currentMask._appendEager()); + } + return details; + } + appendTail(tail) { + const details = new ChangeDetails(); + if (tail) details.aggregate(this._applyDispatch('', {}, tail)); + return details.aggregate(this.currentMask ? this.currentMask.appendTail(tail) : super.appendTail(tail)); + } + currentMaskFlags(flags) { + var _flags$_beforeTailSta, _flags$_beforeTailSta2; + return Object.assign({}, flags, { + _beforeTailState: ((_flags$_beforeTailSta = flags._beforeTailState) === null || _flags$_beforeTailSta === void 0 ? void 0 : _flags$_beforeTailSta.currentMaskRef) === this.currentMask && ((_flags$_beforeTailSta2 = flags._beforeTailState) === null || _flags$_beforeTailSta2 === void 0 ? void 0 : _flags$_beforeTailSta2.currentMask) || flags._beforeTailState + }); + } + doDispatch(appended) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + let tail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; + return this.dispatch(appended, this, flags, tail); + } + doValidate(flags) { + return super.doValidate(flags) && (!this.currentMask || this.currentMask.doValidate(this.currentMaskFlags(flags))); + } + doPrepare(str) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + let [s, details] = normalizePrepare(super.doPrepare(str, flags)); + if (this.currentMask) { + let currentDetails; + [s, currentDetails] = normalizePrepare(super.doPrepare(s, this.currentMaskFlags(flags))); + details = details.aggregate(currentDetails); + } + return [s, details]; + } + reset() { + var _this$currentMask; + (_this$currentMask = this.currentMask) === null || _this$currentMask === void 0 ? void 0 : _this$currentMask.reset(); + this.compiledMasks.forEach(m => m.reset()); + } + get value() { + return this.currentMask ? this.currentMask.value : ''; + } + set value(value) { + super.value = value; + } + get unmaskedValue() { + return this.currentMask ? this.currentMask.unmaskedValue : ''; + } + set unmaskedValue(unmaskedValue) { + super.unmaskedValue = unmaskedValue; + } + get typedValue() { + return this.currentMask ? this.currentMask.typedValue : ''; + } + set typedValue(value) { + let unmaskedValue = String(value); + if (this.currentMask) { + this.currentMask.typedValue = value; + unmaskedValue = this.currentMask.unmaskedValue; + } + this.unmaskedValue = unmaskedValue; + } + get displayValue() { + return this.currentMask ? this.currentMask.displayValue : ''; + } + get isComplete() { + var _this$currentMask2; + return Boolean((_this$currentMask2 = this.currentMask) === null || _this$currentMask2 === void 0 ? void 0 : _this$currentMask2.isComplete); + } + get isFilled() { + var _this$currentMask3; + return Boolean((_this$currentMask3 = this.currentMask) === null || _this$currentMask3 === void 0 ? void 0 : _this$currentMask3.isFilled); + } + remove() { + const details = new ChangeDetails(); + if (this.currentMask) { + details.aggregate(this.currentMask.remove(...arguments)) + .aggregate(this._applyDispatch()); + } + return details; + } + get state() { + var _this$currentMask4; + return Object.assign({}, super.state, { + _rawInputValue: this.rawInputValue, + compiledMasks: this.compiledMasks.map(m => m.state), + currentMaskRef: this.currentMask, + currentMask: (_this$currentMask4 = this.currentMask) === null || _this$currentMask4 === void 0 ? void 0 : _this$currentMask4.state + }); + } + set state(state) { + const { + compiledMasks, + currentMaskRef, + currentMask + } = state, + maskedState = _objectWithoutPropertiesLoose(state, _excluded); + this.compiledMasks.forEach((m, mi) => m.state = compiledMasks[mi]); + if (currentMaskRef != null) { + this.currentMask = currentMaskRef; + this.currentMask.state = currentMask; + } + super.state = maskedState; + } + extractInput() { + return this.currentMask ? this.currentMask.extractInput(...arguments) : ''; + } + extractTail() { + return this.currentMask ? this.currentMask.extractTail(...arguments) : super.extractTail(...arguments); + } + doCommit() { + if (this.currentMask) this.currentMask.doCommit(); + super.doCommit(); + } + nearestInputPos() { + return this.currentMask ? this.currentMask.nearestInputPos(...arguments) : super.nearestInputPos(...arguments); + } + get overwrite() { + return this.currentMask ? this.currentMask.overwrite : super.overwrite; + } + set overwrite(overwrite) { + console.warn('"overwrite" option is not available in dynamic mask, use this option in siblings'); + } + get eager() { + return this.currentMask ? this.currentMask.eager : super.eager; + } + set eager(eager) { + console.warn('"eager" option is not available in dynamic mask, use this option in siblings'); + } + get skipInvalid() { + return this.currentMask ? this.currentMask.skipInvalid : super.skipInvalid; + } + set skipInvalid(skipInvalid) { + if (this.isInitialized || skipInvalid !== Masked.DEFAULTS.skipInvalid) { + console.warn('"skipInvalid" option is not available in dynamic mask, use this option in siblings'); + } + } + maskEquals(mask) { + return Array.isArray(mask) && this.compiledMasks.every((m, mi) => { + if (!mask[mi]) return; + const _mask$mi = mask[mi], + { + mask: oldMask + } = _mask$mi, + restOpts = _objectWithoutPropertiesLoose(_mask$mi, _excluded2); + return objectIncludes(m, restOpts) && m.maskEquals(oldMask); + }); + } + typedValueEquals(value) { + var _this$currentMask5; + return Boolean((_this$currentMask5 = this.currentMask) === null || _this$currentMask5 === void 0 ? void 0 : _this$currentMask5.typedValueEquals(value)); + } +} +MaskedDynamic.DEFAULTS = { + dispatch: (appended, masked, flags, tail) => { + if (!masked.compiledMasks.length) return; + const inputValue = masked.rawInputValue; + const inputs = masked.compiledMasks.map((m, index) => { + const isCurrent = masked.currentMask === m; + const startInputPos = isCurrent ? m.value.length : m.nearestInputPos(m.value.length, DIRECTION.FORCE_LEFT); + if (m.rawInputValue !== inputValue) { + m.reset(); + m.append(inputValue, { + raw: true + }); + } else if (!isCurrent) { + m.remove(startInputPos); + } + m.append(appended, masked.currentMaskFlags(flags)); + m.appendTail(tail); + return { + index, + weight: m.rawInputValue.length, + totalInputPositions: m.totalInputPositions(0, Math.max(startInputPos, m.nearestInputPos(m.value.length, DIRECTION.FORCE_LEFT))) + }; + }); + inputs.sort((i1, i2) => i2.weight - i1.weight || i2.totalInputPositions - i1.totalInputPositions); + return masked.compiledMasks[inputs[0].index]; + } +}; +IMask.MaskedDynamic = MaskedDynamic; + +const PIPE_TYPE = { + MASKED: 'value', + UNMASKED: 'unmaskedValue', + TYPED: 'typedValue' +}; +function createPipe(mask) { + let from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : PIPE_TYPE.MASKED; + let to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : PIPE_TYPE.MASKED; + const masked = createMask(mask); + return value => masked.runIsolated(m => { + m[from] = value; + return m[to]; + }); +} +function pipe(value) { + for (var _len = arguments.length, pipeArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + pipeArgs[_key - 1] = arguments[_key]; + } + return createPipe(...pipeArgs)(value); +} +IMask.PIPE_TYPE = PIPE_TYPE; +IMask.createPipe = createPipe; +IMask.pipe = pipe; + +try { + globalThis.IMask = IMask; +} catch (e) {} + +var maskElementList = [].slice.call(document.querySelectorAll('[data-mask]')); +maskElementList.map(function (maskEl) { + return new IMask(maskEl, { + mask: maskEl.dataset.mask, + lazy: maskEl.dataset['mask-visible'] === 'true' + }); +}); + +var top = 'top'; +var bottom = 'bottom'; +var right = 'right'; +var left = 'left'; +var auto = 'auto'; +var basePlacements = [top, bottom, right, left]; +var start = 'start'; +var end = 'end'; +var clippingParents = 'clippingParents'; +var viewport = 'viewport'; +var popper = 'popper'; +var reference = 'reference'; +var variationPlacements = basePlacements.reduce(function (acc, placement) { + return acc.concat([placement + "-" + start, placement + "-" + end]); +}, []); +var placements = [].concat(basePlacements, [auto]).reduce(function (acc, placement) { + return acc.concat([placement, placement + "-" + start, placement + "-" + end]); +}, []); +var beforeRead = 'beforeRead'; +var read = 'read'; +var afterRead = 'afterRead'; +var beforeMain = 'beforeMain'; +var main = 'main'; +var afterMain = 'afterMain'; +var beforeWrite = 'beforeWrite'; +var write = 'write'; +var afterWrite = 'afterWrite'; +var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; + +function getNodeName(element) { + return element ? (element.nodeName || '').toLowerCase() : null; +} + +function getWindow(node) { + if (node == null) { + return window; + } + if (node.toString() !== '[object Window]') { + var ownerDocument = node.ownerDocument; + return ownerDocument ? ownerDocument.defaultView || window : window; + } + return node; +} + +function isElement$1(node) { + var OwnElement = getWindow(node).Element; + return node instanceof OwnElement || node instanceof Element; +} +function isHTMLElement(node) { + var OwnElement = getWindow(node).HTMLElement; + return node instanceof OwnElement || node instanceof HTMLElement; +} +function isShadowRoot(node) { + if (typeof ShadowRoot === 'undefined') { + return false; + } + var OwnElement = getWindow(node).ShadowRoot; + return node instanceof OwnElement || node instanceof ShadowRoot; +} + +function applyStyles(_ref) { + var state = _ref.state; + Object.keys(state.elements).forEach(function (name) { + var style = state.styles[name] || {}; + var attributes = state.attributes[name] || {}; + var element = state.elements[name]; + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style); + Object.keys(attributes).forEach(function (name) { + var value = attributes[name]; + if (value === false) { + element.removeAttribute(name); + } else { + element.setAttribute(name, value === true ? '' : value); + } + }); + }); +} +function effect$2(_ref2) { + var state = _ref2.state; + var initialStyles = { + popper: { + position: state.options.strategy, + left: '0', + top: '0', + margin: '0' + }, + arrow: { + position: 'absolute' + }, + reference: {} + }; + Object.assign(state.elements.popper.style, initialStyles.popper); + state.styles = initialStyles; + if (state.elements.arrow) { + Object.assign(state.elements.arrow.style, initialStyles.arrow); + } + return function () { + Object.keys(state.elements).forEach(function (name) { + var element = state.elements[name]; + var attributes = state.attributes[name] || {}; + var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); + var style = styleProperties.reduce(function (style, property) { + style[property] = ''; + return style; + }, {}); + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style); + Object.keys(attributes).forEach(function (attribute) { + element.removeAttribute(attribute); + }); + }); + }; +} +var applyStyles$1 = { + name: 'applyStyles', + enabled: true, + phase: 'write', + fn: applyStyles, + effect: effect$2, + requires: ['computeStyles'] +}; + +function getBasePlacement(placement) { + return placement.split('-')[0]; +} + +var max = Math.max; +var min = Math.min; +var round = Math.round; + +function getUAString() { + var uaData = navigator.userAgentData; + if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) { + return uaData.brands.map(function (item) { + return item.brand + "/" + item.version; + }).join(' '); + } + return navigator.userAgent; +} + +function isLayoutViewport() { + return !/^((?!chrome|android).)*safari/i.test(getUAString()); +} + +function getBoundingClientRect(element, includeScale, isFixedStrategy) { + if (includeScale === void 0) { + includeScale = false; + } + if (isFixedStrategy === void 0) { + isFixedStrategy = false; + } + var clientRect = element.getBoundingClientRect(); + var scaleX = 1; + var scaleY = 1; + if (includeScale && isHTMLElement(element)) { + scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1; + scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1; + } + var _ref = isElement$1(element) ? getWindow(element) : window, + visualViewport = _ref.visualViewport; + var addVisualOffsets = !isLayoutViewport() && isFixedStrategy; + var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; + var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; + var width = clientRect.width / scaleX; + var height = clientRect.height / scaleY; + return { + width: width, + height: height, + top: y, + right: x + width, + bottom: y + height, + left: x, + x: x, + y: y + }; +} + +function getLayoutRect(element) { + var clientRect = getBoundingClientRect(element); + var width = element.offsetWidth; + var height = element.offsetHeight; + if (Math.abs(clientRect.width - width) <= 1) { + width = clientRect.width; + } + if (Math.abs(clientRect.height - height) <= 1) { + height = clientRect.height; + } + return { + x: element.offsetLeft, + y: element.offsetTop, + width: width, + height: height + }; +} + +function contains(parent, child) { + var rootNode = child.getRootNode && child.getRootNode(); + if (parent.contains(child)) { + return true; + } + else if (rootNode && isShadowRoot(rootNode)) { + var next = child; + do { + if (next && parent.isSameNode(next)) { + return true; + } + next = next.parentNode || next.host; + } while (next); + } + return false; +} + +function getComputedStyle$1(element) { + return getWindow(element).getComputedStyle(element); +} + +function isTableElement(element) { + return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; +} + +function getDocumentElement(element) { + return ((isElement$1(element) ? element.ownerDocument : + element.document) || window.document).documentElement; +} + +function getParentNode(element) { + if (getNodeName(element) === 'html') { + return element; + } + return ( + element.assignedSlot || + element.parentNode || ( + isShadowRoot(element) ? element.host : null) || + getDocumentElement(element) + ); +} + +function getTrueOffsetParent(element) { + if (!isHTMLElement(element) || + getComputedStyle$1(element).position === 'fixed') { + return null; + } + return element.offsetParent; +} +function getContainingBlock(element) { + var isFirefox = /firefox/i.test(getUAString()); + var isIE = /Trident/i.test(getUAString()); + if (isIE && isHTMLElement(element)) { + var elementCss = getComputedStyle$1(element); + if (elementCss.position === 'fixed') { + return null; + } + } + var currentNode = getParentNode(element); + if (isShadowRoot(currentNode)) { + currentNode = currentNode.host; + } + while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) { + var css = getComputedStyle$1(currentNode); + if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') { + return currentNode; + } else { + currentNode = currentNode.parentNode; + } + } + return null; +} +function getOffsetParent(element) { + var window = getWindow(element); + var offsetParent = getTrueOffsetParent(element); + while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') { + offsetParent = getTrueOffsetParent(offsetParent); + } + if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static')) { + return window; + } + return offsetParent || getContainingBlock(element) || window; +} + +function getMainAxisFromPlacement(placement) { + return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; +} + +function within(min$1, value, max$1) { + return max(min$1, min(value, max$1)); +} +function withinMaxClamp(min, value, max) { + var v = within(min, value, max); + return v > max ? max : v; +} + +function getFreshSideObject() { + return { + top: 0, + right: 0, + bottom: 0, + left: 0 + }; +} + +function mergePaddingObject(paddingObject) { + return Object.assign({}, getFreshSideObject(), paddingObject); +} + +function expandToHashMap(value, keys) { + return keys.reduce(function (hashMap, key) { + hashMap[key] = value; + return hashMap; + }, {}); +} + +var toPaddingObject = function toPaddingObject(padding, state) { + padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { + placement: state.placement + })) : padding; + return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); +}; +function arrow(_ref) { + var _state$modifiersData$; + var state = _ref.state, + name = _ref.name, + options = _ref.options; + var arrowElement = state.elements.arrow; + var popperOffsets = state.modifiersData.popperOffsets; + var basePlacement = getBasePlacement(state.placement); + var axis = getMainAxisFromPlacement(basePlacement); + var isVertical = [left, right].indexOf(basePlacement) >= 0; + var len = isVertical ? 'height' : 'width'; + if (!arrowElement || !popperOffsets) { + return; + } + var paddingObject = toPaddingObject(options.padding, state); + var arrowRect = getLayoutRect(arrowElement); + var minProp = axis === 'y' ? top : left; + var maxProp = axis === 'y' ? bottom : right; + var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; + var startDiff = popperOffsets[axis] - state.rects.reference[axis]; + var arrowOffsetParent = getOffsetParent(arrowElement); + var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; + var centerToReference = endDiff / 2 - startDiff / 2; + var min = paddingObject[minProp]; + var max = clientSize - arrowRect[len] - paddingObject[maxProp]; + var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; + var offset = within(min, center, max); + var axisProp = axis; + state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); +} +function effect$1(_ref2) { + var state = _ref2.state, + options = _ref2.options; + var _options$element = options.element, + arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; + if (arrowElement == null) { + return; + } + if (typeof arrowElement === 'string') { + arrowElement = state.elements.popper.querySelector(arrowElement); + if (!arrowElement) { + return; + } + } + if (!contains(state.elements.popper, arrowElement)) { + return; + } + state.elements.arrow = arrowElement; +} +var arrow$1 = { + name: 'arrow', + enabled: true, + phase: 'main', + fn: arrow, + effect: effect$1, + requires: ['popperOffsets'], + requiresIfExists: ['preventOverflow'] +}; + +function getVariation(placement) { + return placement.split('-')[1]; +} + +var unsetSides = { + top: 'auto', + right: 'auto', + bottom: 'auto', + left: 'auto' +}; +function roundOffsetsByDPR(_ref, win) { + var x = _ref.x, + y = _ref.y; + var dpr = win.devicePixelRatio || 1; + return { + x: round(x * dpr) / dpr || 0, + y: round(y * dpr) / dpr || 0 + }; +} +function mapToStyles(_ref2) { + var _Object$assign2; + var popper = _ref2.popper, + popperRect = _ref2.popperRect, + placement = _ref2.placement, + variation = _ref2.variation, + offsets = _ref2.offsets, + position = _ref2.position, + gpuAcceleration = _ref2.gpuAcceleration, + adaptive = _ref2.adaptive, + roundOffsets = _ref2.roundOffsets, + isFixed = _ref2.isFixed; + var _offsets$x = offsets.x, + x = _offsets$x === void 0 ? 0 : _offsets$x, + _offsets$y = offsets.y, + y = _offsets$y === void 0 ? 0 : _offsets$y; + var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({ + x: x, + y: y + }) : { + x: x, + y: y + }; + x = _ref3.x; + y = _ref3.y; + var hasX = offsets.hasOwnProperty('x'); + var hasY = offsets.hasOwnProperty('y'); + var sideX = left; + var sideY = top; + var win = window; + if (adaptive) { + var offsetParent = getOffsetParent(popper); + var heightProp = 'clientHeight'; + var widthProp = 'clientWidth'; + if (offsetParent === getWindow(popper)) { + offsetParent = getDocumentElement(popper); + if (getComputedStyle$1(offsetParent).position !== 'static' && position === 'absolute') { + heightProp = 'scrollHeight'; + widthProp = 'scrollWidth'; + } + } + offsetParent = offsetParent; + if (placement === top || (placement === left || placement === right) && variation === end) { + sideY = bottom; + var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : + offsetParent[heightProp]; + y -= offsetY - popperRect.height; + y *= gpuAcceleration ? 1 : -1; + } + if (placement === left || (placement === top || placement === bottom) && variation === end) { + sideX = right; + var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : + offsetParent[widthProp]; + x -= offsetX - popperRect.width; + x *= gpuAcceleration ? 1 : -1; + } + } + var commonStyles = Object.assign({ + position: position + }, adaptive && unsetSides); + var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ + x: x, + y: y + }, getWindow(popper)) : { + x: x, + y: y + }; + x = _ref4.x; + y = _ref4.y; + if (gpuAcceleration) { + var _Object$assign; + return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); + } + return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); +} +function computeStyles(_ref5) { + var state = _ref5.state, + options = _ref5.options; + var _options$gpuAccelerat = options.gpuAcceleration, + gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, + _options$adaptive = options.adaptive, + adaptive = _options$adaptive === void 0 ? true : _options$adaptive, + _options$roundOffsets = options.roundOffsets, + roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; + var commonStyles = { + placement: getBasePlacement(state.placement), + variation: getVariation(state.placement), + popper: state.elements.popper, + popperRect: state.rects.popper, + gpuAcceleration: gpuAcceleration, + isFixed: state.options.strategy === 'fixed' + }; + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive: adaptive, + roundOffsets: roundOffsets + }))); + } + if (state.modifiersData.arrow != null) { + state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.arrow, + position: 'absolute', + adaptive: false, + roundOffsets: roundOffsets + }))); + } + state.attributes.popper = Object.assign({}, state.attributes.popper, { + 'data-popper-placement': state.placement + }); +} +var computeStyles$1 = { + name: 'computeStyles', + enabled: true, + phase: 'beforeWrite', + fn: computeStyles, + data: {} +}; + +var passive = { + passive: true +}; +function effect(_ref) { + var state = _ref.state, + instance = _ref.instance, + options = _ref.options; + var _options$scroll = options.scroll, + scroll = _options$scroll === void 0 ? true : _options$scroll, + _options$resize = options.resize, + resize = _options$resize === void 0 ? true : _options$resize; + var window = getWindow(state.elements.popper); + var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); + if (scroll) { + scrollParents.forEach(function (scrollParent) { + scrollParent.addEventListener('scroll', instance.update, passive); + }); + } + if (resize) { + window.addEventListener('resize', instance.update, passive); + } + return function () { + if (scroll) { + scrollParents.forEach(function (scrollParent) { + scrollParent.removeEventListener('scroll', instance.update, passive); + }); + } + if (resize) { + window.removeEventListener('resize', instance.update, passive); + } + }; +} +var eventListeners = { + name: 'eventListeners', + enabled: true, + phase: 'write', + fn: function fn() {}, + effect: effect, + data: {} +}; + +var hash$1 = { + left: 'right', + right: 'left', + bottom: 'top', + top: 'bottom' +}; +function getOppositePlacement(placement) { + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash$1[matched]; + }); +} + +var hash = { + start: 'end', + end: 'start' +}; +function getOppositeVariationPlacement(placement) { + return placement.replace(/start|end/g, function (matched) { + return hash[matched]; + }); +} + +function getWindowScroll(node) { + var win = getWindow(node); + var scrollLeft = win.pageXOffset; + var scrollTop = win.pageYOffset; + return { + scrollLeft: scrollLeft, + scrollTop: scrollTop + }; +} + +function getWindowScrollBarX(element) { + return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; +} + +function getViewportRect(element, strategy) { + var win = getWindow(element); + var html = getDocumentElement(element); + var visualViewport = win.visualViewport; + var width = html.clientWidth; + var height = html.clientHeight; + var x = 0; + var y = 0; + if (visualViewport) { + width = visualViewport.width; + height = visualViewport.height; + var layoutViewport = isLayoutViewport(); + if (layoutViewport || !layoutViewport && strategy === 'fixed') { + x = visualViewport.offsetLeft; + y = visualViewport.offsetTop; + } + } + return { + width: width, + height: height, + x: x + getWindowScrollBarX(element), + y: y + }; +} + +function getDocumentRect(element) { + var _element$ownerDocumen; + var html = getDocumentElement(element); + var winScroll = getWindowScroll(element); + var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; + var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); + var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); + var x = -winScroll.scrollLeft + getWindowScrollBarX(element); + var y = -winScroll.scrollTop; + if (getComputedStyle$1(body || html).direction === 'rtl') { + x += max(html.clientWidth, body ? body.clientWidth : 0) - width; + } + return { + width: width, + height: height, + x: x, + y: y + }; +} + +function isScrollParent(element) { + var _getComputedStyle = getComputedStyle$1(element), + overflow = _getComputedStyle.overflow, + overflowX = _getComputedStyle.overflowX, + overflowY = _getComputedStyle.overflowY; + return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); +} + +function getScrollParent(node) { + if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { + return node.ownerDocument.body; + } + if (isHTMLElement(node) && isScrollParent(node)) { + return node; + } + return getScrollParent(getParentNode(node)); +} + +function listScrollParents(element, list) { + var _element$ownerDocumen; + if (list === void 0) { + list = []; + } + var scrollParent = getScrollParent(element); + var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; + var updatedList = list.concat(target); + return isBody ? updatedList : + updatedList.concat(listScrollParents(getParentNode(target))); +} + +function rectToClientRect(rect) { + return Object.assign({}, rect, { + left: rect.x, + top: rect.y, + right: rect.x + rect.width, + bottom: rect.y + rect.height + }); +} + +function getInnerBoundingClientRect(element, strategy) { + var rect = getBoundingClientRect(element, false, strategy === 'fixed'); + rect.top = rect.top + element.clientTop; + rect.left = rect.left + element.clientLeft; + rect.bottom = rect.top + element.clientHeight; + rect.right = rect.left + element.clientWidth; + rect.width = element.clientWidth; + rect.height = element.clientHeight; + rect.x = rect.left; + rect.y = rect.top; + return rect; +} +function getClientRectFromMixedType(element, clippingParent, strategy) { + return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement$1(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element))); +} +function getClippingParents(element) { + var clippingParents = listScrollParents(getParentNode(element)); + var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle$1(element).position) >= 0; + var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; + if (!isElement$1(clipperElement)) { + return []; + } + return clippingParents.filter(function (clippingParent) { + return isElement$1(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body'; + }); +} +function getClippingRect(element, boundary, rootBoundary, strategy) { + var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); + var clippingParents = [].concat(mainClippingParents, [rootBoundary]); + var firstClippingParent = clippingParents[0]; + var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { + var rect = getClientRectFromMixedType(element, clippingParent, strategy); + accRect.top = max(rect.top, accRect.top); + accRect.right = min(rect.right, accRect.right); + accRect.bottom = min(rect.bottom, accRect.bottom); + accRect.left = max(rect.left, accRect.left); + return accRect; + }, getClientRectFromMixedType(element, firstClippingParent, strategy)); + clippingRect.width = clippingRect.right - clippingRect.left; + clippingRect.height = clippingRect.bottom - clippingRect.top; + clippingRect.x = clippingRect.left; + clippingRect.y = clippingRect.top; + return clippingRect; +} + +function computeOffsets(_ref) { + var reference = _ref.reference, + element = _ref.element, + placement = _ref.placement; + var basePlacement = placement ? getBasePlacement(placement) : null; + var variation = placement ? getVariation(placement) : null; + var commonX = reference.x + reference.width / 2 - element.width / 2; + var commonY = reference.y + reference.height / 2 - element.height / 2; + var offsets; + switch (basePlacement) { + case top: + offsets = { + x: commonX, + y: reference.y - element.height + }; + break; + case bottom: + offsets = { + x: commonX, + y: reference.y + reference.height + }; + break; + case right: + offsets = { + x: reference.x + reference.width, + y: commonY + }; + break; + case left: + offsets = { + x: reference.x - element.width, + y: commonY + }; + break; + default: + offsets = { + x: reference.x, + y: reference.y + }; + } + var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; + if (mainAxis != null) { + var len = mainAxis === 'y' ? 'height' : 'width'; + switch (variation) { + case start: + offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); + break; + case end: + offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); + break; + } + } + return offsets; +} + +function detectOverflow(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, + _options$placement = _options.placement, + placement = _options$placement === void 0 ? state.placement : _options$placement, + _options$strategy = _options.strategy, + strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, + _options$boundary = _options.boundary, + boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, + _options$rootBoundary = _options.rootBoundary, + rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, + _options$elementConte = _options.elementContext, + elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, + _options$altBoundary = _options.altBoundary, + altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, + _options$padding = _options.padding, + padding = _options$padding === void 0 ? 0 : _options$padding; + var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); + var altContext = elementContext === popper ? reference : popper; + var popperRect = state.rects.popper; + var element = state.elements[altBoundary ? altContext : elementContext]; + var clippingClientRect = getClippingRect(isElement$1(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy); + var referenceClientRect = getBoundingClientRect(state.elements.reference); + var popperOffsets = computeOffsets({ + reference: referenceClientRect, + element: popperRect, + strategy: 'absolute', + placement: placement + }); + var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets)); + var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; + var overflowOffsets = { + top: clippingClientRect.top - elementClientRect.top + paddingObject.top, + bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, + left: clippingClientRect.left - elementClientRect.left + paddingObject.left, + right: elementClientRect.right - clippingClientRect.right + paddingObject.right + }; + var offsetData = state.modifiersData.offset; + if (elementContext === popper && offsetData) { + var offset = offsetData[placement]; + Object.keys(overflowOffsets).forEach(function (key) { + var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; + var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x'; + overflowOffsets[key] += offset[axis] * multiply; + }); + } + return overflowOffsets; +} + +function computeAutoPlacement(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, + placement = _options.placement, + boundary = _options.boundary, + rootBoundary = _options.rootBoundary, + padding = _options.padding, + flipVariations = _options.flipVariations, + _options$allowedAutoP = _options.allowedAutoPlacements, + allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; + var variation = getVariation(placement); + var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { + return getVariation(placement) === variation; + }) : basePlacements; + var allowedPlacements = placements$1.filter(function (placement) { + return allowedAutoPlacements.indexOf(placement) >= 0; + }); + if (allowedPlacements.length === 0) { + allowedPlacements = placements$1; + } + var overflows = allowedPlacements.reduce(function (acc, placement) { + acc[placement] = detectOverflow(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding + })[getBasePlacement(placement)]; + return acc; + }, {}); + return Object.keys(overflows).sort(function (a, b) { + return overflows[a] - overflows[b]; + }); +} + +function getExpandedFallbackPlacements(placement) { + if (getBasePlacement(placement) === auto) { + return []; + } + var oppositePlacement = getOppositePlacement(placement); + return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; +} +function flip(_ref) { + var state = _ref.state, + options = _ref.options, + name = _ref.name; + if (state.modifiersData[name]._skip) { + return; + } + var _options$mainAxis = options.mainAxis, + checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, + _options$altAxis = options.altAxis, + checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, + specifiedFallbackPlacements = options.fallbackPlacements, + padding = options.padding, + boundary = options.boundary, + rootBoundary = options.rootBoundary, + altBoundary = options.altBoundary, + _options$flipVariatio = options.flipVariations, + flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, + allowedAutoPlacements = options.allowedAutoPlacements; + var preferredPlacement = state.options.placement; + var basePlacement = getBasePlacement(preferredPlacement); + var isBasePlacement = basePlacement === preferredPlacement; + var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); + var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { + return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding, + flipVariations: flipVariations, + allowedAutoPlacements: allowedAutoPlacements + }) : placement); + }, []); + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var checksMap = new Map(); + var makeFallbackChecks = true; + var firstFittingPlacement = placements[0]; + for (var i = 0; i < placements.length; i++) { + var placement = placements[i]; + var _basePlacement = getBasePlacement(placement); + var isStartVariation = getVariation(placement) === start; + var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; + var len = isVertical ? 'width' : 'height'; + var overflow = detectOverflow(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + altBoundary: altBoundary, + padding: padding + }); + var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; + if (referenceRect[len] > popperRect[len]) { + mainVariationSide = getOppositePlacement(mainVariationSide); + } + var altVariationSide = getOppositePlacement(mainVariationSide); + var checks = []; + if (checkMainAxis) { + checks.push(overflow[_basePlacement] <= 0); + } + if (checkAltAxis) { + checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); + } + if (checks.every(function (check) { + return check; + })) { + firstFittingPlacement = placement; + makeFallbackChecks = false; + break; + } + checksMap.set(placement, checks); + } + if (makeFallbackChecks) { + var numberOfChecks = flipVariations ? 3 : 1; + var _loop = function _loop(_i) { + var fittingPlacement = placements.find(function (placement) { + var checks = checksMap.get(placement); + if (checks) { + return checks.slice(0, _i).every(function (check) { + return check; + }); + } + }); + if (fittingPlacement) { + firstFittingPlacement = fittingPlacement; + return "break"; + } + }; + for (var _i = numberOfChecks; _i > 0; _i--) { + var _ret = _loop(_i); + if (_ret === "break") break; + } + } + if (state.placement !== firstFittingPlacement) { + state.modifiersData[name]._skip = true; + state.placement = firstFittingPlacement; + state.reset = true; + } +} +var flip$1 = { + name: 'flip', + enabled: true, + phase: 'main', + fn: flip, + requiresIfExists: ['offset'], + data: { + _skip: false + } +}; + +function getSideOffsets(overflow, rect, preventedOffsets) { + if (preventedOffsets === void 0) { + preventedOffsets = { + x: 0, + y: 0 + }; + } + return { + top: overflow.top - rect.height - preventedOffsets.y, + right: overflow.right - rect.width + preventedOffsets.x, + bottom: overflow.bottom - rect.height + preventedOffsets.y, + left: overflow.left - rect.width - preventedOffsets.x + }; +} +function isAnySideFullyClipped(overflow) { + return [top, right, bottom, left].some(function (side) { + return overflow[side] >= 0; + }); +} +function hide(_ref) { + var state = _ref.state, + name = _ref.name; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var preventedOffsets = state.modifiersData.preventOverflow; + var referenceOverflow = detectOverflow(state, { + elementContext: 'reference' + }); + var popperAltOverflow = detectOverflow(state, { + altBoundary: true + }); + var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); + var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); + var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); + var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); + state.modifiersData[name] = { + referenceClippingOffsets: referenceClippingOffsets, + popperEscapeOffsets: popperEscapeOffsets, + isReferenceHidden: isReferenceHidden, + hasPopperEscaped: hasPopperEscaped + }; + state.attributes.popper = Object.assign({}, state.attributes.popper, { + 'data-popper-reference-hidden': isReferenceHidden, + 'data-popper-escaped': hasPopperEscaped + }); +} +var hide$1 = { + name: 'hide', + enabled: true, + phase: 'main', + requiresIfExists: ['preventOverflow'], + fn: hide +}; + +function distanceAndSkiddingToXY(placement, rects, offset) { + var basePlacement = getBasePlacement(placement); + var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; + var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { + placement: placement + })) : offset, + skidding = _ref[0], + distance = _ref[1]; + skidding = skidding || 0; + distance = (distance || 0) * invertDistance; + return [left, right].indexOf(basePlacement) >= 0 ? { + x: distance, + y: skidding + } : { + x: skidding, + y: distance + }; +} +function offset(_ref2) { + var state = _ref2.state, + options = _ref2.options, + name = _ref2.name; + var _options$offset = options.offset, + offset = _options$offset === void 0 ? [0, 0] : _options$offset; + var data = placements.reduce(function (acc, placement) { + acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); + return acc; + }, {}); + var _data$state$placement = data[state.placement], + x = _data$state$placement.x, + y = _data$state$placement.y; + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + state.modifiersData[name] = data; +} +var offset$1 = { + name: 'offset', + enabled: true, + phase: 'main', + requires: ['popperOffsets'], + fn: offset +}; + +function popperOffsets(_ref) { + var state = _ref.state, + name = _ref.name; + state.modifiersData[name] = computeOffsets({ + reference: state.rects.reference, + element: state.rects.popper, + strategy: 'absolute', + placement: state.placement + }); +} +var popperOffsets$1 = { + name: 'popperOffsets', + enabled: true, + phase: 'read', + fn: popperOffsets, + data: {} +}; + +function getAltAxis(axis) { + return axis === 'x' ? 'y' : 'x'; +} + +function preventOverflow(_ref) { + var state = _ref.state, + options = _ref.options, + name = _ref.name; + var _options$mainAxis = options.mainAxis, + checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, + _options$altAxis = options.altAxis, + checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, + boundary = options.boundary, + rootBoundary = options.rootBoundary, + altBoundary = options.altBoundary, + padding = options.padding, + _options$tether = options.tether, + tether = _options$tether === void 0 ? true : _options$tether, + _options$tetherOffset = options.tetherOffset, + tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; + var overflow = detectOverflow(state, { + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding, + altBoundary: altBoundary + }); + var basePlacement = getBasePlacement(state.placement); + var variation = getVariation(state.placement); + var isBasePlacement = !variation; + var mainAxis = getMainAxisFromPlacement(basePlacement); + var altAxis = getAltAxis(mainAxis); + var popperOffsets = state.modifiersData.popperOffsets; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { + placement: state.placement + })) : tetherOffset; + var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? { + mainAxis: tetherOffsetValue, + altAxis: tetherOffsetValue + } : Object.assign({ + mainAxis: 0, + altAxis: 0 + }, tetherOffsetValue); + var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; + var data = { + x: 0, + y: 0 + }; + if (!popperOffsets) { + return; + } + if (checkMainAxis) { + var _offsetModifierState$; + var mainSide = mainAxis === 'y' ? top : left; + var altSide = mainAxis === 'y' ? bottom : right; + var len = mainAxis === 'y' ? 'height' : 'width'; + var offset = popperOffsets[mainAxis]; + var min$1 = offset + overflow[mainSide]; + var max$1 = offset - overflow[altSide]; + var additive = tether ? -popperRect[len] / 2 : 0; + var minLen = variation === start ? referenceRect[len] : popperRect[len]; + var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; + var arrowElement = state.elements.arrow; + var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { + width: 0, + height: 0 + }; + var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject(); + var arrowPaddingMin = arrowPaddingObject[mainSide]; + var arrowPaddingMax = arrowPaddingObject[altSide]; + var arrowLen = within(0, referenceRect[len], arrowRect[len]); + var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; + var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; + var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); + var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; + var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; + var tetherMin = offset + minOffset - offsetModifierValue - clientOffset; + var tetherMax = offset + maxOffset - offsetModifierValue; + var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1); + popperOffsets[mainAxis] = preventedOffset; + data[mainAxis] = preventedOffset - offset; + } + if (checkAltAxis) { + var _offsetModifierState$2; + var _mainSide = mainAxis === 'x' ? top : left; + var _altSide = mainAxis === 'x' ? bottom : right; + var _offset = popperOffsets[altAxis]; + var _len = altAxis === 'y' ? 'height' : 'width'; + var _min = _offset + overflow[_mainSide]; + var _max = _offset - overflow[_altSide]; + var isOriginSide = [top, left].indexOf(basePlacement) !== -1; + var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; + var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; + var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; + var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); + popperOffsets[altAxis] = _preventedOffset; + data[altAxis] = _preventedOffset - _offset; + } + state.modifiersData[name] = data; +} +var preventOverflow$1 = { + name: 'preventOverflow', + enabled: true, + phase: 'main', + fn: preventOverflow, + requiresIfExists: ['offset'] +}; + +function getHTMLElementScroll(element) { + return { + scrollLeft: element.scrollLeft, + scrollTop: element.scrollTop + }; +} + +function getNodeScroll(node) { + if (node === getWindow(node) || !isHTMLElement(node)) { + return getWindowScroll(node); + } else { + return getHTMLElementScroll(node); + } +} + +function isElementScaled(element) { + var rect = element.getBoundingClientRect(); + var scaleX = round(rect.width) / element.offsetWidth || 1; + var scaleY = round(rect.height) / element.offsetHeight || 1; + return scaleX !== 1 || scaleY !== 1; +} +function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { + if (isFixed === void 0) { + isFixed = false; + } + var isOffsetParentAnElement = isHTMLElement(offsetParent); + var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); + var documentElement = getDocumentElement(offsetParent); + var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed); + var scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + var offsets = { + x: 0, + y: 0 + }; + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== 'body' || + isScrollParent(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + if (isHTMLElement(offsetParent)) { + offsets = getBoundingClientRect(offsetParent, true); + offsets.x += offsetParent.clientLeft; + offsets.y += offsetParent.clientTop; + } else if (documentElement) { + offsets.x = getWindowScrollBarX(documentElement); + } + } + return { + x: rect.left + scroll.scrollLeft - offsets.x, + y: rect.top + scroll.scrollTop - offsets.y, + width: rect.width, + height: rect.height + }; +} + +function order(modifiers) { + var map = new Map(); + var visited = new Set(); + var result = []; + modifiers.forEach(function (modifier) { + map.set(modifier.name, modifier); + }); + function sort(modifier) { + visited.add(modifier.name); + var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); + requires.forEach(function (dep) { + if (!visited.has(dep)) { + var depModifier = map.get(dep); + if (depModifier) { + sort(depModifier); + } + } + }); + result.push(modifier); + } + modifiers.forEach(function (modifier) { + if (!visited.has(modifier.name)) { + sort(modifier); + } + }); + return result; +} +function orderModifiers(modifiers) { + var orderedModifiers = order(modifiers); + return modifierPhases.reduce(function (acc, phase) { + return acc.concat(orderedModifiers.filter(function (modifier) { + return modifier.phase === phase; + })); + }, []); +} + +function debounce(fn) { + var pending; + return function () { + if (!pending) { + pending = new Promise(function (resolve) { + Promise.resolve().then(function () { + pending = undefined; + resolve(fn()); + }); + }); + } + return pending; + }; +} + +function mergeByName(modifiers) { + var merged = modifiers.reduce(function (merged, current) { + var existing = merged[current.name]; + merged[current.name] = existing ? Object.assign({}, existing, current, { + options: Object.assign({}, existing.options, current.options), + data: Object.assign({}, existing.data, current.data) + }) : current; + return merged; + }, {}); + return Object.keys(merged).map(function (key) { + return merged[key]; + }); +} + +var DEFAULT_OPTIONS = { + placement: 'bottom', + modifiers: [], + strategy: 'absolute' +}; +function areValidElements() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return !args.some(function (element) { + return !(element && typeof element.getBoundingClientRect === 'function'); + }); +} +function popperGenerator(generatorOptions) { + if (generatorOptions === void 0) { + generatorOptions = {}; + } + var _generatorOptions = generatorOptions, + _generatorOptions$def = _generatorOptions.defaultModifiers, + defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, + _generatorOptions$def2 = _generatorOptions.defaultOptions, + defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; + return function createPopper(reference, popper, options) { + if (options === void 0) { + options = defaultOptions; + } + var state = { + placement: 'bottom', + orderedModifiers: [], + options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), + modifiersData: {}, + elements: { + reference: reference, + popper: popper + }, + attributes: {}, + styles: {} + }; + var effectCleanupFns = []; + var isDestroyed = false; + var instance = { + state: state, + setOptions: function setOptions(setOptionsAction) { + var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction; + cleanupModifierEffects(); + state.options = Object.assign({}, defaultOptions, state.options, options); + state.scrollParents = { + reference: isElement$1(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [], + popper: listScrollParents(popper) + }; + var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); + state.orderedModifiers = orderedModifiers.filter(function (m) { + return m.enabled; + }); + runModifierEffects(); + return instance.update(); + }, + forceUpdate: function forceUpdate() { + if (isDestroyed) { + return; + } + var _state$elements = state.elements, + reference = _state$elements.reference, + popper = _state$elements.popper; + if (!areValidElements(reference, popper)) { + return; + } + state.rects = { + reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'), + popper: getLayoutRect(popper) + }; + state.reset = false; + state.placement = state.options.placement; + state.orderedModifiers.forEach(function (modifier) { + return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); + }); + for (var index = 0; index < state.orderedModifiers.length; index++) { + if (state.reset === true) { + state.reset = false; + index = -1; + continue; + } + var _state$orderedModifie = state.orderedModifiers[index], + fn = _state$orderedModifie.fn, + _state$orderedModifie2 = _state$orderedModifie.options, + _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, + name = _state$orderedModifie.name; + if (typeof fn === 'function') { + state = fn({ + state: state, + options: _options, + name: name, + instance: instance + }) || state; + } + } + }, + update: debounce(function () { + return new Promise(function (resolve) { + instance.forceUpdate(); + resolve(state); + }); + }), + destroy: function destroy() { + cleanupModifierEffects(); + isDestroyed = true; + } + }; + if (!areValidElements(reference, popper)) { + return instance; + } + instance.setOptions(options).then(function (state) { + if (!isDestroyed && options.onFirstUpdate) { + options.onFirstUpdate(state); + } + }); + function runModifierEffects() { + state.orderedModifiers.forEach(function (_ref3) { + var name = _ref3.name, + _ref3$options = _ref3.options, + options = _ref3$options === void 0 ? {} : _ref3$options, + effect = _ref3.effect; + if (typeof effect === 'function') { + var cleanupFn = effect({ + state: state, + name: name, + instance: instance, + options: options + }); + var noopFn = function noopFn() {}; + effectCleanupFns.push(cleanupFn || noopFn); + } + }); + } + function cleanupModifierEffects() { + effectCleanupFns.forEach(function (fn) { + return fn(); + }); + effectCleanupFns = []; + } + return instance; + }; +} +var createPopper$2 = popperGenerator(); + +var defaultModifiers$1 = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1]; +var createPopper$1 = popperGenerator({ + defaultModifiers: defaultModifiers$1 +}); + +var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1]; +var createPopper = popperGenerator({ + defaultModifiers: defaultModifiers +}); + +var Popper = /*#__PURE__*/Object.freeze({ + __proto__: null, + popperGenerator: popperGenerator, + detectOverflow: detectOverflow, + createPopperBase: createPopper$2, + createPopper: createPopper, + createPopperLite: createPopper$1, + top: top, + bottom: bottom, + right: right, + left: left, + auto: auto, + basePlacements: basePlacements, + start: start, + end: end, + clippingParents: clippingParents, + viewport: viewport, + popper: popper, + reference: reference, + variationPlacements: variationPlacements, + placements: placements, + beforeRead: beforeRead, + read: read, + afterRead: afterRead, + beforeMain: beforeMain, + main: main, + afterMain: afterMain, + beforeWrite: beforeWrite, + write: write, + afterWrite: afterWrite, + modifierPhases: modifierPhases, + applyStyles: applyStyles$1, + arrow: arrow$1, + computeStyles: computeStyles$1, + eventListeners: eventListeners, + flip: flip$1, + hide: hide$1, + offset: offset$1, + popperOffsets: popperOffsets$1, + preventOverflow: preventOverflow$1 +}); + +/*! + * Bootstrap v5.3.0-alpha3 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +const elementMap = new Map(); +const Data = { + set(element, key, instance) { + if (!elementMap.has(element)) { + elementMap.set(element, new Map()); + } + const instanceMap = elementMap.get(element); + if (!instanceMap.has(key) && instanceMap.size !== 0) { + console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); + return; + } + instanceMap.set(key, instance); + }, + get(element, key) { + if (elementMap.has(element)) { + return elementMap.get(element).get(key) || null; + } + return null; + }, + remove(element, key) { + if (!elementMap.has(element)) { + return; + } + const instanceMap = elementMap.get(element); + instanceMap.delete(key); + if (instanceMap.size === 0) { + elementMap.delete(element); + } + } +}; +const MAX_UID = 1000000; +const MILLISECONDS_MULTIPLIER = 1000; +const TRANSITION_END = 'transitionend'; +const parseSelector = selector => { + if (selector && window.CSS && window.CSS.escape) { + selector = selector.replace(/#([^\s"#']+)/g, (match, id) => `#${CSS.escape(id)}`); + } + return selector; +}; +const toType = object => { + if (object === null || object === undefined) { + return `${object}`; + } + return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase(); +}; +const getUID = prefix => { + do { + prefix += Math.floor(Math.random() * MAX_UID); + } while (document.getElementById(prefix)); + return prefix; +}; +const getTransitionDurationFromElement = element => { + if (!element) { + return 0; + } + let { + transitionDuration, + transitionDelay + } = window.getComputedStyle(element); + const floatTransitionDuration = Number.parseFloat(transitionDuration); + const floatTransitionDelay = Number.parseFloat(transitionDelay); + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } + transitionDuration = transitionDuration.split(',')[0]; + transitionDelay = transitionDelay.split(',')[0]; + return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; +}; +const triggerTransitionEnd = element => { + element.dispatchEvent(new Event(TRANSITION_END)); +}; +const isElement = object => { + if (!object || typeof object !== 'object') { + return false; + } + if (typeof object.jquery !== 'undefined') { + object = object[0]; + } + return typeof object.nodeType !== 'undefined'; +}; +const getElement = object => { + if (isElement(object)) { + return object.jquery ? object[0] : object; + } + if (typeof object === 'string' && object.length > 0) { + return document.querySelector(parseSelector(object)); + } + return null; +}; +const isVisible = element => { + if (!isElement(element) || element.getClientRects().length === 0) { + return false; + } + const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; + const closedDetails = element.closest('details:not([open])'); + if (!closedDetails) { + return elementIsVisible; + } + if (closedDetails !== element) { + const summary = element.closest('summary'); + if (summary && summary.parentNode !== closedDetails) { + return false; + } + if (summary === null) { + return false; + } + } + return elementIsVisible; +}; +const isDisabled = element => { + if (!element || element.nodeType !== Node.ELEMENT_NODE) { + return true; + } + if (element.classList.contains('disabled')) { + return true; + } + if (typeof element.disabled !== 'undefined') { + return element.disabled; + } + return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; +}; +const findShadowRoot = element => { + if (!document.documentElement.attachShadow) { + return null; + } + if (typeof element.getRootNode === 'function') { + const root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + if (element instanceof ShadowRoot) { + return element; + } + if (!element.parentNode) { + return null; + } + return findShadowRoot(element.parentNode); +}; +const noop = () => {}; +const reflow = element => { + element.offsetHeight; +}; +const getjQuery = () => { + if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { + return window.jQuery; + } + return null; +}; +const DOMContentLoadedCallbacks = []; +const onDOMContentLoaded = callback => { + if (document.readyState === 'loading') { + if (!DOMContentLoadedCallbacks.length) { + document.addEventListener('DOMContentLoaded', () => { + for (const callback of DOMContentLoadedCallbacks) { + callback(); + } + }); + } + DOMContentLoadedCallbacks.push(callback); + } else { + callback(); + } +}; +const isRTL = () => document.documentElement.dir === 'rtl'; +const defineJQueryPlugin = plugin => { + onDOMContentLoaded(() => { + const $ = getjQuery(); + if ($) { + const name = plugin.NAME; + const JQUERY_NO_CONFLICT = $.fn[name]; + $.fn[name] = plugin.jQueryInterface; + $.fn[name].Constructor = plugin; + $.fn[name].noConflict = () => { + $.fn[name] = JQUERY_NO_CONFLICT; + return plugin.jQueryInterface; + }; + } + }); +}; +const execute = (possibleCallback, args = [], defaultValue = possibleCallback) => { + return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue; +}; +const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { + if (!waitForTransition) { + execute(callback); + return; + } + const durationPadding = 5; + const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; + let called = false; + const handler = ({ + target + }) => { + if (target !== transitionElement) { + return; + } + called = true; + transitionElement.removeEventListener(TRANSITION_END, handler); + execute(callback); + }; + transitionElement.addEventListener(TRANSITION_END, handler); + setTimeout(() => { + if (!called) { + triggerTransitionEnd(transitionElement); + } + }, emulatedDuration); +}; +const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { + const listLength = list.length; + let index = list.indexOf(activeElement); + if (index === -1) { + return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]; + } + index += shouldGetNext ? 1 : -1; + if (isCycleAllowed) { + index = (index + listLength) % listLength; + } + return list[Math.max(0, Math.min(index, listLength - 1))]; +}; +const namespaceRegex = /[^.]*(?=\..*)\.|.*/; +const stripNameRegex = /\..*/; +const stripUidRegex = /::\d+$/; +const eventRegistry = {}; +let uidEvent = 1; +const customEvents = { + mouseenter: 'mouseover', + mouseleave: 'mouseout' +}; +const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']); +function makeEventUid(element, uid) { + return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; +} +function getElementEvents(element) { + const uid = makeEventUid(element); + element.uidEvent = uid; + eventRegistry[uid] = eventRegistry[uid] || {}; + return eventRegistry[uid]; +} +function bootstrapHandler(element, fn) { + return function handler(event) { + hydrateObj(event, { + delegateTarget: element + }); + if (handler.oneOff) { + EventHandler.off(element, event.type, fn); + } + return fn.apply(element, [event]); + }; +} +function bootstrapDelegationHandler(element, selector, fn) { + return function handler(event) { + const domElements = element.querySelectorAll(selector); + for (let { + target + } = event; target && target !== this; target = target.parentNode) { + for (const domElement of domElements) { + if (domElement !== target) { + continue; + } + hydrateObj(event, { + delegateTarget: target + }); + if (handler.oneOff) { + EventHandler.off(element, event.type, selector, fn); + } + return fn.apply(target, [event]); + } + } + }; +} +function findHandler(events, callable, delegationSelector = null) { + return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector); +} +function normalizeParameters(originalTypeEvent, handler, delegationFunction) { + const isDelegated = typeof handler === 'string'; + const callable = isDelegated ? delegationFunction : handler || delegationFunction; + let typeEvent = getTypeEvent(originalTypeEvent); + if (!nativeEvents.has(typeEvent)) { + typeEvent = originalTypeEvent; + } + return [isDelegated, callable, typeEvent]; +} +function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { + if (typeof originalTypeEvent !== 'string' || !element) { + return; + } + let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + if (originalTypeEvent in customEvents) { + const wrapFunction = fn => { + return function (event) { + if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { + return fn.call(this, event); + } + }; + }; + callable = wrapFunction(callable); + } + const events = getElementEvents(element); + const handlers = events[typeEvent] || (events[typeEvent] = {}); + const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null); + if (previousFunction) { + previousFunction.oneOff = previousFunction.oneOff && oneOff; + return; + } + const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, '')); + const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable); + fn.delegationSelector = isDelegated ? handler : null; + fn.callable = callable; + fn.oneOff = oneOff; + fn.uidEvent = uid; + handlers[uid] = fn; + element.addEventListener(typeEvent, fn, isDelegated); +} +function removeHandler(element, events, typeEvent, handler, delegationSelector) { + const fn = findHandler(events[typeEvent], handler, delegationSelector); + if (!fn) { + return; + } + element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); + delete events[typeEvent][fn.uidEvent]; +} +function removeNamespacedHandlers(element, events, typeEvent, namespace) { + const storeElementEvent = events[typeEvent] || {}; + for (const [handlerKey, event] of Object.entries(storeElementEvent)) { + if (handlerKey.includes(namespace)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } +} +function getTypeEvent(event) { + event = event.replace(stripNameRegex, ''); + return customEvents[event] || event; +} +const EventHandler = { + on(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, false); + }, + one(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, true); + }, + off(element, originalTypeEvent, handler, delegationFunction) { + if (typeof originalTypeEvent !== 'string' || !element) { + return; + } + const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + const inNamespace = typeEvent !== originalTypeEvent; + const events = getElementEvents(element); + const storeElementEvent = events[typeEvent] || {}; + const isNamespace = originalTypeEvent.startsWith('.'); + if (typeof callable !== 'undefined') { + if (!Object.keys(storeElementEvent).length) { + return; + } + removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null); + return; + } + if (isNamespace) { + for (const elementEvent of Object.keys(events)) { + removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); + } + } + for (const [keyHandlers, event] of Object.entries(storeElementEvent)) { + const handlerKey = keyHandlers.replace(stripUidRegex, ''); + if (!inNamespace || originalTypeEvent.includes(handlerKey)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } + }, + trigger(element, event, args) { + if (typeof event !== 'string' || !element) { + return null; + } + const $ = getjQuery(); + const typeEvent = getTypeEvent(event); + const inNamespace = event !== typeEvent; + let jQueryEvent = null; + let bubbles = true; + let nativeDispatch = true; + let defaultPrevented = false; + if (inNamespace && $) { + jQueryEvent = $.Event(event, args); + $(element).trigger(jQueryEvent); + bubbles = !jQueryEvent.isPropagationStopped(); + nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); + defaultPrevented = jQueryEvent.isDefaultPrevented(); + } + const evt = hydrateObj(new Event(event, { + bubbles, + cancelable: true + }), args); + if (defaultPrevented) { + evt.preventDefault(); + } + if (nativeDispatch) { + element.dispatchEvent(evt); + } + if (evt.defaultPrevented && jQueryEvent) { + jQueryEvent.preventDefault(); + } + return evt; + } +}; +function hydrateObj(obj, meta = {}) { + for (const [key, value] of Object.entries(meta)) { + try { + obj[key] = value; + } catch (_unused) { + Object.defineProperty(obj, key, { + configurable: true, + get() { + return value; + } + }); + } + } + return obj; +} +function normalizeData(value) { + if (value === 'true') { + return true; + } + if (value === 'false') { + return false; + } + if (value === Number(value).toString()) { + return Number(value); + } + if (value === '' || value === 'null') { + return null; + } + if (typeof value !== 'string') { + return value; + } + try { + return JSON.parse(decodeURIComponent(value)); + } catch (_unused) { + return value; + } +} +function normalizeDataKey(key) { + return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`); +} +const Manipulator = { + setDataAttribute(element, key, value) { + element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value); + }, + removeDataAttribute(element, key) { + element.removeAttribute(`data-bs-${normalizeDataKey(key)}`); + }, + getDataAttributes(element) { + if (!element) { + return {}; + } + const attributes = {}; + const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig')); + for (const key of bsKeys) { + let pureKey = key.replace(/^bs/, ''); + pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length); + attributes[pureKey] = normalizeData(element.dataset[key]); + } + return attributes; + }, + getDataAttribute(element, key) { + return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`)); + } +}; +class Config { + static get Default() { + return {}; + } + static get DefaultType() { + return {}; + } + static get NAME() { + throw new Error('You have to implement the static method "NAME", for each component!'); + } + _getConfig(config) { + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + return config; + } + _mergeConfigObj(config, element) { + const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; + return { + ...this.constructor.Default, + ...(typeof jsonConfig === 'object' ? jsonConfig : {}), + ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}), + ...(typeof config === 'object' ? config : {}) + }; + } + _typeCheckConfig(config, configTypes = this.constructor.DefaultType) { + for (const [property, expectedTypes] of Object.entries(configTypes)) { + const value = config[property]; + const valueType = isElement(value) ? 'element' : toType(value); + if (!new RegExp(expectedTypes).test(valueType)) { + throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); + } + } + } +} +const VERSION = '5.3.0-alpha2'; +class BaseComponent extends Config { + constructor(element, config) { + super(); + element = getElement(element); + if (!element) { + return; + } + this._element = element; + this._config = this._getConfig(config); + Data.set(this._element, this.constructor.DATA_KEY, this); + } + dispose() { + Data.remove(this._element, this.constructor.DATA_KEY); + EventHandler.off(this._element, this.constructor.EVENT_KEY); + for (const propertyName of Object.getOwnPropertyNames(this)) { + this[propertyName] = null; + } + } + _queueCallback(callback, element, isAnimated = true) { + executeAfterTransition(callback, element, isAnimated); + } + _getConfig(config) { + config = this._mergeConfigObj(config, this._element); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + static getInstance(element) { + return Data.get(getElement(element), this.DATA_KEY); + } + static getOrCreateInstance(element, config = {}) { + return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null); + } + static get VERSION() { + return VERSION; + } + static get DATA_KEY() { + return `bs.${this.NAME}`; + } + static get EVENT_KEY() { + return `.${this.DATA_KEY}`; + } + static eventName(name) { + return `${name}${this.EVENT_KEY}`; + } +} +const getSelector = element => { + let selector = element.getAttribute('data-bs-target'); + if (!selector || selector === '#') { + let hrefAttribute = element.getAttribute('href'); + if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) { + return null; + } + if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) { + hrefAttribute = `#${hrefAttribute.split('#')[1]}`; + } + selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null; + } + return parseSelector(selector); +}; +const SelectorEngine = { + find(selector, element = document.documentElement) { + return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); + }, + findOne(selector, element = document.documentElement) { + return Element.prototype.querySelector.call(element, selector); + }, + children(element, selector) { + return [].concat(...element.children).filter(child => child.matches(selector)); + }, + parents(element, selector) { + const parents = []; + let ancestor = element.parentNode.closest(selector); + while (ancestor) { + parents.push(ancestor); + ancestor = ancestor.parentNode.closest(selector); + } + return parents; + }, + prev(element, selector) { + let previous = element.previousElementSibling; + while (previous) { + if (previous.matches(selector)) { + return [previous]; + } + previous = previous.previousElementSibling; + } + return []; + }, + next(element, selector) { + let next = element.nextElementSibling; + while (next) { + if (next.matches(selector)) { + return [next]; + } + next = next.nextElementSibling; + } + return []; + }, + focusableChildren(element) { + const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(','); + return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el)); + }, + getSelectorFromElement(element) { + const selector = getSelector(element); + if (selector) { + return SelectorEngine.findOne(selector) ? selector : null; + } + return null; + }, + getElementFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.findOne(selector) : null; + }, + getMultipleElementsFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.find(selector) : []; + } +}; +const enableDismissTrigger = (component, method = 'hide') => { + const clickEvent = `click.dismiss${component.EVENT_KEY}`; + const name = component.NAME; + EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`); + const instance = component.getOrCreateInstance(target); + instance[method](); + }); +}; +const NAME$f = 'alert'; +const DATA_KEY$a = 'bs.alert'; +const EVENT_KEY$b = `.${DATA_KEY$a}`; +const EVENT_CLOSE = `close${EVENT_KEY$b}`; +const EVENT_CLOSED = `closed${EVENT_KEY$b}`; +const CLASS_NAME_FADE$5 = 'fade'; +const CLASS_NAME_SHOW$8 = 'show'; +class Alert extends BaseComponent { + static get NAME() { + return NAME$f; + } + close() { + const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); + if (closeEvent.defaultPrevented) { + return; + } + this._element.classList.remove(CLASS_NAME_SHOW$8); + const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); + this._queueCallback(() => this._destroyElement(), this._element, isAnimated); + } + _destroyElement() { + this._element.remove(); + EventHandler.trigger(this._element, EVENT_CLOSED); + this.dispose(); + } + static jQueryInterface(config) { + return this.each(function () { + const data = Alert.getOrCreateInstance(this); + if (typeof config !== 'string') { + return; + } + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + }); + } +} +enableDismissTrigger(Alert, 'close'); +defineJQueryPlugin(Alert); +const NAME$e = 'button'; +const DATA_KEY$9 = 'bs.button'; +const EVENT_KEY$a = `.${DATA_KEY$9}`; +const DATA_API_KEY$6 = '.data-api'; +const CLASS_NAME_ACTIVE$3 = 'active'; +const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]'; +const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; +class Button extends BaseComponent { + static get NAME() { + return NAME$e; + } + toggle() { + this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3)); + } + static jQueryInterface(config) { + return this.each(function () { + const data = Button.getOrCreateInstance(this); + if (config === 'toggle') { + data[config](); + } + }); + } +} +EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => { + event.preventDefault(); + const button = event.target.closest(SELECTOR_DATA_TOGGLE$5); + const data = Button.getOrCreateInstance(button); + data.toggle(); +}); +defineJQueryPlugin(Button); +const NAME$d = 'swipe'; +const EVENT_KEY$9 = '.bs.swipe'; +const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`; +const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`; +const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`; +const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`; +const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`; +const POINTER_TYPE_TOUCH = 'touch'; +const POINTER_TYPE_PEN = 'pen'; +const CLASS_NAME_POINTER_EVENT = 'pointer-event'; +const SWIPE_THRESHOLD = 40; +const Default$c = { + endCallback: null, + leftCallback: null, + rightCallback: null +}; +const DefaultType$c = { + endCallback: '(function|null)', + leftCallback: '(function|null)', + rightCallback: '(function|null)' +}; +class Swipe extends Config { + constructor(element, config) { + super(); + this._element = element; + if (!element || !Swipe.isSupported()) { + return; + } + this._config = this._getConfig(config); + this._deltaX = 0; + this._supportPointerEvents = Boolean(window.PointerEvent); + this._initEvents(); + } + static get Default() { + return Default$c; + } + static get DefaultType() { + return DefaultType$c; + } + static get NAME() { + return NAME$d; + } + dispose() { + EventHandler.off(this._element, EVENT_KEY$9); + } + _start(event) { + if (!this._supportPointerEvents) { + this._deltaX = event.touches[0].clientX; + return; + } + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX; + } + } + _end(event) { + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX - this._deltaX; + } + this._handleSwipe(); + execute(this._config.endCallback); + } + _move(event) { + this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX; + } + _handleSwipe() { + const absDeltaX = Math.abs(this._deltaX); + if (absDeltaX <= SWIPE_THRESHOLD) { + return; + } + const direction = absDeltaX / this._deltaX; + this._deltaX = 0; + if (!direction) { + return; + } + execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback); + } + _initEvents() { + if (this._supportPointerEvents) { + EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event)); + EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event)); + this._element.classList.add(CLASS_NAME_POINTER_EVENT); + } else { + EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event)); + EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event)); + EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event)); + } + } + _eventIsPointerPenTouch(event) { + return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); + } + static isSupported() { + return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; + } +} +const NAME$c = 'carousel'; +const DATA_KEY$8 = 'bs.carousel'; +const EVENT_KEY$8 = `.${DATA_KEY$8}`; +const DATA_API_KEY$5 = '.data-api'; +const ARROW_LEFT_KEY$1 = 'ArrowLeft'; +const ARROW_RIGHT_KEY$1 = 'ArrowRight'; +const TOUCHEVENT_COMPAT_WAIT = 500; +const ORDER_NEXT = 'next'; +const ORDER_PREV = 'prev'; +const DIRECTION_LEFT = 'left'; +const DIRECTION_RIGHT = 'right'; +const EVENT_SLIDE = `slide${EVENT_KEY$8}`; +const EVENT_SLID = `slid${EVENT_KEY$8}`; +const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`; +const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`; +const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`; +const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`; +const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`; +const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`; +const CLASS_NAME_CAROUSEL = 'carousel'; +const CLASS_NAME_ACTIVE$2 = 'active'; +const CLASS_NAME_SLIDE = 'slide'; +const CLASS_NAME_END = 'carousel-item-end'; +const CLASS_NAME_START = 'carousel-item-start'; +const CLASS_NAME_NEXT = 'carousel-item-next'; +const CLASS_NAME_PREV = 'carousel-item-prev'; +const SELECTOR_ACTIVE = '.active'; +const SELECTOR_ITEM = '.carousel-item'; +const SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM; +const SELECTOR_ITEM_IMG = '.carousel-item img'; +const SELECTOR_INDICATORS = '.carousel-indicators'; +const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'; +const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]'; +const KEY_TO_DIRECTION = { + [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT, + [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT +}; +const Default$b = { + interval: 5000, + keyboard: true, + pause: 'hover', + ride: false, + touch: true, + wrap: true +}; +const DefaultType$b = { + interval: '(number|boolean)', + keyboard: 'boolean', + pause: '(string|boolean)', + ride: '(boolean|string)', + touch: 'boolean', + wrap: 'boolean' +}; +class Carousel extends BaseComponent { + constructor(element, config) { + super(element, config); + this._interval = null; + this._activeElement = null; + this._isSliding = false; + this.touchTimeout = null; + this._swipeHelper = null; + this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); + this._addEventListeners(); + if (this._config.ride === CLASS_NAME_CAROUSEL) { + this.cycle(); + } + } + static get Default() { + return Default$b; + } + static get DefaultType() { + return DefaultType$b; + } + static get NAME() { + return NAME$c; + } + next() { + this._slide(ORDER_NEXT); + } + nextWhenVisible() { + if (!document.hidden && isVisible(this._element)) { + this.next(); + } + } + prev() { + this._slide(ORDER_PREV); + } + pause() { + if (this._isSliding) { + triggerTransitionEnd(this._element); + } + this._clearInterval(); + } + cycle() { + this._clearInterval(); + this._updateInterval(); + this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval); + } + _maybeEnableCycle() { + if (!this._config.ride) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.cycle()); + return; + } + this.cycle(); + } + to(index) { + const items = this._getItems(); + if (index > items.length - 1 || index < 0) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); + return; + } + const activeIndex = this._getItemIndex(this._getActive()); + if (activeIndex === index) { + return; + } + const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV; + this._slide(order, items[index]); + } + dispose() { + if (this._swipeHelper) { + this._swipeHelper.dispose(); + } + super.dispose(); + } + _configAfterMerge(config) { + config.defaultInterval = config.interval; + return config; + } + _addEventListeners() { + if (this._config.keyboard) { + EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event)); + } + if (this._config.pause === 'hover') { + EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause()); + EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle()); + } + if (this._config.touch && Swipe.isSupported()) { + this._addTouchEventListeners(); + } + } + _addTouchEventListeners() { + for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) { + EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault()); + } + const endCallBack = () => { + if (this._config.pause !== 'hover') { + return; + } + this.pause(); + if (this.touchTimeout) { + clearTimeout(this.touchTimeout); + } + this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval); + }; + const swipeConfig = { + leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)), + rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)), + endCallback: endCallBack + }; + this._swipeHelper = new Swipe(this._element, swipeConfig); + } + _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + const direction = KEY_TO_DIRECTION[event.key]; + if (direction) { + event.preventDefault(); + this._slide(this._directionToOrder(direction)); + } + } + _getItemIndex(element) { + return this._getItems().indexOf(element); + } + _setActiveIndicatorElement(index) { + if (!this._indicatorsElement) { + return; + } + const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement); + activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); + activeIndicator.removeAttribute('aria-current'); + const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement); + if (newActiveIndicator) { + newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2); + newActiveIndicator.setAttribute('aria-current', 'true'); + } + } + _updateInterval() { + const element = this._activeElement || this._getActive(); + if (!element) { + return; + } + const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10); + this._config.interval = elementInterval || this._config.defaultInterval; + } + _slide(order, element = null) { + if (this._isSliding) { + return; + } + const activeElement = this._getActive(); + const isNext = order === ORDER_NEXT; + const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap); + if (nextElement === activeElement) { + return; + } + const nextElementIndex = this._getItemIndex(nextElement); + const triggerEvent = eventName => { + return EventHandler.trigger(this._element, eventName, { + relatedTarget: nextElement, + direction: this._orderToDirection(order), + from: this._getItemIndex(activeElement), + to: nextElementIndex + }); + }; + const slideEvent = triggerEvent(EVENT_SLIDE); + if (slideEvent.defaultPrevented) { + return; + } + if (!activeElement || !nextElement) { + return; + } + const isCycling = Boolean(this._interval); + this.pause(); + this._isSliding = true; + this._setActiveIndicatorElement(nextElementIndex); + this._activeElement = nextElement; + const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; + const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; + nextElement.classList.add(orderClassName); + reflow(nextElement); + activeElement.classList.add(directionalClassName); + nextElement.classList.add(directionalClassName); + const completeCallBack = () => { + nextElement.classList.remove(directionalClassName, orderClassName); + nextElement.classList.add(CLASS_NAME_ACTIVE$2); + activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); + this._isSliding = false; + triggerEvent(EVENT_SLID); + }; + this._queueCallback(completeCallBack, activeElement, this._isAnimated()); + if (isCycling) { + this.cycle(); + } + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_SLIDE); + } + _getActive() { + return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); + } + _getItems() { + return SelectorEngine.find(SELECTOR_ITEM, this._element); + } + _clearInterval() { + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + } + _directionToOrder(direction) { + if (isRTL()) { + return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; + } + return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; + } + _orderToDirection(order) { + if (isRTL()) { + return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; + } + return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; + } + static jQueryInterface(config) { + return this.each(function () { + const data = Carousel.getOrCreateInstance(this, config); + if (typeof config === 'number') { + data.to(config); + return; + } + if (typeof config === 'string') { + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + } + }); + } +} +EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) { + const target = SelectorEngine.getElementFromSelector(this); + if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { + return; + } + event.preventDefault(); + const carousel = Carousel.getOrCreateInstance(target); + const slideIndex = this.getAttribute('data-bs-slide-to'); + if (slideIndex) { + carousel.to(slideIndex); + carousel._maybeEnableCycle(); + return; + } + if (Manipulator.getDataAttribute(this, 'slide') === 'next') { + carousel.next(); + carousel._maybeEnableCycle(); + return; + } + carousel.prev(); + carousel._maybeEnableCycle(); +}); +EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => { + const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); + for (const carousel of carousels) { + Carousel.getOrCreateInstance(carousel); + } +}); +defineJQueryPlugin(Carousel); +const NAME$b = 'collapse'; +const DATA_KEY$7 = 'bs.collapse'; +const EVENT_KEY$7 = `.${DATA_KEY$7}`; +const DATA_API_KEY$4 = '.data-api'; +const EVENT_SHOW$6 = `show${EVENT_KEY$7}`; +const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`; +const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`; +const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`; +const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`; +const CLASS_NAME_SHOW$7 = 'show'; +const CLASS_NAME_COLLAPSE = 'collapse'; +const CLASS_NAME_COLLAPSING = 'collapsing'; +const CLASS_NAME_COLLAPSED = 'collapsed'; +const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; +const CLASS_NAME_HORIZONTAL = 'collapse-horizontal'; +const WIDTH = 'width'; +const HEIGHT = 'height'; +const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; +const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; +const Default$a = { + parent: null, + toggle: true +}; +const DefaultType$a = { + parent: '(null|element)', + toggle: 'boolean' +}; +class Collapse extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isTransitioning = false; + this._triggerArray = []; + const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); + for (const elem of toggleList) { + const selector = SelectorEngine.getSelectorFromElement(elem); + const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element); + if (selector !== null && filterElement.length) { + this._triggerArray.push(elem); + } + } + this._initializeChildren(); + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); + } + if (this._config.toggle) { + this.toggle(); + } + } + static get Default() { + return Default$a; + } + static get DefaultType() { + return DefaultType$a; + } + static get NAME() { + return NAME$b; + } + toggle() { + if (this._isShown()) { + this.hide(); + } else { + this.show(); + } + } + show() { + if (this._isTransitioning || this._isShown()) { + return; + } + let activeChildren = []; + if (this._config.parent) { + activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, { + toggle: false + })); + } + if (activeChildren.length && activeChildren[0]._isTransitioning) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); + if (startEvent.defaultPrevented) { + return; + } + for (const activeInstance of activeChildren) { + activeInstance.hide(); + } + const dimension = this._getDimension(); + this._element.classList.remove(CLASS_NAME_COLLAPSE); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.style[dimension] = 0; + this._addAriaAndCollapsedClass(this._triggerArray, true); + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + this._element.style[dimension] = ''; + EventHandler.trigger(this._element, EVENT_SHOWN$6); + }; + const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + const scrollSize = `scroll${capitalizedDimension}`; + this._queueCallback(complete, this._element, true); + this._element.style[dimension] = `${this._element[scrollSize]}px`; + } + hide() { + if (this._isTransitioning || !this._isShown()) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); + if (startEvent.defaultPrevented) { + return; + } + const dimension = this._getDimension(); + this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; + reflow(this._element); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + for (const trigger of this._triggerArray) { + const element = SelectorEngine.getElementFromSelector(trigger); + if (element && !this._isShown(element)) { + this._addAriaAndCollapsedClass([trigger], false); + } + } + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE); + EventHandler.trigger(this._element, EVENT_HIDDEN$6); + }; + this._element.style[dimension] = ''; + this._queueCallback(complete, this._element, true); + } + _isShown(element = this._element) { + return element.classList.contains(CLASS_NAME_SHOW$7); + } + _configAfterMerge(config) { + config.toggle = Boolean(config.toggle); + config.parent = getElement(config.parent); + return config; + } + _getDimension() { + return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; + } + _initializeChildren() { + if (!this._config.parent) { + return; + } + const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4); + for (const element of children) { + const selected = SelectorEngine.getElementFromSelector(element); + if (selected) { + this._addAriaAndCollapsedClass([element], this._isShown(selected)); + } + } + } + _getFirstLevelChildren(selector) { + const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); + return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element)); + } + _addAriaAndCollapsedClass(triggerArray, isOpen) { + if (!triggerArray.length) { + return; + } + for (const element of triggerArray) { + element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen); + element.setAttribute('aria-expanded', isOpen); + } + } + static jQueryInterface(config) { + const _config = {}; + if (typeof config === 'string' && /show|hide/.test(config)) { + _config.toggle = false; + } + return this.each(function () { + const data = Collapse.getOrCreateInstance(this, _config); + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + } + }); + } +} +EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) { + if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') { + event.preventDefault(); + } + for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) { + Collapse.getOrCreateInstance(element, { + toggle: false + }).toggle(); + } +}); +defineJQueryPlugin(Collapse); +const NAME$a = 'dropdown'; +const DATA_KEY$6 = 'bs.dropdown'; +const EVENT_KEY$6 = `.${DATA_KEY$6}`; +const DATA_API_KEY$3 = '.data-api'; +const ESCAPE_KEY$2 = 'Escape'; +const TAB_KEY$1 = 'Tab'; +const ARROW_UP_KEY$1 = 'ArrowUp'; +const ARROW_DOWN_KEY$1 = 'ArrowDown'; +const RIGHT_MOUSE_BUTTON = 2; +const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`; +const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`; +const EVENT_SHOW$5 = `show${EVENT_KEY$6}`; +const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`; +const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; +const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`; +const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`; +const CLASS_NAME_SHOW$6 = 'show'; +const CLASS_NAME_DROPUP = 'dropup'; +const CLASS_NAME_DROPEND = 'dropend'; +const CLASS_NAME_DROPSTART = 'dropstart'; +const CLASS_NAME_DROPUP_CENTER = 'dropup-center'; +const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'; +const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)'; +const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`; +const SELECTOR_MENU = '.dropdown-menu'; +const SELECTOR_NAVBAR = '.navbar'; +const SELECTOR_NAVBAR_NAV = '.navbar-nav'; +const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; +const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'; +const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'; +const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'; +const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'; +const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'; +const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'; +const PLACEMENT_TOPCENTER = 'top'; +const PLACEMENT_BOTTOMCENTER = 'bottom'; +const Default$9 = { + autoClose: true, + boundary: 'clippingParents', + display: 'dynamic', + offset: [0, 2], + popperConfig: null, + reference: 'toggle' +}; +const DefaultType$9 = { + autoClose: '(boolean|string)', + boundary: '(string|element)', + display: 'string', + offset: '(array|string|function)', + popperConfig: '(null|object|function)', + reference: '(string|element|object)' +}; +class Dropdown extends BaseComponent { + constructor(element, config) { + super(element, config); + this._popper = null; + this._parent = this._element.parentNode; + this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); + this._inNavbar = this._detectNavbar(); + } + static get Default() { + return Default$9; + } + static get DefaultType() { + return DefaultType$9; + } + static get NAME() { + return NAME$a; + } + toggle() { + return this._isShown() ? this.hide() : this.show(); + } + show() { + if (isDisabled(this._element) || this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget); + if (showEvent.defaultPrevented) { + return; + } + this._createPopper(); + if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, 'mouseover', noop); + } + } + this._element.focus(); + this._element.setAttribute('aria-expanded', true); + this._menu.classList.add(CLASS_NAME_SHOW$6); + this._element.classList.add(CLASS_NAME_SHOW$6); + EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget); + } + hide() { + if (isDisabled(this._element) || !this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + this._completeHide(relatedTarget); + } + dispose() { + if (this._popper) { + this._popper.destroy(); + } + super.dispose(); + } + update() { + this._inNavbar = this._detectNavbar(); + if (this._popper) { + this._popper.update(); + } + } + _completeHide(relatedTarget) { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget); + if (hideEvent.defaultPrevented) { + return; + } + if ('ontouchstart' in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, 'mouseover', noop); + } + } + if (this._popper) { + this._popper.destroy(); + } + this._menu.classList.remove(CLASS_NAME_SHOW$6); + this._element.classList.remove(CLASS_NAME_SHOW$6); + this._element.setAttribute('aria-expanded', 'false'); + Manipulator.removeDataAttribute(this._menu, 'popper'); + EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget); + } + _getConfig(config) { + config = super._getConfig(config); + if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') { + throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); + } + return config; + } + _createPopper() { + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); + } + let referenceElement = this._element; + if (this._config.reference === 'parent') { + referenceElement = this._parent; + } else if (isElement(this._config.reference)) { + referenceElement = getElement(this._config.reference); + } else if (typeof this._config.reference === 'object') { + referenceElement = this._config.reference; + } + const popperConfig = this._getPopperConfig(); + this._popper = createPopper(referenceElement, this._menu, popperConfig); + } + _isShown() { + return this._menu.classList.contains(CLASS_NAME_SHOW$6); + } + _getPlacement() { + const parentDropdown = this._parent; + if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { + return PLACEMENT_RIGHT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { + return PLACEMENT_LEFT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) { + return PLACEMENT_TOPCENTER; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) { + return PLACEMENT_BOTTOMCENTER; + } + const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'; + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { + return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; + } + return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; + } + _detectNavbar() { + return this._element.closest(SELECTOR_NAVBAR) !== null; + } + _getOffset() { + const { + offset + } = this._config; + if (typeof offset === 'string') { + return offset.split(',').map(value => Number.parseInt(value, 10)); + } + if (typeof offset === 'function') { + return popperData => offset(popperData, this._element); + } + return offset; + } + _getPopperConfig() { + const defaultBsPopperConfig = { + placement: this._getPlacement(), + modifiers: [{ + name: 'preventOverflow', + options: { + boundary: this._config.boundary + } + }, { + name: 'offset', + options: { + offset: this._getOffset() + } + }] + }; + if (this._inNavbar || this._config.display === 'static') { + Manipulator.setDataAttribute(this._menu, 'popper', 'static'); + defaultBsPopperConfig.modifiers = [{ + name: 'applyStyles', + enabled: false + }]; + } + return { + ...defaultBsPopperConfig, + ...execute(this._config.popperConfig, [defaultBsPopperConfig]) + }; + } + _selectMenuItem({ + key, + target + }) { + const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element)); + if (!items.length) { + return; + } + getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus(); + } + static jQueryInterface(config) { + return this.each(function () { + const data = Dropdown.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + static clearMenus(event) { + if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) { + return; + } + const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN); + for (const toggle of openToggles) { + const context = Dropdown.getInstance(toggle); + if (!context || context._config.autoClose === false) { + continue; + } + const composedPath = event.composedPath(); + const isMenuTarget = composedPath.includes(context._menu); + if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) { + continue; + } + if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { + continue; + } + const relatedTarget = { + relatedTarget: context._element + }; + if (event.type === 'click') { + relatedTarget.clickEvent = event; + } + context._completeHide(relatedTarget); + } + } + static dataApiKeydownHandler(event) { + const isInput = /input|textarea/i.test(event.target.tagName); + const isEscapeEvent = event.key === ESCAPE_KEY$2; + const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key); + if (!isUpOrDownEvent && !isEscapeEvent) { + return; + } + if (isInput && !isEscapeEvent) { + return; + } + event.preventDefault(); + const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); + const instance = Dropdown.getOrCreateInstance(getToggleButton); + if (isUpOrDownEvent) { + event.stopPropagation(); + instance.show(); + instance._selectMenuItem(event); + return; + } + if (instance._isShown()) { + event.stopPropagation(); + instance.hide(); + getToggleButton.focus(); + } + } +} +EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); +EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); +EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); +EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); +EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) { + event.preventDefault(); + Dropdown.getOrCreateInstance(this).toggle(); +}); +defineJQueryPlugin(Dropdown); +const NAME$9 = 'backdrop'; +const CLASS_NAME_FADE$4 = 'fade'; +const CLASS_NAME_SHOW$5 = 'show'; +const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; +const Default$8 = { + className: 'modal-backdrop', + clickCallback: null, + isAnimated: false, + isVisible: true, + rootElement: 'body' +}; +const DefaultType$8 = { + className: 'string', + clickCallback: '(function|null)', + isAnimated: 'boolean', + isVisible: 'boolean', + rootElement: '(element|string)' +}; +class Backdrop extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isAppended = false; + this._element = null; + } + static get Default() { + return Default$8; + } + static get DefaultType() { + return DefaultType$8; + } + static get NAME() { + return NAME$9; + } + show(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._append(); + const element = this._getElement(); + if (this._config.isAnimated) { + reflow(element); + } + element.classList.add(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + execute(callback); + }); + } + hide(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._getElement().classList.remove(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + this.dispose(); + execute(callback); + }); + } + dispose() { + if (!this._isAppended) { + return; + } + EventHandler.off(this._element, EVENT_MOUSEDOWN); + this._element.remove(); + this._isAppended = false; + } + _getElement() { + if (!this._element) { + const backdrop = document.createElement('div'); + backdrop.className = this._config.className; + if (this._config.isAnimated) { + backdrop.classList.add(CLASS_NAME_FADE$4); + } + this._element = backdrop; + } + return this._element; + } + _configAfterMerge(config) { + config.rootElement = getElement(config.rootElement); + return config; + } + _append() { + if (this._isAppended) { + return; + } + const element = this._getElement(); + this._config.rootElement.append(element); + EventHandler.on(element, EVENT_MOUSEDOWN, () => { + execute(this._config.clickCallback); + }); + this._isAppended = true; + } + _emulateAnimation(callback) { + executeAfterTransition(callback, this._getElement(), this._config.isAnimated); + } +} +const NAME$8 = 'focustrap'; +const DATA_KEY$5 = 'bs.focustrap'; +const EVENT_KEY$5 = `.${DATA_KEY$5}`; +const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`; +const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; +const TAB_KEY = 'Tab'; +const TAB_NAV_FORWARD = 'forward'; +const TAB_NAV_BACKWARD = 'backward'; +const Default$7 = { + autofocus: true, + trapElement: null +}; +const DefaultType$7 = { + autofocus: 'boolean', + trapElement: 'element' +}; +class FocusTrap extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isActive = false; + this._lastTabNavDirection = null; + } + static get Default() { + return Default$7; + } + static get DefaultType() { + return DefaultType$7; + } + static get NAME() { + return NAME$8; + } + activate() { + if (this._isActive) { + return; + } + if (this._config.autofocus) { + this._config.trapElement.focus(); + } + EventHandler.off(document, EVENT_KEY$5); + EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event)); + EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event)); + this._isActive = true; + } + deactivate() { + if (!this._isActive) { + return; + } + this._isActive = false; + EventHandler.off(document, EVENT_KEY$5); + } + _handleFocusin(event) { + const { + trapElement + } = this._config; + if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) { + return; + } + const elements = SelectorEngine.focusableChildren(trapElement); + if (elements.length === 0) { + trapElement.focus(); + } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { + elements[elements.length - 1].focus(); + } else { + elements[0].focus(); + } + } + _handleKeydown(event) { + if (event.key !== TAB_KEY) { + return; + } + this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; + } +} +const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; +const SELECTOR_STICKY_CONTENT = '.sticky-top'; +const PROPERTY_PADDING = 'padding-right'; +const PROPERTY_MARGIN = 'margin-right'; +class ScrollBarHelper { + constructor() { + this._element = document.body; + } + getWidth() { + const documentWidth = document.documentElement.clientWidth; + return Math.abs(window.innerWidth - documentWidth); + } + hide() { + const width = this.getWidth(); + this._disableOverFlow(); + this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width); + this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width); + this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width); + } + reset() { + this._resetElementAttributes(this._element, 'overflow'); + this._resetElementAttributes(this._element, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN); + } + isOverflowing() { + return this.getWidth() > 0; + } + _disableOverFlow() { + this._saveInitialAttribute(this._element, 'overflow'); + this._element.style.overflow = 'hidden'; + } + _setElementAttributes(selector, styleProperty, callback) { + const scrollbarWidth = this.getWidth(); + const manipulationCallBack = element => { + if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { + return; + } + this._saveInitialAttribute(element, styleProperty); + const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty); + element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _saveInitialAttribute(element, styleProperty) { + const actualValue = element.style.getPropertyValue(styleProperty); + if (actualValue) { + Manipulator.setDataAttribute(element, styleProperty, actualValue); + } + } + _resetElementAttributes(selector, styleProperty) { + const manipulationCallBack = element => { + const value = Manipulator.getDataAttribute(element, styleProperty); + if (value === null) { + element.style.removeProperty(styleProperty); + return; + } + Manipulator.removeDataAttribute(element, styleProperty); + element.style.setProperty(styleProperty, value); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _applyManipulationCallback(selector, callBack) { + if (isElement(selector)) { + callBack(selector); + return; + } + for (const sel of SelectorEngine.find(selector, this._element)) { + callBack(sel); + } + } +} +const NAME$7 = 'modal'; +const DATA_KEY$4 = 'bs.modal'; +const EVENT_KEY$4 = `.${DATA_KEY$4}`; +const DATA_API_KEY$2 = '.data-api'; +const ESCAPE_KEY$1 = 'Escape'; +const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`; +const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; +const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; +const EVENT_SHOW$4 = `show${EVENT_KEY$4}`; +const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; +const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; +const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`; +const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`; +const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; +const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; +const CLASS_NAME_OPEN = 'modal-open'; +const CLASS_NAME_FADE$3 = 'fade'; +const CLASS_NAME_SHOW$4 = 'show'; +const CLASS_NAME_STATIC = 'modal-static'; +const OPEN_SELECTOR$1 = '.modal.show'; +const SELECTOR_DIALOG = '.modal-dialog'; +const SELECTOR_MODAL_BODY = '.modal-body'; +const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; +const Default$6 = { + backdrop: true, + focus: true, + keyboard: true +}; +const DefaultType$6 = { + backdrop: '(boolean|string)', + focus: 'boolean', + keyboard: 'boolean' +}; +class Modal extends BaseComponent { + constructor(element, config) { + super(element, config); + this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._isShown = false; + this._isTransitioning = false; + this._scrollBar = new ScrollBarHelper(); + this._addEventListeners(); + } + static get Default() { + return Default$6; + } + static get DefaultType() { + return DefaultType$6; + } + static get NAME() { + return NAME$7; + } + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown || this._isTransitioning) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, { + relatedTarget + }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._isTransitioning = true; + this._scrollBar.hide(); + document.body.classList.add(CLASS_NAME_OPEN); + this._adjustDialog(); + this._backdrop.show(() => this._showElement(relatedTarget)); + } + hide() { + if (!this._isShown || this._isTransitioning) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4); + if (hideEvent.defaultPrevented) { + return; + } + this._isShown = false; + this._isTransitioning = true; + this._focustrap.deactivate(); + this._element.classList.remove(CLASS_NAME_SHOW$4); + this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); + } + dispose() { + EventHandler.off(window, EVENT_KEY$4); + EventHandler.off(this._dialog, EVENT_KEY$4); + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + handleUpdate() { + this._adjustDialog(); + } + _initializeBackDrop() { + return new Backdrop({ + isVisible: Boolean(this._config.backdrop), + isAnimated: this._isAnimated() + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _showElement(relatedTarget) { + if (!document.body.contains(this._element)) { + document.body.append(this._element); + } + this._element.style.display = 'block'; + this._element.removeAttribute('aria-hidden'); + this._element.setAttribute('aria-modal', true); + this._element.setAttribute('role', 'dialog'); + this._element.scrollTop = 0; + const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); + if (modalBody) { + modalBody.scrollTop = 0; + } + reflow(this._element); + this._element.classList.add(CLASS_NAME_SHOW$4); + const transitionComplete = () => { + if (this._config.focus) { + this._focustrap.activate(); + } + this._isTransitioning = false; + EventHandler.trigger(this._element, EVENT_SHOWN$4, { + relatedTarget + }); + }; + this._queueCallback(transitionComplete, this._dialog, this._isAnimated()); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => { + if (event.key !== ESCAPE_KEY$1) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + this._triggerBackdropTransition(); + }); + EventHandler.on(window, EVENT_RESIZE$1, () => { + if (this._isShown && !this._isTransitioning) { + this._adjustDialog(); + } + }); + EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => { + EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => { + if (this._element !== event.target || this._element !== event2.target) { + return; + } + if (this._config.backdrop === 'static') { + this._triggerBackdropTransition(); + return; + } + if (this._config.backdrop) { + this.hide(); + } + }); + }); + } + _hideModal() { + this._element.style.display = 'none'; + this._element.setAttribute('aria-hidden', true); + this._element.removeAttribute('aria-modal'); + this._element.removeAttribute('role'); + this._isTransitioning = false; + this._backdrop.hide(() => { + document.body.classList.remove(CLASS_NAME_OPEN); + this._resetAdjustments(); + this._scrollBar.reset(); + EventHandler.trigger(this._element, EVENT_HIDDEN$4); + }); + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_FADE$3); + } + _triggerBackdropTransition() { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); + if (hideEvent.defaultPrevented) { + return; + } + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const initialOverflowY = this._element.style.overflowY; + if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) { + return; + } + if (!isModalOverflowing) { + this._element.style.overflowY = 'hidden'; + } + this._element.classList.add(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.classList.remove(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.style.overflowY = initialOverflowY; + }, this._dialog); + }, this._dialog); + this._element.focus(); + } + _adjustDialog() { + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const scrollbarWidth = this._scrollBar.getWidth(); + const isBodyOverflowing = scrollbarWidth > 0; + if (isBodyOverflowing && !isModalOverflowing) { + const property = isRTL() ? 'paddingLeft' : 'paddingRight'; + this._element.style[property] = `${scrollbarWidth}px`; + } + if (!isBodyOverflowing && isModalOverflowing) { + const property = isRTL() ? 'paddingRight' : 'paddingLeft'; + this._element.style[property] = `${scrollbarWidth}px`; + } + } + _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + } + static jQueryInterface(config, relatedTarget) { + return this.each(function () { + const data = Modal.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](relatedTarget); + }); + } +} +EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) { + const target = SelectorEngine.getElementFromSelector(this); + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + EventHandler.one(target, EVENT_SHOW$4, showEvent => { + if (showEvent.defaultPrevented) { + return; + } + EventHandler.one(target, EVENT_HIDDEN$4, () => { + if (isVisible(this)) { + this.focus(); + } + }); + }); + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); + if (alreadyOpen) { + Modal.getInstance(alreadyOpen).hide(); + } + const data = Modal.getOrCreateInstance(target); + data.toggle(this); +}); +enableDismissTrigger(Modal); +defineJQueryPlugin(Modal); +const NAME$6 = 'offcanvas'; +const DATA_KEY$3 = 'bs.offcanvas'; +const EVENT_KEY$3 = `.${DATA_KEY$3}`; +const DATA_API_KEY$1 = '.data-api'; +const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`; +const ESCAPE_KEY = 'Escape'; +const CLASS_NAME_SHOW$3 = 'show'; +const CLASS_NAME_SHOWING$1 = 'showing'; +const CLASS_NAME_HIDING = 'hiding'; +const CLASS_NAME_BACKDROP = 'offcanvas-backdrop'; +const OPEN_SELECTOR = '.offcanvas.show'; +const EVENT_SHOW$3 = `show${EVENT_KEY$3}`; +const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`; +const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`; +const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`; +const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`; +const EVENT_RESIZE = `resize${EVENT_KEY$3}`; +const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`; +const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`; +const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]'; +const Default$5 = { + backdrop: true, + keyboard: true, + scroll: false +}; +const DefaultType$5 = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + scroll: 'boolean' +}; +class Offcanvas extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isShown = false; + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._addEventListeners(); + } + static get Default() { + return Default$5; + } + static get DefaultType() { + return DefaultType$5; + } + static get NAME() { + return NAME$6; + } + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { + relatedTarget + }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._backdrop.show(); + if (!this._config.scroll) { + new ScrollBarHelper().hide(); + } + this._element.setAttribute('aria-modal', true); + this._element.setAttribute('role', 'dialog'); + this._element.classList.add(CLASS_NAME_SHOWING$1); + const completeCallBack = () => { + if (!this._config.scroll || this._config.backdrop) { + this._focustrap.activate(); + } + this._element.classList.add(CLASS_NAME_SHOW$3); + this._element.classList.remove(CLASS_NAME_SHOWING$1); + EventHandler.trigger(this._element, EVENT_SHOWN$3, { + relatedTarget + }); + }; + this._queueCallback(completeCallBack, this._element, true); + } + hide() { + if (!this._isShown) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); + if (hideEvent.defaultPrevented) { + return; + } + this._focustrap.deactivate(); + this._element.blur(); + this._isShown = false; + this._element.classList.add(CLASS_NAME_HIDING); + this._backdrop.hide(); + const completeCallback = () => { + this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING); + this._element.removeAttribute('aria-modal'); + this._element.removeAttribute('role'); + if (!this._config.scroll) { + new ScrollBarHelper().reset(); + } + EventHandler.trigger(this._element, EVENT_HIDDEN$3); + }; + this._queueCallback(completeCallback, this._element, true); + } + dispose() { + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + _initializeBackDrop() { + const clickCallback = () => { + if (this._config.backdrop === 'static') { + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + return; + } + this.hide(); + }; + const isVisible = Boolean(this._config.backdrop); + return new Backdrop({ + className: CLASS_NAME_BACKDROP, + isVisible, + isAnimated: true, + rootElement: this._element.parentNode, + clickCallback: isVisible ? clickCallback : null + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => { + if (event.key !== ESCAPE_KEY) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + }); + } + static jQueryInterface(config) { + return this.each(function () { + const data = Offcanvas.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + }); + } +} +EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) { + const target = SelectorEngine.getElementFromSelector(this); + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + EventHandler.one(target, EVENT_HIDDEN$3, () => { + if (isVisible(this)) { + this.focus(); + } + }); + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); + if (alreadyOpen && alreadyOpen !== target) { + Offcanvas.getInstance(alreadyOpen).hide(); + } + const data = Offcanvas.getOrCreateInstance(target); + data.toggle(this); +}); +EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { + for (const selector of SelectorEngine.find(OPEN_SELECTOR)) { + Offcanvas.getOrCreateInstance(selector).show(); + } +}); +EventHandler.on(window, EVENT_RESIZE, () => { + for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) { + if (getComputedStyle(element).position !== 'fixed') { + Offcanvas.getOrCreateInstance(element).hide(); + } + } +}); +enableDismissTrigger(Offcanvas); +defineJQueryPlugin(Offcanvas); +const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); +const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; +const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; +const allowedAttribute = (attribute, allowedAttributeList) => { + const attributeName = attribute.nodeName.toLowerCase(); + if (allowedAttributeList.includes(attributeName)) { + if (uriAttributes.has(attributeName)) { + return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue)); + } + return true; + } + return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName)); +}; +const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; +const DefaultAllowlist = { + '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], + a: ['target', 'href', 'title', 'rel'], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] +}; +function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { + if (!unsafeHtml.length) { + return unsafeHtml; + } + if (sanitizeFunction && typeof sanitizeFunction === 'function') { + return sanitizeFunction(unsafeHtml); + } + const domParser = new window.DOMParser(); + const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); + const elements = [].concat(...createdDocument.body.querySelectorAll('*')); + for (const element of elements) { + const elementName = element.nodeName.toLowerCase(); + if (!Object.keys(allowList).includes(elementName)) { + element.remove(); + continue; + } + const attributeList = [].concat(...element.attributes); + const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []); + for (const attribute of attributeList) { + if (!allowedAttribute(attribute, allowedAttributes)) { + element.removeAttribute(attribute.nodeName); + } + } + } + return createdDocument.body.innerHTML; +} +const NAME$5 = 'TemplateFactory'; +const Default$4 = { + allowList: DefaultAllowlist, + content: {}, + extraClass: '', + html: false, + sanitize: true, + sanitizeFn: null, + template: '
' +}; +const DefaultType$4 = { + allowList: 'object', + content: 'object', + extraClass: '(string|function)', + html: 'boolean', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + template: 'string' +}; +const DefaultContentType = { + entry: '(string|element|function|null)', + selector: '(string|element)' +}; +class TemplateFactory extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + } + static get Default() { + return Default$4; + } + static get DefaultType() { + return DefaultType$4; + } + static get NAME() { + return NAME$5; + } + getContent() { + return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean); + } + hasContent() { + return this.getContent().length > 0; + } + changeContent(content) { + this._checkContent(content); + this._config.content = { + ...this._config.content, + ...content + }; + return this; + } + toHtml() { + const templateWrapper = document.createElement('div'); + templateWrapper.innerHTML = this._maybeSanitize(this._config.template); + for (const [selector, text] of Object.entries(this._config.content)) { + this._setContent(templateWrapper, text, selector); + } + const template = templateWrapper.children[0]; + const extraClass = this._resolvePossibleFunction(this._config.extraClass); + if (extraClass) { + template.classList.add(...extraClass.split(' ')); + } + return template; + } + _typeCheckConfig(config) { + super._typeCheckConfig(config); + this._checkContent(config.content); + } + _checkContent(arg) { + for (const [selector, content] of Object.entries(arg)) { + super._typeCheckConfig({ + selector, + entry: content + }, DefaultContentType); + } + } + _setContent(template, content, selector) { + const templateElement = SelectorEngine.findOne(selector, template); + if (!templateElement) { + return; + } + content = this._resolvePossibleFunction(content); + if (!content) { + templateElement.remove(); + return; + } + if (isElement(content)) { + this._putElementInTemplate(getElement(content), templateElement); + return; + } + if (this._config.html) { + templateElement.innerHTML = this._maybeSanitize(content); + return; + } + templateElement.textContent = content; + } + _maybeSanitize(arg) { + return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg; + } + _resolvePossibleFunction(arg) { + return execute(arg, [this]); + } + _putElementInTemplate(element, templateElement) { + if (this._config.html) { + templateElement.innerHTML = ''; + templateElement.append(element); + return; + } + templateElement.textContent = element.textContent; + } +} +const NAME$4 = 'tooltip'; +const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']); +const CLASS_NAME_FADE$2 = 'fade'; +const CLASS_NAME_MODAL = 'modal'; +const CLASS_NAME_SHOW$2 = 'show'; +const SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; +const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; +const EVENT_MODAL_HIDE = 'hide.bs.modal'; +const TRIGGER_HOVER = 'hover'; +const TRIGGER_FOCUS = 'focus'; +const TRIGGER_CLICK = 'click'; +const TRIGGER_MANUAL = 'manual'; +const EVENT_HIDE$2 = 'hide'; +const EVENT_HIDDEN$2 = 'hidden'; +const EVENT_SHOW$2 = 'show'; +const EVENT_SHOWN$2 = 'shown'; +const EVENT_INSERTED = 'inserted'; +const EVENT_CLICK$1 = 'click'; +const EVENT_FOCUSIN$1 = 'focusin'; +const EVENT_FOCUSOUT$1 = 'focusout'; +const EVENT_MOUSEENTER = 'mouseenter'; +const EVENT_MOUSELEAVE = 'mouseleave'; +const AttachmentMap = { + AUTO: 'auto', + TOP: 'top', + RIGHT: isRTL() ? 'left' : 'right', + BOTTOM: 'bottom', + LEFT: isRTL() ? 'right' : 'left' +}; +const Default$3 = { + allowList: DefaultAllowlist, + animation: true, + boundary: 'clippingParents', + container: false, + customClass: '', + delay: 0, + fallbackPlacements: ['top', 'right', 'bottom', 'left'], + html: false, + offset: [0, 6], + placement: 'top', + popperConfig: null, + sanitize: true, + sanitizeFn: null, + selector: false, + template: '', + title: '', + trigger: 'hover focus' +}; +const DefaultType$3 = { + allowList: 'object', + animation: 'boolean', + boundary: '(string|element)', + container: '(string|element|boolean)', + customClass: '(string|function)', + delay: '(number|object)', + fallbackPlacements: 'array', + html: 'boolean', + offset: '(array|string|function)', + placement: '(string|function)', + popperConfig: '(null|object|function)', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + selector: '(string|boolean)', + template: 'string', + title: '(string|element|function)', + trigger: 'string' +}; +class Tooltip extends BaseComponent { + constructor(element, config) { + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); + } + super(element, config); + this._isEnabled = true; + this._timeout = 0; + this._isHovered = null; + this._activeTrigger = {}; + this._popper = null; + this._templateFactory = null; + this._newContent = null; + this.tip = null; + this._setListeners(); + if (!this._config.selector) { + this._fixTitle(); + } + } + static get Default() { + return Default$3; + } + static get DefaultType() { + return DefaultType$3; + } + static get NAME() { + return NAME$4; + } + enable() { + this._isEnabled = true; + } + disable() { + this._isEnabled = false; + } + toggleEnabled() { + this._isEnabled = !this._isEnabled; + } + toggle() { + if (!this._isEnabled) { + return; + } + this._activeTrigger.click = !this._activeTrigger.click; + if (this._isShown()) { + this._leave(); + return; + } + this._enter(); + } + dispose() { + clearTimeout(this._timeout); + EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + if (this._element.getAttribute('data-bs-original-title')) { + this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title')); + } + this._disposePopper(); + super.dispose(); + } + show() { + if (this._element.style.display === 'none') { + throw new Error('Please use show on visible elements'); + } + if (!(this._isWithContent() && this._isEnabled)) { + return; + } + const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2)); + const shadowRoot = findShadowRoot(this._element); + const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); + if (showEvent.defaultPrevented || !isInTheDom) { + return; + } + this._disposePopper(); + const tip = this._getTipElement(); + this._element.setAttribute('aria-describedby', tip.getAttribute('id')); + const { + container + } = this._config; + if (!this._element.ownerDocument.documentElement.contains(this.tip)) { + container.append(tip); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED)); + } + this._popper = this._createPopper(tip); + tip.classList.add(CLASS_NAME_SHOW$2); + if ('ontouchstart' in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, 'mouseover', noop); + } + } + const complete = () => { + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2)); + if (this._isHovered === false) { + this._leave(); + } + this._isHovered = false; + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + hide() { + if (!this._isShown()) { + return; + } + const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2)); + if (hideEvent.defaultPrevented) { + return; + } + const tip = this._getTipElement(); + tip.classList.remove(CLASS_NAME_SHOW$2); + if ('ontouchstart' in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, 'mouseover', noop); + } + } + this._activeTrigger[TRIGGER_CLICK] = false; + this._activeTrigger[TRIGGER_FOCUS] = false; + this._activeTrigger[TRIGGER_HOVER] = false; + this._isHovered = null; + const complete = () => { + if (this._isWithActiveTrigger()) { + return; + } + if (!this._isHovered) { + this._disposePopper(); + } + this._element.removeAttribute('aria-describedby'); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2)); + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + update() { + if (this._popper) { + this._popper.update(); + } + } + _isWithContent() { + return Boolean(this._getTitle()); + } + _getTipElement() { + if (!this.tip) { + this.tip = this._createTipElement(this._newContent || this._getContentForTemplate()); + } + return this.tip; + } + _createTipElement(content) { + const tip = this._getTemplateFactory(content).toHtml(); + if (!tip) { + return null; + } + tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); + tip.classList.add(`bs-${this.constructor.NAME}-auto`); + const tipId = getUID(this.constructor.NAME).toString(); + tip.setAttribute('id', tipId); + if (this._isAnimated()) { + tip.classList.add(CLASS_NAME_FADE$2); + } + return tip; + } + setContent(content) { + this._newContent = content; + if (this._isShown()) { + this._disposePopper(); + this.show(); + } + } + _getTemplateFactory(content) { + if (this._templateFactory) { + this._templateFactory.changeContent(content); + } else { + this._templateFactory = new TemplateFactory({ + ...this._config, + content, + extraClass: this._resolvePossibleFunction(this._config.customClass) + }); + } + return this._templateFactory; + } + _getContentForTemplate() { + return { + [SELECTOR_TOOLTIP_INNER]: this._getTitle() + }; + } + _getTitle() { + return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title'); + } + _initializeOnDelegatedTarget(event) { + return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); + } + _isAnimated() { + return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2); + } + _isShown() { + return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2); + } + _createPopper(tip) { + const placement = execute(this._config.placement, [this, tip, this._element]); + const attachment = AttachmentMap[placement.toUpperCase()]; + return createPopper(this._element, tip, this._getPopperConfig(attachment)); + } + _getOffset() { + const { + offset + } = this._config; + if (typeof offset === 'string') { + return offset.split(',').map(value => Number.parseInt(value, 10)); + } + if (typeof offset === 'function') { + return popperData => offset(popperData, this._element); + } + return offset; + } + _resolvePossibleFunction(arg) { + return execute(arg, [this._element]); + } + _getPopperConfig(attachment) { + const defaultBsPopperConfig = { + placement: attachment, + modifiers: [{ + name: 'flip', + options: { + fallbackPlacements: this._config.fallbackPlacements + } + }, { + name: 'offset', + options: { + offset: this._getOffset() + } + }, { + name: 'preventOverflow', + options: { + boundary: this._config.boundary + } + }, { + name: 'arrow', + options: { + element: `.${this.constructor.NAME}-arrow` + } + }, { + name: 'preSetPlacement', + enabled: true, + phase: 'beforeMain', + fn: data => { + this._getTipElement().setAttribute('data-popper-placement', data.state.placement); + } + }] + }; + return { + ...defaultBsPopperConfig, + ...execute(this._config.popperConfig, [defaultBsPopperConfig]) + }; + } + _setListeners() { + const triggers = this._config.trigger.split(' '); + for (const trigger of triggers) { + if (trigger === 'click') { + EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => { + const context = this._initializeOnDelegatedTarget(event); + context.toggle(); + }); + } else if (trigger !== TRIGGER_MANUAL) { + const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1); + const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1); + EventHandler.on(this._element, eventIn, this._config.selector, event => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; + context._enter(); + }); + EventHandler.on(this._element, eventOut, this._config.selector, event => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); + context._leave(); + }); + } + } + this._hideModalHandler = () => { + if (this._element) { + this.hide(); + } + }; + EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + } + _fixTitle() { + const title = this._element.getAttribute('title'); + if (!title) { + return; + } + if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) { + this._element.setAttribute('aria-label', title); + } + this._element.setAttribute('data-bs-original-title', title); + this._element.removeAttribute('title'); + } + _enter() { + if (this._isShown() || this._isHovered) { + this._isHovered = true; + return; + } + this._isHovered = true; + this._setTimeout(() => { + if (this._isHovered) { + this.show(); + } + }, this._config.delay.show); + } + _leave() { + if (this._isWithActiveTrigger()) { + return; + } + this._isHovered = false; + this._setTimeout(() => { + if (!this._isHovered) { + this.hide(); + } + }, this._config.delay.hide); + } + _setTimeout(handler, timeout) { + clearTimeout(this._timeout); + this._timeout = setTimeout(handler, timeout); + } + _isWithActiveTrigger() { + return Object.values(this._activeTrigger).includes(true); + } + _getConfig(config) { + const dataAttributes = Manipulator.getDataAttributes(this._element); + for (const dataAttribute of Object.keys(dataAttributes)) { + if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) { + delete dataAttributes[dataAttribute]; + } + } + config = { + ...dataAttributes, + ...(typeof config === 'object' && config ? config : {}) + }; + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + config.container = config.container === false ? document.body : getElement(config.container); + if (typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + if (typeof config.title === 'number') { + config.title = config.title.toString(); + } + if (typeof config.content === 'number') { + config.content = config.content.toString(); + } + return config; + } + _getDelegateConfig() { + const config = {}; + for (const [key, value] of Object.entries(this._config)) { + if (this.constructor.Default[key] !== value) { + config[key] = value; + } + } + config.selector = false; + config.trigger = 'manual'; + return config; + } + _disposePopper() { + if (this._popper) { + this._popper.destroy(); + this._popper = null; + } + if (this.tip) { + this.tip.remove(); + this.tip = null; + } + } + static jQueryInterface(config) { + return this.each(function () { + const data = Tooltip.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } +} +defineJQueryPlugin(Tooltip); +const NAME$3 = 'popover'; +const SELECTOR_TITLE = '.popover-header'; +const SELECTOR_CONTENT = '.popover-body'; +const Default$2 = { + ...Tooltip.Default, + content: '', + offset: [0, 8], + placement: 'right', + template: '', + trigger: 'click' +}; +const DefaultType$2 = { + ...Tooltip.DefaultType, + content: '(null|string|element|function)' +}; +class Popover extends Tooltip { + static get Default() { + return Default$2; + } + static get DefaultType() { + return DefaultType$2; + } + static get NAME() { + return NAME$3; + } + _isWithContent() { + return this._getTitle() || this._getContent(); + } + _getContentForTemplate() { + return { + [SELECTOR_TITLE]: this._getTitle(), + [SELECTOR_CONTENT]: this._getContent() + }; + } + _getContent() { + return this._resolvePossibleFunction(this._config.content); + } + static jQueryInterface(config) { + return this.each(function () { + const data = Popover.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } +} +defineJQueryPlugin(Popover); +const NAME$2 = 'scrollspy'; +const DATA_KEY$2 = 'bs.scrollspy'; +const EVENT_KEY$2 = `.${DATA_KEY$2}`; +const DATA_API_KEY = '.data-api'; +const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; +const EVENT_CLICK = `click${EVENT_KEY$2}`; +const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`; +const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; +const CLASS_NAME_ACTIVE$1 = 'active'; +const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; +const SELECTOR_TARGET_LINKS = '[href]'; +const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; +const SELECTOR_NAV_LINKS = '.nav-link'; +const SELECTOR_NAV_ITEMS = '.nav-item'; +const SELECTOR_LIST_ITEMS = '.list-group-item'; +const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`; +const SELECTOR_DROPDOWN = '.dropdown'; +const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle'; +const Default$1 = { + offset: null, + rootMargin: '0px 0px -25%', + smoothScroll: false, + target: null, + threshold: [0.1, 0.5, 1] +}; +const DefaultType$1 = { + offset: '(number|null)', + rootMargin: 'string', + smoothScroll: 'boolean', + target: 'element', + threshold: 'array' +}; +class ScrollSpy extends BaseComponent { + constructor(element, config) { + super(element, config); + this._targetLinks = new Map(); + this._observableSections = new Map(); + this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element; + this._activeTarget = null; + this._observer = null; + this._previousScrollData = { + visibleEntryTop: 0, + parentScrollTop: 0 + }; + this.refresh(); + } + static get Default() { + return Default$1; + } + static get DefaultType() { + return DefaultType$1; + } + static get NAME() { + return NAME$2; + } + refresh() { + this._initializeTargetsAndObservables(); + this._maybeEnableSmoothScroll(); + if (this._observer) { + this._observer.disconnect(); + } else { + this._observer = this._getNewObserver(); + } + for (const section of this._observableSections.values()) { + this._observer.observe(section); + } + } + dispose() { + this._observer.disconnect(); + super.dispose(); + } + _configAfterMerge(config) { + config.target = getElement(config.target) || document.body; + config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin; + if (typeof config.threshold === 'string') { + config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value)); + } + return config; + } + _maybeEnableSmoothScroll() { + if (!this._config.smoothScroll) { + return; + } + EventHandler.off(this._config.target, EVENT_CLICK); + EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => { + const observableSection = this._observableSections.get(event.target.hash); + if (observableSection) { + event.preventDefault(); + const root = this._rootElement || window; + const height = observableSection.offsetTop - this._element.offsetTop; + if (root.scrollTo) { + root.scrollTo({ + top: height, + behavior: 'smooth' + }); + return; + } + root.scrollTop = height; + } + }); + } + _getNewObserver() { + const options = { + root: this._rootElement, + threshold: this._config.threshold, + rootMargin: this._config.rootMargin + }; + return new IntersectionObserver(entries => this._observerCallback(entries), options); + } + _observerCallback(entries) { + const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`); + const activate = entry => { + this._previousScrollData.visibleEntryTop = entry.target.offsetTop; + this._process(targetElement(entry)); + }; + const parentScrollTop = (this._rootElement || document.documentElement).scrollTop; + const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop; + this._previousScrollData.parentScrollTop = parentScrollTop; + for (const entry of entries) { + if (!entry.isIntersecting) { + this._activeTarget = null; + this._clearActiveClass(targetElement(entry)); + continue; + } + const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; + if (userScrollsDown && entryIsLowerThanPrevious) { + activate(entry); + if (!parentScrollTop) { + return; + } + continue; + } + if (!userScrollsDown && !entryIsLowerThanPrevious) { + activate(entry); + } + } + } + _initializeTargetsAndObservables() { + this._targetLinks = new Map(); + this._observableSections = new Map(); + const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target); + for (const anchor of targetLinks) { + if (!anchor.hash || isDisabled(anchor)) { + continue; + } + const observableSection = SelectorEngine.findOne(anchor.hash, this._element); + if (isVisible(observableSection)) { + this._targetLinks.set(anchor.hash, anchor); + this._observableSections.set(anchor.hash, observableSection); + } + } + } + _process(target) { + if (this._activeTarget === target) { + return; + } + this._clearActiveClass(this._config.target); + this._activeTarget = target; + target.classList.add(CLASS_NAME_ACTIVE$1); + this._activateParents(target); + EventHandler.trigger(this._element, EVENT_ACTIVATE, { + relatedTarget: target + }); + } + _activateParents(target) { + if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { + SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1); + return; + } + for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) { + for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) { + item.classList.add(CLASS_NAME_ACTIVE$1); + } + } + } + _clearActiveClass(parent) { + parent.classList.remove(CLASS_NAME_ACTIVE$1); + const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent); + for (const node of activeNodes) { + node.classList.remove(CLASS_NAME_ACTIVE$1); + } + } + static jQueryInterface(config) { + return this.each(function () { + const data = ScrollSpy.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } +} +EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => { + for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) { + ScrollSpy.getOrCreateInstance(spy); + } +}); +defineJQueryPlugin(ScrollSpy); +const NAME$1 = 'tab'; +const DATA_KEY$1 = 'bs.tab'; +const EVENT_KEY$1 = `.${DATA_KEY$1}`; +const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`; +const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`; +const EVENT_SHOW$1 = `show${EVENT_KEY$1}`; +const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`; +const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`; +const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`; +const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`; +const ARROW_LEFT_KEY = 'ArrowLeft'; +const ARROW_RIGHT_KEY = 'ArrowRight'; +const ARROW_UP_KEY = 'ArrowUp'; +const ARROW_DOWN_KEY = 'ArrowDown'; +const CLASS_NAME_ACTIVE = 'active'; +const CLASS_NAME_FADE$1 = 'fade'; +const CLASS_NAME_SHOW$1 = 'show'; +const CLASS_DROPDOWN = 'dropdown'; +const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; +const SELECTOR_DROPDOWN_MENU = '.dropdown-menu'; +const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)'; +const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; +const SELECTOR_OUTER = '.nav-item, .list-group-item'; +const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`; +const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; +const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`; +const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`; +class Tab extends BaseComponent { + constructor(element) { + super(element); + this._parent = this._element.closest(SELECTOR_TAB_PANEL); + if (!this._parent) { + return; + } + this._setInitialAttributes(this._parent, this._getChildren()); + EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event)); + } + static get NAME() { + return NAME$1; + } + show() { + const innerElem = this._element; + if (this._elemIsActive(innerElem)) { + return; + } + const active = this._getActiveElem(); + const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, { + relatedTarget: innerElem + }) : null; + const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, { + relatedTarget: active + }); + if (showEvent.defaultPrevented || hideEvent && hideEvent.defaultPrevented) { + return; + } + this._deactivate(active, innerElem); + this._activate(innerElem, active); + } + _activate(element, relatedElem) { + if (!element) { + return; + } + element.classList.add(CLASS_NAME_ACTIVE); + this._activate(SelectorEngine.getElementFromSelector(element)); + const complete = () => { + if (element.getAttribute('role') !== 'tab') { + element.classList.add(CLASS_NAME_SHOW$1); + return; + } + element.removeAttribute('tabindex'); + element.setAttribute('aria-selected', true); + this._toggleDropDown(element, true); + EventHandler.trigger(element, EVENT_SHOWN$1, { + relatedTarget: relatedElem + }); + }; + this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); + } + _deactivate(element, relatedElem) { + if (!element) { + return; + } + element.classList.remove(CLASS_NAME_ACTIVE); + element.blur(); + this._deactivate(SelectorEngine.getElementFromSelector(element)); + const complete = () => { + if (element.getAttribute('role') !== 'tab') { + element.classList.remove(CLASS_NAME_SHOW$1); + return; + } + element.setAttribute('aria-selected', false); + element.setAttribute('tabindex', '-1'); + this._toggleDropDown(element, false); + EventHandler.trigger(element, EVENT_HIDDEN$1, { + relatedTarget: relatedElem + }); + }; + this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); + } + _keydown(event) { + if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) { + return; + } + event.stopPropagation(); + event.preventDefault(); + const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key); + const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true); + if (nextActiveElement) { + nextActiveElement.focus({ + preventScroll: true + }); + Tab.getOrCreateInstance(nextActiveElement).show(); + } + } + _getChildren() { + return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent); + } + _getActiveElem() { + return this._getChildren().find(child => this._elemIsActive(child)) || null; + } + _setInitialAttributes(parent, children) { + this._setAttributeIfNotExists(parent, 'role', 'tablist'); + for (const child of children) { + this._setInitialAttributesOnChild(child); + } + } + _setInitialAttributesOnChild(child) { + child = this._getInnerElement(child); + const isActive = this._elemIsActive(child); + const outerElem = this._getOuterElement(child); + child.setAttribute('aria-selected', isActive); + if (outerElem !== child) { + this._setAttributeIfNotExists(outerElem, 'role', 'presentation'); + } + if (!isActive) { + child.setAttribute('tabindex', '-1'); + } + this._setAttributeIfNotExists(child, 'role', 'tab'); + this._setInitialAttributesOnTargetPanel(child); + } + _setInitialAttributesOnTargetPanel(child) { + const target = SelectorEngine.getElementFromSelector(child); + if (!target) { + return; + } + this._setAttributeIfNotExists(target, 'role', 'tabpanel'); + if (child.id) { + this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`); + } + } + _toggleDropDown(element, open) { + const outerElem = this._getOuterElement(element); + if (!outerElem.classList.contains(CLASS_DROPDOWN)) { + return; + } + const toggle = (selector, className) => { + const element = SelectorEngine.findOne(selector, outerElem); + if (element) { + element.classList.toggle(className, open); + } + }; + toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE); + toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1); + outerElem.setAttribute('aria-expanded', open); + } + _setAttributeIfNotExists(element, attribute, value) { + if (!element.hasAttribute(attribute)) { + element.setAttribute(attribute, value); + } + } + _elemIsActive(elem) { + return elem.classList.contains(CLASS_NAME_ACTIVE); + } + _getInnerElement(elem) { + return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem); + } + _getOuterElement(elem) { + return elem.closest(SELECTOR_OUTER) || elem; + } + static jQueryInterface(config) { + return this.each(function () { + const data = Tab.getOrCreateInstance(this); + if (typeof config !== 'string') { + return; + } + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } +} +EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + Tab.getOrCreateInstance(this).show(); +}); +EventHandler.on(window, EVENT_LOAD_DATA_API, () => { + for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) { + Tab.getOrCreateInstance(element); + } +}); +defineJQueryPlugin(Tab); +const NAME = 'toast'; +const DATA_KEY = 'bs.toast'; +const EVENT_KEY = `.${DATA_KEY}`; +const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`; +const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`; +const EVENT_FOCUSIN = `focusin${EVENT_KEY}`; +const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`; +const EVENT_HIDE = `hide${EVENT_KEY}`; +const EVENT_HIDDEN = `hidden${EVENT_KEY}`; +const EVENT_SHOW = `show${EVENT_KEY}`; +const EVENT_SHOWN = `shown${EVENT_KEY}`; +const CLASS_NAME_FADE = 'fade'; +const CLASS_NAME_HIDE = 'hide'; +const CLASS_NAME_SHOW = 'show'; +const CLASS_NAME_SHOWING = 'showing'; +const DefaultType = { + animation: 'boolean', + autohide: 'boolean', + delay: 'number' +}; +const Default = { + animation: true, + autohide: true, + delay: 5000 +}; +class Toast extends BaseComponent { + constructor(element, config) { + super(element, config); + this._timeout = null; + this._hasMouseInteraction = false; + this._hasKeyboardInteraction = false; + this._setListeners(); + } + static get Default() { + return Default; + } + static get DefaultType() { + return DefaultType; + } + static get NAME() { + return NAME; + } + show() { + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW); + if (showEvent.defaultPrevented) { + return; + } + this._clearTimeout(); + if (this._config.animation) { + this._element.classList.add(CLASS_NAME_FADE); + } + const complete = () => { + this._element.classList.remove(CLASS_NAME_SHOWING); + EventHandler.trigger(this._element, EVENT_SHOWN); + this._maybeScheduleHide(); + }; + this._element.classList.remove(CLASS_NAME_HIDE); + reflow(this._element); + this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING); + this._queueCallback(complete, this._element, this._config.animation); + } + hide() { + if (!this.isShown()) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE); + if (hideEvent.defaultPrevented) { + return; + } + const complete = () => { + this._element.classList.add(CLASS_NAME_HIDE); + this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW); + EventHandler.trigger(this._element, EVENT_HIDDEN); + }; + this._element.classList.add(CLASS_NAME_SHOWING); + this._queueCallback(complete, this._element, this._config.animation); + } + dispose() { + this._clearTimeout(); + if (this.isShown()) { + this._element.classList.remove(CLASS_NAME_SHOW); + } + super.dispose(); + } + isShown() { + return this._element.classList.contains(CLASS_NAME_SHOW); + } + _maybeScheduleHide() { + if (!this._config.autohide) { + return; + } + if (this._hasMouseInteraction || this._hasKeyboardInteraction) { + return; + } + this._timeout = setTimeout(() => { + this.hide(); + }, this._config.delay); + } + _onInteraction(event, isInteracting) { + switch (event.type) { + case 'mouseover': + case 'mouseout': + { + this._hasMouseInteraction = isInteracting; + break; + } + case 'focusin': + case 'focusout': + { + this._hasKeyboardInteraction = isInteracting; + break; + } + } + if (isInteracting) { + this._clearTimeout(); + return; + } + const nextElement = event.relatedTarget; + if (this._element === nextElement || this._element.contains(nextElement)) { + return; + } + this._maybeScheduleHide(); + } + _setListeners() { + EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true)); + EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false)); + EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true)); + EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false)); + } + _clearTimeout() { + clearTimeout(this._timeout); + this._timeout = null; + } + static jQueryInterface(config) { + return this.each(function () { + const data = Toast.getOrCreateInstance(this, config); + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + } + }); + } +} +enableDismissTrigger(Toast); +defineJQueryPlugin(Toast); + +var dropdownTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]')); +dropdownTriggerList.map(function (dropdownTriggerEl) { + var options = { + boundary: dropdownTriggerEl.getAttribute('data-bs-boundary') === 'viewport' ? document.querySelector('.btn') : 'clippingParents' + }; + return new Dropdown(dropdownTriggerEl, options); +}); + +var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); +tooltipTriggerList.map(function (tooltipTriggerEl) { + var _ref, _tooltipTriggerEl$get; + var options = { + delay: { + show: 50, + hide: 50 + }, + html: (_ref = tooltipTriggerEl.getAttribute("data-bs-html") === "true") !== null && _ref !== void 0 ? _ref : false, + placement: (_tooltipTriggerEl$get = tooltipTriggerEl.getAttribute('data-bs-placement')) !== null && _tooltipTriggerEl$get !== void 0 ? _tooltipTriggerEl$get : 'auto' + }; + return new Tooltip(tooltipTriggerEl, options); +}); + +var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')); +popoverTriggerList.map(function (popoverTriggerEl) { + var _ref, _popoverTriggerEl$get; + var options = { + delay: { + show: 50, + hide: 50 + }, + html: (_ref = popoverTriggerEl.getAttribute('data-bs-html') === "true") !== null && _ref !== void 0 ? _ref : false, + placement: (_popoverTriggerEl$get = popoverTriggerEl.getAttribute('data-bs-placement')) !== null && _popoverTriggerEl$get !== void 0 ? _popoverTriggerEl$get : 'auto' + }; + return new Popover(popoverTriggerEl, options); +}); + +var switchesTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="switch-icon"]')); +switchesTriggerList.map(function (switchTriggerEl) { + switchTriggerEl.addEventListener('click', function (e) { + e.stopPropagation(); + switchTriggerEl.classList.toggle('active'); + }); +}); + +var toastsTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="toast"]')); +toastsTriggerList.map(function (toastTriggerEl) { + return new Toast(toastTriggerEl); +}); diff --git a/bin/main/static/tabler/dist/js/tabler.esm.min.js b/bin/main/static/tabler/dist/js/tabler.esm.min.js new file mode 100644 index 0000000..7cd54fd --- /dev/null +++ b/bin/main/static/tabler/dist/js/tabler.esm.min.js @@ -0,0 +1,15 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +var e=new Map;function t(t){var s=e.get(t);s&&s.destroy()}function o(t){var s=e.get(t);s&&s.update()}var r=null;"undefined"==typeof window?((r=function(e){return e}).destroy=function(e){return e},r.update=function(e){return e}):((r=function(t,s){return t&&Array.prototype.forEach.call(t.length?t:[t],(function(t){return function(t){if(t&&t.nodeName&&"TEXTAREA"===t.nodeName&&!e.has(t)){var s,i=null,n=window.getComputedStyle(t),r=(s=t.value,function(){o({testForHeightReduction:""===s||!t.value.startsWith(s),restoreTextAlign:null}),s=t.value}),a=function(s){t.removeEventListener("autosize:destroy",a),t.removeEventListener("autosize:update",l),t.removeEventListener("input",r),window.removeEventListener("resize",l),Object.keys(s).forEach((function(e){return t.style[e]=s[e]})),e.delete(t)}.bind(t,{height:t.style.height,resize:t.style.resize,textAlign:t.style.textAlign,overflowY:t.style.overflowY,overflowX:t.style.overflowX,wordWrap:t.style.wordWrap});t.addEventListener("autosize:destroy",a),t.addEventListener("autosize:update",l),t.addEventListener("input",r),window.addEventListener("resize",l),t.style.overflowX="hidden",t.style.wordWrap="break-word",e.set(t,{destroy:a,update:l}),l()}function o(e){var s,r,a=e.restoreTextAlign,l=void 0===a?null:a,u=e.testForHeightReduction,c=void 0===u||u,h=n.overflowY;if(0!==t.scrollHeight&&("vertical"===n.resize?t.style.resize="none":"both"===n.resize&&(t.style.resize="horizontal"),c&&(s=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push([e.parentNode,e.parentNode.scrollTop]),e=e.parentNode;return function(){return t.forEach((function(e){var t=e[0],s=e[1];t.style.scrollBehavior="auto",t.scrollTop=s,t.style.scrollBehavior=null}))}}(t),t.style.height=""),r="content-box"===n.boxSizing?t.scrollHeight-(parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)):t.scrollHeight+parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth),"none"!==n.maxHeight&&r>parseFloat(n.maxHeight)?("hidden"===n.overflowY&&(t.style.overflow="scroll"),r=parseFloat(n.maxHeight)):"hidden"!==n.overflowY&&(t.style.overflow="hidden"),t.style.height=r+"px",l&&(t.style.textAlign=l),s&&s(),i!==r&&(t.dispatchEvent(new Event("autosize:resized",{bubbles:!0})),i=r),h!==n.overflow&&!l)){var d=n.textAlign;"hidden"===n.overflow&&(t.style.textAlign="start"===d?"end":"start"),o({restoreTextAlign:d,testForHeightReduction:!0})}}function l(){o({testForHeightReduction:!0,restoreTextAlign:null})}}(t)})),t}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],t),e},r.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],o),e});var n=r,elements=document.querySelectorAll('[data-bs-toggle="autosize"]');function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};var s,i,n={},r=Object.keys(e);for(i=0;i=0||(n[s]=e[s]);return n}function IMask(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new IMask.InputMask(e,t)}elements.length&&elements.forEach((function(e){n(e)}));class ChangeDetails{constructor(e){Object.assign(this,{inserted:"",rawInserted:"",skip:!1,tailShift:0},e)}aggregate(e){return this.rawInserted+=e.rawInserted,this.skip=this.skip||e.skip,this.inserted+=e.inserted,this.tailShift+=e.tailShift,this}get offset(){return this.tailShift+this.inserted.length}}function isString(e){return"string"==typeof e||e instanceof String}IMask.ChangeDetails=ChangeDetails;const DIRECTION={NONE:"NONE",LEFT:"LEFT",FORCE_LEFT:"FORCE_LEFT",RIGHT:"RIGHT",FORCE_RIGHT:"FORCE_RIGHT"};function forceDirection(e){switch(e){case DIRECTION.LEFT:return DIRECTION.FORCE_LEFT;case DIRECTION.RIGHT:return DIRECTION.FORCE_RIGHT;default:return e}}function escapeRegExp(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function normalizePrepare(e){return Array.isArray(e)?e:[e,new ChangeDetails]}function objectIncludes(e,t){if(t===e)return!0;var s,i=Array.isArray(t),n=Array.isArray(e);if(i&&n){if(t.length!=e.length)return!1;for(s=0;s0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=arguments.length>2?arguments[2]:void 0;this.value=e,this.from=t,this.stop=s}toString(){return this.value}extend(e){this.value+=String(e)}appendTo(e){return e.append(this.toString(),{tail:!0}).aggregate(e._appendPlaceholder())}get state(){return{value:this.value,from:this.from,stop:this.stop}}set state(e){Object.assign(this,e)}unshift(e){if(!this.value.length||null!=e&&this.from>=e)return"";const t=this.value[0];return this.value=this.value.slice(1),t}shift(){if(!this.value.length)return"";const e=this.value[this.value.length-1];return this.value=this.value.slice(0,-1),e}}class Masked{constructor(e){this._value="",this._update(Object.assign({},Masked.DEFAULTS,e)),this.isInitialized=!0}updateOptions(e){Object.keys(e).length&&this.withValueRefresh(this._update.bind(this,e))}_update(e){Object.assign(this,e)}get state(){return{_value:this.value}}set state(e){this._value=e._value}reset(){this._value=""}get value(){return this._value}set value(e){this.resolve(e)}resolve(e){return this.reset(),this.append(e,{input:!0},""),this.doCommit(),this.value}get unmaskedValue(){return this.value}set unmaskedValue(e){this.reset(),this.append(e,{},""),this.doCommit()}get typedValue(){return this.doParse(this.value)}set typedValue(e){this.value=this.doFormat(e)}get rawInputValue(){return this.extractInput(0,this.value.length,{raw:!0})}set rawInputValue(e){this.reset(),this.append(e,{raw:!0},""),this.doCommit()}get displayValue(){return this.value}get isComplete(){return!0}get isFilled(){return this.isComplete}nearestInputPos(e,t){return e}totalInputPositions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return Math.min(this.value.length,t-e)}extractInput(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return this.value.slice(e,t)}extractTail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return new ContinuousTailDetails(this.extractInput(e,t),e)}appendTail(e){return isString(e)&&(e=new ContinuousTailDetails(String(e))),e.appendTo(this)}_appendCharRaw(e){return e?(this._value+=e,new ChangeDetails({inserted:e,rawInserted:e})):new ChangeDetails}_appendChar(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0;const i=this.state;let n;if([e,n]=normalizePrepare(this.doPrepare(e,t)),n=n.aggregate(this._appendCharRaw(e,t)),n.inserted){let e,r=!1!==this.doValidate(t);if(r&&null!=s){const t=this.state;!0===this.overwrite&&(e=s.state,s.unshift(this.value.length-n.tailShift));let i=this.appendTail(s);r=i.rawInserted===s.toString(),r&&i.inserted||"shift"!==this.overwrite||(this.state=t,e=s.state,s.shift(),i=this.appendTail(s),r=i.rawInserted===s.toString()),r&&i.inserted&&(this.state=t)}r||(n=new ChangeDetails,this.state=i,s&&e&&(s.state=e))}return n}_appendPlaceholder(){return new ChangeDetails}_appendEager(){return new ChangeDetails}append(e,t,s){if(!isString(e))throw new Error("value should be string");const i=new ChangeDetails,n=isString(s)?new ContinuousTailDetails(String(s)):s;null!=t&&t.tail&&(t._beforeTailState=this.state);for(let s=0;s0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return this._value=this.value.slice(0,e)+this.value.slice(t),new ChangeDetails}withValueRefresh(e){if(this._refreshing||!this.isInitialized)return e();this._refreshing=!0;const t=this.rawInputValue,s=this.value,i=e();return this.rawInputValue=t,this.value&&this.value!==s&&0===s.indexOf(this.value)&&this.append(s.slice(this.value.length),{},""),delete this._refreshing,i}runIsolated(e){if(this._isolated||!this.isInitialized)return e(this);this._isolated=!0;const t=this.state,s=e(this);return this.state=t,delete this._isolated,s}doSkipInvalid(e){return this.skipInvalid}doPrepare(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.prepare?this.prepare(e,this,t):e}doValidate(e){return(!this.validate||this.validate(this.value,this,e))&&(!this.parent||this.parent.doValidate(e))}doCommit(){this.commit&&this.commit(this.value,this)}doFormat(e){return this.format?this.format(e,this):e}doParse(e){return this.parse?this.parse(e,this):e}splice(e,t,s,i){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{input:!0};const r=e+t,a=this.extractTail(r),o=!0===this.eager||"remove"===this.eager;let l;o&&(i=forceDirection(i),l=this.extractInput(0,r,{raw:!0}));let u=e;const c=new ChangeDetails;if(i!==DIRECTION.NONE&&(u=this.nearestInputPos(e,t>1&&0!==e&&!o?DIRECTION.NONE:i),c.tailShift=u-e),c.aggregate(this.remove(u)),o&&i!==DIRECTION.NONE&&l===this.rawInputValue)if(i===DIRECTION.FORCE_LEFT){let e;for(;l===this.rawInputValue&&(e=this.value.length);)c.aggregate(new ChangeDetails({tailShift:-1})).aggregate(this.remove(e-1))}else i===DIRECTION.FORCE_RIGHT&&a.unshift();return c.aggregate(this.append(s,n,a))}maskEquals(e){return this.mask===e}typedValueEquals(e){const t=this.typedValue;return e===t||Masked.EMPTY_VALUES.includes(e)&&Masked.EMPTY_VALUES.includes(t)||this.doFormat(e)===this.doFormat(this.typedValue)}}function maskedClass(e){if(null==e)throw new Error("mask property should be defined");return e instanceof RegExp?IMask.MaskedRegExp:isString(e)?IMask.MaskedPattern:e instanceof Date||e===Date?IMask.MaskedDate:e instanceof Number||"number"==typeof e||e===Number?IMask.MaskedNumber:Array.isArray(e)||e===Array?IMask.MaskedDynamic:IMask.Masked&&e.prototype instanceof IMask.Masked?e:e instanceof IMask.Masked?e.constructor:e instanceof Function?IMask.MaskedFunction:(console.warn("Mask not found for mask",e),IMask.Masked)}function createMask(e){if(IMask.Masked&&e instanceof IMask.Masked)return e;const t=(e=Object.assign({},e)).mask;if(IMask.Masked&&t instanceof IMask.Masked)return t;const s=maskedClass(t);if(!s)throw new Error("Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.");return new s(e)}Masked.DEFAULTS={format:String,parse:e=>e,skipInvalid:!0},Masked.EMPTY_VALUES=[void 0,null,""],IMask.Masked=Masked,IMask.createMask=createMask;const _excluded$4=["parent","isOptional","placeholderChar","displayChar","lazy","eager"],DEFAULT_INPUT_DEFINITIONS={0:/\d/,a:/[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,"*":/./};class PatternInputDefinition{constructor(e){const{parent:t,isOptional:s,placeholderChar:i,displayChar:n,lazy:r,eager:a}=e,o=_objectWithoutPropertiesLoose(e,_excluded$4);this.masked=createMask(o),Object.assign(this,{parent:t,isOptional:s,placeholderChar:i,displayChar:n,lazy:r,eager:a})}reset(){this.isFilled=!1,this.masked.reset()}remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return 0===e&&t>=1?(this.isFilled=!1,this.masked.remove(e,t)):new ChangeDetails}get value(){return this.masked.value||(this.isFilled&&!this.isOptional?this.placeholderChar:"")}get unmaskedValue(){return this.masked.unmaskedValue}get displayValue(){return this.masked.value&&this.displayChar||this.value}get isComplete(){return Boolean(this.masked.value)||this.isOptional}_appendChar(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.isFilled)return new ChangeDetails;const s=this.masked.state,i=this.masked._appendChar(e,t);return i.inserted&&!1===this.doValidate(t)&&(i.inserted=i.rawInserted="",this.masked.state=s),i.inserted||this.isOptional||this.lazy||t.input||(i.inserted=this.placeholderChar),i.skip=!i.inserted&&!this.isOptional,this.isFilled=Boolean(i.inserted),i}append(){return this.masked.append(...arguments)}_appendPlaceholder(){const e=new ChangeDetails;return this.isFilled||this.isOptional||(this.isFilled=!0,e.inserted=this.placeholderChar),e}_appendEager(){return new ChangeDetails}extractTail(){return this.masked.extractTail(...arguments)}appendTail(){return this.masked.appendTail(...arguments)}extractInput(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,s=arguments.length>2?arguments[2]:void 0;return this.masked.extractInput(e,t,s)}nearestInputPos(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DIRECTION.NONE;const s=this.value.length,i=Math.min(Math.max(e,0),s);switch(t){case DIRECTION.LEFT:case DIRECTION.FORCE_LEFT:return this.isComplete?i:0;case DIRECTION.RIGHT:case DIRECTION.FORCE_RIGHT:return this.isComplete?i:s;default:return i}}totalInputPositions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return this.value.slice(e,t).length}doValidate(){return this.masked.doValidate(...arguments)&&(!this.parent||this.parent.doValidate(...arguments))}doCommit(){this.masked.doCommit()}get state(){return{masked:this.masked.state,isFilled:this.isFilled}}set state(e){this.masked.state=e.masked,this.isFilled=e.isFilled}}class PatternFixedDefinition{constructor(e){Object.assign(this,e),this._value="",this.isFixed=!0}get value(){return this._value}get unmaskedValue(){return this.isUnmasking?this.value:""}get displayValue(){return this.value}reset(){this._isRawInput=!1,this._value=""}remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._value.length;return this._value=this._value.slice(0,e)+this._value.slice(t),this._value||(this._isRawInput=!1),new ChangeDetails}nearestInputPos(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DIRECTION.NONE;const s=this._value.length;switch(t){case DIRECTION.LEFT:case DIRECTION.FORCE_LEFT:return 0;default:return s}}totalInputPositions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._value.length;return this._isRawInput?t-e:0}extractInput(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._value.length;return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).raw&&this._isRawInput&&this._value.slice(e,t)||""}get isComplete(){return!0}get isFilled(){return Boolean(this._value)}_appendChar(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=new ChangeDetails;if(this.isFilled)return s;const i=!0===this.eager||"append"===this.eager,n=this.char===e&&(this.isUnmasking||t.input||t.raw)&&(!t.raw||!i)&&!t.tail;return n&&(s.rawInserted=this.char),this._value=s.inserted=this.char,this._isRawInput=n&&(t.raw||t.input),s}_appendEager(){return this._appendChar(this.char,{tail:!0})}_appendPlaceholder(){const e=new ChangeDetails;return this.isFilled||(this._value=e.inserted=this.char),e}extractTail(){return arguments.length>1&&void 0!==arguments[1]||this.value.length,new ContinuousTailDetails("")}appendTail(e){return isString(e)&&(e=new ContinuousTailDetails(String(e))),e.appendTo(this)}append(e,t,s){const i=this._appendChar(e[0],t);return null!=s&&(i.tailShift+=this.appendTail(s).tailShift),i}doCommit(){}get state(){return{_value:this._value,_isRawInput:this._isRawInput}}set state(e){Object.assign(this,e)}}const _excluded$3=["chunks"];class ChunksTailDetails{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.chunks=e,this.from=t}toString(){return this.chunks.map(String).join("")}extend(e){if(!String(e))return;isString(e)&&(e=new ContinuousTailDetails(String(e)));const t=this.chunks[this.chunks.length-1],s=t&&(t.stop===e.stop||null==e.stop)&&e.from===t.from+t.toString().length;if(e instanceof ContinuousTailDetails)s?t.extend(e.toString()):this.chunks.push(e);else if(e instanceof ChunksTailDetails){if(null==e.stop){let t;for(;e.chunks.length&&null==e.chunks[0].stop;)t=e.chunks.shift(),t.from+=e.from,this.extend(t)}e.toString()&&(e.stop=e.blockIndex,this.chunks.push(e))}}appendTo(e){if(!(e instanceof IMask.MaskedPattern)){return new ContinuousTailDetails(this.toString()).appendTo(e)}const t=new ChangeDetails;for(let s=0;s=0){const s=e._appendPlaceholder(r);t.aggregate(s)}a=i instanceof ChunksTailDetails&&e._blocks[r]}if(a){const s=a.appendTail(i);s.skip=!1,t.aggregate(s),e._value+=s.inserted;const n=i.toString().slice(s.rawInserted.length);n&&t.aggregate(e.append(n,{tail:!0}))}else t.aggregate(e.append(i.toString(),{tail:!0}))}return t}get state(){return{chunks:this.chunks.map((e=>e.state)),from:this.from,stop:this.stop,blockIndex:this.blockIndex}}set state(e){const{chunks:t}=e,s=_objectWithoutPropertiesLoose(e,_excluded$3);Object.assign(this,s),this.chunks=t.map((e=>{const t="chunks"in e?new ChunksTailDetails:new ContinuousTailDetails;return t.state=e,t}))}unshift(e){if(!this.chunks.length||null!=e&&this.from>=e)return"";const t=null!=e?e-this.from:e;let s=0;for(;s=this.masked._blocks.length&&(this.index=this.masked._blocks.length-1,this.offset=this.block.value.length))}_pushLeft(e){for(this.pushState(),this.bindBlock();0<=this.index;--this.index,this.offset=(null===(t=this.block)||void 0===t?void 0:t.value.length)||0){var t;if(e())return this.ok=!0}return this.ok=!1}_pushRight(e){for(this.pushState(),this.bindBlock();this.index{if(!this.block.isFixed&&this.block.value)return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.FORCE_LEFT),0!==this.offset||void 0}))}pushLeftBeforeInput(){return this._pushLeft((()=>{if(!this.block.isFixed)return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.LEFT),!0}))}pushLeftBeforeRequired(){return this._pushLeft((()=>{if(!(this.block.isFixed||this.block.isOptional&&!this.block.value))return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.LEFT),!0}))}pushRightBeforeFilled(){return this._pushRight((()=>{if(!this.block.isFixed&&this.block.value)return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.FORCE_RIGHT),this.offset!==this.block.value.length||void 0}))}pushRightBeforeInput(){return this._pushRight((()=>{if(!this.block.isFixed)return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.NONE),!0}))}pushRightBeforeRequired(){return this._pushRight((()=>{if(!(this.block.isFixed||this.block.isOptional&&!this.block.value))return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.NONE),!0}))}}class MaskedRegExp extends Masked{_update(e){e.mask&&(e.validate=t=>t.search(e.mask)>=0),super._update(e)}}IMask.MaskedRegExp=MaskedRegExp;const _excluded$2=["_blocks"];class MaskedPattern extends Masked{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.definitions=Object.assign({},DEFAULT_INPUT_DEFINITIONS,e.definitions),super(Object.assign({},MaskedPattern.DEFAULTS,e))}_update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.definitions=Object.assign({},this.definitions,e.definitions),super._update(e),this._rebuildMask()}_rebuildMask(){const e=this.definitions;this._blocks=[],this._stops=[],this._maskedBlocks={};let t=this.mask;if(!t||!e)return;let s=!1,i=!1;for(let a=0;a0===e.indexOf(t)));s.sort(((e,t)=>t.length-e.length));const i=s[0];if(i){const e=createMask(Object.assign({parent:this,lazy:this.lazy,eager:this.eager,placeholderChar:this.placeholderChar,displayChar:this.displayChar,overwrite:this.overwrite},this.blocks[i]));e&&(this._blocks.push(e),this._maskedBlocks[i]||(this._maskedBlocks[i]=[]),this._maskedBlocks[i].push(this._blocks.length-1)),a+=i.length-1;continue}}let o=t[a],l=o in e;if(o===MaskedPattern.STOP_CHAR){this._stops.push(this._blocks.length);continue}if("{"===o||"}"===o){s=!s;continue}if("["===o||"]"===o){i=!i;continue}if(o===MaskedPattern.ESCAPE_CHAR){if(++a,o=t[a],!o)break;l=!1}const u=null===(n=e[o])||void 0===n||!n.mask||(null===(r=e[o])||void 0===r?void 0:r.mask.prototype)instanceof IMask.Masked?{mask:e[o]}:e[o],c=l?new PatternInputDefinition(Object.assign({parent:this,isOptional:i,lazy:this.lazy,eager:this.eager,placeholderChar:this.placeholderChar,displayChar:this.displayChar},u)):new PatternFixedDefinition({char:o,eager:this.eager,isUnmasking:s});this._blocks.push(c)}}get state(){return Object.assign({},super.state,{_blocks:this._blocks.map((e=>e.state))})}set state(e){const{_blocks:t}=e,s=_objectWithoutPropertiesLoose(e,_excluded$2);this._blocks.forEach(((e,s)=>e.state=t[s])),super.state=s}reset(){super.reset(),this._blocks.forEach((e=>e.reset()))}get isComplete(){return this._blocks.every((e=>e.isComplete))}get isFilled(){return this._blocks.every((e=>e.isFilled))}get isFixed(){return this._blocks.every((e=>e.isFixed))}get isOptional(){return this._blocks.every((e=>e.isOptional))}doCommit(){this._blocks.forEach((e=>e.doCommit())),super.doCommit()}get unmaskedValue(){return this._blocks.reduce(((e,t)=>e+t.unmaskedValue),"")}set unmaskedValue(e){super.unmaskedValue=e}get value(){return this._blocks.reduce(((e,t)=>e+t.value),"")}set value(e){super.value=e}get displayValue(){return this._blocks.reduce(((e,t)=>e+t.displayValue),"")}appendTail(e){return super.appendTail(e).aggregate(this._appendPlaceholder())}_appendEager(){var e;const t=new ChangeDetails;let s=null===(e=this._mapPosToBlock(this.value.length))||void 0===e?void 0:e.index;if(null==s)return t;this._blocks[s].isFilled&&++s;for(let e=s;e1&&void 0!==arguments[1]?arguments[1]:{};const s=this._mapPosToBlock(this.value.length),i=new ChangeDetails;if(!s)return i;for(let a=s.index;;++a){var n,r;const s=this._blocks[a];if(!s)break;const o=s._appendChar(e,Object.assign({},t,{_beforeTailState:null===(n=t._beforeTailState)||void 0===n||null===(r=n._blocks)||void 0===r?void 0:r[a]})),l=o.skip;if(i.aggregate(o),l||o.rawInserted)break}return i}extractTail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;const s=new ChunksTailDetails;return e===t||this._forEachBlocksInRange(e,t,((e,t,i,n)=>{const r=e.extractTail(i,n);r.stop=this._findStopBefore(t),r.from=this._blockStartPos(t),r instanceof ChunksTailDetails&&(r.blockIndex=t),s.extend(r)})),s}extractInput(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e===t)return"";let i="";return this._forEachBlocksInRange(e,t,((e,t,n,r)=>{i+=e.extractInput(n,r,s)})),i}_findStopBefore(e){let t;for(let s=0;s{if(!s.lazy||null!=e){const e=null!=s._blocks?[s._blocks.length]:[],i=s._appendPlaceholder(...e);this._value+=i.inserted,t.aggregate(i)}})),t}_mapPosToBlock(e){let t="";for(let s=0;se+t.value.length),0)}_forEachBlocksInRange(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,s=arguments.length>2?arguments[2]:void 0;const i=this._mapPosToBlock(e);if(i){const e=this._mapPosToBlock(t),n=e&&i.index===e.index,r=i.offset,a=e&&n?e.offset:this._blocks[i.index].value.length;if(s(this._blocks[i.index],i.index,r,a),e&&!n){for(let t=i.index+1;t0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;const s=super.remove(e,t);return this._forEachBlocksInRange(e,t,((e,t,i,n)=>{s.aggregate(e.remove(i,n))})),s}nearestInputPos(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DIRECTION.NONE;if(!this._blocks.length)return 0;const s=new PatternCursor(this,e);if(t===DIRECTION.NONE)return s.pushRightBeforeInput()?s.pos:(s.popState(),s.pushLeftBeforeInput()?s.pos:this.value.length);if(t===DIRECTION.LEFT||t===DIRECTION.FORCE_LEFT){if(t===DIRECTION.LEFT){if(s.pushRightBeforeFilled(),s.ok&&s.pos===e)return e;s.popState()}if(s.pushLeftBeforeInput(),s.pushLeftBeforeRequired(),s.pushLeftBeforeFilled(),t===DIRECTION.LEFT){if(s.pushRightBeforeInput(),s.pushRightBeforeRequired(),s.ok&&s.pos<=e)return s.pos;if(s.popState(),s.ok&&s.pos<=e)return s.pos;s.popState()}return s.ok?s.pos:t===DIRECTION.FORCE_LEFT?0:(s.popState(),s.ok?s.pos:(s.popState(),s.ok?s.pos:0))}return t===DIRECTION.RIGHT||t===DIRECTION.FORCE_RIGHT?(s.pushRightBeforeInput(),s.pushRightBeforeRequired(),s.pushRightBeforeFilled()?s.pos:t===DIRECTION.FORCE_RIGHT?this.value.length:(s.popState(),s.ok?s.pos:(s.popState(),s.ok?s.pos:this.nearestInputPos(e,DIRECTION.LEFT)))):e}totalInputPositions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,s=0;return this._forEachBlocksInRange(e,t,((e,t,i,n)=>{s+=e.totalInputPositions(i,n)})),s}maskedBlock(e){return this.maskedBlocks(e)[0]}maskedBlocks(e){const t=this._maskedBlocks[e];return t?t.map((e=>this._blocks[e])):[]}}MaskedPattern.DEFAULTS={lazy:!0,placeholderChar:"_"},MaskedPattern.STOP_CHAR="`",MaskedPattern.ESCAPE_CHAR="\\",MaskedPattern.InputDefinition=PatternInputDefinition,MaskedPattern.FixedDefinition=PatternFixedDefinition,IMask.MaskedPattern=MaskedPattern;class MaskedRange extends MaskedPattern{get _matchFrom(){return this.maxLength-String(this.from).length}_update(e){e=Object.assign({to:this.to||0,from:this.from||0,maxLength:this.maxLength||0},e);let t=String(e.to).length;null!=e.maxLength&&(t=Math.max(t,e.maxLength)),e.maxLength=t;const s=String(e.from).padStart(t,"0"),i=String(e.to).padStart(t,"0");let n=0;for(;n1&&void 0!==arguments[1]?arguments[1]:{};if([e,t]=normalizePrepare(super.doPrepare(e.replace(/\D/g,""),s)),!this.autofix||!e)return e;const i=String(this.from).padStart(this.maxLength,"0"),n=String(this.to).padStart(this.maxLength,"0");let r=this.value+e;if(r.length>this.maxLength)return"";const[a,o]=this.boundaries(r);return Number(o)this.to?"pad"===this.autofix&&r.length{const s=e.blocks[t];!("autofix"in s)&&"autofix"in e&&(s.autofix=e.autofix)})),super._update(e)}doValidate(){const e=this.date;return super.doValidate(...arguments)&&(!this.isComplete||this.isDateExist(this.value)&&null!=e&&(null==this.min||this.min<=e)&&(null==this.max||e<=this.max))}isDateExist(e){return this.format(this.parse(e,this),this).indexOf(e)>=0}get date(){return this.typedValue}set date(e){this.typedValue=e}get typedValue(){return this.isComplete?super.typedValue:null}set typedValue(e){super.typedValue=e}maskEquals(e){return e===Date||super.maskEquals(e)}}MaskedDate.DEFAULTS={pattern:"d{.}`m{.}`Y",format:e=>{if(!e)return"";return[String(e.getDate()).padStart(2,"0"),String(e.getMonth()+1).padStart(2,"0"),e.getFullYear()].join(".")},parse:e=>{const[t,s,i]=e.split(".");return new Date(i,s-1,t)}},MaskedDate.GET_DEFAULT_BLOCKS=()=>({d:{mask:MaskedRange,from:1,to:31,maxLength:2},m:{mask:MaskedRange,from:1,to:12,maxLength:2},Y:{mask:MaskedRange,from:1900,to:9999}}),IMask.MaskedDate=MaskedDate;class MaskElement{get selectionStart(){let e;try{e=this._unsafeSelectionStart}catch(e){}return null!=e?e:this.value.length}get selectionEnd(){let e;try{e=this._unsafeSelectionEnd}catch(e){}return null!=e?e:this.value.length}select(e,t){if(null!=e&&null!=t&&(e!==this.selectionStart||t!==this.selectionEnd))try{this._unsafeSelect(e,t)}catch(e){}}_unsafeSelect(e,t){}get isActive(){return!1}bindEvents(e){}unbindEvents(){}}IMask.MaskElement=MaskElement;class HTMLMaskElement extends MaskElement{constructor(e){super(),this.input=e,this._handlers={}}get rootElement(){var e,t,s;return null!==(e=null===(t=(s=this.input).getRootNode)||void 0===t?void 0:t.call(s))&&void 0!==e?e:document}get isActive(){return this.input===this.rootElement.activeElement}get _unsafeSelectionStart(){return this.input.selectionStart}get _unsafeSelectionEnd(){return this.input.selectionEnd}_unsafeSelect(e,t){this.input.setSelectionRange(e,t)}get value(){return this.input.value}set value(e){this.input.value=e}bindEvents(e){Object.keys(e).forEach((t=>this._toggleEventHandler(HTMLMaskElement.EVENTS_MAP[t],e[t])))}unbindEvents(){Object.keys(this._handlers).forEach((e=>this._toggleEventHandler(e)))}_toggleEventHandler(e,t){this._handlers[e]&&(this.input.removeEventListener(e,this._handlers[e]),delete this._handlers[e]),t&&(this.input.addEventListener(e,t),this._handlers[e]=t)}}HTMLMaskElement.EVENTS_MAP={selectionChange:"keydown",input:"input",drop:"drop",click:"click",focus:"focus",commit:"blur"},IMask.HTMLMaskElement=HTMLMaskElement;class HTMLContenteditableMaskElement extends HTMLMaskElement{get _unsafeSelectionStart(){const e=this.rootElement,t=e.getSelection&&e.getSelection(),s=t&&t.anchorOffset,i=t&&t.focusOffset;return null==i||null==s||si?s:i}_unsafeSelect(e,t){if(!this.rootElement.createRange)return;const s=this.rootElement.createRange();s.setStart(this.input.firstChild||this.input,e),s.setEnd(this.input.lastChild||this.input,t);const i=this.rootElement,n=i.getSelection&&i.getSelection();n&&(n.removeAllRanges(),n.addRange(s))}get value(){return this.input.textContent}set value(e){this.input.textContent=e}}IMask.HTMLContenteditableMaskElement=HTMLContenteditableMaskElement;const _excluded$1=["mask"];class InputMask{constructor(e,t){this.el=e instanceof MaskElement?e:e.isContentEditable&&"INPUT"!==e.tagName&&"TEXTAREA"!==e.tagName?new HTMLContenteditableMaskElement(e):new HTMLMaskElement(e),this.masked=createMask(t),this._listeners={},this._value="",this._unmaskedValue="",this._saveSelection=this._saveSelection.bind(this),this._onInput=this._onInput.bind(this),this._onChange=this._onChange.bind(this),this._onDrop=this._onDrop.bind(this),this._onFocus=this._onFocus.bind(this),this._onClick=this._onClick.bind(this),this.alignCursor=this.alignCursor.bind(this),this.alignCursorFriendly=this.alignCursorFriendly.bind(this),this._bindEvents(),this.updateValue(),this._onChange()}get mask(){return this.masked.mask}maskEquals(e){var t;return null==e||(null===(t=this.masked)||void 0===t?void 0:t.maskEquals(e))}set mask(e){if(this.maskEquals(e))return;if(!(e instanceof IMask.Masked)&&this.masked.constructor===maskedClass(e))return void this.masked.updateOptions({mask:e});const t=createMask({mask:e});t.unmaskedValue=this.masked.unmaskedValue,this.masked=t}get value(){return this._value}set value(e){this.value!==e&&(this.masked.value=e,this.updateControl(),this.alignCursor())}get unmaskedValue(){return this._unmaskedValue}set unmaskedValue(e){this.unmaskedValue!==e&&(this.masked.unmaskedValue=e,this.updateControl(),this.alignCursor())}get typedValue(){return this.masked.typedValue}set typedValue(e){this.masked.typedValueEquals(e)||(this.masked.typedValue=e,this.updateControl(),this.alignCursor())}get displayValue(){return this.masked.displayValue}_bindEvents(){this.el.bindEvents({selectionChange:this._saveSelection,input:this._onInput,drop:this._onDrop,click:this._onClick,focus:this._onFocus,commit:this._onChange})}_unbindEvents(){this.el&&this.el.unbindEvents()}_fireEvent(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;ie(...s)))}get selectionStart(){return this._cursorChanging?this._changingCursorPos:this.el.selectionStart}get cursorPos(){return this._cursorChanging?this._changingCursorPos:this.el.selectionEnd}set cursorPos(e){this.el&&this.el.isActive&&(this.el.select(e,e),this._saveSelection())}_saveSelection(){this.displayValue!==this.el.value&&console.warn("Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly."),this._selection={start:this.selectionStart,end:this.cursorPos}}updateValue(){this.masked.value=this.el.value,this._value=this.masked.value}updateControl(){const e=this.masked.unmaskedValue,t=this.masked.value,s=this.displayValue,i=this.unmaskedValue!==e||this.value!==t;this._unmaskedValue=e,this._value=t,this.el.value!==s&&(this.el.value=s),i&&this._fireChangeEvents()}updateOptions(e){const{mask:t}=e,s=_objectWithoutPropertiesLoose(e,_excluded$1),i=!this.maskEquals(t),n=!objectIncludes(this.masked,s);i&&(this.mask=t),n&&this.masked.updateOptions(s),(i||n)&&this.updateControl()}updateCursor(e){null!=e&&(this.cursorPos=e,this._delayUpdateCursor(e))}_delayUpdateCursor(e){this._abortUpdateCursor(),this._changingCursorPos=e,this._cursorChanging=setTimeout((()=>{this.el&&(this.cursorPos=this._changingCursorPos,this._abortUpdateCursor())}),10)}_fireChangeEvents(){this._fireEvent("accept",this._inputEvent),this.masked.isComplete&&this._fireEvent("complete",this._inputEvent)}_abortUpdateCursor(){this._cursorChanging&&(clearTimeout(this._cursorChanging),delete this._cursorChanging)}alignCursor(){this.cursorPos=this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos,DIRECTION.LEFT))}alignCursorFriendly(){this.selectionStart===this.cursorPos&&this.alignCursor()}on(e,t){return this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t),this}off(e,t){if(!this._listeners[e])return this;if(!t)return delete this._listeners[e],this;const s=this._listeners[e].indexOf(t);return s>=0&&this._listeners[e].splice(s,1),this}_onInput(e){if(this._inputEvent=e,this._abortUpdateCursor(),!this._selection)return this.updateValue();const t=new ActionDetails(this.el.value,this.cursorPos,this.displayValue,this._selection),s=this.masked.rawInputValue,i=this.masked.splice(t.startChangePos,t.removed.length,t.inserted,t.removeDirection,{input:!0,raw:!0}).offset,n=s===this.masked.rawInputValue?t.removeDirection:DIRECTION.NONE;let r=this.masked.nearestInputPos(t.startChangePos+i,n);n!==DIRECTION.NONE&&(r=this.masked.nearestInputPos(r,DIRECTION.NONE)),this.updateControl(),this.updateCursor(r),delete this._inputEvent}_onChange(){this.displayValue!==this.el.value&&this.updateValue(),this.masked.doCommit(),this.updateControl(),this._saveSelection()}_onDrop(e){e.preventDefault(),e.stopPropagation()}_onFocus(e){this.alignCursorFriendly()}_onClick(e){this.alignCursorFriendly()}destroy(){this._unbindEvents(),this._listeners.length=0,delete this.el}}IMask.InputMask=InputMask;class MaskedEnum extends MaskedPattern{_update(e){e.enum&&(e.mask="*".repeat(e.enum[0].length)),super._update(e)}doValidate(){return this.enum.some((e=>e.indexOf(this.unmaskedValue)>=0))&&super.doValidate(...arguments)}}IMask.MaskedEnum=MaskedEnum;class MaskedNumber extends Masked{constructor(e){super(Object.assign({},MaskedNumber.DEFAULTS,e))}_update(e){super._update(e),this._updateRegExps()}_updateRegExps(){let e="^"+(this.allowNegative?"[+|\\-]?":""),t=(this.scale?"(".concat(escapeRegExp(this.radix),"\\d{0,").concat(this.scale,"})?"):"")+"$";this._numberRegExp=new RegExp(e+"\\d*"+t),this._mapToRadixRegExp=new RegExp("[".concat(this.mapToRadix.map(escapeRegExp).join(""),"]"),"g"),this._thousandsSeparatorRegExp=new RegExp(escapeRegExp(this.thousandsSeparator),"g")}_removeThousandsSeparators(e){return e.replace(this._thousandsSeparatorRegExp,"")}_insertThousandsSeparators(e){const t=e.split(this.radix);return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,this.thousandsSeparator),t.join(this.radix)}doPrepare(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=this._removeThousandsSeparators(this.scale&&this.mapToRadix.length&&(t.input&&t.raw||!t.input&&!t.raw)?e.replace(this._mapToRadixRegExp,this.radix):e);const[s,i]=normalizePrepare(super.doPrepare(e,t));return e&&!s&&(i.skip=!0),[s,i]}_separatorsCount(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=0;for(let i=0;i0&&void 0!==arguments[0]?arguments[0]:this._value;return this._separatorsCount(this._removeThousandsSeparators(e).length,!0)}extractInput(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,s=arguments.length>2?arguments[2]:void 0;return[e,t]=this._adjustRangeWithSeparators(e,t),this._removeThousandsSeparators(super.extractInput(e,t,s))}_appendCharRaw(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.thousandsSeparator)return super._appendCharRaw(e,t);const s=t.tail&&t._beforeTailState?t._beforeTailState._value:this._value,i=this._separatorsCountFromSlice(s);this._value=this._removeThousandsSeparators(this.value);const n=super._appendCharRaw(e,t);this._value=this._insertThousandsSeparators(this._value);const r=t.tail&&t._beforeTailState?t._beforeTailState._value:this._value,a=this._separatorsCountFromSlice(r);return n.tailShift+=(a-i)*this.thousandsSeparator.length,n.skip=!n.rawInserted&&e===this.thousandsSeparator,n}_findSeparatorAround(e){if(this.thousandsSeparator){const t=e-this.thousandsSeparator.length+1,s=this.value.indexOf(this.thousandsSeparator,t);if(s<=e)return s}return-1}_adjustRangeWithSeparators(e,t){const s=this._findSeparatorAround(e);s>=0&&(e=s);const i=this._findSeparatorAround(t);return i>=0&&(t=i+this.thousandsSeparator.length),[e,t]}remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;[e,t]=this._adjustRangeWithSeparators(e,t);const s=this.value.slice(0,e),i=this.value.slice(t),n=this._separatorsCount(s.length);this._value=this._insertThousandsSeparators(this._removeThousandsSeparators(s+i));const r=this._separatorsCountFromSlice(s);return new ChangeDetails({tailShift:(r-n)*this.thousandsSeparator.length})}nearestInputPos(e,t){if(!this.thousandsSeparator)return e;switch(t){case DIRECTION.NONE:case DIRECTION.LEFT:case DIRECTION.FORCE_LEFT:{const s=this._findSeparatorAround(e-1);if(s>=0){const i=s+this.thousandsSeparator.length;if(e=0)return t+this.thousandsSeparator.length}}return e}doValidate(e){let t=Boolean(this._removeThousandsSeparators(this.value).match(this._numberRegExp));if(t){const e=this.number;t=t&&!isNaN(e)&&(null==this.min||this.min>=0||this.min<=this.number)&&(null==this.max||this.max<=0||this.number<=this.max)}return t&&super.doValidate(e)}doCommit(){if(this.value){const e=this.number;let t=e;null!=this.min&&(t=Math.max(t,this.min)),null!=this.max&&(t=Math.min(t,this.max)),t!==e&&(this.unmaskedValue=this.doFormat(t));let s=this.value;this.normalizeZeros&&(s=this._normalizeZeros(s)),this.padFractionalZeros&&this.scale>0&&(s=this._padFractionalZeros(s)),this._value=s}super.doCommit()}_normalizeZeros(e){const t=this._removeThousandsSeparators(e).split(this.radix);return t[0]=t[0].replace(/^(\D*)(0*)(\d*)/,((e,t,s,i)=>t+i)),e.length&&!/\d$/.test(t[0])&&(t[0]=t[0]+"0"),t.length>1&&(t[1]=t[1].replace(/0*$/,""),t[1].length||(t.length=1)),this._insertThousandsSeparators(t.join(this.radix))}_padFractionalZeros(e){if(!e)return e;const t=e.split(this.radix);return t.length<2&&t.push(""),t[1]=t[1].padEnd(this.scale,"0"),t.join(this.radix)}doSkipInvalid(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0;const i=0===this.scale&&e!==this.thousandsSeparator&&(e===this.radix||e===MaskedNumber.UNMASKED_RADIX||this.mapToRadix.includes(e));return super.doSkipInvalid(e,t,s)&&!i}get unmaskedValue(){return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix,MaskedNumber.UNMASKED_RADIX)}set unmaskedValue(e){super.unmaskedValue=e}get typedValue(){return this.doParse(this.unmaskedValue)}set typedValue(e){this.rawInputValue=this.doFormat(e).replace(MaskedNumber.UNMASKED_RADIX,this.radix)}get number(){return this.typedValue}set number(e){this.typedValue=e}get allowNegative(){return this.signed||null!=this.min&&this.min<0||null!=this.max&&this.max<0}typedValueEquals(e){return(super.typedValueEquals(e)||MaskedNumber.EMPTY_VALUES.includes(e)&&MaskedNumber.EMPTY_VALUES.includes(this.typedValue))&&!(0===e&&""===this.value)}}MaskedNumber.UNMASKED_RADIX=".",MaskedNumber.DEFAULTS={radix:",",thousandsSeparator:"",mapToRadix:[MaskedNumber.UNMASKED_RADIX],scale:2,signed:!1,normalizeZeros:!0,padFractionalZeros:!1,parse:Number,format:e=>e.toLocaleString("en-US",{useGrouping:!1,maximumFractionDigits:20})},MaskedNumber.EMPTY_VALUES=[...Masked.EMPTY_VALUES,0],IMask.MaskedNumber=MaskedNumber;class MaskedFunction extends Masked{_update(e){e.mask&&(e.validate=e.mask),super._update(e)}}IMask.MaskedFunction=MaskedFunction;const _excluded=["compiledMasks","currentMaskRef","currentMask"],_excluded2=["mask"];class MaskedDynamic extends Masked{constructor(e){super(Object.assign({},MaskedDynamic.DEFAULTS,e)),this.currentMask=null}_update(e){super._update(e),"mask"in e&&(this.compiledMasks=Array.isArray(e.mask)?e.mask.map((e=>createMask(e))):[])}_appendCharRaw(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=this._applyDispatch(e,t);return this.currentMask&&s.aggregate(this.currentMask._appendChar(e,this.currentMaskFlags(t))),s}_applyDispatch(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";const i=t.tail&&null!=t._beforeTailState?t._beforeTailState._value:this.value,n=this.rawInputValue,r=t.tail&&null!=t._beforeTailState?t._beforeTailState._rawInputValue:n,a=n.slice(r.length),o=this.currentMask,l=new ChangeDetails,u=null==o?void 0:o.state;if(this.currentMask=this.doDispatch(e,Object.assign({},t),s),this.currentMask)if(this.currentMask!==o){if(this.currentMask.reset(),r){const e=this.currentMask.append(r,{raw:!0});l.tailShift=e.inserted.length-i.length}a&&(l.tailShift+=this.currentMask.append(a,{raw:!0,tail:!0}).tailShift)}else this.currentMask.state=u;return l}_appendPlaceholder(){const e=this._applyDispatch(...arguments);return this.currentMask&&e.aggregate(this.currentMask._appendPlaceholder()),e}_appendEager(){const e=this._applyDispatch(...arguments);return this.currentMask&&e.aggregate(this.currentMask._appendEager()),e}appendTail(e){const t=new ChangeDetails;return e&&t.aggregate(this._applyDispatch("",{},e)),t.aggregate(this.currentMask?this.currentMask.appendTail(e):super.appendTail(e))}currentMaskFlags(e){var t,s;return Object.assign({},e,{_beforeTailState:(null===(t=e._beforeTailState)||void 0===t?void 0:t.currentMaskRef)===this.currentMask&&(null===(s=e._beforeTailState)||void 0===s?void 0:s.currentMask)||e._beforeTailState})}doDispatch(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return this.dispatch(e,this,t,s)}doValidate(e){return super.doValidate(e)&&(!this.currentMask||this.currentMask.doValidate(this.currentMaskFlags(e)))}doPrepare(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},[s,i]=normalizePrepare(super.doPrepare(e,t));if(this.currentMask){let e;[s,e]=normalizePrepare(super.doPrepare(s,this.currentMaskFlags(t))),i=i.aggregate(e)}return[s,i]}reset(){var e;null===(e=this.currentMask)||void 0===e||e.reset(),this.compiledMasks.forEach((e=>e.reset()))}get value(){return this.currentMask?this.currentMask.value:""}set value(e){super.value=e}get unmaskedValue(){return this.currentMask?this.currentMask.unmaskedValue:""}set unmaskedValue(e){super.unmaskedValue=e}get typedValue(){return this.currentMask?this.currentMask.typedValue:""}set typedValue(e){let t=String(e);this.currentMask&&(this.currentMask.typedValue=e,t=this.currentMask.unmaskedValue),this.unmaskedValue=t}get displayValue(){return this.currentMask?this.currentMask.displayValue:""}get isComplete(){var e;return Boolean(null===(e=this.currentMask)||void 0===e?void 0:e.isComplete)}get isFilled(){var e;return Boolean(null===(e=this.currentMask)||void 0===e?void 0:e.isFilled)}remove(){const e=new ChangeDetails;return this.currentMask&&e.aggregate(this.currentMask.remove(...arguments)).aggregate(this._applyDispatch()),e}get state(){var e;return Object.assign({},super.state,{_rawInputValue:this.rawInputValue,compiledMasks:this.compiledMasks.map((e=>e.state)),currentMaskRef:this.currentMask,currentMask:null===(e=this.currentMask)||void 0===e?void 0:e.state})}set state(e){const{compiledMasks:t,currentMaskRef:s,currentMask:i}=e,n=_objectWithoutPropertiesLoose(e,_excluded);this.compiledMasks.forEach(((e,s)=>e.state=t[s])),null!=s&&(this.currentMask=s,this.currentMask.state=i),super.state=n}extractInput(){return this.currentMask?this.currentMask.extractInput(...arguments):""}extractTail(){return this.currentMask?this.currentMask.extractTail(...arguments):super.extractTail(...arguments)}doCommit(){this.currentMask&&this.currentMask.doCommit(),super.doCommit()}nearestInputPos(){return this.currentMask?this.currentMask.nearestInputPos(...arguments):super.nearestInputPos(...arguments)}get overwrite(){return this.currentMask?this.currentMask.overwrite:super.overwrite}set overwrite(e){console.warn('"overwrite" option is not available in dynamic mask, use this option in siblings')}get eager(){return this.currentMask?this.currentMask.eager:super.eager}set eager(e){console.warn('"eager" option is not available in dynamic mask, use this option in siblings')}get skipInvalid(){return this.currentMask?this.currentMask.skipInvalid:super.skipInvalid}set skipInvalid(e){(this.isInitialized||e!==Masked.DEFAULTS.skipInvalid)&&console.warn('"skipInvalid" option is not available in dynamic mask, use this option in siblings')}maskEquals(e){return Array.isArray(e)&&this.compiledMasks.every(((t,s)=>{if(!e[s])return;const i=e[s],{mask:n}=i;return objectIncludes(t,_objectWithoutPropertiesLoose(i,_excluded2))&&t.maskEquals(n)}))}typedValueEquals(e){var t;return Boolean(null===(t=this.currentMask)||void 0===t?void 0:t.typedValueEquals(e))}}MaskedDynamic.DEFAULTS={dispatch:(e,t,s,i)=>{if(!t.compiledMasks.length)return;const n=t.rawInputValue,r=t.compiledMasks.map(((r,a)=>{const o=t.currentMask===r,l=o?r.value.length:r.nearestInputPos(r.value.length,DIRECTION.FORCE_LEFT);return r.rawInputValue!==n?(r.reset(),r.append(n,{raw:!0})):o||r.remove(l),r.append(e,t.currentMaskFlags(s)),r.appendTail(i),{index:a,weight:r.rawInputValue.length,totalInputPositions:r.totalInputPositions(0,Math.max(l,r.nearestInputPos(r.value.length,DIRECTION.FORCE_LEFT)))}}));return r.sort(((e,t)=>t.weight-e.weight||t.totalInputPositions-e.totalInputPositions)),t.compiledMasks[r[0].index]}},IMask.MaskedDynamic=MaskedDynamic;const PIPE_TYPE={MASKED:"value",UNMASKED:"unmaskedValue",TYPED:"typedValue"};function createPipe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:PIPE_TYPE.MASKED,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:PIPE_TYPE.MASKED;const i=createMask(e);return e=>i.runIsolated((i=>(i[t]=e,i[s])))}function pipe(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i0&&round(i.width)/e.offsetWidth||1,r=e.offsetHeight>0&&round(i.height)/e.offsetHeight||1);var a=(isElement$1(e)?getWindow(e):window).visualViewport,o=!isLayoutViewport()&&s,l=(i.left+(o&&a?a.offsetLeft:0))/n,u=(i.top+(o&&a?a.offsetTop:0))/r,c=i.width/n,h=i.height/r;return{width:c,height:h,top:u,right:l+c,bottom:u+h,left:l,x:l,y:u}}function getLayoutRect(e){var t=getBoundingClientRect(e),s=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-s)<=1&&(s=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:s,height:i}}function contains(e,t){var s=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(s&&isShadowRoot(s)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function getComputedStyle$1(e){return getWindow(e).getComputedStyle(e)}function isTableElement(e){return["table","td","th"].indexOf(getNodeName(e))>=0}function getDocumentElement(e){return((isElement$1(e)?e.ownerDocument:e.document)||window.document).documentElement}function getParentNode(e){return"html"===getNodeName(e)?e:e.assignedSlot||e.parentNode||(isShadowRoot(e)?e.host:null)||getDocumentElement(e)}function getTrueOffsetParent(e){return isHTMLElement(e)&&"fixed"!==getComputedStyle$1(e).position?e.offsetParent:null}function getContainingBlock(e){var t=/firefox/i.test(getUAString());if(/Trident/i.test(getUAString())&&isHTMLElement(e)&&"fixed"===getComputedStyle$1(e).position)return null;var s=getParentNode(e);for(isShadowRoot(s)&&(s=s.host);isHTMLElement(s)&&["html","body"].indexOf(getNodeName(s))<0;){var i=getComputedStyle$1(s);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return s;s=s.parentNode}return null}function getOffsetParent(e){for(var t=getWindow(e),s=getTrueOffsetParent(e);s&&isTableElement(s)&&"static"===getComputedStyle$1(s).position;)s=getTrueOffsetParent(s);return s&&("html"===getNodeName(s)||"body"===getNodeName(s)&&"static"===getComputedStyle$1(s).position)?t:s||getContainingBlock(e)||t}function getMainAxisFromPlacement(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function within(e,t,s){return max(e,min(t,s))}function withinMaxClamp(e,t,s){var i=within(e,t,s);return i>s?s:i}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(e){return Object.assign({},getFreshSideObject(),e)}function expandToHashMap(e,t){return t.reduce((function(t,s){return t[s]=e,t}),{})}var toPaddingObject=function(e,t){return mergePaddingObject("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:expandToHashMap(e,basePlacements))};function arrow(e){var t,s=e.state,i=e.name,n=e.options,r=s.elements.arrow,a=s.modifiersData.popperOffsets,o=getBasePlacement(s.placement),l=getMainAxisFromPlacement(o),u=[left,right].indexOf(o)>=0?"height":"width";if(r&&a){var c=toPaddingObject(n.padding,s),h=getLayoutRect(r),d="y"===l?top:left,p="y"===l?bottom:right,g=s.rects.reference[u]+s.rects.reference[l]-a[l]-s.rects.popper[u],f=a[l]-s.rects.reference[l],E=getOffsetParent(r),_=E?"y"===l?E.clientHeight||0:E.clientWidth||0:0,m=g/2-f/2,v=c[d],T=_-h[u]-c[p],A=_/2-h[u]/2+m,b=within(v,A,T),C=l;s.modifiersData[i]=((t={})[C]=b,t.centerOffset=b-A,t)}}function effect$1(e){var t=e.state,s=e.options.element,i=void 0===s?"[data-popper-arrow]":s;null!=i&&("string"!=typeof i||(i=t.elements.popper.querySelector(i)))&&contains(t.elements.popper,i)&&(t.elements.arrow=i)}var arrow$1={name:"arrow",enabled:!0,phase:"main",fn:arrow,effect:effect$1,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getVariation(e){return e.split("-")[1]}var unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(e,t){var s=e.x,i=e.y,n=t.devicePixelRatio||1;return{x:round(s*n)/n||0,y:round(i*n)/n||0}}function mapToStyles(e){var t,s=e.popper,i=e.popperRect,n=e.placement,r=e.variation,a=e.offsets,o=e.position,l=e.gpuAcceleration,u=e.adaptive,c=e.roundOffsets,h=e.isFixed,d=a.x,p=void 0===d?0:d,g=a.y,f=void 0===g?0:g,E="function"==typeof c?c({x:p,y:f}):{x:p,y:f};p=E.x,f=E.y;var _=a.hasOwnProperty("x"),m=a.hasOwnProperty("y"),v=left,T=top,A=window;if(u){var b=getOffsetParent(s),C="clientHeight",S="clientWidth";if(b===getWindow(s)&&"static"!==getComputedStyle$1(b=getDocumentElement(s)).position&&"absolute"===o&&(C="scrollHeight",S="scrollWidth"),n===top||(n===left||n===right)&&r===end)T=bottom,f-=(h&&b===A&&A.visualViewport?A.visualViewport.height:b[C])-i.height,f*=l?1:-1;if(n===left||(n===top||n===bottom)&&r===end)v=right,p-=(h&&b===A&&A.visualViewport?A.visualViewport.width:b[S])-i.width,p*=l?1:-1}var D,k=Object.assign({position:o},u&&unsetSides),N=!0===c?roundOffsetsByDPR({x:p,y:f},getWindow(s)):{x:p,y:f};return p=N.x,f=N.y,l?Object.assign({},k,((D={})[T]=m?"0":"",D[v]=_?"0":"",D.transform=(A.devicePixelRatio||1)<=1?"translate("+p+"px, "+f+"px)":"translate3d("+p+"px, "+f+"px, 0)",D)):Object.assign({},k,((t={})[T]=m?f+"px":"",t[v]=_?p+"px":"",t.transform="",t))}function computeStyles(e){var t=e.state,s=e.options,i=s.gpuAcceleration,n=void 0===i||i,r=s.adaptive,a=void 0===r||r,o=s.roundOffsets,l=void 0===o||o,u={placement:getBasePlacement(t.placement),variation:getVariation(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:n,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,mapToStyles(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,mapToStyles(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var computeStyles$1={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles,data:{}},passive={passive:!0};function effect(e){var t=e.state,s=e.instance,i=e.options,n=i.scroll,r=void 0===n||n,a=i.resize,o=void 0===a||a,l=getWindow(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return r&&u.forEach((function(e){e.addEventListener("scroll",s.update,passive)})),o&&l.addEventListener("resize",s.update,passive),function(){r&&u.forEach((function(e){e.removeEventListener("scroll",s.update,passive)})),o&&l.removeEventListener("resize",s.update,passive)}}var eventListeners={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:effect,data:{}},hash$1={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(e){return e.replace(/left|right|bottom|top/g,(function(e){return hash$1[e]}))}var hash={start:"end",end:"start"};function getOppositeVariationPlacement(e){return e.replace(/start|end/g,(function(e){return hash[e]}))}function getWindowScroll(e){var t=getWindow(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function getWindowScrollBarX(e){return getBoundingClientRect(getDocumentElement(e)).left+getWindowScroll(e).scrollLeft}function getViewportRect(e,t){var s=getWindow(e),i=getDocumentElement(e),n=s.visualViewport,r=i.clientWidth,a=i.clientHeight,o=0,l=0;if(n){r=n.width,a=n.height;var u=isLayoutViewport();(u||!u&&"fixed"===t)&&(o=n.offsetLeft,l=n.offsetTop)}return{width:r,height:a,x:o+getWindowScrollBarX(e),y:l}}function getDocumentRect(e){var t,s=getDocumentElement(e),i=getWindowScroll(e),n=null==(t=e.ownerDocument)?void 0:t.body,r=max(s.scrollWidth,s.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),a=max(s.scrollHeight,s.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),o=-i.scrollLeft+getWindowScrollBarX(e),l=-i.scrollTop;return"rtl"===getComputedStyle$1(n||s).direction&&(o+=max(s.clientWidth,n?n.clientWidth:0)-r),{width:r,height:a,x:o,y:l}}function isScrollParent(e){var t=getComputedStyle$1(e),s=t.overflow,i=t.overflowX,n=t.overflowY;return/auto|scroll|overlay|hidden/.test(s+n+i)}function getScrollParent(e){return["html","body","#document"].indexOf(getNodeName(e))>=0?e.ownerDocument.body:isHTMLElement(e)&&isScrollParent(e)?e:getScrollParent(getParentNode(e))}function listScrollParents(e,t){var s;void 0===t&&(t=[]);var i=getScrollParent(e),n=i===(null==(s=e.ownerDocument)?void 0:s.body),r=getWindow(i),a=n?[r].concat(r.visualViewport||[],isScrollParent(i)?i:[]):i,o=t.concat(a);return n?o:o.concat(listScrollParents(getParentNode(a)))}function rectToClientRect(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function getInnerBoundingClientRect(e,t){var s=getBoundingClientRect(e,!1,"fixed"===t);return s.top=s.top+e.clientTop,s.left=s.left+e.clientLeft,s.bottom=s.top+e.clientHeight,s.right=s.left+e.clientWidth,s.width=e.clientWidth,s.height=e.clientHeight,s.x=s.left,s.y=s.top,s}function getClientRectFromMixedType(e,t,s){return t===viewport?rectToClientRect(getViewportRect(e,s)):isElement$1(t)?getInnerBoundingClientRect(t,s):rectToClientRect(getDocumentRect(getDocumentElement(e)))}function getClippingParents(e){var t=listScrollParents(getParentNode(e)),s=["absolute","fixed"].indexOf(getComputedStyle$1(e).position)>=0&&isHTMLElement(e)?getOffsetParent(e):e;return isElement$1(s)?t.filter((function(e){return isElement$1(e)&&contains(e,s)&&"body"!==getNodeName(e)})):[]}function getClippingRect(e,t,s,i){var n="clippingParents"===t?getClippingParents(e):[].concat(t),r=[].concat(n,[s]),a=r[0],o=r.reduce((function(t,s){var n=getClientRectFromMixedType(e,s,i);return t.top=max(n.top,t.top),t.right=min(n.right,t.right),t.bottom=min(n.bottom,t.bottom),t.left=max(n.left,t.left),t}),getClientRectFromMixedType(e,a,i));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function computeOffsets(e){var t,s=e.reference,i=e.element,n=e.placement,r=n?getBasePlacement(n):null,a=n?getVariation(n):null,o=s.x+s.width/2-i.width/2,l=s.y+s.height/2-i.height/2;switch(r){case top:t={x:o,y:s.y-i.height};break;case bottom:t={x:o,y:s.y+s.height};break;case right:t={x:s.x+s.width,y:l};break;case left:t={x:s.x-i.width,y:l};break;default:t={x:s.x,y:s.y}}var u=r?getMainAxisFromPlacement(r):null;if(null!=u){var c="y"===u?"height":"width";switch(a){case start:t[u]=t[u]-(s[c]/2-i[c]/2);break;case end:t[u]=t[u]+(s[c]/2-i[c]/2)}}return t}function detectOverflow(e,t){void 0===t&&(t={});var s=t,i=s.placement,n=void 0===i?e.placement:i,r=s.strategy,a=void 0===r?e.strategy:r,o=s.boundary,l=void 0===o?clippingParents:o,u=s.rootBoundary,c=void 0===u?viewport:u,h=s.elementContext,d=void 0===h?popper:h,p=s.altBoundary,g=void 0!==p&&p,f=s.padding,E=void 0===f?0:f,_=mergePaddingObject("number"!=typeof E?E:expandToHashMap(E,basePlacements)),m=d===popper?reference:popper,v=e.rects.popper,T=e.elements[g?m:d],A=getClippingRect(isElement$1(T)?T:T.contextElement||getDocumentElement(e.elements.popper),l,c,a),b=getBoundingClientRect(e.elements.reference),C=computeOffsets({reference:b,element:v,strategy:"absolute",placement:n}),S=rectToClientRect(Object.assign({},v,C)),D=d===popper?S:b,k={top:A.top-D.top+_.top,bottom:D.bottom-A.bottom+_.bottom,left:A.left-D.left+_.left,right:D.right-A.right+_.right},N=e.modifiersData.offset;if(d===popper&&N){var O=N[n];Object.keys(k).forEach((function(e){var t=[right,bottom].indexOf(e)>=0?1:-1,s=[top,bottom].indexOf(e)>=0?"y":"x";k[e]+=O[s]*t}))}return k}function computeAutoPlacement(e,t){void 0===t&&(t={});var s=t,i=s.placement,n=s.boundary,r=s.rootBoundary,a=s.padding,o=s.flipVariations,l=s.allowedAutoPlacements,u=void 0===l?placements:l,c=getVariation(i),h=c?o?variationPlacements:variationPlacements.filter((function(e){return getVariation(e)===c})):basePlacements,d=h.filter((function(e){return u.indexOf(e)>=0}));0===d.length&&(d=h);var p=d.reduce((function(t,s){return t[s]=detectOverflow(e,{placement:s,boundary:n,rootBoundary:r,padding:a})[getBasePlacement(s)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}function getExpandedFallbackPlacements(e){if(getBasePlacement(e)===auto)return[];var t=getOppositePlacement(e);return[getOppositeVariationPlacement(e),t,getOppositeVariationPlacement(t)]}function flip(e){var t=e.state,s=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var n=s.mainAxis,r=void 0===n||n,a=s.altAxis,o=void 0===a||a,l=s.fallbackPlacements,u=s.padding,c=s.boundary,h=s.rootBoundary,d=s.altBoundary,p=s.flipVariations,g=void 0===p||p,f=s.allowedAutoPlacements,E=t.options.placement,_=getBasePlacement(E),m=l||(_===E||!g?[getOppositePlacement(E)]:getExpandedFallbackPlacements(E)),v=[E].concat(m).reduce((function(e,s){return e.concat(getBasePlacement(s)===auto?computeAutoPlacement(t,{placement:s,boundary:c,rootBoundary:h,padding:u,flipVariations:g,allowedAutoPlacements:f}):s)}),[]),T=t.rects.reference,A=t.rects.popper,b=new Map,C=!0,S=v[0],D=0;D=0,w=y?"width":"height",I=detectOverflow(t,{placement:k,boundary:c,rootBoundary:h,altBoundary:d,padding:u}),M=y?O?right:left:O?bottom:top;T[w]>A[w]&&(M=getOppositePlacement(M));var L=getOppositePlacement(M),R=[];if(r&&R.push(I[N]<=0),o&&R.push(I[M]<=0,I[L]<=0),R.every((function(e){return e}))){S=k,C=!1;break}b.set(k,R)}if(C)for(var P=function(e){var t=v.find((function(t){var s=b.get(t);if(s)return s.slice(0,e).every((function(e){return e}))}));if(t)return S=t,"break"},$=g?3:1;$>0;$--){if("break"===P($))break}t.placement!==S&&(t.modifiersData[i]._skip=!0,t.placement=S,t.reset=!0)}}var flip$1={name:"flip",enabled:!0,phase:"main",fn:flip,requiresIfExists:["offset"],data:{_skip:!1}};function getSideOffsets(e,t,s){return void 0===s&&(s={x:0,y:0}),{top:e.top-t.height-s.y,right:e.right-t.width+s.x,bottom:e.bottom-t.height+s.y,left:e.left-t.width-s.x}}function isAnySideFullyClipped(e){return[top,right,bottom,left].some((function(t){return e[t]>=0}))}function hide(e){var t=e.state,s=e.name,i=t.rects.reference,n=t.rects.popper,r=t.modifiersData.preventOverflow,a=detectOverflow(t,{elementContext:"reference"}),o=detectOverflow(t,{altBoundary:!0}),l=getSideOffsets(a,i),u=getSideOffsets(o,n,r),c=isAnySideFullyClipped(l),h=isAnySideFullyClipped(u);t.modifiersData[s]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":h})}var hide$1={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide};function distanceAndSkiddingToXY(e,t,s){var i=getBasePlacement(e),n=[left,top].indexOf(i)>=0?-1:1,r="function"==typeof s?s(Object.assign({},t,{placement:e})):s,a=r[0],o=r[1];return a=a||0,o=(o||0)*n,[left,right].indexOf(i)>=0?{x:o,y:a}:{x:a,y:o}}function offset(e){var t=e.state,s=e.options,i=e.name,n=s.offset,r=void 0===n?[0,0]:n,a=placements.reduce((function(e,s){return e[s]=distanceAndSkiddingToXY(s,t.rects,r),e}),{}),o=a[t.placement],l=o.x,u=o.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[i]=a}var offset$1={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset};function popperOffsets(e){var t=e.state,s=e.name;t.modifiersData[s]=computeOffsets({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var popperOffsets$1={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets,data:{}};function getAltAxis(e){return"x"===e?"y":"x"}function preventOverflow(e){var t=e.state,s=e.options,i=e.name,n=s.mainAxis,r=void 0===n||n,a=s.altAxis,o=void 0!==a&&a,l=s.boundary,u=s.rootBoundary,c=s.altBoundary,h=s.padding,d=s.tether,p=void 0===d||d,g=s.tetherOffset,f=void 0===g?0:g,E=detectOverflow(t,{boundary:l,rootBoundary:u,padding:h,altBoundary:c}),_=getBasePlacement(t.placement),m=getVariation(t.placement),v=!m,T=getMainAxisFromPlacement(_),A=getAltAxis(T),b=t.modifiersData.popperOffsets,C=t.rects.reference,S=t.rects.popper,D="function"==typeof f?f(Object.assign({},t.rects,{placement:t.placement})):f,k="number"==typeof D?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),N=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(b){if(r){var y,w="y"===T?top:left,I="y"===T?bottom:right,M="y"===T?"height":"width",L=b[T],R=L+E[w],P=L-E[I],$=p?-S[M]/2:0,F=m===start?C[M]:S[M],x=m===start?-S[M]:-C[M],V=t.elements.arrow,H=p&&V?getLayoutRect(V):{width:0,height:0},B=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:getFreshSideObject(),W=B[w],K=B[I],j=within(0,C[M],H[M]),Y=v?C[M]/2-$-j-W-k.mainAxis:F-j-W-k.mainAxis,U=v?-C[M]/2+$+j+K+k.mainAxis:x+j+K+k.mainAxis,G=t.elements.arrow&&getOffsetParent(t.elements.arrow),z=G?"y"===T?G.clientTop||0:G.clientLeft||0:0,q=null!=(y=null==N?void 0:N[T])?y:0,X=L+U-q,Q=within(p?min(R,L+Y-q-z):R,L,p?max(P,X):P);b[T]=Q,O[T]=Q-L}if(o){var Z,J="x"===T?top:left,ee="x"===T?bottom:right,te=b[A],se="y"===A?"height":"width",ie=te+E[J],ne=te-E[ee],re=-1!==[top,left].indexOf(_),ae=null!=(Z=null==N?void 0:N[A])?Z:0,oe=re?ie:te-C[se]-S[se]-ae+k.altAxis,le=re?te+C[se]+S[se]-ae-k.altAxis:ne,ue=p&&re?withinMaxClamp(oe,te,le):within(p?oe:ie,te,p?le:ne);b[A]=ue,O[A]=ue-te}t.modifiersData[i]=O}}var preventOverflow$1={name:"preventOverflow",enabled:!0,phase:"main",fn:preventOverflow,requiresIfExists:["offset"]};function getHTMLElementScroll(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function getNodeScroll(e){return e!==getWindow(e)&&isHTMLElement(e)?getHTMLElementScroll(e):getWindowScroll(e)}function isElementScaled(e){var t=e.getBoundingClientRect(),s=round(t.width)/e.offsetWidth||1,i=round(t.height)/e.offsetHeight||1;return 1!==s||1!==i}function getCompositeRect(e,t,s){void 0===s&&(s=!1);var i=isHTMLElement(t),n=isHTMLElement(t)&&isElementScaled(t),r=getDocumentElement(t),a=getBoundingClientRect(e,n,s),o={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!s)&&(("body"!==getNodeName(t)||isScrollParent(r))&&(o=getNodeScroll(t)),isHTMLElement(t)?((l=getBoundingClientRect(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):r&&(l.x=getWindowScrollBarX(r))),{x:a.left+o.scrollLeft-l.x,y:a.top+o.scrollTop-l.y,width:a.width,height:a.height}}function order(e){var t=new Map,s=new Set,i=[];function n(e){s.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!s.has(e)){var i=t.get(e);i&&n(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){s.has(e.name)||n(e)})),i}function orderModifiers(e){var t=order(e);return modifierPhases.reduce((function(e,s){return e.concat(t.filter((function(e){return e.phase===s})))}),[])}function debounce(e){var t;return function(){return t||(t=new Promise((function(s){Promise.resolve().then((function(){t=void 0,s(e())}))}))),t}}function mergeByName(e){var t=e.reduce((function(e,t){var s=e[t.name];return e[t.name]=s?Object.assign({},s,t,{options:Object.assign({},s.options,t.options),data:Object.assign({},s.data,t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}var DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var e=arguments.length,t=new Array(e),s=0;selementMap.has(e)&&elementMap.get(e).get(t)||null,remove(e,t){if(!elementMap.has(e))return;const s=elementMap.get(e);s.delete(t),0===s.size&&elementMap.delete(e)}},MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",parseSelector=e=>(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,((e,t)=>`#${CSS.escape(t)}`))),e),toType=e=>null==e?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),getUID=e=>{do{e+=Math.floor(1e6*Math.random())}while(document.getElementById(e));return e},getTransitionDurationFromElement=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:s}=window.getComputedStyle(e);const i=Number.parseFloat(t),n=Number.parseFloat(s);return i||n?(t=t.split(",")[0],s=s.split(",")[0],1e3*(Number.parseFloat(t)+Number.parseFloat(s))):0},triggerTransitionEnd=e=>{e.dispatchEvent(new Event(TRANSITION_END))},isElement=e=>!(!e||"object"!=typeof e)&&(void 0!==e.jquery&&(e=e[0]),void 0!==e.nodeType),getElement=e=>isElement(e)?e.jquery?e[0]:e:"string"==typeof e&&e.length>0?document.querySelector(parseSelector(e)):null,isVisible=e=>{if(!isElement(e)||0===e.getClientRects().length)return!1;const t="visible"===getComputedStyle(e).getPropertyValue("visibility"),s=e.closest("details:not([open])");if(!s)return t;if(s!==e){const t=e.closest("summary");if(t&&t.parentNode!==s)return!1;if(null===t)return!1}return t},isDisabled=e=>!e||e.nodeType!==Node.ELEMENT_NODE||(!!e.classList.contains("disabled")||(void 0!==e.disabled?e.disabled:e.hasAttribute("disabled")&&"false"!==e.getAttribute("disabled"))),findShadowRoot=e=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?findShadowRoot(e.parentNode):null},noop=()=>{},reflow=e=>{e.offsetHeight},getjQuery=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,DOMContentLoadedCallbacks=[],onDOMContentLoaded=e=>{"loading"===document.readyState?(DOMContentLoadedCallbacks.length||document.addEventListener("DOMContentLoaded",(()=>{for(const e of DOMContentLoadedCallbacks)e()})),DOMContentLoadedCallbacks.push(e)):e()},isRTL=()=>"rtl"===document.documentElement.dir,defineJQueryPlugin=e=>{var t;t=()=>{const t=getjQuery();if(t){const s=e.NAME,i=t.fn[s];t.fn[s]=e.jQueryInterface,t.fn[s].Constructor=e,t.fn[s].noConflict=()=>(t.fn[s]=i,e.jQueryInterface)}},"loading"===document.readyState?(DOMContentLoadedCallbacks.length||document.addEventListener("DOMContentLoaded",(()=>{for(const e of DOMContentLoadedCallbacks)e()})),DOMContentLoadedCallbacks.push(t)):t()},execute=(e,t=[],s=e)=>"function"==typeof e?e(...t):s,executeAfterTransition=(e,t,s=!0)=>{if(!s)return void execute(e);const i=getTransitionDurationFromElement(t)+5;let n=!1;const r=({target:s})=>{s===t&&(n=!0,t.removeEventListener(TRANSITION_END,r),execute(e))};t.addEventListener(TRANSITION_END,r),setTimeout((()=>{n||triggerTransitionEnd(t)}),i)},getNextActiveElement=(e,t,s,i)=>{const n=e.length;let r=e.indexOf(t);return-1===r?!s&&i?e[n-1]:e[0]:(r+=s?1:-1,i&&(r=(r+n)%n),e[Math.max(0,Math.min(r,n-1))])},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={};let uidEvent=1;const customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function makeEventUid(e,t){return t&&`${t}::${uidEvent++}`||e.uidEvent||uidEvent++}function getElementEvents(e){const t=makeEventUid(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(e,t){return function s(i){return hydrateObj(i,{delegateTarget:e}),s.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,s){return function i(n){const r=e.querySelectorAll(t);for(let{target:a}=n;a&&a!==this;a=a.parentNode)for(const o of r)if(o===a)return hydrateObj(n,{delegateTarget:a}),i.oneOff&&EventHandler.off(e,n.type,t,s),s.apply(a,[n])}}function findHandler(e,t,s=null){return Object.values(e).find((e=>e.callable===t&&e.delegationSelector===s))}function normalizeParameters(e,t,s){const i="string"==typeof t,n=i?s:t||s;let r=getTypeEvent(e);return nativeEvents.has(r)||(r=e),[i,n,r]}function addHandler(e,t,s,i,n){if("string"!=typeof t||!e)return;let[r,a,o]=normalizeParameters(t,s,i);if(t in customEvents){const e=e=>function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};a=e(a)}const l=getElementEvents(e),u=l[o]||(l[o]={}),c=findHandler(u,a,r?s:null);if(c)return void(c.oneOff=c.oneOff&&n);const h=makeEventUid(a,t.replace(namespaceRegex,"")),d=r?bootstrapDelegationHandler(e,s,a):bootstrapHandler(e,a);d.delegationSelector=r?s:null,d.callable=a,d.oneOff=n,d.uidEvent=h,u[h]=d,e.addEventListener(o,d,r)}function removeHandler(e,t,s,i,n){const r=findHandler(t[s],i,n);r&&(e.removeEventListener(s,r,Boolean(n)),delete t[s][r.uidEvent])}function removeNamespacedHandlers(e,t,s,i){const n=t[s]||{};for(const[r,a]of Object.entries(n))r.includes(i)&&removeHandler(e,t,s,a.callable,a.delegationSelector)}function getTypeEvent(e){return e=e.replace(stripNameRegex,""),customEvents[e]||e}const EventHandler={on(e,t,s,i){addHandler(e,t,s,i,!1)},one(e,t,s,i){addHandler(e,t,s,i,!0)},off(e,t,s,i){if("string"!=typeof t||!e)return;const[n,r,a]=normalizeParameters(t,s,i),o=a!==t,l=getElementEvents(e),u=l[a]||{},c=t.startsWith(".");if(void 0===r){if(c)for(const s of Object.keys(l))removeNamespacedHandlers(e,l,s,t.slice(1));for(const[s,i]of Object.entries(u)){const n=s.replace(stripUidRegex,"");o&&!t.includes(n)||removeHandler(e,l,a,i.callable,i.delegationSelector)}}else{if(!Object.keys(u).length)return;removeHandler(e,l,a,r,n?s:null)}},trigger(e,t,s){if("string"!=typeof t||!e)return null;const i=getjQuery();let n=null,r=!0,a=!0,o=!1;t!==getTypeEvent(t)&&i&&(n=i.Event(t,s),i(e).trigger(n),r=!n.isPropagationStopped(),a=!n.isImmediatePropagationStopped(),o=n.isDefaultPrevented());const l=hydrateObj(new Event(t,{bubbles:r,cancelable:!0}),s);return o&&l.preventDefault(),a&&e.dispatchEvent(l),l.defaultPrevented&&n&&n.preventDefault(),l}};function hydrateObj(e,t={}){for(const[s,i]of Object.entries(t))try{e[s]=i}catch(t){Object.defineProperty(e,s,{configurable:!0,get:()=>i})}return e}function normalizeData(e){if("true"===e)return!0;if("false"===e)return!1;if(e===Number(e).toString())return Number(e);if(""===e||"null"===e)return null;if("string"!=typeof e)return e;try{return JSON.parse(decodeURIComponent(e))}catch(t){return e}}function normalizeDataKey(e){return e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))}const Manipulator={setDataAttribute(e,t,s){e.setAttribute(`data-bs-${normalizeDataKey(t)}`,s)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${normalizeDataKey(t)}`)},getDataAttributes(e){if(!e)return{};const t={},s=Object.keys(e.dataset).filter((e=>e.startsWith("bs")&&!e.startsWith("bsConfig")));for(const i of s){let s=i.replace(/^bs/,"");s=s.charAt(0).toLowerCase()+s.slice(1,s.length),t[s]=normalizeData(e.dataset[i])}return t},getDataAttribute:(e,t)=>normalizeData(e.getAttribute(`data-bs-${normalizeDataKey(t)}`))};class Config{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const s=isElement(t)?Manipulator.getDataAttribute(t,"config"):{};return{...this.constructor.Default,..."object"==typeof s?s:{},...isElement(t)?Manipulator.getDataAttributes(t):{},..."object"==typeof e?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[i,n]of Object.entries(t)){const t=e[i],r=isElement(t)?"element":null==(s=t)?`${s}`:Object.prototype.toString.call(s).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(n).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${r}" but expected type "${n}".`)}var s}}const VERSION="5.3.0-alpha2";class BaseComponent extends Config{constructor(e,t){super(),(e=getElement(e))&&(this._element=e,this._config=this._getConfig(t),Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,s=!0){executeAfterTransition(e,t,s)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return Data.get(getElement(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return VERSION}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const getSelector=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let s=e.getAttribute("href");if(!s||!s.includes("#")&&!s.startsWith("."))return null;s.includes("#")&&!s.startsWith("#")&&(s=`#${s.split("#")[1]}`),t=s&&"#"!==s?s.trim():null}return parseSelector(t)},SelectorEngine={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter((e=>e.matches(t))),parents(e,t){const s=[];let i=e.parentNode.closest(t);for(;i;)s.push(i),i=i.parentNode.closest(t);return s},prev(e,t){let s=e.previousElementSibling;for(;s;){if(s.matches(t))return[s];s=s.previousElementSibling}return[]},next(e,t){let s=e.nextElementSibling;for(;s;){if(s.matches(t))return[s];s=s.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((e=>`${e}:not([tabindex^="-"])`)).join(",");return this.find(t,e).filter((e=>!isDisabled(e)&&isVisible(e)))},getSelectorFromElement(e){const t=getSelector(e);return t&&SelectorEngine.findOne(t)?t:null},getElementFromSelector(e){const t=getSelector(e);return t?SelectorEngine.findOne(t):null},getMultipleElementsFromSelector(e){const t=getSelector(e);return t?SelectorEngine.find(t):[]}},enableDismissTrigger=(e,t="hide")=>{const s=`click.dismiss${e.EVENT_KEY}`,i=e.NAME;EventHandler.on(document,s,`[data-bs-dismiss="${i}"]`,(function(s){if(["A","AREA"].includes(this.tagName)&&s.preventDefault(),isDisabled(this))return;const n=SelectorEngine.getElementFromSelector(this)||this.closest(`.${i}`);e.getOrCreateInstance(n)[t]()}))},NAME$f="alert",DATA_KEY$a="bs.alert",EVENT_KEY$b=".bs.alert",EVENT_CLOSE="close.bs.alert",EVENT_CLOSED="closed.bs.alert",CLASS_NAME_FADE$5="fade",CLASS_NAME_SHOW$8="show";class Alert extends BaseComponent{static get NAME(){return NAME$f}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}static jQueryInterface(e){return this.each((function(){const t=Alert.getOrCreateInstance(this);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}enableDismissTrigger(Alert,"close"),defineJQueryPlugin(Alert);const NAME$e="button",DATA_KEY$9="bs.button",EVENT_KEY$a=`.${DATA_KEY$9}`,DATA_API_KEY$6=".data-api",CLASS_NAME_ACTIVE$3="active",SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="button"]',EVENT_CLICK_DATA_API$6=`click${EVENT_KEY$a}.data-api`;class Button extends BaseComponent{static get NAME(){return NAME$e}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(e){return this.each((function(){const t=Button.getOrCreateInstance(this);"toggle"===e&&t[e]()}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$5,(e=>{e.preventDefault();const t=e.target.closest(SELECTOR_DATA_TOGGLE$5);Button.getOrCreateInstance(t).toggle()})),defineJQueryPlugin(Button);const NAME$d="swipe",EVENT_KEY$9=".bs.swipe",EVENT_TOUCHSTART="touchstart.bs.swipe",EVENT_TOUCHMOVE="touchmove.bs.swipe",EVENT_TOUCHEND="touchend.bs.swipe",EVENT_POINTERDOWN="pointerdown.bs.swipe",EVENT_POINTERUP="pointerup.bs.swipe",POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen",CLASS_NAME_POINTER_EVENT="pointer-event",SWIPE_THRESHOLD=40,Default$c={endCallback:null,leftCallback:null,rightCallback:null},DefaultType$c={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Swipe extends Config{constructor(e,t){super(),this._element=e,e&&Swipe.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Default$c}static get DefaultType(){return DefaultType$c}static get NAME(){return NAME$d}dispose(){EventHandler.off(this._element,".bs.swipe")}_start(e){this._supportPointerEvents?this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX):this._deltaX=e.touches[0].clientX}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),execute(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=40)return;const t=e/this._deltaX;this._deltaX=0,t&&execute(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(EventHandler.on(this._element,EVENT_POINTERDOWN,(e=>this._start(e))),EventHandler.on(this._element,EVENT_POINTERUP,(e=>this._end(e))),this._element.classList.add("pointer-event")):(EventHandler.on(this._element,EVENT_TOUCHSTART,(e=>this._start(e))),EventHandler.on(this._element,EVENT_TOUCHMOVE,(e=>this._move(e))),EventHandler.on(this._element,EVENT_TOUCHEND,(e=>this._end(e))))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&("pen"===e.pointerType||"touch"===e.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const NAME$c="carousel",DATA_KEY$8="bs.carousel",EVENT_KEY$8=`.${DATA_KEY$8}`,DATA_API_KEY$5=".data-api",ARROW_LEFT_KEY$1="ArrowLeft",ARROW_RIGHT_KEY$1="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE=`slide${EVENT_KEY$8}`,EVENT_SLID=`slid${EVENT_KEY$8}`,EVENT_KEYDOWN$1=`keydown${EVENT_KEY$8}`,EVENT_MOUSEENTER$1=`mouseenter${EVENT_KEY$8}`,EVENT_MOUSELEAVE$1=`mouseleave${EVENT_KEY$8}`,EVENT_DRAG_START=`dragstart${EVENT_KEY$8}`,EVENT_LOAD_DATA_API$3=`load${EVENT_KEY$8}.data-api`,EVENT_CLICK_DATA_API$5=`click${EVENT_KEY$8}.data-api`,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$2="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",SELECTOR_ACTIVE=".active",SELECTOR_ITEM=".carousel-item",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride="carousel"]',KEY_TO_DIRECTION={ArrowLeft:"right",ArrowRight:"left"},Default$b={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},DefaultType$b={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Carousel extends BaseComponent{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._addEventListeners(),"carousel"===this._config.ride&&this.cycle()}static get Default(){return Default$b}static get DefaultType(){return DefaultType$b}static get NAME(){return NAME$c}next(){this._slide("next")}nextWhenVisible(){!document.hidden&&isVisible(this._element)&&this.next()}prev(){this._slide("prev")}pause(){this._isSliding&&triggerTransitionEnd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?EventHandler.one(this._element,EVENT_SLID,(()=>this.cycle())):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void EventHandler.one(this._element,EVENT_SLID,(()=>this.to(e)));const s=this._getItemIndex(this._getActive());if(s===e)return;const i=e>s?"next":"prev";this._slide(i,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN$1,(e=>this._keydown(e))),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER$1,(()=>this.pause())),EventHandler.on(this._element,EVENT_MOUSELEAVE$1,(()=>this._maybeEnableCycle()))),this._config.touch&&Swipe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of SelectorEngine.find(SELECTOR_ITEM_IMG,this._element))EventHandler.on(e,EVENT_DRAG_START,(e=>e.preventDefault()));const e={leftCallback:()=>this._slide(this._directionToOrder("left")),rightCallback:()=>this._slide(this._directionToOrder("right")),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Swipe(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=KEY_TO_DIRECTION[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=SelectorEngine.findOne(".active",this._indicatorsElement);t.classList.remove("active"),t.removeAttribute("aria-current");const s=SelectorEngine.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);s&&(s.classList.add("active"),s.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const s=this._getActive(),i="next"===e,n=t||getNextActiveElement(this._getItems(),s,i,this._config.wrap);if(n===s)return;const r=this._getItemIndex(n),a=t=>EventHandler.trigger(this._element,t,{relatedTarget:n,direction:this._orderToDirection(e),from:this._getItemIndex(s),to:r});if(a(EVENT_SLIDE).defaultPrevented)return;if(!s||!n)return;const o=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(r),this._activeElement=n;const l=i?CLASS_NAME_START:CLASS_NAME_END,u=i?CLASS_NAME_NEXT:CLASS_NAME_PREV;n.classList.add(u),reflow(n),s.classList.add(l),n.classList.add(l);this._queueCallback((()=>{n.classList.remove(l,u),n.classList.add("active"),s.classList.remove("active",u,l),this._isSliding=!1,a(EVENT_SLID)}),s,this._isAnimated()),o&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element)}_getItems(){return SelectorEngine.find(SELECTOR_ITEM,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return isRTL()?"left"===e?"prev":"next":"left"===e?"next":"prev"}_orderToDirection(e){return isRTL()?"prev"===e?"left":"right":"prev"===e?"right":"left"}static jQueryInterface(e){return this.each((function(){const t=Carousel.getOrCreateInstance(this,e);if("number"!=typeof e){if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e]()}}else t.to(e)}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_SLIDE,(function(e){const t=SelectorEngine.getElementFromSelector(this);if(!t||!t.classList.contains("carousel"))return;e.preventDefault();const s=Carousel.getOrCreateInstance(t),i=this.getAttribute("data-bs-slide-to");return i?(s.to(i),void s._maybeEnableCycle()):"next"===Manipulator.getDataAttribute(this,"slide")?(s.next(),void s._maybeEnableCycle()):(s.prev(),void s._maybeEnableCycle())})),EventHandler.on(window,EVENT_LOAD_DATA_API$3,(()=>{const e=SelectorEngine.find(SELECTOR_DATA_RIDE);for(const t of e)Carousel.getOrCreateInstance(t)})),defineJQueryPlugin(Carousel);const NAME$b="collapse",DATA_KEY$7="bs.collapse",EVENT_KEY$7=`.${DATA_KEY$7}`,DATA_API_KEY$4=".data-api",EVENT_SHOW$6=`show${EVENT_KEY$7}`,EVENT_SHOWN$6=`shown${EVENT_KEY$7}`,EVENT_HIDE$6=`hide${EVENT_KEY$7}`,EVENT_HIDDEN$6=`hidden${EVENT_KEY$7}`,EVENT_CLICK_DATA_API$4=`click${EVENT_KEY$7}.data-api`,CLASS_NAME_SHOW$7="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_DEEPER_CHILDREN=":scope .collapse .collapse",CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".collapse.show, .collapse.collapsing",SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="collapse"]',Default$a={parent:null,toggle:!0},DefaultType$a={parent:"(null|element)",toggle:"boolean"};class Collapse extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const s=SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);for(const e of s){const t=SelectorEngine.getSelectorFromElement(e),s=SelectorEngine.find(t).filter((e=>e===this._element));null!==t&&s.length&&this._triggerArray.push(e)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$a}static get DefaultType(){return DefaultType$a}static get NAME(){return NAME$b}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(SELECTOR_ACTIVES).filter((e=>e!==this._element)).map((e=>Collapse.getOrCreateInstance(e,{toggle:!1})))),e.length&&e[0]._isTransitioning)return;if(EventHandler.trigger(this._element,EVENT_SHOW$6).defaultPrevented)return;for(const t of e)t.hide();const t=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[t]="",EventHandler.trigger(this._element,EVENT_SHOWN$6)}),this._element,!0),this._element.style[t]=`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE$6).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,reflow(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");for(const e of this._triggerArray){const t=SelectorEngine.getElementFromSelector(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0;this._element.style[e]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),EventHandler.trigger(this._element,EVENT_HIDDEN$6)}),this._element,!0)}_isShown(e=this._element){return e.classList.contains("show")}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=getElement(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);for(const t of e){const e=SelectorEngine.getElementFromSelector(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}}_getFirstLevelChildren(e){const t=SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN,this._config.parent);return SelectorEngine.find(e,this._config.parent).filter((e=>!t.includes(e)))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const s of e)s.classList.toggle("collapsed",!t),s.setAttribute("aria-expanded",t)}static jQueryInterface(e){const t={};return"string"==typeof e&&/show|hide/.test(e)&&(t.toggle=!1),this.each((function(){const s=Collapse.getOrCreateInstance(this,t);if("string"==typeof e){if(void 0===s[e])throw new TypeError(`No method named "${e}"`);s[e]()}}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$4,(function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();for(const e of SelectorEngine.getMultipleElementsFromSelector(this))Collapse.getOrCreateInstance(e,{toggle:!1}).toggle()})),defineJQueryPlugin(Collapse);const NAME$a="dropdown",DATA_KEY$6="bs.dropdown",EVENT_KEY$6=`.${DATA_KEY$6}`,DATA_API_KEY$3=".data-api",ESCAPE_KEY$2="Escape",TAB_KEY$1="Tab",ARROW_UP_KEY$1="ArrowUp",ARROW_DOWN_KEY$1="ArrowDown",RIGHT_MOUSE_BUTTON=2,EVENT_HIDE$5=`hide${EVENT_KEY$6}`,EVENT_HIDDEN$5=`hidden${EVENT_KEY$6}`,EVENT_SHOW$5=`show${EVENT_KEY$6}`,EVENT_SHOWN$5=`shown${EVENT_KEY$6}`,EVENT_CLICK_DATA_API$3=`click${EVENT_KEY$6}.data-api`,EVENT_KEYDOWN_DATA_API=`keydown${EVENT_KEY$6}.data-api`,EVENT_KEYUP_DATA_API=`keyup${EVENT_KEY$6}.data-api`,CLASS_NAME_SHOW$6="show",CLASS_NAME_DROPUP="dropup",CLASS_NAME_DROPEND="dropend",CLASS_NAME_DROPSTART="dropstart",CLASS_NAME_DROPUP_CENTER="dropup-center",CLASS_NAME_DROPDOWN_CENTER="dropdown-center",SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',SELECTOR_DATA_TOGGLE_SHOWN=`${SELECTOR_DATA_TOGGLE$3}.show`,SELECTOR_MENU=".dropdown-menu",SELECTOR_NAVBAR=".navbar",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",PLACEMENT_TOP=isRTL()?"top-end":"top-start",PLACEMENT_TOPEND=isRTL()?"top-start":"top-end",PLACEMENT_BOTTOM=isRTL()?"bottom-end":"bottom-start",PLACEMENT_BOTTOMEND=isRTL()?"bottom-start":"bottom-end",PLACEMENT_RIGHT=isRTL()?"left-start":"right-start",PLACEMENT_LEFT=isRTL()?"right-start":"left-start",PLACEMENT_TOPCENTER="top",PLACEMENT_BOTTOMCENTER="bottom",Default$9={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},DefaultType$9={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Dropdown extends BaseComponent{constructor(e,t){super(e,t),this._popper=null,this._parent=this._element.parentNode,this._menu=SelectorEngine.next(this._element,SELECTOR_MENU)[0]||SelectorEngine.prev(this._element,SELECTOR_MENU)[0]||SelectorEngine.findOne(SELECTOR_MENU,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$5,e).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add("show"),this._element.classList.add("show"),EventHandler.trigger(this._element,EVENT_SHOWN$5,e)}}hide(){if(isDisabled(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(e){if(!EventHandler.trigger(this._element,EVENT_HIDE$5,e).defaultPrevented){if("ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"popper"),EventHandler.trigger(this._element,EVENT_HIDDEN$5,e)}}_getConfig(e){if("object"==typeof(e=super._getConfig(e)).reference&&!isElement(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createPopper(){if(void 0===Popper)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=this._parent:isElement(this._config.reference)?e=getElement(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const t=this._getPopperConfig();this._popper=createPopper(e,this._menu,t)}_isShown(){return this._menu.classList.contains("show")}_getPlacement(){const e=this._parent;if(e.classList.contains("dropend"))return PLACEMENT_RIGHT;if(e.classList.contains("dropstart"))return PLACEMENT_LEFT;if(e.classList.contains("dropup-center"))return"top";if(e.classList.contains("dropdown-center"))return"bottom";const t="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return e.classList.contains("dropup")?t?PLACEMENT_TOPEND:PLACEMENT_TOP:t?PLACEMENT_BOTTOMEND:PLACEMENT_BOTTOM}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map((e=>Number.parseInt(e,10))):"function"==typeof e?t=>e(t,this._element):e}_getPopperConfig(){const e={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(Manipulator.setDataAttribute(this._menu,"popper","static"),e.modifiers=[{name:"applyStyles",enabled:!1}]),{...e,...execute(this._config.popperConfig,[e])}}_selectMenuItem({key:e,target:t}){const s=SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,this._menu).filter((e=>isVisible(e)));s.length&&getNextActiveElement(s,t,e===ARROW_DOWN_KEY$1,!s.includes(t)).focus()}static jQueryInterface(e){return this.each((function(){const t=Dropdown.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}}))}static clearMenus(e){if(2===e.button||"keyup"===e.type&&"Tab"!==e.key)return;const t=SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);for(const s of t){const t=Dropdown.getInstance(s);if(!t||!1===t._config.autoClose)continue;const i=e.composedPath(),n=i.includes(t._menu);if(i.includes(t._element)||"inside"===t._config.autoClose&&!n||"outside"===t._config.autoClose&&n)continue;if(t._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const r={relatedTarget:t._element};"click"===e.type&&(r.clickEvent=e),t._completeHide(r)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),s="Escape"===e.key,i=[ARROW_UP_KEY$1,ARROW_DOWN_KEY$1].includes(e.key);if(!i&&!s)return;if(t&&!s)return;e.preventDefault();const n=this.matches(SELECTOR_DATA_TOGGLE$3)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$3)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$3)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3,e.delegateTarget.parentNode),r=Dropdown.getOrCreateInstance(n);if(i)return e.stopPropagation(),r.show(),void r._selectMenuItem(e);r._isShown()&&(e.stopPropagation(),r.hide(),n.focus())}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$3,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_MENU,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$3,Dropdown.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Dropdown.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$3,(function(e){e.preventDefault(),Dropdown.getOrCreateInstance(this).toggle()})),defineJQueryPlugin(Dropdown);const NAME$9="backdrop",CLASS_NAME_FADE$4="fade",CLASS_NAME_SHOW$5="show",EVENT_MOUSEDOWN=`mousedown.bs.${NAME$9}`,Default$8={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},DefaultType$8={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Backdrop extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}show(e){if(!this._config.isVisible)return void execute(e);this._append();const t=this._getElement();this._config.isAnimated&&reflow(t),t.classList.add("show"),this._emulateAnimation((()=>{execute(e)}))}hide(e){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation((()=>{this.dispose(),execute(e)}))):execute(e)}dispose(){this._isAppended&&(EventHandler.off(this._element,EVENT_MOUSEDOWN),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add("fade"),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=getElement(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),EventHandler.on(e,EVENT_MOUSEDOWN,(()=>{execute(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(e){executeAfterTransition(e,this._getElement(),this._config.isAnimated)}}const NAME$8="focustrap",DATA_KEY$5="bs.focustrap",EVENT_KEY$5=`.${DATA_KEY$5}`,EVENT_FOCUSIN$2=`focusin${EVENT_KEY$5}`,EVENT_KEYDOWN_TAB=`keydown.tab${EVENT_KEY$5}`,TAB_KEY="Tab",TAB_NAV_FORWARD="forward",TAB_NAV_BACKWARD="backward",Default$7={autofocus:!0,trapElement:null},DefaultType$7={autofocus:"boolean",trapElement:"element"};class FocusTrap extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),EventHandler.off(document,EVENT_KEY$5),EventHandler.on(document,EVENT_FOCUSIN$2,(e=>this._handleFocusin(e))),EventHandler.on(document,EVENT_KEYDOWN_TAB,(e=>this._handleKeydown(e))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,EventHandler.off(document,EVENT_KEY$5))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const s=SelectorEngine.focusableChildren(t);0===s.length?t.focus():"backward"===this._lastTabNavDirection?s[s.length-1].focus():s[0].focus()}_handleKeydown(e){"Tab"===e.key&&(this._lastTabNavDirection=e.shiftKey?"backward":"forward")}}const SELECTOR_FIXED_CONTENT=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",SELECTOR_STICKY_CONTENT=".sticky-top",PROPERTY_PADDING="padding-right",PROPERTY_MARGIN="margin-right";class ScrollBarHelper{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"padding-right",(t=>t+e)),this._setElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right",(t=>t+e)),this._setElementAttributes(".sticky-top","margin-right",(t=>t-e))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"padding-right"),this._resetElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right"),this._resetElementAttributes(".sticky-top","margin-right")}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,s){const i=this.getWidth();this._applyManipulationCallback(e,(e=>{if(e!==this._element&&window.innerWidth>e.clientWidth+i)return;this._saveInitialAttribute(e,t);const n=window.getComputedStyle(e).getPropertyValue(t);e.style.setProperty(t,`${s(Number.parseFloat(n))}px`)}))}_saveInitialAttribute(e,t){const s=e.style.getPropertyValue(t);s&&Manipulator.setDataAttribute(e,t,s)}_resetElementAttributes(e,t){this._applyManipulationCallback(e,(e=>{const s=Manipulator.getDataAttribute(e,t);null!==s?(Manipulator.removeDataAttribute(e,t),e.style.setProperty(t,s)):e.style.removeProperty(t)}))}_applyManipulationCallback(e,t){if(isElement(e))t(e);else for(const s of SelectorEngine.find(e,this._element))t(s)}}const NAME$7="modal",DATA_KEY$4="bs.modal",EVENT_KEY$4=".bs.modal",DATA_API_KEY$2=".data-api",ESCAPE_KEY$1="Escape",EVENT_HIDE$4="hide.bs.modal",EVENT_HIDE_PREVENTED$1="hidePrevented.bs.modal",EVENT_HIDDEN$4="hidden.bs.modal",EVENT_SHOW$4="show.bs.modal",EVENT_SHOWN$4="shown.bs.modal",EVENT_RESIZE$1="resize.bs.modal",EVENT_CLICK_DISMISS="click.dismiss.bs.modal",EVENT_MOUSEDOWN_DISMISS="mousedown.dismiss.bs.modal",EVENT_KEYDOWN_DISMISS$1="keydown.dismiss.bs.modal",EVENT_CLICK_DATA_API$2="click.bs.modal.data-api",CLASS_NAME_OPEN="modal-open",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$4="show",CLASS_NAME_STATIC="modal-static",OPEN_SELECTOR$1=".modal.show",SELECTOR_DIALOG=".modal-dialog",SELECTOR_MODAL_BODY=".modal-body",SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="modal"]',Default$6={backdrop:!0,focus:!0,keyboard:!0},DefaultType$6={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Modal extends BaseComponent{constructor(e,t){super(e,t),this._dialog=SelectorEngine.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new ScrollBarHelper,this._addEventListeners()}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown||this._isTransitioning)return;EventHandler.trigger(this._element,EVENT_SHOW$4,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add("modal-open"),this._adjustDialog(),this._backdrop.show((()=>this._showElement(e))))}hide(){if(!this._isShown||this._isTransitioning)return;EventHandler.trigger(this._element,EVENT_HIDE$4).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove("show"),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated()))}dispose(){EventHandler.off(window,".bs.modal"),EventHandler.off(this._dialog,".bs.modal"),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Backdrop({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_showElement(e){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const t=SelectorEngine.findOne(".modal-body",this._dialog);t&&(t.scrollTop=0),reflow(this._element),this._element.classList.add("show");this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_SHOWN$4,{relatedTarget:e})}),this._dialog,this._isAnimated())}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS$1,(e=>{"Escape"===e.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),EventHandler.on(window,EVENT_RESIZE$1,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),EventHandler.on(this._element,EVENT_MOUSEDOWN_DISMISS,(e=>{EventHandler.one(this._element,EVENT_CLICK_DISMISS,(t=>{this._element===e.target&&this._element===t.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove("modal-open"),this._resetAdjustments(),this._scrollBar.reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$4)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED$1).defaultPrevented)return;const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._element.style.overflowY;"hidden"===t||this._element.classList.contains("modal-static")||(e||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static"),this._queueCallback((()=>{this._element.classList.remove("modal-static"),this._queueCallback((()=>{this._element.style.overflowY=t}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._scrollBar.getWidth(),s=t>0;if(s&&!e){const e=isRTL()?"paddingLeft":"paddingRight";this._element.style[e]=`${t}px`}if(!s&&e){const e=isRTL()?"paddingRight":"paddingLeft";this._element.style[e]=`${t}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(e,t){return this.each((function(){const s=Modal.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===s[e])throw new TypeError(`No method named "${e}"`);s[e](t)}}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$2,(function(e){const t=SelectorEngine.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),EventHandler.one(t,EVENT_SHOW$4,(e=>{e.defaultPrevented||EventHandler.one(t,EVENT_HIDDEN$4,(()=>{isVisible(this)&&this.focus()}))}));const s=SelectorEngine.findOne(".modal.show");s&&Modal.getInstance(s).hide();Modal.getOrCreateInstance(t).toggle(this)})),enableDismissTrigger(Modal),defineJQueryPlugin(Modal);const NAME$6="offcanvas",DATA_KEY$3="bs.offcanvas",EVENT_KEY$3=`.${DATA_KEY$3}`,DATA_API_KEY$1=".data-api",EVENT_LOAD_DATA_API$2=`load${EVENT_KEY$3}.data-api`,ESCAPE_KEY="Escape",CLASS_NAME_SHOW$3="show",CLASS_NAME_SHOWING$1="showing",CLASS_NAME_HIDING="hiding",CLASS_NAME_BACKDROP="offcanvas-backdrop",OPEN_SELECTOR=".offcanvas.show",EVENT_SHOW$3=`show${EVENT_KEY$3}`,EVENT_SHOWN$3=`shown${EVENT_KEY$3}`,EVENT_HIDE$3=`hide${EVENT_KEY$3}`,EVENT_HIDE_PREVENTED=`hidePrevented${EVENT_KEY$3}`,EVENT_HIDDEN$3=`hidden${EVENT_KEY$3}`,EVENT_RESIZE=`resize${EVENT_KEY$3}`,EVENT_CLICK_DATA_API$1=`click${EVENT_KEY$3}.data-api`,EVENT_KEYDOWN_DISMISS=`keydown.dismiss${EVENT_KEY$3}`,SELECTOR_DATA_TOGGLE$1='[data-bs-toggle="offcanvas"]',Default$5={backdrop:!0,keyboard:!0,scroll:!1},DefaultType$5={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Offcanvas extends BaseComponent{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Default$5}static get DefaultType(){return DefaultType$5}static get NAME(){return NAME$6}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown)return;if(EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:e}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||(new ScrollBarHelper).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("showing");this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add("show"),this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN$3,{relatedTarget:e})}),this._element,!0)}hide(){if(!this._isShown)return;if(EventHandler.trigger(this._element,EVENT_HIDE$3).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add("hiding"),this._backdrop.hide();this._queueCallback((()=>{this._element.classList.remove("show","hiding"),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new ScrollBarHelper).reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$3)}),this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=Boolean(this._config.backdrop);return new Backdrop({className:CLASS_NAME_BACKDROP,isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?()=>{"static"!==this._config.backdrop?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED)}:null})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS,(e=>{"Escape"===e.key&&(this._config.keyboard?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED))}))}static jQueryInterface(e){return this.each((function(){const t=Offcanvas.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE$1,(function(e){const t=SelectorEngine.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this))return;EventHandler.one(t,EVENT_HIDDEN$3,(()=>{isVisible(this)&&this.focus()}));const s=SelectorEngine.findOne(OPEN_SELECTOR);s&&s!==t&&Offcanvas.getInstance(s).hide();Offcanvas.getOrCreateInstance(t).toggle(this)})),EventHandler.on(window,EVENT_LOAD_DATA_API$2,(()=>{for(const e of SelectorEngine.find(OPEN_SELECTOR))Offcanvas.getOrCreateInstance(e).show()})),EventHandler.on(window,EVENT_RESIZE,(()=>{for(const e of SelectorEngine.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(e).position&&Offcanvas.getOrCreateInstance(e).hide()})),enableDismissTrigger(Offcanvas),defineJQueryPlugin(Offcanvas);const uriAttributes=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,allowedAttribute=(e,t)=>{const s=e.nodeName.toLowerCase();return t.includes(s)?!uriAttributes.has(s)||Boolean(SAFE_URL_PATTERN.test(e.nodeValue)||DATA_URL_PATTERN.test(e.nodeValue)):t.filter((e=>e instanceof RegExp)).some((e=>e.test(s)))},ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function sanitizeHtml(e,t,s){if(!e.length)return e;if(s&&"function"==typeof s)return s(e);const i=(new window.DOMParser).parseFromString(e,"text/html"),n=[].concat(...i.body.querySelectorAll("*"));for(const e of n){const s=e.nodeName.toLowerCase();if(!Object.keys(t).includes(s)){e.remove();continue}const i=[].concat(...e.attributes),n=[].concat(t["*"]||[],t[s]||[]);for(const t of i)allowedAttribute(t,n)||e.removeAttribute(t.nodeName)}return i.body.innerHTML}const NAME$5="TemplateFactory",Default$4={allowList:DefaultAllowlist,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},DefaultType$4={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},DefaultContentType={entry:"(string|element|function|null)",selector:"(string|element)"};class TemplateFactory extends Config{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return Default$4}static get DefaultType(){return DefaultType$4}static get NAME(){return NAME$5}getContent(){return Object.values(this._config.content).map((e=>this._resolvePossibleFunction(e))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[t,s]of Object.entries(this._config.content))this._setContent(e,s,t);const t=e.children[0],s=this._resolvePossibleFunction(this._config.extraClass);return s&&t.classList.add(...s.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,s]of Object.entries(e))super._typeCheckConfig({selector:t,entry:s},DefaultContentType)}_setContent(e,t,s){const i=SelectorEngine.findOne(s,e);i&&((t=this._resolvePossibleFunction(t))?isElement(t)?this._putElementInTemplate(getElement(t),i):this._config.html?i.innerHTML=this._maybeSanitize(t):i.textContent=t:i.remove())}_maybeSanitize(e){return this._config.sanitize?sanitizeHtml(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return execute(e,[this])}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const NAME$4="tooltip",DISALLOWED_ATTRIBUTES=new Set(["sanitize","allowList","sanitizeFn"]),CLASS_NAME_FADE$2="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$2="show",SELECTOR_TOOLTIP_INNER=".tooltip-inner",SELECTOR_MODAL=".modal",EVENT_MODAL_HIDE="hide.bs.modal",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",EVENT_HIDE$2="hide",EVENT_HIDDEN$2="hidden",EVENT_SHOW$2="show",EVENT_SHOWN$2="shown",EVENT_INSERTED="inserted",EVENT_CLICK$1="click",EVENT_FOCUSIN$1="focusin",EVENT_FOCUSOUT$1="focusout",EVENT_MOUSEENTER="mouseenter",EVENT_MOUSELEAVE="mouseleave",AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:isRTL()?"left":"right",BOTTOM:"bottom",LEFT:isRTL()?"right":"left"},Default$3={allowList:DefaultAllowlist,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},DefaultType$3={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Tooltip extends BaseComponent{constructor(e,t){if(void 0===Popper)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Default$3}static get DefaultType(){return DefaultType$3}static get NAME(){return NAME$4}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),EventHandler.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=EventHandler.trigger(this._element,this.constructor.eventName("show")),t=(findShadowRoot(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposePopper();const s=this._getTipElement();this._element.setAttribute("aria-describedby",s.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(s),EventHandler.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(s),s.classList.add("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._queueCallback((()=>{EventHandler.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(!this._isShown())return;if(EventHandler.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented)return;if(this._getTipElement().classList.remove("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null;this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),EventHandler.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();if(!t)return null;t.classList.remove("fade","show"),t.classList.add(`bs-${this.constructor.NAME}-auto`);const s=getUID(this.constructor.NAME).toString();return t.setAttribute("id",s),this._isAnimated()&&t.classList.add("fade"),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new TemplateFactory({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains("fade")}_isShown(){return this.tip&&this.tip.classList.contains("show")}_createPopper(e){const t=execute(this._config.placement,[this,e,this._element]),s=AttachmentMap[t.toUpperCase()];return createPopper(this._element,e,this._getPopperConfig(s))}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map((e=>Number.parseInt(e,10))):"function"==typeof e?t=>e(t,this._element):e}_resolvePossibleFunction(e){return execute(e,[this._element])}_getPopperConfig(e){const t={placement:e,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:e=>{this._getTipElement().setAttribute("data-popper-placement",e.state.placement)}}]};return{...t,...execute(this._config.popperConfig,[t])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if("click"===t)EventHandler.on(this._element,this.constructor.eventName("click"),this._config.selector,(e=>{this._initializeOnDelegatedTarget(e).toggle()}));else if("manual"!==t){const e="hover"===t?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),s="hover"===t?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");EventHandler.on(this._element,e,this._config.selector,(e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusin"===e.type?"focus":"hover"]=!0,t._enter()})),EventHandler.on(this._element,s,this._config.selector,(e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusout"===e.type?"focus":"hover"]=t._element.contains(e.relatedTarget),t._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},EventHandler.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=Manipulator.getDataAttributes(this._element);for(const e of Object.keys(t))DISALLOWED_ATTRIBUTES.has(e)&&delete t[e];return e={...t,..."object"==typeof e&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=!1===e.container?document.body:getElement(e.container),"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,s]of Object.entries(this._config))this.constructor.Default[t]!==s&&(e[t]=s);return e.selector=!1,e.trigger="manual",e}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(e){return this.each((function(){const t=Tooltip.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}}))}}defineJQueryPlugin(Tooltip);const NAME$3="popover",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",Default$2={...Tooltip.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},DefaultType$2={...Tooltip.DefaultType,content:"(null|string|element|function)"};class Popover extends Tooltip{static get Default(){return Default$2}static get DefaultType(){return DefaultType$2}static get NAME(){return NAME$3}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[SELECTOR_TITLE]:this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(e){return this.each((function(){const t=Popover.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}}))}}defineJQueryPlugin(Popover);const NAME$2="scrollspy",DATA_KEY$2="bs.scrollspy",EVENT_KEY$2=`.${DATA_KEY$2}`,DATA_API_KEY=".data-api",EVENT_ACTIVATE=`activate${EVENT_KEY$2}`,EVENT_CLICK=`click${EVENT_KEY$2}`,EVENT_LOAD_DATA_API$1=`load${EVENT_KEY$2}.data-api`,CLASS_NAME_DROPDOWN_ITEM="dropdown-item",CLASS_NAME_ACTIVE$1="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_TARGET_LINKS="[href]",SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=".nav-link, .nav-item > .nav-link, .list-group-item",SELECTOR_DROPDOWN=".dropdown",SELECTOR_DROPDOWN_TOGGLE$1=".dropdown-toggle",Default$1={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},DefaultType$1={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ScrollSpy extends BaseComponent{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Default$1}static get DefaultType(){return DefaultType$1}static get NAME(){return NAME$2}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=getElement(e.target)||document.body,e.rootMargin=e.offset?`${e.offset}px 0px -30%`:e.rootMargin,"string"==typeof e.threshold&&(e.threshold=e.threshold.split(",").map((e=>Number.parseFloat(e)))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(EventHandler.off(this._config.target,EVENT_CLICK),EventHandler.on(this._config.target,EVENT_CLICK,"[href]",(e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const s=this._rootElement||window,i=t.offsetTop-this._element.offsetTop;if(s.scrollTo)return void s.scrollTo({top:i,behavior:"smooth"});s.scrollTop=i}})))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((e=>this._observerCallback(e)),e)}_observerCallback(e){const t=e=>this._targetLinks.get(`#${e.target.id}`),s=e=>{this._previousScrollData.visibleEntryTop=e.target.offsetTop,this._process(t(e))},i=(this._rootElement||document.documentElement).scrollTop,n=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const r of e){if(!r.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(r));continue}const e=r.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(n&&e){if(s(r),!i)return}else n||e||s(r)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=SelectorEngine.find("[href]",this._config.target);for(const t of e){if(!t.hash||isDisabled(t))continue;const e=SelectorEngine.findOne(t.hash,this._element);isVisible(e)&&(this._targetLinks.set(t.hash,t),this._observableSections.set(t.hash,e))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add("active"),this._activateParents(e),EventHandler.trigger(this._element,EVENT_ACTIVATE,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("dropdown-item"))SelectorEngine.findOne(".dropdown-toggle",e.closest(".dropdown")).classList.add("active");else for(const t of SelectorEngine.parents(e,".nav, .list-group"))for(const e of SelectorEngine.prev(t,SELECTOR_LINK_ITEMS))e.classList.add("active")}_clearActiveClass(e){e.classList.remove("active");const t=SelectorEngine.find("[href].active",e);for(const e of t)e.classList.remove("active")}static jQueryInterface(e){return this.each((function(){const t=ScrollSpy.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e]()}}))}}EventHandler.on(window,EVENT_LOAD_DATA_API$1,(()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_SPY))ScrollSpy.getOrCreateInstance(e)})),defineJQueryPlugin(ScrollSpy);const NAME$1="tab",DATA_KEY$1="bs.tab",EVENT_KEY$1=".bs.tab",EVENT_HIDE$1="hide.bs.tab",EVENT_HIDDEN$1="hidden.bs.tab",EVENT_SHOW$1="show.bs.tab",EVENT_SHOWN$1="shown.bs.tab",EVENT_CLICK_DATA_API="click.bs.tab",EVENT_KEYDOWN="keydown.bs.tab",EVENT_LOAD_DATA_API="load.bs.tab",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",CLASS_NAME_ACTIVE="active",CLASS_NAME_FADE$1="fade",CLASS_NAME_SHOW$1="show",CLASS_DROPDOWN="dropdown",SELECTOR_DROPDOWN_TOGGLE=".dropdown-toggle",SELECTOR_DROPDOWN_MENU=".dropdown-menu",NOT_SELECTOR_DROPDOWN_TOGGLE=":not(.dropdown-toggle)",SELECTOR_TAB_PANEL='.list-group, .nav, [role="tablist"]',SELECTOR_OUTER=".nav-item, .list-group-item",SELECTOR_INNER='.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle)',SELECTOR_DATA_TOGGLE='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',SELECTOR_INNER_ELEM=`${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`,SELECTOR_DATA_TOGGLE_ACTIVE='.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]';class Tab extends BaseComponent{constructor(e){super(e),this._parent=this._element.closest(SELECTOR_TAB_PANEL),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),EventHandler.on(this._element,EVENT_KEYDOWN,(e=>this._keydown(e))))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),s=t?EventHandler.trigger(t,EVENT_HIDE$1,{relatedTarget:e}):null;EventHandler.trigger(e,EVENT_SHOW$1,{relatedTarget:t}).defaultPrevented||s&&s.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){if(!e)return;e.classList.add("active"),this._activate(SelectorEngine.getElementFromSelector(e));this._queueCallback((()=>{"tab"===e.getAttribute("role")?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),EventHandler.trigger(e,EVENT_SHOWN$1,{relatedTarget:t})):e.classList.add("show")}),e,e.classList.contains("fade"))}_deactivate(e,t){if(!e)return;e.classList.remove("active"),e.blur(),this._deactivate(SelectorEngine.getElementFromSelector(e));this._queueCallback((()=>{"tab"===e.getAttribute("role")?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),EventHandler.trigger(e,EVENT_HIDDEN$1,{relatedTarget:t})):e.classList.remove("show")}),e,e.classList.contains("fade"))}_keydown(e){if(![ARROW_LEFT_KEY,ARROW_RIGHT_KEY,ARROW_UP_KEY,ARROW_DOWN_KEY].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=[ARROW_RIGHT_KEY,ARROW_DOWN_KEY].includes(e.key),s=getNextActiveElement(this._getChildren().filter((e=>!isDisabled(e))),e.target,t,!0);s&&(s.focus({preventScroll:!0}),Tab.getOrCreateInstance(s).show())}_getChildren(){return SelectorEngine.find(SELECTOR_INNER_ELEM,this._parent)}_getActiveElem(){return this._getChildren().find((e=>this._elemIsActive(e)))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const e of t)this._setInitialAttributesOnChild(e)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),s=this._getOuterElement(e);e.setAttribute("aria-selected",t),s!==e&&this._setAttributeIfNotExists(s,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=SelectorEngine.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleDropDown(e,t){const s=this._getOuterElement(e);if(!s.classList.contains("dropdown"))return;const i=(e,i)=>{const n=SelectorEngine.findOne(e,s);n&&n.classList.toggle(i,t)};i(".dropdown-toggle","active"),i(".dropdown-menu","show"),s.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,s){e.hasAttribute(t)||e.setAttribute(t,s)}_elemIsActive(e){return e.classList.contains("active")}_getInnerElement(e){return e.matches(SELECTOR_INNER_ELEM)?e:SelectorEngine.findOne(SELECTOR_INNER_ELEM,e)}_getOuterElement(e){return e.closest(SELECTOR_OUTER)||e}static jQueryInterface(e){return this.each((function(){const t=Tab.getOrCreateInstance(this);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e]()}}))}}EventHandler.on(document,"click.bs.tab",SELECTOR_DATA_TOGGLE,(function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this)||Tab.getOrCreateInstance(this).show()})),EventHandler.on(window,"load.bs.tab",(()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE))Tab.getOrCreateInstance(e)})),defineJQueryPlugin(Tab);const NAME="toast",DATA_KEY="bs.toast",EVENT_KEY=`.${DATA_KEY}`,EVENT_MOUSEOVER=`mouseover${EVENT_KEY}`,EVENT_MOUSEOUT=`mouseout${EVENT_KEY}`,EVENT_FOCUSIN=`focusin${EVENT_KEY}`,EVENT_FOCUSOUT=`focusout${EVENT_KEY}`,EVENT_HIDE=`hide${EVENT_KEY}`,EVENT_HIDDEN=`hidden${EVENT_KEY}`,EVENT_SHOW=`show${EVENT_KEY}`,EVENT_SHOWN=`shown${EVENT_KEY}`,CLASS_NAME_FADE="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW="show",CLASS_NAME_SHOWING="showing",DefaultType={animation:"boolean",autohide:"boolean",delay:"number"},Default={animation:!0,autohide:!0,delay:5e3};class Toast extends BaseComponent{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Default}static get DefaultType(){return DefaultType}static get NAME(){return NAME}show(){if(EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");this._element.classList.remove("hide"),reflow(this._element),this._element.classList.add("show","showing"),this._queueCallback((()=>{this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN),this._maybeScheduleHide()}),this._element,this._config.animation)}hide(){if(!this.isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented)return;this._element.classList.add("showing"),this._queueCallback((()=>{this._element.classList.add("hide"),this._element.classList.remove("showing","show"),EventHandler.trigger(this._element,EVENT_HIDDEN)}),this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove("show"),super.dispose()}isShown(){return this._element.classList.contains("show")}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const s=e.relatedTarget;this._element===s||this._element.contains(s)||this._maybeScheduleHide()}_setListeners(){EventHandler.on(this._element,EVENT_MOUSEOVER,(e=>this._onInteraction(e,!0))),EventHandler.on(this._element,EVENT_MOUSEOUT,(e=>this._onInteraction(e,!1))),EventHandler.on(this._element,EVENT_FOCUSIN,(e=>this._onInteraction(e,!0))),EventHandler.on(this._element,EVENT_FOCUSOUT,(e=>this._onInteraction(e,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(e){return this.each((function(){const t=Toast.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}enableDismissTrigger(Toast),defineJQueryPlugin(Toast);var dropdownTriggerList=[].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]'));dropdownTriggerList.map((function(e){var t={boundary:"viewport"===e.getAttribute("data-bs-boundary")?document.querySelector(".btn"):"clippingParents"};return new Dropdown(e,t)}));var tooltipTriggerList=[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));tooltipTriggerList.map((function(e){var t,s,i={delay:{show:50,hide:50},html:null!==(t="true"===e.getAttribute("data-bs-html"))&&void 0!==t&&t,placement:null!==(s=e.getAttribute("data-bs-placement"))&&void 0!==s?s:"auto"};return new Tooltip(e,i)}));var popoverTriggerList=[].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'));popoverTriggerList.map((function(e){var t,s,i={delay:{show:50,hide:50},html:null!==(t="true"===e.getAttribute("data-bs-html"))&&void 0!==t&&t,placement:null!==(s=e.getAttribute("data-bs-placement"))&&void 0!==s?s:"auto"};return new Popover(e,i)}));var switchesTriggerList=[].slice.call(document.querySelectorAll('[data-bs-toggle="switch-icon"]'));switchesTriggerList.map((function(e){e.addEventListener("click",(function(t){t.stopPropagation(),e.classList.toggle("active")}))}));var toastsTriggerList=[].slice.call(document.querySelectorAll('[data-bs-toggle="toast"]'));toastsTriggerList.map((function(e){return new Toast(e)})); \ No newline at end of file diff --git a/bin/main/static/tabler/dist/js/tabler.js b/bin/main/static/tabler/dist/js/tabler.js new file mode 100644 index 0000000..6449fb5 --- /dev/null +++ b/bin/main/static/tabler/dist/js/tabler.js @@ -0,0 +1,7536 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +(function (factory) { + typeof define === 'function' && define.amd ? define(factory) : + factory(); +})((function () { 'use strict'; + + var e=new Map;function t(t){var o=e.get(t);o&&o.destroy();}function o(t){var o=e.get(t);o&&o.update();}var r=null;"undefined"==typeof window?((r=function(e){return e}).destroy=function(e){return e},r.update=function(e){return e}):((r=function(t,o){return t&&Array.prototype.forEach.call(t.length?t:[t],function(t){return function(t){if(t&&t.nodeName&&"TEXTAREA"===t.nodeName&&!e.has(t)){var o,r=null,n=window.getComputedStyle(t),i=(o=t.value,function(){a({testForHeightReduction:""===o||!t.value.startsWith(o),restoreTextAlign:null}),o=t.value;}),l=function(o){t.removeEventListener("autosize:destroy",l),t.removeEventListener("autosize:update",s),t.removeEventListener("input",i),window.removeEventListener("resize",s),Object.keys(o).forEach(function(e){return t.style[e]=o[e]}),e.delete(t);}.bind(t,{height:t.style.height,resize:t.style.resize,textAlign:t.style.textAlign,overflowY:t.style.overflowY,overflowX:t.style.overflowX,wordWrap:t.style.wordWrap});t.addEventListener("autosize:destroy",l),t.addEventListener("autosize:update",s),t.addEventListener("input",i),window.addEventListener("resize",s),t.style.overflowX="hidden",t.style.wordWrap="break-word",e.set(t,{destroy:l,update:s}),s();}function a(e){var o,i,l=e.restoreTextAlign,s=void 0===l?null:l,d=e.testForHeightReduction,u=void 0===d||d,c=n.overflowY;if(0!==t.scrollHeight&&("vertical"===n.resize?t.style.resize="none":"both"===n.resize&&(t.style.resize="horizontal"),u&&(o=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push([e.parentNode,e.parentNode.scrollTop]),e=e.parentNode;return function(){return t.forEach(function(e){var t=e[0],o=e[1];t.style.scrollBehavior="auto",t.scrollTop=o,t.style.scrollBehavior=null;})}}(t),t.style.height=""),i="content-box"===n.boxSizing?t.scrollHeight-(parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)):t.scrollHeight+parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth),"none"!==n.maxHeight&&i>parseFloat(n.maxHeight)?("hidden"===n.overflowY&&(t.style.overflow="scroll"),i=parseFloat(n.maxHeight)):"hidden"!==n.overflowY&&(t.style.overflow="hidden"),t.style.height=i+"px",s&&(t.style.textAlign=s),o&&o(),r!==i&&(t.dispatchEvent(new Event("autosize:resized",{bubbles:!0})),r=i),c!==n.overflow&&!s)){var v=n.textAlign;"hidden"===n.overflow&&(t.style.textAlign="start"===v?"end":"start"),a({restoreTextAlign:v,testForHeightReduction:!0});}}function s(){a({testForHeightReduction:!0,restoreTextAlign:null});}}(t)}),t}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],t),e},r.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],o),e});var n=r; + + var elements = document.querySelectorAll('[data-bs-toggle="autosize"]'); + if (elements.length) { + elements.forEach(function (element) { + n(element); + }); + } + + function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + return target; + } + + function IMask(el) { + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + return new IMask.InputMask(el, opts); + } + + class ChangeDetails { + constructor(details) { + Object.assign(this, { + inserted: '', + rawInserted: '', + skip: false, + tailShift: 0 + }, details); + } + aggregate(details) { + this.rawInserted += details.rawInserted; + this.skip = this.skip || details.skip; + this.inserted += details.inserted; + this.tailShift += details.tailShift; + return this; + } + get offset() { + return this.tailShift + this.inserted.length; + } + } + IMask.ChangeDetails = ChangeDetails; + + function isString(str) { + return typeof str === 'string' || str instanceof String; + } + const DIRECTION = { + NONE: 'NONE', + LEFT: 'LEFT', + FORCE_LEFT: 'FORCE_LEFT', + RIGHT: 'RIGHT', + FORCE_RIGHT: 'FORCE_RIGHT' + }; + function forceDirection(direction) { + switch (direction) { + case DIRECTION.LEFT: + return DIRECTION.FORCE_LEFT; + case DIRECTION.RIGHT: + return DIRECTION.FORCE_RIGHT; + default: + return direction; + } + } + function escapeRegExp(str) { + return str.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); + } + function normalizePrepare(prep) { + return Array.isArray(prep) ? prep : [prep, new ChangeDetails()]; + } + function objectIncludes(b, a) { + if (a === b) return true; + var arrA = Array.isArray(a), + arrB = Array.isArray(b), + i; + if (arrA && arrB) { + if (a.length != b.length) return false; + for (i = 0; i < a.length; i++) if (!objectIncludes(a[i], b[i])) return false; + return true; + } + if (arrA != arrB) return false; + if (a && b && typeof a === 'object' && typeof b === 'object') { + var dateA = a instanceof Date, + dateB = b instanceof Date; + if (dateA && dateB) return a.getTime() == b.getTime(); + if (dateA != dateB) return false; + var regexpA = a instanceof RegExp, + regexpB = b instanceof RegExp; + if (regexpA && regexpB) return a.toString() == b.toString(); + if (regexpA != regexpB) return false; + var keys = Object.keys(a); + for (i = 0; i < keys.length; i++) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + for (i = 0; i < keys.length; i++) if (!objectIncludes(b[keys[i]], a[keys[i]])) return false; + return true; + } else if (a && b && typeof a === 'function' && typeof b === 'function') { + return a.toString() === b.toString(); + } + return false; + } + + class ActionDetails { + constructor(value, cursorPos, oldValue, oldSelection) { + this.value = value; + this.cursorPos = cursorPos; + this.oldValue = oldValue; + this.oldSelection = oldSelection; + while (this.value.slice(0, this.startChangePos) !== this.oldValue.slice(0, this.startChangePos)) { + --this.oldSelection.start; + } + } + get startChangePos() { + return Math.min(this.cursorPos, this.oldSelection.start); + } + get insertedCount() { + return this.cursorPos - this.startChangePos; + } + get inserted() { + return this.value.substr(this.startChangePos, this.insertedCount); + } + get removedCount() { + return Math.max(this.oldSelection.end - this.startChangePos || + this.oldValue.length - this.value.length, 0); + } + get removed() { + return this.oldValue.substr(this.startChangePos, this.removedCount); + } + get head() { + return this.value.substring(0, this.startChangePos); + } + get tail() { + return this.value.substring(this.startChangePos + this.insertedCount); + } + get removeDirection() { + if (!this.removedCount || this.insertedCount) return DIRECTION.NONE; + return (this.oldSelection.end === this.cursorPos || this.oldSelection.start === this.cursorPos) && + this.oldSelection.end === this.oldSelection.start ? DIRECTION.RIGHT : DIRECTION.LEFT; + } + } + + class ContinuousTailDetails { + constructor() { + let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + let from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + let stop = arguments.length > 2 ? arguments[2] : undefined; + this.value = value; + this.from = from; + this.stop = stop; + } + toString() { + return this.value; + } + extend(tail) { + this.value += String(tail); + } + appendTo(masked) { + return masked.append(this.toString(), { + tail: true + }).aggregate(masked._appendPlaceholder()); + } + get state() { + return { + value: this.value, + from: this.from, + stop: this.stop + }; + } + set state(state) { + Object.assign(this, state); + } + unshift(beforePos) { + if (!this.value.length || beforePos != null && this.from >= beforePos) return ''; + const shiftChar = this.value[0]; + this.value = this.value.slice(1); + return shiftChar; + } + shift() { + if (!this.value.length) return ''; + const shiftChar = this.value[this.value.length - 1]; + this.value = this.value.slice(0, -1); + return shiftChar; + } + } + + class Masked { + constructor(opts) { + this._value = ''; + this._update(Object.assign({}, Masked.DEFAULTS, opts)); + this.isInitialized = true; + } + updateOptions(opts) { + if (!Object.keys(opts).length) return; + this.withValueRefresh(this._update.bind(this, opts)); + } + _update(opts) { + Object.assign(this, opts); + } + get state() { + return { + _value: this.value + }; + } + set state(state) { + this._value = state._value; + } + reset() { + this._value = ''; + } + get value() { + return this._value; + } + set value(value) { + this.resolve(value); + } + resolve(value) { + this.reset(); + this.append(value, { + input: true + }, ''); + this.doCommit(); + return this.value; + } + get unmaskedValue() { + return this.value; + } + set unmaskedValue(value) { + this.reset(); + this.append(value, {}, ''); + this.doCommit(); + } + get typedValue() { + return this.doParse(this.value); + } + set typedValue(value) { + this.value = this.doFormat(value); + } + get rawInputValue() { + return this.extractInput(0, this.value.length, { + raw: true + }); + } + set rawInputValue(value) { + this.reset(); + this.append(value, { + raw: true + }, ''); + this.doCommit(); + } + get displayValue() { + return this.value; + } + get isComplete() { + return true; + } + get isFilled() { + return this.isComplete; + } + nearestInputPos(cursorPos, direction) { + return cursorPos; + } + totalInputPositions() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + return Math.min(this.value.length, toPos - fromPos); + } + extractInput() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + return this.value.slice(fromPos, toPos); + } + extractTail() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + return new ContinuousTailDetails(this.extractInput(fromPos, toPos), fromPos); + } + appendTail(tail) { + if (isString(tail)) tail = new ContinuousTailDetails(String(tail)); + return tail.appendTo(this); + } + _appendCharRaw(ch) { + if (!ch) return new ChangeDetails(); + this._value += ch; + return new ChangeDetails({ + inserted: ch, + rawInserted: ch + }); + } + _appendChar(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + let checkTail = arguments.length > 2 ? arguments[2] : undefined; + const consistentState = this.state; + let details; + [ch, details] = normalizePrepare(this.doPrepare(ch, flags)); + details = details.aggregate(this._appendCharRaw(ch, flags)); + if (details.inserted) { + let consistentTail; + let appended = this.doValidate(flags) !== false; + if (appended && checkTail != null) { + const beforeTailState = this.state; + if (this.overwrite === true) { + consistentTail = checkTail.state; + checkTail.unshift(this.value.length - details.tailShift); + } + let tailDetails = this.appendTail(checkTail); + appended = tailDetails.rawInserted === checkTail.toString(); + if (!(appended && tailDetails.inserted) && this.overwrite === 'shift') { + this.state = beforeTailState; + consistentTail = checkTail.state; + checkTail.shift(); + tailDetails = this.appendTail(checkTail); + appended = tailDetails.rawInserted === checkTail.toString(); + } + if (appended && tailDetails.inserted) this.state = beforeTailState; + } + if (!appended) { + details = new ChangeDetails(); + this.state = consistentState; + if (checkTail && consistentTail) checkTail.state = consistentTail; + } + } + return details; + } + _appendPlaceholder() { + return new ChangeDetails(); + } + _appendEager() { + return new ChangeDetails(); + } + append(str, flags, tail) { + if (!isString(str)) throw new Error('value should be string'); + const details = new ChangeDetails(); + const checkTail = isString(tail) ? new ContinuousTailDetails(String(tail)) : tail; + if (flags !== null && flags !== void 0 && flags.tail) flags._beforeTailState = this.state; + for (let ci = 0; ci < str.length; ++ci) { + const d = this._appendChar(str[ci], flags, checkTail); + if (!d.rawInserted && !this.doSkipInvalid(str[ci], flags, checkTail)) break; + details.aggregate(d); + } + if (checkTail != null) { + details.tailShift += this.appendTail(checkTail).tailShift; + } + if ((this.eager === true || this.eager === 'append') && flags !== null && flags !== void 0 && flags.input && str) { + details.aggregate(this._appendEager()); + } + return details; + } + remove() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + this._value = this.value.slice(0, fromPos) + this.value.slice(toPos); + return new ChangeDetails(); + } + withValueRefresh(fn) { + if (this._refreshing || !this.isInitialized) return fn(); + this._refreshing = true; + const rawInput = this.rawInputValue; + const value = this.value; + const ret = fn(); + this.rawInputValue = rawInput; + if (this.value && this.value !== value && value.indexOf(this.value) === 0) { + this.append(value.slice(this.value.length), {}, ''); + } + delete this._refreshing; + return ret; + } + runIsolated(fn) { + if (this._isolated || !this.isInitialized) return fn(this); + this._isolated = true; + const state = this.state; + const ret = fn(this); + this.state = state; + delete this._isolated; + return ret; + } + doSkipInvalid(ch) { + return this.skipInvalid; + } + doPrepare(str) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + return this.prepare ? this.prepare(str, this, flags) : str; + } + doValidate(flags) { + return (!this.validate || this.validate(this.value, this, flags)) && (!this.parent || this.parent.doValidate(flags)); + } + doCommit() { + if (this.commit) this.commit(this.value, this); + } + doFormat(value) { + return this.format ? this.format(value, this) : value; + } + doParse(str) { + return this.parse ? this.parse(str, this) : str; + } + splice(start, deleteCount, inserted, removeDirection) { + let flags = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { + input: true + }; + const tailPos = start + deleteCount; + const tail = this.extractTail(tailPos); + const eagerRemove = this.eager === true || this.eager === 'remove'; + let oldRawValue; + if (eagerRemove) { + removeDirection = forceDirection(removeDirection); + oldRawValue = this.extractInput(0, tailPos, { + raw: true + }); + } + let startChangePos = start; + const details = new ChangeDetails(); + if (removeDirection !== DIRECTION.NONE) { + startChangePos = this.nearestInputPos(start, deleteCount > 1 && start !== 0 && !eagerRemove ? DIRECTION.NONE : removeDirection); + details.tailShift = startChangePos - start; + } + details.aggregate(this.remove(startChangePos)); + if (eagerRemove && removeDirection !== DIRECTION.NONE && oldRawValue === this.rawInputValue) { + if (removeDirection === DIRECTION.FORCE_LEFT) { + let valLength; + while (oldRawValue === this.rawInputValue && (valLength = this.value.length)) { + details.aggregate(new ChangeDetails({ + tailShift: -1 + })).aggregate(this.remove(valLength - 1)); + } + } else if (removeDirection === DIRECTION.FORCE_RIGHT) { + tail.unshift(); + } + } + return details.aggregate(this.append(inserted, flags, tail)); + } + maskEquals(mask) { + return this.mask === mask; + } + typedValueEquals(value) { + const tval = this.typedValue; + return value === tval || Masked.EMPTY_VALUES.includes(value) && Masked.EMPTY_VALUES.includes(tval) || this.doFormat(value) === this.doFormat(this.typedValue); + } + } + Masked.DEFAULTS = { + format: String, + parse: v => v, + skipInvalid: true + }; + Masked.EMPTY_VALUES = [undefined, null, '']; + IMask.Masked = Masked; + + function maskedClass(mask) { + if (mask == null) { + throw new Error('mask property should be defined'); + } + if (mask instanceof RegExp) return IMask.MaskedRegExp; + if (isString(mask)) return IMask.MaskedPattern; + if (mask instanceof Date || mask === Date) return IMask.MaskedDate; + if (mask instanceof Number || typeof mask === 'number' || mask === Number) return IMask.MaskedNumber; + if (Array.isArray(mask) || mask === Array) return IMask.MaskedDynamic; + if (IMask.Masked && mask.prototype instanceof IMask.Masked) return mask; + if (mask instanceof IMask.Masked) return mask.constructor; + if (mask instanceof Function) return IMask.MaskedFunction; + console.warn('Mask not found for mask', mask); + return IMask.Masked; + } + function createMask(opts) { + if (IMask.Masked && opts instanceof IMask.Masked) return opts; + opts = Object.assign({}, opts); + const mask = opts.mask; + if (IMask.Masked && mask instanceof IMask.Masked) return mask; + const MaskedClass = maskedClass(mask); + if (!MaskedClass) throw new Error('Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.'); + return new MaskedClass(opts); + } + IMask.createMask = createMask; + + const _excluded$4 = ["parent", "isOptional", "placeholderChar", "displayChar", "lazy", "eager"]; + const DEFAULT_INPUT_DEFINITIONS = { + '0': /\d/, + 'a': /[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, + '*': /./ + }; + class PatternInputDefinition { + constructor(opts) { + const { + parent, + isOptional, + placeholderChar, + displayChar, + lazy, + eager + } = opts, + maskOpts = _objectWithoutPropertiesLoose(opts, _excluded$4); + this.masked = createMask(maskOpts); + Object.assign(this, { + parent, + isOptional, + placeholderChar, + displayChar, + lazy, + eager + }); + } + reset() { + this.isFilled = false; + this.masked.reset(); + } + remove() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + if (fromPos === 0 && toPos >= 1) { + this.isFilled = false; + return this.masked.remove(fromPos, toPos); + } + return new ChangeDetails(); + } + get value() { + return this.masked.value || (this.isFilled && !this.isOptional ? this.placeholderChar : ''); + } + get unmaskedValue() { + return this.masked.unmaskedValue; + } + get displayValue() { + return this.masked.value && this.displayChar || this.value; + } + get isComplete() { + return Boolean(this.masked.value) || this.isOptional; + } + _appendChar(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (this.isFilled) return new ChangeDetails(); + const state = this.masked.state; + const details = this.masked._appendChar(ch, flags); + if (details.inserted && this.doValidate(flags) === false) { + details.inserted = details.rawInserted = ''; + this.masked.state = state; + } + if (!details.inserted && !this.isOptional && !this.lazy && !flags.input) { + details.inserted = this.placeholderChar; + } + details.skip = !details.inserted && !this.isOptional; + this.isFilled = Boolean(details.inserted); + return details; + } + append() { + return this.masked.append(...arguments); + } + _appendPlaceholder() { + const details = new ChangeDetails(); + if (this.isFilled || this.isOptional) return details; + this.isFilled = true; + details.inserted = this.placeholderChar; + return details; + } + _appendEager() { + return new ChangeDetails(); + } + extractTail() { + return this.masked.extractTail(...arguments); + } + appendTail() { + return this.masked.appendTail(...arguments); + } + extractInput() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + let flags = arguments.length > 2 ? arguments[2] : undefined; + return this.masked.extractInput(fromPos, toPos, flags); + } + nearestInputPos(cursorPos) { + let direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; + const minPos = 0; + const maxPos = this.value.length; + const boundPos = Math.min(Math.max(cursorPos, minPos), maxPos); + switch (direction) { + case DIRECTION.LEFT: + case DIRECTION.FORCE_LEFT: + return this.isComplete ? boundPos : minPos; + case DIRECTION.RIGHT: + case DIRECTION.FORCE_RIGHT: + return this.isComplete ? boundPos : maxPos; + case DIRECTION.NONE: + default: + return boundPos; + } + } + totalInputPositions() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + return this.value.slice(fromPos, toPos).length; + } + doValidate() { + return this.masked.doValidate(...arguments) && (!this.parent || this.parent.doValidate(...arguments)); + } + doCommit() { + this.masked.doCommit(); + } + get state() { + return { + masked: this.masked.state, + isFilled: this.isFilled + }; + } + set state(state) { + this.masked.state = state.masked; + this.isFilled = state.isFilled; + } + } + + class PatternFixedDefinition { + constructor(opts) { + Object.assign(this, opts); + this._value = ''; + this.isFixed = true; + } + get value() { + return this._value; + } + get unmaskedValue() { + return this.isUnmasking ? this.value : ''; + } + get displayValue() { + return this.value; + } + reset() { + this._isRawInput = false; + this._value = ''; + } + remove() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length; + this._value = this._value.slice(0, fromPos) + this._value.slice(toPos); + if (!this._value) this._isRawInput = false; + return new ChangeDetails(); + } + nearestInputPos(cursorPos) { + let direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; + const minPos = 0; + const maxPos = this._value.length; + switch (direction) { + case DIRECTION.LEFT: + case DIRECTION.FORCE_LEFT: + return minPos; + case DIRECTION.NONE: + case DIRECTION.RIGHT: + case DIRECTION.FORCE_RIGHT: + default: + return maxPos; + } + } + totalInputPositions() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length; + return this._isRawInput ? toPos - fromPos : 0; + } + extractInput() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length; + let flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return flags.raw && this._isRawInput && this._value.slice(fromPos, toPos) || ''; + } + get isComplete() { + return true; + } + get isFilled() { + return Boolean(this._value); + } + _appendChar(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + const details = new ChangeDetails(); + if (this.isFilled) return details; + const appendEager = this.eager === true || this.eager === 'append'; + const appended = this.char === ch; + const isResolved = appended && (this.isUnmasking || flags.input || flags.raw) && (!flags.raw || !appendEager) && !flags.tail; + if (isResolved) details.rawInserted = this.char; + this._value = details.inserted = this.char; + this._isRawInput = isResolved && (flags.raw || flags.input); + return details; + } + _appendEager() { + return this._appendChar(this.char, { + tail: true + }); + } + _appendPlaceholder() { + const details = new ChangeDetails(); + if (this.isFilled) return details; + this._value = details.inserted = this.char; + return details; + } + extractTail() { + arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + return new ContinuousTailDetails(''); + } + appendTail(tail) { + if (isString(tail)) tail = new ContinuousTailDetails(String(tail)); + return tail.appendTo(this); + } + append(str, flags, tail) { + const details = this._appendChar(str[0], flags); + if (tail != null) { + details.tailShift += this.appendTail(tail).tailShift; + } + return details; + } + doCommit() {} + get state() { + return { + _value: this._value, + _isRawInput: this._isRawInput + }; + } + set state(state) { + Object.assign(this, state); + } + } + + const _excluded$3 = ["chunks"]; + class ChunksTailDetails { + constructor() { + let chunks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + let from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + this.chunks = chunks; + this.from = from; + } + toString() { + return this.chunks.map(String).join(''); + } + extend(tailChunk) { + if (!String(tailChunk)) return; + if (isString(tailChunk)) tailChunk = new ContinuousTailDetails(String(tailChunk)); + const lastChunk = this.chunks[this.chunks.length - 1]; + const extendLast = lastChunk && ( + lastChunk.stop === tailChunk.stop || tailChunk.stop == null) && + tailChunk.from === lastChunk.from + lastChunk.toString().length; + if (tailChunk instanceof ContinuousTailDetails) { + if (extendLast) { + lastChunk.extend(tailChunk.toString()); + } else { + this.chunks.push(tailChunk); + } + } else if (tailChunk instanceof ChunksTailDetails) { + if (tailChunk.stop == null) { + let firstTailChunk; + while (tailChunk.chunks.length && tailChunk.chunks[0].stop == null) { + firstTailChunk = tailChunk.chunks.shift(); + firstTailChunk.from += tailChunk.from; + this.extend(firstTailChunk); + } + } + if (tailChunk.toString()) { + tailChunk.stop = tailChunk.blockIndex; + this.chunks.push(tailChunk); + } + } + } + appendTo(masked) { + if (!(masked instanceof IMask.MaskedPattern)) { + const tail = new ContinuousTailDetails(this.toString()); + return tail.appendTo(masked); + } + const details = new ChangeDetails(); + for (let ci = 0; ci < this.chunks.length && !details.skip; ++ci) { + const chunk = this.chunks[ci]; + const lastBlockIter = masked._mapPosToBlock(masked.value.length); + const stop = chunk.stop; + let chunkBlock; + if (stop != null && ( + !lastBlockIter || lastBlockIter.index <= stop)) { + if (chunk instanceof ChunksTailDetails || + masked._stops.indexOf(stop) >= 0) { + const phDetails = masked._appendPlaceholder(stop); + details.aggregate(phDetails); + } + chunkBlock = chunk instanceof ChunksTailDetails && masked._blocks[stop]; + } + if (chunkBlock) { + const tailDetails = chunkBlock.appendTail(chunk); + tailDetails.skip = false; + details.aggregate(tailDetails); + masked._value += tailDetails.inserted; + const remainChars = chunk.toString().slice(tailDetails.rawInserted.length); + if (remainChars) details.aggregate(masked.append(remainChars, { + tail: true + })); + } else { + details.aggregate(masked.append(chunk.toString(), { + tail: true + })); + } + } + return details; + } + get state() { + return { + chunks: this.chunks.map(c => c.state), + from: this.from, + stop: this.stop, + blockIndex: this.blockIndex + }; + } + set state(state) { + const { + chunks + } = state, + props = _objectWithoutPropertiesLoose(state, _excluded$3); + Object.assign(this, props); + this.chunks = chunks.map(cstate => { + const chunk = "chunks" in cstate ? new ChunksTailDetails() : new ContinuousTailDetails(); + chunk.state = cstate; + return chunk; + }); + } + unshift(beforePos) { + if (!this.chunks.length || beforePos != null && this.from >= beforePos) return ''; + const chunkShiftPos = beforePos != null ? beforePos - this.from : beforePos; + let ci = 0; + while (ci < this.chunks.length) { + const chunk = this.chunks[ci]; + const shiftChar = chunk.unshift(chunkShiftPos); + if (chunk.toString()) { + if (!shiftChar) break; + ++ci; + } else { + this.chunks.splice(ci, 1); + } + if (shiftChar) return shiftChar; + } + return ''; + } + shift() { + if (!this.chunks.length) return ''; + let ci = this.chunks.length - 1; + while (0 <= ci) { + const chunk = this.chunks[ci]; + const shiftChar = chunk.shift(); + if (chunk.toString()) { + if (!shiftChar) break; + --ci; + } else { + this.chunks.splice(ci, 1); + } + if (shiftChar) return shiftChar; + } + return ''; + } + } + + class PatternCursor { + constructor(masked, pos) { + this.masked = masked; + this._log = []; + const { + offset, + index + } = masked._mapPosToBlock(pos) || (pos < 0 ? + { + index: 0, + offset: 0 + } : + { + index: this.masked._blocks.length, + offset: 0 + }); + this.offset = offset; + this.index = index; + this.ok = false; + } + get block() { + return this.masked._blocks[this.index]; + } + get pos() { + return this.masked._blockStartPos(this.index) + this.offset; + } + get state() { + return { + index: this.index, + offset: this.offset, + ok: this.ok + }; + } + set state(s) { + Object.assign(this, s); + } + pushState() { + this._log.push(this.state); + } + popState() { + const s = this._log.pop(); + this.state = s; + return s; + } + bindBlock() { + if (this.block) return; + if (this.index < 0) { + this.index = 0; + this.offset = 0; + } + if (this.index >= this.masked._blocks.length) { + this.index = this.masked._blocks.length - 1; + this.offset = this.block.value.length; + } + } + _pushLeft(fn) { + this.pushState(); + for (this.bindBlock(); 0 <= this.index; --this.index, this.offset = ((_this$block = this.block) === null || _this$block === void 0 ? void 0 : _this$block.value.length) || 0) { + var _this$block; + if (fn()) return this.ok = true; + } + return this.ok = false; + } + _pushRight(fn) { + this.pushState(); + for (this.bindBlock(); this.index < this.masked._blocks.length; ++this.index, this.offset = 0) { + if (fn()) return this.ok = true; + } + return this.ok = false; + } + pushLeftBeforeFilled() { + return this._pushLeft(() => { + if (this.block.isFixed || !this.block.value) return; + this.offset = this.block.nearestInputPos(this.offset, DIRECTION.FORCE_LEFT); + if (this.offset !== 0) return true; + }); + } + pushLeftBeforeInput() { + return this._pushLeft(() => { + if (this.block.isFixed) return; + this.offset = this.block.nearestInputPos(this.offset, DIRECTION.LEFT); + return true; + }); + } + pushLeftBeforeRequired() { + return this._pushLeft(() => { + if (this.block.isFixed || this.block.isOptional && !this.block.value) return; + this.offset = this.block.nearestInputPos(this.offset, DIRECTION.LEFT); + return true; + }); + } + pushRightBeforeFilled() { + return this._pushRight(() => { + if (this.block.isFixed || !this.block.value) return; + this.offset = this.block.nearestInputPos(this.offset, DIRECTION.FORCE_RIGHT); + if (this.offset !== this.block.value.length) return true; + }); + } + pushRightBeforeInput() { + return this._pushRight(() => { + if (this.block.isFixed) return; + this.offset = this.block.nearestInputPos(this.offset, DIRECTION.NONE); + return true; + }); + } + pushRightBeforeRequired() { + return this._pushRight(() => { + if (this.block.isFixed || this.block.isOptional && !this.block.value) return; + this.offset = this.block.nearestInputPos(this.offset, DIRECTION.NONE); + return true; + }); + } + } + + class MaskedRegExp extends Masked { + _update(opts) { + if (opts.mask) opts.validate = value => value.search(opts.mask) >= 0; + super._update(opts); + } + } + IMask.MaskedRegExp = MaskedRegExp; + + const _excluded$2 = ["_blocks"]; + class MaskedPattern extends Masked { + constructor() { + let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + opts.definitions = Object.assign({}, DEFAULT_INPUT_DEFINITIONS, opts.definitions); + super(Object.assign({}, MaskedPattern.DEFAULTS, opts)); + } + _update() { + let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + opts.definitions = Object.assign({}, this.definitions, opts.definitions); + super._update(opts); + this._rebuildMask(); + } + _rebuildMask() { + const defs = this.definitions; + this._blocks = []; + this._stops = []; + this._maskedBlocks = {}; + let pattern = this.mask; + if (!pattern || !defs) return; + let unmaskingBlock = false; + let optionalBlock = false; + for (let i = 0; i < pattern.length; ++i) { + var _defs$char, _defs$char2; + if (this.blocks) { + const p = pattern.slice(i); + const bNames = Object.keys(this.blocks).filter(bName => p.indexOf(bName) === 0); + bNames.sort((a, b) => b.length - a.length); + const bName = bNames[0]; + if (bName) { + const maskedBlock = createMask(Object.assign({ + parent: this, + lazy: this.lazy, + eager: this.eager, + placeholderChar: this.placeholderChar, + displayChar: this.displayChar, + overwrite: this.overwrite + }, this.blocks[bName])); + if (maskedBlock) { + this._blocks.push(maskedBlock); + if (!this._maskedBlocks[bName]) this._maskedBlocks[bName] = []; + this._maskedBlocks[bName].push(this._blocks.length - 1); + } + i += bName.length - 1; + continue; + } + } + let char = pattern[i]; + let isInput = (char in defs); + if (char === MaskedPattern.STOP_CHAR) { + this._stops.push(this._blocks.length); + continue; + } + if (char === '{' || char === '}') { + unmaskingBlock = !unmaskingBlock; + continue; + } + if (char === '[' || char === ']') { + optionalBlock = !optionalBlock; + continue; + } + if (char === MaskedPattern.ESCAPE_CHAR) { + ++i; + char = pattern[i]; + if (!char) break; + isInput = false; + } + const maskOpts = (_defs$char = defs[char]) !== null && _defs$char !== void 0 && _defs$char.mask && !(((_defs$char2 = defs[char]) === null || _defs$char2 === void 0 ? void 0 : _defs$char2.mask.prototype) instanceof IMask.Masked) ? defs[char] : { + mask: defs[char] + }; + const def = isInput ? new PatternInputDefinition(Object.assign({ + parent: this, + isOptional: optionalBlock, + lazy: this.lazy, + eager: this.eager, + placeholderChar: this.placeholderChar, + displayChar: this.displayChar + }, maskOpts)) : new PatternFixedDefinition({ + char, + eager: this.eager, + isUnmasking: unmaskingBlock + }); + this._blocks.push(def); + } + } + get state() { + return Object.assign({}, super.state, { + _blocks: this._blocks.map(b => b.state) + }); + } + set state(state) { + const { + _blocks + } = state, + maskedState = _objectWithoutPropertiesLoose(state, _excluded$2); + this._blocks.forEach((b, bi) => b.state = _blocks[bi]); + super.state = maskedState; + } + reset() { + super.reset(); + this._blocks.forEach(b => b.reset()); + } + get isComplete() { + return this._blocks.every(b => b.isComplete); + } + get isFilled() { + return this._blocks.every(b => b.isFilled); + } + get isFixed() { + return this._blocks.every(b => b.isFixed); + } + get isOptional() { + return this._blocks.every(b => b.isOptional); + } + doCommit() { + this._blocks.forEach(b => b.doCommit()); + super.doCommit(); + } + get unmaskedValue() { + return this._blocks.reduce((str, b) => str += b.unmaskedValue, ''); + } + set unmaskedValue(unmaskedValue) { + super.unmaskedValue = unmaskedValue; + } + get value() { + return this._blocks.reduce((str, b) => str += b.value, ''); + } + set value(value) { + super.value = value; + } + get displayValue() { + return this._blocks.reduce((str, b) => str += b.displayValue, ''); + } + appendTail(tail) { + return super.appendTail(tail).aggregate(this._appendPlaceholder()); + } + _appendEager() { + var _this$_mapPosToBlock; + const details = new ChangeDetails(); + let startBlockIndex = (_this$_mapPosToBlock = this._mapPosToBlock(this.value.length)) === null || _this$_mapPosToBlock === void 0 ? void 0 : _this$_mapPosToBlock.index; + if (startBlockIndex == null) return details; + if (this._blocks[startBlockIndex].isFilled) ++startBlockIndex; + for (let bi = startBlockIndex; bi < this._blocks.length; ++bi) { + const d = this._blocks[bi]._appendEager(); + if (!d.inserted) break; + details.aggregate(d); + } + return details; + } + _appendCharRaw(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + const blockIter = this._mapPosToBlock(this.value.length); + const details = new ChangeDetails(); + if (!blockIter) return details; + for (let bi = blockIter.index;; ++bi) { + var _flags$_beforeTailSta, _flags$_beforeTailSta2; + const block = this._blocks[bi]; + if (!block) break; + const blockDetails = block._appendChar(ch, Object.assign({}, flags, { + _beforeTailState: (_flags$_beforeTailSta = flags._beforeTailState) === null || _flags$_beforeTailSta === void 0 ? void 0 : (_flags$_beforeTailSta2 = _flags$_beforeTailSta._blocks) === null || _flags$_beforeTailSta2 === void 0 ? void 0 : _flags$_beforeTailSta2[bi] + })); + const skip = blockDetails.skip; + details.aggregate(blockDetails); + if (skip || blockDetails.rawInserted) break; + } + return details; + } + extractTail() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + const chunkTail = new ChunksTailDetails(); + if (fromPos === toPos) return chunkTail; + this._forEachBlocksInRange(fromPos, toPos, (b, bi, bFromPos, bToPos) => { + const blockChunk = b.extractTail(bFromPos, bToPos); + blockChunk.stop = this._findStopBefore(bi); + blockChunk.from = this._blockStartPos(bi); + if (blockChunk instanceof ChunksTailDetails) blockChunk.blockIndex = bi; + chunkTail.extend(blockChunk); + }); + return chunkTail; + } + extractInput() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + let flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + if (fromPos === toPos) return ''; + let input = ''; + this._forEachBlocksInRange(fromPos, toPos, (b, _, fromPos, toPos) => { + input += b.extractInput(fromPos, toPos, flags); + }); + return input; + } + _findStopBefore(blockIndex) { + let stopBefore; + for (let si = 0; si < this._stops.length; ++si) { + const stop = this._stops[si]; + if (stop <= blockIndex) stopBefore = stop;else break; + } + return stopBefore; + } + _appendPlaceholder(toBlockIndex) { + const details = new ChangeDetails(); + if (this.lazy && toBlockIndex == null) return details; + const startBlockIter = this._mapPosToBlock(this.value.length); + if (!startBlockIter) return details; + const startBlockIndex = startBlockIter.index; + const endBlockIndex = toBlockIndex != null ? toBlockIndex : this._blocks.length; + this._blocks.slice(startBlockIndex, endBlockIndex).forEach(b => { + if (!b.lazy || toBlockIndex != null) { + const args = b._blocks != null ? [b._blocks.length] : []; + const bDetails = b._appendPlaceholder(...args); + this._value += bDetails.inserted; + details.aggregate(bDetails); + } + }); + return details; + } + _mapPosToBlock(pos) { + let accVal = ''; + for (let bi = 0; bi < this._blocks.length; ++bi) { + const block = this._blocks[bi]; + const blockStartPos = accVal.length; + accVal += block.value; + if (pos <= accVal.length) { + return { + index: bi, + offset: pos - blockStartPos + }; + } + } + } + _blockStartPos(blockIndex) { + return this._blocks.slice(0, blockIndex).reduce((pos, b) => pos += b.value.length, 0); + } + _forEachBlocksInRange(fromPos) { + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + let fn = arguments.length > 2 ? arguments[2] : undefined; + const fromBlockIter = this._mapPosToBlock(fromPos); + if (fromBlockIter) { + const toBlockIter = this._mapPosToBlock(toPos); + const isSameBlock = toBlockIter && fromBlockIter.index === toBlockIter.index; + const fromBlockStartPos = fromBlockIter.offset; + const fromBlockEndPos = toBlockIter && isSameBlock ? toBlockIter.offset : this._blocks[fromBlockIter.index].value.length; + fn(this._blocks[fromBlockIter.index], fromBlockIter.index, fromBlockStartPos, fromBlockEndPos); + if (toBlockIter && !isSameBlock) { + for (let bi = fromBlockIter.index + 1; bi < toBlockIter.index; ++bi) { + fn(this._blocks[bi], bi, 0, this._blocks[bi].value.length); + } + fn(this._blocks[toBlockIter.index], toBlockIter.index, 0, toBlockIter.offset); + } + } + } + remove() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + const removeDetails = super.remove(fromPos, toPos); + this._forEachBlocksInRange(fromPos, toPos, (b, _, bFromPos, bToPos) => { + removeDetails.aggregate(b.remove(bFromPos, bToPos)); + }); + return removeDetails; + } + nearestInputPos(cursorPos) { + let direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; + if (!this._blocks.length) return 0; + const cursor = new PatternCursor(this, cursorPos); + if (direction === DIRECTION.NONE) { + if (cursor.pushRightBeforeInput()) return cursor.pos; + cursor.popState(); + if (cursor.pushLeftBeforeInput()) return cursor.pos; + return this.value.length; + } + if (direction === DIRECTION.LEFT || direction === DIRECTION.FORCE_LEFT) { + if (direction === DIRECTION.LEFT) { + cursor.pushRightBeforeFilled(); + if (cursor.ok && cursor.pos === cursorPos) return cursorPos; + cursor.popState(); + } + cursor.pushLeftBeforeInput(); + cursor.pushLeftBeforeRequired(); + cursor.pushLeftBeforeFilled(); + if (direction === DIRECTION.LEFT) { + cursor.pushRightBeforeInput(); + cursor.pushRightBeforeRequired(); + if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos; + cursor.popState(); + if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos; + cursor.popState(); + } + if (cursor.ok) return cursor.pos; + if (direction === DIRECTION.FORCE_LEFT) return 0; + cursor.popState(); + if (cursor.ok) return cursor.pos; + cursor.popState(); + if (cursor.ok) return cursor.pos; + return 0; + } + if (direction === DIRECTION.RIGHT || direction === DIRECTION.FORCE_RIGHT) { + cursor.pushRightBeforeInput(); + cursor.pushRightBeforeRequired(); + if (cursor.pushRightBeforeFilled()) return cursor.pos; + if (direction === DIRECTION.FORCE_RIGHT) return this.value.length; + cursor.popState(); + if (cursor.ok) return cursor.pos; + cursor.popState(); + if (cursor.ok) return cursor.pos; + return this.nearestInputPos(cursorPos, DIRECTION.LEFT); + } + return cursorPos; + } + totalInputPositions() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + let total = 0; + this._forEachBlocksInRange(fromPos, toPos, (b, _, bFromPos, bToPos) => { + total += b.totalInputPositions(bFromPos, bToPos); + }); + return total; + } + maskedBlock(name) { + return this.maskedBlocks(name)[0]; + } + maskedBlocks(name) { + const indices = this._maskedBlocks[name]; + if (!indices) return []; + return indices.map(gi => this._blocks[gi]); + } + } + MaskedPattern.DEFAULTS = { + lazy: true, + placeholderChar: '_' + }; + MaskedPattern.STOP_CHAR = '`'; + MaskedPattern.ESCAPE_CHAR = '\\'; + MaskedPattern.InputDefinition = PatternInputDefinition; + MaskedPattern.FixedDefinition = PatternFixedDefinition; + IMask.MaskedPattern = MaskedPattern; + + class MaskedRange extends MaskedPattern { + get _matchFrom() { + return this.maxLength - String(this.from).length; + } + _update(opts) { + opts = Object.assign({ + to: this.to || 0, + from: this.from || 0, + maxLength: this.maxLength || 0 + }, opts); + let maxLength = String(opts.to).length; + if (opts.maxLength != null) maxLength = Math.max(maxLength, opts.maxLength); + opts.maxLength = maxLength; + const fromStr = String(opts.from).padStart(maxLength, '0'); + const toStr = String(opts.to).padStart(maxLength, '0'); + let sameCharsCount = 0; + while (sameCharsCount < toStr.length && toStr[sameCharsCount] === fromStr[sameCharsCount]) ++sameCharsCount; + opts.mask = toStr.slice(0, sameCharsCount).replace(/0/g, '\\0') + '0'.repeat(maxLength - sameCharsCount); + super._update(opts); + } + get isComplete() { + return super.isComplete && Boolean(this.value); + } + boundaries(str) { + let minstr = ''; + let maxstr = ''; + const [, placeholder, num] = str.match(/^(\D*)(\d*)(\D*)/) || []; + if (num) { + minstr = '0'.repeat(placeholder.length) + num; + maxstr = '9'.repeat(placeholder.length) + num; + } + minstr = minstr.padEnd(this.maxLength, '0'); + maxstr = maxstr.padEnd(this.maxLength, '9'); + return [minstr, maxstr]; + } + doPrepare(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + let details; + [ch, details] = normalizePrepare(super.doPrepare(ch.replace(/\D/g, ''), flags)); + if (!this.autofix || !ch) return ch; + const fromStr = String(this.from).padStart(this.maxLength, '0'); + const toStr = String(this.to).padStart(this.maxLength, '0'); + let nextVal = this.value + ch; + if (nextVal.length > this.maxLength) return ''; + const [minstr, maxstr] = this.boundaries(nextVal); + if (Number(maxstr) < this.from) return fromStr[nextVal.length - 1]; + if (Number(minstr) > this.to) { + if (this.autofix === 'pad' && nextVal.length < this.maxLength) { + return ['', details.aggregate(this.append(fromStr[nextVal.length - 1] + ch, flags))]; + } + return toStr[nextVal.length - 1]; + } + return ch; + } + doValidate() { + const str = this.value; + const firstNonZero = str.search(/[^0]/); + if (firstNonZero === -1 && str.length <= this._matchFrom) return true; + const [minstr, maxstr] = this.boundaries(str); + return this.from <= Number(maxstr) && Number(minstr) <= this.to && super.doValidate(...arguments); + } + } + IMask.MaskedRange = MaskedRange; + + class MaskedDate extends MaskedPattern { + constructor(opts) { + super(Object.assign({}, MaskedDate.DEFAULTS, opts)); + } + _update(opts) { + if (opts.mask === Date) delete opts.mask; + if (opts.pattern) opts.mask = opts.pattern; + const blocks = opts.blocks; + opts.blocks = Object.assign({}, MaskedDate.GET_DEFAULT_BLOCKS()); + if (opts.min) opts.blocks.Y.from = opts.min.getFullYear(); + if (opts.max) opts.blocks.Y.to = opts.max.getFullYear(); + if (opts.min && opts.max && opts.blocks.Y.from === opts.blocks.Y.to) { + opts.blocks.m.from = opts.min.getMonth() + 1; + opts.blocks.m.to = opts.max.getMonth() + 1; + if (opts.blocks.m.from === opts.blocks.m.to) { + opts.blocks.d.from = opts.min.getDate(); + opts.blocks.d.to = opts.max.getDate(); + } + } + Object.assign(opts.blocks, this.blocks, blocks); + Object.keys(opts.blocks).forEach(bk => { + const b = opts.blocks[bk]; + if (!('autofix' in b) && 'autofix' in opts) b.autofix = opts.autofix; + }); + super._update(opts); + } + doValidate() { + const date = this.date; + return super.doValidate(...arguments) && (!this.isComplete || this.isDateExist(this.value) && date != null && (this.min == null || this.min <= date) && (this.max == null || date <= this.max)); + } + isDateExist(str) { + return this.format(this.parse(str, this), this).indexOf(str) >= 0; + } + get date() { + return this.typedValue; + } + set date(date) { + this.typedValue = date; + } + get typedValue() { + return this.isComplete ? super.typedValue : null; + } + set typedValue(value) { + super.typedValue = value; + } + maskEquals(mask) { + return mask === Date || super.maskEquals(mask); + } + } + MaskedDate.DEFAULTS = { + pattern: 'd{.}`m{.}`Y', + format: date => { + if (!date) return ''; + const day = String(date.getDate()).padStart(2, '0'); + const month = String(date.getMonth() + 1).padStart(2, '0'); + const year = date.getFullYear(); + return [day, month, year].join('.'); + }, + parse: str => { + const [day, month, year] = str.split('.'); + return new Date(year, month - 1, day); + } + }; + MaskedDate.GET_DEFAULT_BLOCKS = () => ({ + d: { + mask: MaskedRange, + from: 1, + to: 31, + maxLength: 2 + }, + m: { + mask: MaskedRange, + from: 1, + to: 12, + maxLength: 2 + }, + Y: { + mask: MaskedRange, + from: 1900, + to: 9999 + } + }); + IMask.MaskedDate = MaskedDate; + + class MaskElement { + get selectionStart() { + let start; + try { + start = this._unsafeSelectionStart; + } catch (e) {} + return start != null ? start : this.value.length; + } + get selectionEnd() { + let end; + try { + end = this._unsafeSelectionEnd; + } catch (e) {} + return end != null ? end : this.value.length; + } + select(start, end) { + if (start == null || end == null || start === this.selectionStart && end === this.selectionEnd) return; + try { + this._unsafeSelect(start, end); + } catch (e) {} + } + _unsafeSelect(start, end) {} + get isActive() { + return false; + } + bindEvents(handlers) {} + unbindEvents() {} + } + IMask.MaskElement = MaskElement; + + class HTMLMaskElement extends MaskElement { + constructor(input) { + super(); + this.input = input; + this._handlers = {}; + } + get rootElement() { + var _this$input$getRootNo, _this$input$getRootNo2, _this$input; + return (_this$input$getRootNo = (_this$input$getRootNo2 = (_this$input = this.input).getRootNode) === null || _this$input$getRootNo2 === void 0 ? void 0 : _this$input$getRootNo2.call(_this$input)) !== null && _this$input$getRootNo !== void 0 ? _this$input$getRootNo : document; + } + get isActive() { + return this.input === this.rootElement.activeElement; + } + get _unsafeSelectionStart() { + return this.input.selectionStart; + } + get _unsafeSelectionEnd() { + return this.input.selectionEnd; + } + _unsafeSelect(start, end) { + this.input.setSelectionRange(start, end); + } + get value() { + return this.input.value; + } + set value(value) { + this.input.value = value; + } + bindEvents(handlers) { + Object.keys(handlers).forEach(event => this._toggleEventHandler(HTMLMaskElement.EVENTS_MAP[event], handlers[event])); + } + unbindEvents() { + Object.keys(this._handlers).forEach(event => this._toggleEventHandler(event)); + } + _toggleEventHandler(event, handler) { + if (this._handlers[event]) { + this.input.removeEventListener(event, this._handlers[event]); + delete this._handlers[event]; + } + if (handler) { + this.input.addEventListener(event, handler); + this._handlers[event] = handler; + } + } + } + HTMLMaskElement.EVENTS_MAP = { + selectionChange: 'keydown', + input: 'input', + drop: 'drop', + click: 'click', + focus: 'focus', + commit: 'blur' + }; + IMask.HTMLMaskElement = HTMLMaskElement; + + class HTMLContenteditableMaskElement extends HTMLMaskElement { + get _unsafeSelectionStart() { + const root = this.rootElement; + const selection = root.getSelection && root.getSelection(); + const anchorOffset = selection && selection.anchorOffset; + const focusOffset = selection && selection.focusOffset; + if (focusOffset == null || anchorOffset == null || anchorOffset < focusOffset) { + return anchorOffset; + } + return focusOffset; + } + get _unsafeSelectionEnd() { + const root = this.rootElement; + const selection = root.getSelection && root.getSelection(); + const anchorOffset = selection && selection.anchorOffset; + const focusOffset = selection && selection.focusOffset; + if (focusOffset == null || anchorOffset == null || anchorOffset > focusOffset) { + return anchorOffset; + } + return focusOffset; + } + _unsafeSelect(start, end) { + if (!this.rootElement.createRange) return; + const range = this.rootElement.createRange(); + range.setStart(this.input.firstChild || this.input, start); + range.setEnd(this.input.lastChild || this.input, end); + const root = this.rootElement; + const selection = root.getSelection && root.getSelection(); + if (selection) { + selection.removeAllRanges(); + selection.addRange(range); + } + } + get value() { + return this.input.textContent; + } + set value(value) { + this.input.textContent = value; + } + } + IMask.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement; + + const _excluded$1 = ["mask"]; + class InputMask { + constructor(el, opts) { + this.el = el instanceof MaskElement ? el : el.isContentEditable && el.tagName !== 'INPUT' && el.tagName !== 'TEXTAREA' ? new HTMLContenteditableMaskElement(el) : new HTMLMaskElement(el); + this.masked = createMask(opts); + this._listeners = {}; + this._value = ''; + this._unmaskedValue = ''; + this._saveSelection = this._saveSelection.bind(this); + this._onInput = this._onInput.bind(this); + this._onChange = this._onChange.bind(this); + this._onDrop = this._onDrop.bind(this); + this._onFocus = this._onFocus.bind(this); + this._onClick = this._onClick.bind(this); + this.alignCursor = this.alignCursor.bind(this); + this.alignCursorFriendly = this.alignCursorFriendly.bind(this); + this._bindEvents(); + this.updateValue(); + this._onChange(); + } + get mask() { + return this.masked.mask; + } + maskEquals(mask) { + var _this$masked; + return mask == null || ((_this$masked = this.masked) === null || _this$masked === void 0 ? void 0 : _this$masked.maskEquals(mask)); + } + set mask(mask) { + if (this.maskEquals(mask)) return; + if (!(mask instanceof IMask.Masked) && this.masked.constructor === maskedClass(mask)) { + this.masked.updateOptions({ + mask + }); + return; + } + const masked = createMask({ + mask + }); + masked.unmaskedValue = this.masked.unmaskedValue; + this.masked = masked; + } + get value() { + return this._value; + } + set value(str) { + if (this.value === str) return; + this.masked.value = str; + this.updateControl(); + this.alignCursor(); + } + get unmaskedValue() { + return this._unmaskedValue; + } + set unmaskedValue(str) { + if (this.unmaskedValue === str) return; + this.masked.unmaskedValue = str; + this.updateControl(); + this.alignCursor(); + } + get typedValue() { + return this.masked.typedValue; + } + set typedValue(val) { + if (this.masked.typedValueEquals(val)) return; + this.masked.typedValue = val; + this.updateControl(); + this.alignCursor(); + } + get displayValue() { + return this.masked.displayValue; + } + _bindEvents() { + this.el.bindEvents({ + selectionChange: this._saveSelection, + input: this._onInput, + drop: this._onDrop, + click: this._onClick, + focus: this._onFocus, + commit: this._onChange + }); + } + _unbindEvents() { + if (this.el) this.el.unbindEvents(); + } + _fireEvent(ev) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + const listeners = this._listeners[ev]; + if (!listeners) return; + listeners.forEach(l => l(...args)); + } + get selectionStart() { + return this._cursorChanging ? this._changingCursorPos : this.el.selectionStart; + } + get cursorPos() { + return this._cursorChanging ? this._changingCursorPos : this.el.selectionEnd; + } + set cursorPos(pos) { + if (!this.el || !this.el.isActive) return; + this.el.select(pos, pos); + this._saveSelection(); + } + _saveSelection( + ) { + if (this.displayValue !== this.el.value) { + console.warn('Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly.'); + } + this._selection = { + start: this.selectionStart, + end: this.cursorPos + }; + } + updateValue() { + this.masked.value = this.el.value; + this._value = this.masked.value; + } + updateControl() { + const newUnmaskedValue = this.masked.unmaskedValue; + const newValue = this.masked.value; + const newDisplayValue = this.displayValue; + const isChanged = this.unmaskedValue !== newUnmaskedValue || this.value !== newValue; + this._unmaskedValue = newUnmaskedValue; + this._value = newValue; + if (this.el.value !== newDisplayValue) this.el.value = newDisplayValue; + if (isChanged) this._fireChangeEvents(); + } + updateOptions(opts) { + const { + mask + } = opts, + restOpts = _objectWithoutPropertiesLoose(opts, _excluded$1); + const updateMask = !this.maskEquals(mask); + const updateOpts = !objectIncludes(this.masked, restOpts); + if (updateMask) this.mask = mask; + if (updateOpts) this.masked.updateOptions(restOpts); + if (updateMask || updateOpts) this.updateControl(); + } + updateCursor(cursorPos) { + if (cursorPos == null) return; + this.cursorPos = cursorPos; + this._delayUpdateCursor(cursorPos); + } + _delayUpdateCursor(cursorPos) { + this._abortUpdateCursor(); + this._changingCursorPos = cursorPos; + this._cursorChanging = setTimeout(() => { + if (!this.el) return; + this.cursorPos = this._changingCursorPos; + this._abortUpdateCursor(); + }, 10); + } + _fireChangeEvents() { + this._fireEvent('accept', this._inputEvent); + if (this.masked.isComplete) this._fireEvent('complete', this._inputEvent); + } + _abortUpdateCursor() { + if (this._cursorChanging) { + clearTimeout(this._cursorChanging); + delete this._cursorChanging; + } + } + alignCursor() { + this.cursorPos = this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos, DIRECTION.LEFT)); + } + alignCursorFriendly() { + if (this.selectionStart !== this.cursorPos) return; + this.alignCursor(); + } + on(ev, handler) { + if (!this._listeners[ev]) this._listeners[ev] = []; + this._listeners[ev].push(handler); + return this; + } + off(ev, handler) { + if (!this._listeners[ev]) return this; + if (!handler) { + delete this._listeners[ev]; + return this; + } + const hIndex = this._listeners[ev].indexOf(handler); + if (hIndex >= 0) this._listeners[ev].splice(hIndex, 1); + return this; + } + _onInput(e) { + this._inputEvent = e; + this._abortUpdateCursor(); + if (!this._selection) return this.updateValue(); + const details = new ActionDetails( + this.el.value, this.cursorPos, + this.displayValue, this._selection); + const oldRawValue = this.masked.rawInputValue; + const offset = this.masked.splice(details.startChangePos, details.removed.length, details.inserted, details.removeDirection, { + input: true, + raw: true + }).offset; + const removeDirection = oldRawValue === this.masked.rawInputValue ? details.removeDirection : DIRECTION.NONE; + let cursorPos = this.masked.nearestInputPos(details.startChangePos + offset, removeDirection); + if (removeDirection !== DIRECTION.NONE) cursorPos = this.masked.nearestInputPos(cursorPos, DIRECTION.NONE); + this.updateControl(); + this.updateCursor(cursorPos); + delete this._inputEvent; + } + _onChange() { + if (this.displayValue !== this.el.value) { + this.updateValue(); + } + this.masked.doCommit(); + this.updateControl(); + this._saveSelection(); + } + _onDrop(ev) { + ev.preventDefault(); + ev.stopPropagation(); + } + _onFocus(ev) { + this.alignCursorFriendly(); + } + _onClick(ev) { + this.alignCursorFriendly(); + } + destroy() { + this._unbindEvents(); + this._listeners.length = 0; + delete this.el; + } + } + IMask.InputMask = InputMask; + + class MaskedEnum extends MaskedPattern { + _update(opts) { + if (opts.enum) opts.mask = '*'.repeat(opts.enum[0].length); + super._update(opts); + } + doValidate() { + return this.enum.some(e => e.indexOf(this.unmaskedValue) >= 0) && super.doValidate(...arguments); + } + } + IMask.MaskedEnum = MaskedEnum; + + class MaskedNumber extends Masked { + constructor(opts) { + super(Object.assign({}, MaskedNumber.DEFAULTS, opts)); + } + _update(opts) { + super._update(opts); + this._updateRegExps(); + } + _updateRegExps() { + let start = '^' + (this.allowNegative ? '[+|\\-]?' : ''); + let mid = '\\d*'; + let end = (this.scale ? "(".concat(escapeRegExp(this.radix), "\\d{0,").concat(this.scale, "})?") : '') + '$'; + this._numberRegExp = new RegExp(start + mid + end); + this._mapToRadixRegExp = new RegExp("[".concat(this.mapToRadix.map(escapeRegExp).join(''), "]"), 'g'); + this._thousandsSeparatorRegExp = new RegExp(escapeRegExp(this.thousandsSeparator), 'g'); + } + _removeThousandsSeparators(value) { + return value.replace(this._thousandsSeparatorRegExp, ''); + } + _insertThousandsSeparators(value) { + const parts = value.split(this.radix); + parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, this.thousandsSeparator); + return parts.join(this.radix); + } + doPrepare(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + ch = this._removeThousandsSeparators(this.scale && this.mapToRadix.length && ( + flags.input && flags.raw || !flags.input && !flags.raw) ? ch.replace(this._mapToRadixRegExp, this.radix) : ch); + const [prepCh, details] = normalizePrepare(super.doPrepare(ch, flags)); + if (ch && !prepCh) details.skip = true; + return [prepCh, details]; + } + _separatorsCount(to) { + let extendOnSeparators = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + let count = 0; + for (let pos = 0; pos < to; ++pos) { + if (this._value.indexOf(this.thousandsSeparator, pos) === pos) { + ++count; + if (extendOnSeparators) to += this.thousandsSeparator.length; + } + } + return count; + } + _separatorsCountFromSlice() { + let slice = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._value; + return this._separatorsCount(this._removeThousandsSeparators(slice).length, true); + } + extractInput() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + let flags = arguments.length > 2 ? arguments[2] : undefined; + [fromPos, toPos] = this._adjustRangeWithSeparators(fromPos, toPos); + return this._removeThousandsSeparators(super.extractInput(fromPos, toPos, flags)); + } + _appendCharRaw(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (!this.thousandsSeparator) return super._appendCharRaw(ch, flags); + const prevBeforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value; + const prevBeforeTailSeparatorsCount = this._separatorsCountFromSlice(prevBeforeTailValue); + this._value = this._removeThousandsSeparators(this.value); + const appendDetails = super._appendCharRaw(ch, flags); + this._value = this._insertThousandsSeparators(this._value); + const beforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value; + const beforeTailSeparatorsCount = this._separatorsCountFromSlice(beforeTailValue); + appendDetails.tailShift += (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length; + appendDetails.skip = !appendDetails.rawInserted && ch === this.thousandsSeparator; + return appendDetails; + } + _findSeparatorAround(pos) { + if (this.thousandsSeparator) { + const searchFrom = pos - this.thousandsSeparator.length + 1; + const separatorPos = this.value.indexOf(this.thousandsSeparator, searchFrom); + if (separatorPos <= pos) return separatorPos; + } + return -1; + } + _adjustRangeWithSeparators(from, to) { + const separatorAroundFromPos = this._findSeparatorAround(from); + if (separatorAroundFromPos >= 0) from = separatorAroundFromPos; + const separatorAroundToPos = this._findSeparatorAround(to); + if (separatorAroundToPos >= 0) to = separatorAroundToPos + this.thousandsSeparator.length; + return [from, to]; + } + remove() { + let fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + let toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; + [fromPos, toPos] = this._adjustRangeWithSeparators(fromPos, toPos); + const valueBeforePos = this.value.slice(0, fromPos); + const valueAfterPos = this.value.slice(toPos); + const prevBeforeTailSeparatorsCount = this._separatorsCount(valueBeforePos.length); + this._value = this._insertThousandsSeparators(this._removeThousandsSeparators(valueBeforePos + valueAfterPos)); + const beforeTailSeparatorsCount = this._separatorsCountFromSlice(valueBeforePos); + return new ChangeDetails({ + tailShift: (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length + }); + } + nearestInputPos(cursorPos, direction) { + if (!this.thousandsSeparator) return cursorPos; + switch (direction) { + case DIRECTION.NONE: + case DIRECTION.LEFT: + case DIRECTION.FORCE_LEFT: + { + const separatorAtLeftPos = this._findSeparatorAround(cursorPos - 1); + if (separatorAtLeftPos >= 0) { + const separatorAtLeftEndPos = separatorAtLeftPos + this.thousandsSeparator.length; + if (cursorPos < separatorAtLeftEndPos || this.value.length <= separatorAtLeftEndPos || direction === DIRECTION.FORCE_LEFT) { + return separatorAtLeftPos; + } + } + break; + } + case DIRECTION.RIGHT: + case DIRECTION.FORCE_RIGHT: + { + const separatorAtRightPos = this._findSeparatorAround(cursorPos); + if (separatorAtRightPos >= 0) { + return separatorAtRightPos + this.thousandsSeparator.length; + } + } + } + return cursorPos; + } + doValidate(flags) { + let valid = Boolean(this._removeThousandsSeparators(this.value).match(this._numberRegExp)); + if (valid) { + const number = this.number; + valid = valid && !isNaN(number) && ( + this.min == null || this.min >= 0 || this.min <= this.number) && ( + this.max == null || this.max <= 0 || this.number <= this.max); + } + return valid && super.doValidate(flags); + } + doCommit() { + if (this.value) { + const number = this.number; + let validnum = number; + if (this.min != null) validnum = Math.max(validnum, this.min); + if (this.max != null) validnum = Math.min(validnum, this.max); + if (validnum !== number) this.unmaskedValue = this.doFormat(validnum); + let formatted = this.value; + if (this.normalizeZeros) formatted = this._normalizeZeros(formatted); + if (this.padFractionalZeros && this.scale > 0) formatted = this._padFractionalZeros(formatted); + this._value = formatted; + } + super.doCommit(); + } + _normalizeZeros(value) { + const parts = this._removeThousandsSeparators(value).split(this.radix); + parts[0] = parts[0].replace(/^(\D*)(0*)(\d*)/, (match, sign, zeros, num) => sign + num); + if (value.length && !/\d$/.test(parts[0])) parts[0] = parts[0] + '0'; + if (parts.length > 1) { + parts[1] = parts[1].replace(/0*$/, ''); + if (!parts[1].length) parts.length = 1; + } + return this._insertThousandsSeparators(parts.join(this.radix)); + } + _padFractionalZeros(value) { + if (!value) return value; + const parts = value.split(this.radix); + if (parts.length < 2) parts.push(''); + parts[1] = parts[1].padEnd(this.scale, '0'); + return parts.join(this.radix); + } + doSkipInvalid(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + let checkTail = arguments.length > 2 ? arguments[2] : undefined; + const dropFractional = this.scale === 0 && ch !== this.thousandsSeparator && (ch === this.radix || ch === MaskedNumber.UNMASKED_RADIX || this.mapToRadix.includes(ch)); + return super.doSkipInvalid(ch, flags, checkTail) && !dropFractional; + } + get unmaskedValue() { + return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix, MaskedNumber.UNMASKED_RADIX); + } + set unmaskedValue(unmaskedValue) { + super.unmaskedValue = unmaskedValue; + } + get typedValue() { + return this.doParse(this.unmaskedValue); + } + set typedValue(n) { + this.rawInputValue = this.doFormat(n).replace(MaskedNumber.UNMASKED_RADIX, this.radix); + } + get number() { + return this.typedValue; + } + set number(number) { + this.typedValue = number; + } + get allowNegative() { + return this.signed || this.min != null && this.min < 0 || this.max != null && this.max < 0; + } + typedValueEquals(value) { + return (super.typedValueEquals(value) || MaskedNumber.EMPTY_VALUES.includes(value) && MaskedNumber.EMPTY_VALUES.includes(this.typedValue)) && !(value === 0 && this.value === ''); + } + } + MaskedNumber.UNMASKED_RADIX = '.'; + MaskedNumber.DEFAULTS = { + radix: ',', + thousandsSeparator: '', + mapToRadix: [MaskedNumber.UNMASKED_RADIX], + scale: 2, + signed: false, + normalizeZeros: true, + padFractionalZeros: false, + parse: Number, + format: n => n.toLocaleString('en-US', { + useGrouping: false, + maximumFractionDigits: 20 + }) + }; + MaskedNumber.EMPTY_VALUES = [...Masked.EMPTY_VALUES, 0]; + IMask.MaskedNumber = MaskedNumber; + + class MaskedFunction extends Masked { + _update(opts) { + if (opts.mask) opts.validate = opts.mask; + super._update(opts); + } + } + IMask.MaskedFunction = MaskedFunction; + + const _excluded = ["compiledMasks", "currentMaskRef", "currentMask"], + _excluded2 = ["mask"]; + class MaskedDynamic extends Masked { + constructor(opts) { + super(Object.assign({}, MaskedDynamic.DEFAULTS, opts)); + this.currentMask = null; + } + _update(opts) { + super._update(opts); + if ('mask' in opts) { + this.compiledMasks = Array.isArray(opts.mask) ? opts.mask.map(m => createMask(m)) : []; + } + } + _appendCharRaw(ch) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + const details = this._applyDispatch(ch, flags); + if (this.currentMask) { + details.aggregate(this.currentMask._appendChar(ch, this.currentMaskFlags(flags))); + } + return details; + } + _applyDispatch() { + let appended = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + let tail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; + const prevValueBeforeTail = flags.tail && flags._beforeTailState != null ? flags._beforeTailState._value : this.value; + const inputValue = this.rawInputValue; + const insertValue = flags.tail && flags._beforeTailState != null ? + flags._beforeTailState._rawInputValue : inputValue; + const tailValue = inputValue.slice(insertValue.length); + const prevMask = this.currentMask; + const details = new ChangeDetails(); + const prevMaskState = prevMask === null || prevMask === void 0 ? void 0 : prevMask.state; + this.currentMask = this.doDispatch(appended, Object.assign({}, flags), tail); + if (this.currentMask) { + if (this.currentMask !== prevMask) { + this.currentMask.reset(); + if (insertValue) { + const d = this.currentMask.append(insertValue, { + raw: true + }); + details.tailShift = d.inserted.length - prevValueBeforeTail.length; + } + if (tailValue) { + details.tailShift += this.currentMask.append(tailValue, { + raw: true, + tail: true + }).tailShift; + } + } else { + this.currentMask.state = prevMaskState; + } + } + return details; + } + _appendPlaceholder() { + const details = this._applyDispatch(...arguments); + if (this.currentMask) { + details.aggregate(this.currentMask._appendPlaceholder()); + } + return details; + } + _appendEager() { + const details = this._applyDispatch(...arguments); + if (this.currentMask) { + details.aggregate(this.currentMask._appendEager()); + } + return details; + } + appendTail(tail) { + const details = new ChangeDetails(); + if (tail) details.aggregate(this._applyDispatch('', {}, tail)); + return details.aggregate(this.currentMask ? this.currentMask.appendTail(tail) : super.appendTail(tail)); + } + currentMaskFlags(flags) { + var _flags$_beforeTailSta, _flags$_beforeTailSta2; + return Object.assign({}, flags, { + _beforeTailState: ((_flags$_beforeTailSta = flags._beforeTailState) === null || _flags$_beforeTailSta === void 0 ? void 0 : _flags$_beforeTailSta.currentMaskRef) === this.currentMask && ((_flags$_beforeTailSta2 = flags._beforeTailState) === null || _flags$_beforeTailSta2 === void 0 ? void 0 : _flags$_beforeTailSta2.currentMask) || flags._beforeTailState + }); + } + doDispatch(appended) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + let tail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; + return this.dispatch(appended, this, flags, tail); + } + doValidate(flags) { + return super.doValidate(flags) && (!this.currentMask || this.currentMask.doValidate(this.currentMaskFlags(flags))); + } + doPrepare(str) { + let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + let [s, details] = normalizePrepare(super.doPrepare(str, flags)); + if (this.currentMask) { + let currentDetails; + [s, currentDetails] = normalizePrepare(super.doPrepare(s, this.currentMaskFlags(flags))); + details = details.aggregate(currentDetails); + } + return [s, details]; + } + reset() { + var _this$currentMask; + (_this$currentMask = this.currentMask) === null || _this$currentMask === void 0 ? void 0 : _this$currentMask.reset(); + this.compiledMasks.forEach(m => m.reset()); + } + get value() { + return this.currentMask ? this.currentMask.value : ''; + } + set value(value) { + super.value = value; + } + get unmaskedValue() { + return this.currentMask ? this.currentMask.unmaskedValue : ''; + } + set unmaskedValue(unmaskedValue) { + super.unmaskedValue = unmaskedValue; + } + get typedValue() { + return this.currentMask ? this.currentMask.typedValue : ''; + } + set typedValue(value) { + let unmaskedValue = String(value); + if (this.currentMask) { + this.currentMask.typedValue = value; + unmaskedValue = this.currentMask.unmaskedValue; + } + this.unmaskedValue = unmaskedValue; + } + get displayValue() { + return this.currentMask ? this.currentMask.displayValue : ''; + } + get isComplete() { + var _this$currentMask2; + return Boolean((_this$currentMask2 = this.currentMask) === null || _this$currentMask2 === void 0 ? void 0 : _this$currentMask2.isComplete); + } + get isFilled() { + var _this$currentMask3; + return Boolean((_this$currentMask3 = this.currentMask) === null || _this$currentMask3 === void 0 ? void 0 : _this$currentMask3.isFilled); + } + remove() { + const details = new ChangeDetails(); + if (this.currentMask) { + details.aggregate(this.currentMask.remove(...arguments)) + .aggregate(this._applyDispatch()); + } + return details; + } + get state() { + var _this$currentMask4; + return Object.assign({}, super.state, { + _rawInputValue: this.rawInputValue, + compiledMasks: this.compiledMasks.map(m => m.state), + currentMaskRef: this.currentMask, + currentMask: (_this$currentMask4 = this.currentMask) === null || _this$currentMask4 === void 0 ? void 0 : _this$currentMask4.state + }); + } + set state(state) { + const { + compiledMasks, + currentMaskRef, + currentMask + } = state, + maskedState = _objectWithoutPropertiesLoose(state, _excluded); + this.compiledMasks.forEach((m, mi) => m.state = compiledMasks[mi]); + if (currentMaskRef != null) { + this.currentMask = currentMaskRef; + this.currentMask.state = currentMask; + } + super.state = maskedState; + } + extractInput() { + return this.currentMask ? this.currentMask.extractInput(...arguments) : ''; + } + extractTail() { + return this.currentMask ? this.currentMask.extractTail(...arguments) : super.extractTail(...arguments); + } + doCommit() { + if (this.currentMask) this.currentMask.doCommit(); + super.doCommit(); + } + nearestInputPos() { + return this.currentMask ? this.currentMask.nearestInputPos(...arguments) : super.nearestInputPos(...arguments); + } + get overwrite() { + return this.currentMask ? this.currentMask.overwrite : super.overwrite; + } + set overwrite(overwrite) { + console.warn('"overwrite" option is not available in dynamic mask, use this option in siblings'); + } + get eager() { + return this.currentMask ? this.currentMask.eager : super.eager; + } + set eager(eager) { + console.warn('"eager" option is not available in dynamic mask, use this option in siblings'); + } + get skipInvalid() { + return this.currentMask ? this.currentMask.skipInvalid : super.skipInvalid; + } + set skipInvalid(skipInvalid) { + if (this.isInitialized || skipInvalid !== Masked.DEFAULTS.skipInvalid) { + console.warn('"skipInvalid" option is not available in dynamic mask, use this option in siblings'); + } + } + maskEquals(mask) { + return Array.isArray(mask) && this.compiledMasks.every((m, mi) => { + if (!mask[mi]) return; + const _mask$mi = mask[mi], + { + mask: oldMask + } = _mask$mi, + restOpts = _objectWithoutPropertiesLoose(_mask$mi, _excluded2); + return objectIncludes(m, restOpts) && m.maskEquals(oldMask); + }); + } + typedValueEquals(value) { + var _this$currentMask5; + return Boolean((_this$currentMask5 = this.currentMask) === null || _this$currentMask5 === void 0 ? void 0 : _this$currentMask5.typedValueEquals(value)); + } + } + MaskedDynamic.DEFAULTS = { + dispatch: (appended, masked, flags, tail) => { + if (!masked.compiledMasks.length) return; + const inputValue = masked.rawInputValue; + const inputs = masked.compiledMasks.map((m, index) => { + const isCurrent = masked.currentMask === m; + const startInputPos = isCurrent ? m.value.length : m.nearestInputPos(m.value.length, DIRECTION.FORCE_LEFT); + if (m.rawInputValue !== inputValue) { + m.reset(); + m.append(inputValue, { + raw: true + }); + } else if (!isCurrent) { + m.remove(startInputPos); + } + m.append(appended, masked.currentMaskFlags(flags)); + m.appendTail(tail); + return { + index, + weight: m.rawInputValue.length, + totalInputPositions: m.totalInputPositions(0, Math.max(startInputPos, m.nearestInputPos(m.value.length, DIRECTION.FORCE_LEFT))) + }; + }); + inputs.sort((i1, i2) => i2.weight - i1.weight || i2.totalInputPositions - i1.totalInputPositions); + return masked.compiledMasks[inputs[0].index]; + } + }; + IMask.MaskedDynamic = MaskedDynamic; + + const PIPE_TYPE = { + MASKED: 'value', + UNMASKED: 'unmaskedValue', + TYPED: 'typedValue' + }; + function createPipe(mask) { + let from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : PIPE_TYPE.MASKED; + let to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : PIPE_TYPE.MASKED; + const masked = createMask(mask); + return value => masked.runIsolated(m => { + m[from] = value; + return m[to]; + }); + } + function pipe(value) { + for (var _len = arguments.length, pipeArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + pipeArgs[_key - 1] = arguments[_key]; + } + return createPipe(...pipeArgs)(value); + } + IMask.PIPE_TYPE = PIPE_TYPE; + IMask.createPipe = createPipe; + IMask.pipe = pipe; + + try { + globalThis.IMask = IMask; + } catch (e) {} + + var maskElementList = [].slice.call(document.querySelectorAll('[data-mask]')); + maskElementList.map(function (maskEl) { + return new IMask(maskEl, { + mask: maskEl.dataset.mask, + lazy: maskEl.dataset['mask-visible'] === 'true' + }); + }); + + var top = 'top'; + var bottom = 'bottom'; + var right = 'right'; + var left = 'left'; + var auto = 'auto'; + var basePlacements = [top, bottom, right, left]; + var start = 'start'; + var end = 'end'; + var clippingParents = 'clippingParents'; + var viewport = 'viewport'; + var popper = 'popper'; + var reference = 'reference'; + var variationPlacements = basePlacements.reduce(function (acc, placement) { + return acc.concat([placement + "-" + start, placement + "-" + end]); + }, []); + var placements = [].concat(basePlacements, [auto]).reduce(function (acc, placement) { + return acc.concat([placement, placement + "-" + start, placement + "-" + end]); + }, []); + var beforeRead = 'beforeRead'; + var read = 'read'; + var afterRead = 'afterRead'; + var beforeMain = 'beforeMain'; + var main = 'main'; + var afterMain = 'afterMain'; + var beforeWrite = 'beforeWrite'; + var write = 'write'; + var afterWrite = 'afterWrite'; + var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; + + function getNodeName(element) { + return element ? (element.nodeName || '').toLowerCase() : null; + } + + function getWindow(node) { + if (node == null) { + return window; + } + if (node.toString() !== '[object Window]') { + var ownerDocument = node.ownerDocument; + return ownerDocument ? ownerDocument.defaultView || window : window; + } + return node; + } + + function isElement$1(node) { + var OwnElement = getWindow(node).Element; + return node instanceof OwnElement || node instanceof Element; + } + function isHTMLElement(node) { + var OwnElement = getWindow(node).HTMLElement; + return node instanceof OwnElement || node instanceof HTMLElement; + } + function isShadowRoot(node) { + if (typeof ShadowRoot === 'undefined') { + return false; + } + var OwnElement = getWindow(node).ShadowRoot; + return node instanceof OwnElement || node instanceof ShadowRoot; + } + + function applyStyles(_ref) { + var state = _ref.state; + Object.keys(state.elements).forEach(function (name) { + var style = state.styles[name] || {}; + var attributes = state.attributes[name] || {}; + var element = state.elements[name]; + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style); + Object.keys(attributes).forEach(function (name) { + var value = attributes[name]; + if (value === false) { + element.removeAttribute(name); + } else { + element.setAttribute(name, value === true ? '' : value); + } + }); + }); + } + function effect$2(_ref2) { + var state = _ref2.state; + var initialStyles = { + popper: { + position: state.options.strategy, + left: '0', + top: '0', + margin: '0' + }, + arrow: { + position: 'absolute' + }, + reference: {} + }; + Object.assign(state.elements.popper.style, initialStyles.popper); + state.styles = initialStyles; + if (state.elements.arrow) { + Object.assign(state.elements.arrow.style, initialStyles.arrow); + } + return function () { + Object.keys(state.elements).forEach(function (name) { + var element = state.elements[name]; + var attributes = state.attributes[name] || {}; + var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); + var style = styleProperties.reduce(function (style, property) { + style[property] = ''; + return style; + }, {}); + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style); + Object.keys(attributes).forEach(function (attribute) { + element.removeAttribute(attribute); + }); + }); + }; + } + var applyStyles$1 = { + name: 'applyStyles', + enabled: true, + phase: 'write', + fn: applyStyles, + effect: effect$2, + requires: ['computeStyles'] + }; + + function getBasePlacement(placement) { + return placement.split('-')[0]; + } + + var max = Math.max; + var min = Math.min; + var round = Math.round; + + function getUAString() { + var uaData = navigator.userAgentData; + if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) { + return uaData.brands.map(function (item) { + return item.brand + "/" + item.version; + }).join(' '); + } + return navigator.userAgent; + } + + function isLayoutViewport() { + return !/^((?!chrome|android).)*safari/i.test(getUAString()); + } + + function getBoundingClientRect(element, includeScale, isFixedStrategy) { + if (includeScale === void 0) { + includeScale = false; + } + if (isFixedStrategy === void 0) { + isFixedStrategy = false; + } + var clientRect = element.getBoundingClientRect(); + var scaleX = 1; + var scaleY = 1; + if (includeScale && isHTMLElement(element)) { + scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1; + scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1; + } + var _ref = isElement$1(element) ? getWindow(element) : window, + visualViewport = _ref.visualViewport; + var addVisualOffsets = !isLayoutViewport() && isFixedStrategy; + var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; + var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; + var width = clientRect.width / scaleX; + var height = clientRect.height / scaleY; + return { + width: width, + height: height, + top: y, + right: x + width, + bottom: y + height, + left: x, + x: x, + y: y + }; + } + + function getLayoutRect(element) { + var clientRect = getBoundingClientRect(element); + var width = element.offsetWidth; + var height = element.offsetHeight; + if (Math.abs(clientRect.width - width) <= 1) { + width = clientRect.width; + } + if (Math.abs(clientRect.height - height) <= 1) { + height = clientRect.height; + } + return { + x: element.offsetLeft, + y: element.offsetTop, + width: width, + height: height + }; + } + + function contains(parent, child) { + var rootNode = child.getRootNode && child.getRootNode(); + if (parent.contains(child)) { + return true; + } + else if (rootNode && isShadowRoot(rootNode)) { + var next = child; + do { + if (next && parent.isSameNode(next)) { + return true; + } + next = next.parentNode || next.host; + } while (next); + } + return false; + } + + function getComputedStyle$1(element) { + return getWindow(element).getComputedStyle(element); + } + + function isTableElement(element) { + return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; + } + + function getDocumentElement(element) { + return ((isElement$1(element) ? element.ownerDocument : + element.document) || window.document).documentElement; + } + + function getParentNode(element) { + if (getNodeName(element) === 'html') { + return element; + } + return ( + element.assignedSlot || + element.parentNode || ( + isShadowRoot(element) ? element.host : null) || + getDocumentElement(element) + ); + } + + function getTrueOffsetParent(element) { + if (!isHTMLElement(element) || + getComputedStyle$1(element).position === 'fixed') { + return null; + } + return element.offsetParent; + } + function getContainingBlock(element) { + var isFirefox = /firefox/i.test(getUAString()); + var isIE = /Trident/i.test(getUAString()); + if (isIE && isHTMLElement(element)) { + var elementCss = getComputedStyle$1(element); + if (elementCss.position === 'fixed') { + return null; + } + } + var currentNode = getParentNode(element); + if (isShadowRoot(currentNode)) { + currentNode = currentNode.host; + } + while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) { + var css = getComputedStyle$1(currentNode); + if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') { + return currentNode; + } else { + currentNode = currentNode.parentNode; + } + } + return null; + } + function getOffsetParent(element) { + var window = getWindow(element); + var offsetParent = getTrueOffsetParent(element); + while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') { + offsetParent = getTrueOffsetParent(offsetParent); + } + if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static')) { + return window; + } + return offsetParent || getContainingBlock(element) || window; + } + + function getMainAxisFromPlacement(placement) { + return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; + } + + function within(min$1, value, max$1) { + return max(min$1, min(value, max$1)); + } + function withinMaxClamp(min, value, max) { + var v = within(min, value, max); + return v > max ? max : v; + } + + function getFreshSideObject() { + return { + top: 0, + right: 0, + bottom: 0, + left: 0 + }; + } + + function mergePaddingObject(paddingObject) { + return Object.assign({}, getFreshSideObject(), paddingObject); + } + + function expandToHashMap(value, keys) { + return keys.reduce(function (hashMap, key) { + hashMap[key] = value; + return hashMap; + }, {}); + } + + var toPaddingObject = function toPaddingObject(padding, state) { + padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { + placement: state.placement + })) : padding; + return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); + }; + function arrow(_ref) { + var _state$modifiersData$; + var state = _ref.state, + name = _ref.name, + options = _ref.options; + var arrowElement = state.elements.arrow; + var popperOffsets = state.modifiersData.popperOffsets; + var basePlacement = getBasePlacement(state.placement); + var axis = getMainAxisFromPlacement(basePlacement); + var isVertical = [left, right].indexOf(basePlacement) >= 0; + var len = isVertical ? 'height' : 'width'; + if (!arrowElement || !popperOffsets) { + return; + } + var paddingObject = toPaddingObject(options.padding, state); + var arrowRect = getLayoutRect(arrowElement); + var minProp = axis === 'y' ? top : left; + var maxProp = axis === 'y' ? bottom : right; + var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; + var startDiff = popperOffsets[axis] - state.rects.reference[axis]; + var arrowOffsetParent = getOffsetParent(arrowElement); + var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; + var centerToReference = endDiff / 2 - startDiff / 2; + var min = paddingObject[minProp]; + var max = clientSize - arrowRect[len] - paddingObject[maxProp]; + var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; + var offset = within(min, center, max); + var axisProp = axis; + state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); + } + function effect$1(_ref2) { + var state = _ref2.state, + options = _ref2.options; + var _options$element = options.element, + arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; + if (arrowElement == null) { + return; + } + if (typeof arrowElement === 'string') { + arrowElement = state.elements.popper.querySelector(arrowElement); + if (!arrowElement) { + return; + } + } + if (!contains(state.elements.popper, arrowElement)) { + return; + } + state.elements.arrow = arrowElement; + } + var arrow$1 = { + name: 'arrow', + enabled: true, + phase: 'main', + fn: arrow, + effect: effect$1, + requires: ['popperOffsets'], + requiresIfExists: ['preventOverflow'] + }; + + function getVariation(placement) { + return placement.split('-')[1]; + } + + var unsetSides = { + top: 'auto', + right: 'auto', + bottom: 'auto', + left: 'auto' + }; + function roundOffsetsByDPR(_ref, win) { + var x = _ref.x, + y = _ref.y; + var dpr = win.devicePixelRatio || 1; + return { + x: round(x * dpr) / dpr || 0, + y: round(y * dpr) / dpr || 0 + }; + } + function mapToStyles(_ref2) { + var _Object$assign2; + var popper = _ref2.popper, + popperRect = _ref2.popperRect, + placement = _ref2.placement, + variation = _ref2.variation, + offsets = _ref2.offsets, + position = _ref2.position, + gpuAcceleration = _ref2.gpuAcceleration, + adaptive = _ref2.adaptive, + roundOffsets = _ref2.roundOffsets, + isFixed = _ref2.isFixed; + var _offsets$x = offsets.x, + x = _offsets$x === void 0 ? 0 : _offsets$x, + _offsets$y = offsets.y, + y = _offsets$y === void 0 ? 0 : _offsets$y; + var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({ + x: x, + y: y + }) : { + x: x, + y: y + }; + x = _ref3.x; + y = _ref3.y; + var hasX = offsets.hasOwnProperty('x'); + var hasY = offsets.hasOwnProperty('y'); + var sideX = left; + var sideY = top; + var win = window; + if (adaptive) { + var offsetParent = getOffsetParent(popper); + var heightProp = 'clientHeight'; + var widthProp = 'clientWidth'; + if (offsetParent === getWindow(popper)) { + offsetParent = getDocumentElement(popper); + if (getComputedStyle$1(offsetParent).position !== 'static' && position === 'absolute') { + heightProp = 'scrollHeight'; + widthProp = 'scrollWidth'; + } + } + offsetParent = offsetParent; + if (placement === top || (placement === left || placement === right) && variation === end) { + sideY = bottom; + var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : + offsetParent[heightProp]; + y -= offsetY - popperRect.height; + y *= gpuAcceleration ? 1 : -1; + } + if (placement === left || (placement === top || placement === bottom) && variation === end) { + sideX = right; + var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : + offsetParent[widthProp]; + x -= offsetX - popperRect.width; + x *= gpuAcceleration ? 1 : -1; + } + } + var commonStyles = Object.assign({ + position: position + }, adaptive && unsetSides); + var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ + x: x, + y: y + }, getWindow(popper)) : { + x: x, + y: y + }; + x = _ref4.x; + y = _ref4.y; + if (gpuAcceleration) { + var _Object$assign; + return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); + } + return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); + } + function computeStyles(_ref5) { + var state = _ref5.state, + options = _ref5.options; + var _options$gpuAccelerat = options.gpuAcceleration, + gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, + _options$adaptive = options.adaptive, + adaptive = _options$adaptive === void 0 ? true : _options$adaptive, + _options$roundOffsets = options.roundOffsets, + roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; + var commonStyles = { + placement: getBasePlacement(state.placement), + variation: getVariation(state.placement), + popper: state.elements.popper, + popperRect: state.rects.popper, + gpuAcceleration: gpuAcceleration, + isFixed: state.options.strategy === 'fixed' + }; + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive: adaptive, + roundOffsets: roundOffsets + }))); + } + if (state.modifiersData.arrow != null) { + state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.arrow, + position: 'absolute', + adaptive: false, + roundOffsets: roundOffsets + }))); + } + state.attributes.popper = Object.assign({}, state.attributes.popper, { + 'data-popper-placement': state.placement + }); + } + var computeStyles$1 = { + name: 'computeStyles', + enabled: true, + phase: 'beforeWrite', + fn: computeStyles, + data: {} + }; + + var passive = { + passive: true + }; + function effect(_ref) { + var state = _ref.state, + instance = _ref.instance, + options = _ref.options; + var _options$scroll = options.scroll, + scroll = _options$scroll === void 0 ? true : _options$scroll, + _options$resize = options.resize, + resize = _options$resize === void 0 ? true : _options$resize; + var window = getWindow(state.elements.popper); + var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); + if (scroll) { + scrollParents.forEach(function (scrollParent) { + scrollParent.addEventListener('scroll', instance.update, passive); + }); + } + if (resize) { + window.addEventListener('resize', instance.update, passive); + } + return function () { + if (scroll) { + scrollParents.forEach(function (scrollParent) { + scrollParent.removeEventListener('scroll', instance.update, passive); + }); + } + if (resize) { + window.removeEventListener('resize', instance.update, passive); + } + }; + } + var eventListeners = { + name: 'eventListeners', + enabled: true, + phase: 'write', + fn: function fn() {}, + effect: effect, + data: {} + }; + + var hash$1 = { + left: 'right', + right: 'left', + bottom: 'top', + top: 'bottom' + }; + function getOppositePlacement(placement) { + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash$1[matched]; + }); + } + + var hash = { + start: 'end', + end: 'start' + }; + function getOppositeVariationPlacement(placement) { + return placement.replace(/start|end/g, function (matched) { + return hash[matched]; + }); + } + + function getWindowScroll(node) { + var win = getWindow(node); + var scrollLeft = win.pageXOffset; + var scrollTop = win.pageYOffset; + return { + scrollLeft: scrollLeft, + scrollTop: scrollTop + }; + } + + function getWindowScrollBarX(element) { + return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; + } + + function getViewportRect(element, strategy) { + var win = getWindow(element); + var html = getDocumentElement(element); + var visualViewport = win.visualViewport; + var width = html.clientWidth; + var height = html.clientHeight; + var x = 0; + var y = 0; + if (visualViewport) { + width = visualViewport.width; + height = visualViewport.height; + var layoutViewport = isLayoutViewport(); + if (layoutViewport || !layoutViewport && strategy === 'fixed') { + x = visualViewport.offsetLeft; + y = visualViewport.offsetTop; + } + } + return { + width: width, + height: height, + x: x + getWindowScrollBarX(element), + y: y + }; + } + + function getDocumentRect(element) { + var _element$ownerDocumen; + var html = getDocumentElement(element); + var winScroll = getWindowScroll(element); + var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; + var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); + var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); + var x = -winScroll.scrollLeft + getWindowScrollBarX(element); + var y = -winScroll.scrollTop; + if (getComputedStyle$1(body || html).direction === 'rtl') { + x += max(html.clientWidth, body ? body.clientWidth : 0) - width; + } + return { + width: width, + height: height, + x: x, + y: y + }; + } + + function isScrollParent(element) { + var _getComputedStyle = getComputedStyle$1(element), + overflow = _getComputedStyle.overflow, + overflowX = _getComputedStyle.overflowX, + overflowY = _getComputedStyle.overflowY; + return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); + } + + function getScrollParent(node) { + if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { + return node.ownerDocument.body; + } + if (isHTMLElement(node) && isScrollParent(node)) { + return node; + } + return getScrollParent(getParentNode(node)); + } + + function listScrollParents(element, list) { + var _element$ownerDocumen; + if (list === void 0) { + list = []; + } + var scrollParent = getScrollParent(element); + var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; + var updatedList = list.concat(target); + return isBody ? updatedList : + updatedList.concat(listScrollParents(getParentNode(target))); + } + + function rectToClientRect(rect) { + return Object.assign({}, rect, { + left: rect.x, + top: rect.y, + right: rect.x + rect.width, + bottom: rect.y + rect.height + }); + } + + function getInnerBoundingClientRect(element, strategy) { + var rect = getBoundingClientRect(element, false, strategy === 'fixed'); + rect.top = rect.top + element.clientTop; + rect.left = rect.left + element.clientLeft; + rect.bottom = rect.top + element.clientHeight; + rect.right = rect.left + element.clientWidth; + rect.width = element.clientWidth; + rect.height = element.clientHeight; + rect.x = rect.left; + rect.y = rect.top; + return rect; + } + function getClientRectFromMixedType(element, clippingParent, strategy) { + return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement$1(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element))); + } + function getClippingParents(element) { + var clippingParents = listScrollParents(getParentNode(element)); + var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle$1(element).position) >= 0; + var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; + if (!isElement$1(clipperElement)) { + return []; + } + return clippingParents.filter(function (clippingParent) { + return isElement$1(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body'; + }); + } + function getClippingRect(element, boundary, rootBoundary, strategy) { + var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); + var clippingParents = [].concat(mainClippingParents, [rootBoundary]); + var firstClippingParent = clippingParents[0]; + var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { + var rect = getClientRectFromMixedType(element, clippingParent, strategy); + accRect.top = max(rect.top, accRect.top); + accRect.right = min(rect.right, accRect.right); + accRect.bottom = min(rect.bottom, accRect.bottom); + accRect.left = max(rect.left, accRect.left); + return accRect; + }, getClientRectFromMixedType(element, firstClippingParent, strategy)); + clippingRect.width = clippingRect.right - clippingRect.left; + clippingRect.height = clippingRect.bottom - clippingRect.top; + clippingRect.x = clippingRect.left; + clippingRect.y = clippingRect.top; + return clippingRect; + } + + function computeOffsets(_ref) { + var reference = _ref.reference, + element = _ref.element, + placement = _ref.placement; + var basePlacement = placement ? getBasePlacement(placement) : null; + var variation = placement ? getVariation(placement) : null; + var commonX = reference.x + reference.width / 2 - element.width / 2; + var commonY = reference.y + reference.height / 2 - element.height / 2; + var offsets; + switch (basePlacement) { + case top: + offsets = { + x: commonX, + y: reference.y - element.height + }; + break; + case bottom: + offsets = { + x: commonX, + y: reference.y + reference.height + }; + break; + case right: + offsets = { + x: reference.x + reference.width, + y: commonY + }; + break; + case left: + offsets = { + x: reference.x - element.width, + y: commonY + }; + break; + default: + offsets = { + x: reference.x, + y: reference.y + }; + } + var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; + if (mainAxis != null) { + var len = mainAxis === 'y' ? 'height' : 'width'; + switch (variation) { + case start: + offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); + break; + case end: + offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); + break; + } + } + return offsets; + } + + function detectOverflow(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, + _options$placement = _options.placement, + placement = _options$placement === void 0 ? state.placement : _options$placement, + _options$strategy = _options.strategy, + strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, + _options$boundary = _options.boundary, + boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, + _options$rootBoundary = _options.rootBoundary, + rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, + _options$elementConte = _options.elementContext, + elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, + _options$altBoundary = _options.altBoundary, + altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, + _options$padding = _options.padding, + padding = _options$padding === void 0 ? 0 : _options$padding; + var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); + var altContext = elementContext === popper ? reference : popper; + var popperRect = state.rects.popper; + var element = state.elements[altBoundary ? altContext : elementContext]; + var clippingClientRect = getClippingRect(isElement$1(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy); + var referenceClientRect = getBoundingClientRect(state.elements.reference); + var popperOffsets = computeOffsets({ + reference: referenceClientRect, + element: popperRect, + strategy: 'absolute', + placement: placement + }); + var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets)); + var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; + var overflowOffsets = { + top: clippingClientRect.top - elementClientRect.top + paddingObject.top, + bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, + left: clippingClientRect.left - elementClientRect.left + paddingObject.left, + right: elementClientRect.right - clippingClientRect.right + paddingObject.right + }; + var offsetData = state.modifiersData.offset; + if (elementContext === popper && offsetData) { + var offset = offsetData[placement]; + Object.keys(overflowOffsets).forEach(function (key) { + var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; + var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x'; + overflowOffsets[key] += offset[axis] * multiply; + }); + } + return overflowOffsets; + } + + function computeAutoPlacement(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, + placement = _options.placement, + boundary = _options.boundary, + rootBoundary = _options.rootBoundary, + padding = _options.padding, + flipVariations = _options.flipVariations, + _options$allowedAutoP = _options.allowedAutoPlacements, + allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; + var variation = getVariation(placement); + var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { + return getVariation(placement) === variation; + }) : basePlacements; + var allowedPlacements = placements$1.filter(function (placement) { + return allowedAutoPlacements.indexOf(placement) >= 0; + }); + if (allowedPlacements.length === 0) { + allowedPlacements = placements$1; + } + var overflows = allowedPlacements.reduce(function (acc, placement) { + acc[placement] = detectOverflow(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding + })[getBasePlacement(placement)]; + return acc; + }, {}); + return Object.keys(overflows).sort(function (a, b) { + return overflows[a] - overflows[b]; + }); + } + + function getExpandedFallbackPlacements(placement) { + if (getBasePlacement(placement) === auto) { + return []; + } + var oppositePlacement = getOppositePlacement(placement); + return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; + } + function flip(_ref) { + var state = _ref.state, + options = _ref.options, + name = _ref.name; + if (state.modifiersData[name]._skip) { + return; + } + var _options$mainAxis = options.mainAxis, + checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, + _options$altAxis = options.altAxis, + checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, + specifiedFallbackPlacements = options.fallbackPlacements, + padding = options.padding, + boundary = options.boundary, + rootBoundary = options.rootBoundary, + altBoundary = options.altBoundary, + _options$flipVariatio = options.flipVariations, + flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, + allowedAutoPlacements = options.allowedAutoPlacements; + var preferredPlacement = state.options.placement; + var basePlacement = getBasePlacement(preferredPlacement); + var isBasePlacement = basePlacement === preferredPlacement; + var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); + var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { + return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding, + flipVariations: flipVariations, + allowedAutoPlacements: allowedAutoPlacements + }) : placement); + }, []); + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var checksMap = new Map(); + var makeFallbackChecks = true; + var firstFittingPlacement = placements[0]; + for (var i = 0; i < placements.length; i++) { + var placement = placements[i]; + var _basePlacement = getBasePlacement(placement); + var isStartVariation = getVariation(placement) === start; + var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; + var len = isVertical ? 'width' : 'height'; + var overflow = detectOverflow(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + altBoundary: altBoundary, + padding: padding + }); + var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; + if (referenceRect[len] > popperRect[len]) { + mainVariationSide = getOppositePlacement(mainVariationSide); + } + var altVariationSide = getOppositePlacement(mainVariationSide); + var checks = []; + if (checkMainAxis) { + checks.push(overflow[_basePlacement] <= 0); + } + if (checkAltAxis) { + checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); + } + if (checks.every(function (check) { + return check; + })) { + firstFittingPlacement = placement; + makeFallbackChecks = false; + break; + } + checksMap.set(placement, checks); + } + if (makeFallbackChecks) { + var numberOfChecks = flipVariations ? 3 : 1; + var _loop = function _loop(_i) { + var fittingPlacement = placements.find(function (placement) { + var checks = checksMap.get(placement); + if (checks) { + return checks.slice(0, _i).every(function (check) { + return check; + }); + } + }); + if (fittingPlacement) { + firstFittingPlacement = fittingPlacement; + return "break"; + } + }; + for (var _i = numberOfChecks; _i > 0; _i--) { + var _ret = _loop(_i); + if (_ret === "break") break; + } + } + if (state.placement !== firstFittingPlacement) { + state.modifiersData[name]._skip = true; + state.placement = firstFittingPlacement; + state.reset = true; + } + } + var flip$1 = { + name: 'flip', + enabled: true, + phase: 'main', + fn: flip, + requiresIfExists: ['offset'], + data: { + _skip: false + } + }; + + function getSideOffsets(overflow, rect, preventedOffsets) { + if (preventedOffsets === void 0) { + preventedOffsets = { + x: 0, + y: 0 + }; + } + return { + top: overflow.top - rect.height - preventedOffsets.y, + right: overflow.right - rect.width + preventedOffsets.x, + bottom: overflow.bottom - rect.height + preventedOffsets.y, + left: overflow.left - rect.width - preventedOffsets.x + }; + } + function isAnySideFullyClipped(overflow) { + return [top, right, bottom, left].some(function (side) { + return overflow[side] >= 0; + }); + } + function hide(_ref) { + var state = _ref.state, + name = _ref.name; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var preventedOffsets = state.modifiersData.preventOverflow; + var referenceOverflow = detectOverflow(state, { + elementContext: 'reference' + }); + var popperAltOverflow = detectOverflow(state, { + altBoundary: true + }); + var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); + var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); + var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); + var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); + state.modifiersData[name] = { + referenceClippingOffsets: referenceClippingOffsets, + popperEscapeOffsets: popperEscapeOffsets, + isReferenceHidden: isReferenceHidden, + hasPopperEscaped: hasPopperEscaped + }; + state.attributes.popper = Object.assign({}, state.attributes.popper, { + 'data-popper-reference-hidden': isReferenceHidden, + 'data-popper-escaped': hasPopperEscaped + }); + } + var hide$1 = { + name: 'hide', + enabled: true, + phase: 'main', + requiresIfExists: ['preventOverflow'], + fn: hide + }; + + function distanceAndSkiddingToXY(placement, rects, offset) { + var basePlacement = getBasePlacement(placement); + var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; + var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { + placement: placement + })) : offset, + skidding = _ref[0], + distance = _ref[1]; + skidding = skidding || 0; + distance = (distance || 0) * invertDistance; + return [left, right].indexOf(basePlacement) >= 0 ? { + x: distance, + y: skidding + } : { + x: skidding, + y: distance + }; + } + function offset(_ref2) { + var state = _ref2.state, + options = _ref2.options, + name = _ref2.name; + var _options$offset = options.offset, + offset = _options$offset === void 0 ? [0, 0] : _options$offset; + var data = placements.reduce(function (acc, placement) { + acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); + return acc; + }, {}); + var _data$state$placement = data[state.placement], + x = _data$state$placement.x, + y = _data$state$placement.y; + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + state.modifiersData[name] = data; + } + var offset$1 = { + name: 'offset', + enabled: true, + phase: 'main', + requires: ['popperOffsets'], + fn: offset + }; + + function popperOffsets(_ref) { + var state = _ref.state, + name = _ref.name; + state.modifiersData[name] = computeOffsets({ + reference: state.rects.reference, + element: state.rects.popper, + strategy: 'absolute', + placement: state.placement + }); + } + var popperOffsets$1 = { + name: 'popperOffsets', + enabled: true, + phase: 'read', + fn: popperOffsets, + data: {} + }; + + function getAltAxis(axis) { + return axis === 'x' ? 'y' : 'x'; + } + + function preventOverflow(_ref) { + var state = _ref.state, + options = _ref.options, + name = _ref.name; + var _options$mainAxis = options.mainAxis, + checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, + _options$altAxis = options.altAxis, + checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, + boundary = options.boundary, + rootBoundary = options.rootBoundary, + altBoundary = options.altBoundary, + padding = options.padding, + _options$tether = options.tether, + tether = _options$tether === void 0 ? true : _options$tether, + _options$tetherOffset = options.tetherOffset, + tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; + var overflow = detectOverflow(state, { + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding, + altBoundary: altBoundary + }); + var basePlacement = getBasePlacement(state.placement); + var variation = getVariation(state.placement); + var isBasePlacement = !variation; + var mainAxis = getMainAxisFromPlacement(basePlacement); + var altAxis = getAltAxis(mainAxis); + var popperOffsets = state.modifiersData.popperOffsets; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { + placement: state.placement + })) : tetherOffset; + var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? { + mainAxis: tetherOffsetValue, + altAxis: tetherOffsetValue + } : Object.assign({ + mainAxis: 0, + altAxis: 0 + }, tetherOffsetValue); + var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; + var data = { + x: 0, + y: 0 + }; + if (!popperOffsets) { + return; + } + if (checkMainAxis) { + var _offsetModifierState$; + var mainSide = mainAxis === 'y' ? top : left; + var altSide = mainAxis === 'y' ? bottom : right; + var len = mainAxis === 'y' ? 'height' : 'width'; + var offset = popperOffsets[mainAxis]; + var min$1 = offset + overflow[mainSide]; + var max$1 = offset - overflow[altSide]; + var additive = tether ? -popperRect[len] / 2 : 0; + var minLen = variation === start ? referenceRect[len] : popperRect[len]; + var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; + var arrowElement = state.elements.arrow; + var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { + width: 0, + height: 0 + }; + var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject(); + var arrowPaddingMin = arrowPaddingObject[mainSide]; + var arrowPaddingMax = arrowPaddingObject[altSide]; + var arrowLen = within(0, referenceRect[len], arrowRect[len]); + var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; + var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; + var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); + var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; + var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; + var tetherMin = offset + minOffset - offsetModifierValue - clientOffset; + var tetherMax = offset + maxOffset - offsetModifierValue; + var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1); + popperOffsets[mainAxis] = preventedOffset; + data[mainAxis] = preventedOffset - offset; + } + if (checkAltAxis) { + var _offsetModifierState$2; + var _mainSide = mainAxis === 'x' ? top : left; + var _altSide = mainAxis === 'x' ? bottom : right; + var _offset = popperOffsets[altAxis]; + var _len = altAxis === 'y' ? 'height' : 'width'; + var _min = _offset + overflow[_mainSide]; + var _max = _offset - overflow[_altSide]; + var isOriginSide = [top, left].indexOf(basePlacement) !== -1; + var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; + var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; + var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; + var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); + popperOffsets[altAxis] = _preventedOffset; + data[altAxis] = _preventedOffset - _offset; + } + state.modifiersData[name] = data; + } + var preventOverflow$1 = { + name: 'preventOverflow', + enabled: true, + phase: 'main', + fn: preventOverflow, + requiresIfExists: ['offset'] + }; + + function getHTMLElementScroll(element) { + return { + scrollLeft: element.scrollLeft, + scrollTop: element.scrollTop + }; + } + + function getNodeScroll(node) { + if (node === getWindow(node) || !isHTMLElement(node)) { + return getWindowScroll(node); + } else { + return getHTMLElementScroll(node); + } + } + + function isElementScaled(element) { + var rect = element.getBoundingClientRect(); + var scaleX = round(rect.width) / element.offsetWidth || 1; + var scaleY = round(rect.height) / element.offsetHeight || 1; + return scaleX !== 1 || scaleY !== 1; + } + function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { + if (isFixed === void 0) { + isFixed = false; + } + var isOffsetParentAnElement = isHTMLElement(offsetParent); + var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); + var documentElement = getDocumentElement(offsetParent); + var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed); + var scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + var offsets = { + x: 0, + y: 0 + }; + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== 'body' || + isScrollParent(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + if (isHTMLElement(offsetParent)) { + offsets = getBoundingClientRect(offsetParent, true); + offsets.x += offsetParent.clientLeft; + offsets.y += offsetParent.clientTop; + } else if (documentElement) { + offsets.x = getWindowScrollBarX(documentElement); + } + } + return { + x: rect.left + scroll.scrollLeft - offsets.x, + y: rect.top + scroll.scrollTop - offsets.y, + width: rect.width, + height: rect.height + }; + } + + function order(modifiers) { + var map = new Map(); + var visited = new Set(); + var result = []; + modifiers.forEach(function (modifier) { + map.set(modifier.name, modifier); + }); + function sort(modifier) { + visited.add(modifier.name); + var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); + requires.forEach(function (dep) { + if (!visited.has(dep)) { + var depModifier = map.get(dep); + if (depModifier) { + sort(depModifier); + } + } + }); + result.push(modifier); + } + modifiers.forEach(function (modifier) { + if (!visited.has(modifier.name)) { + sort(modifier); + } + }); + return result; + } + function orderModifiers(modifiers) { + var orderedModifiers = order(modifiers); + return modifierPhases.reduce(function (acc, phase) { + return acc.concat(orderedModifiers.filter(function (modifier) { + return modifier.phase === phase; + })); + }, []); + } + + function debounce(fn) { + var pending; + return function () { + if (!pending) { + pending = new Promise(function (resolve) { + Promise.resolve().then(function () { + pending = undefined; + resolve(fn()); + }); + }); + } + return pending; + }; + } + + function mergeByName(modifiers) { + var merged = modifiers.reduce(function (merged, current) { + var existing = merged[current.name]; + merged[current.name] = existing ? Object.assign({}, existing, current, { + options: Object.assign({}, existing.options, current.options), + data: Object.assign({}, existing.data, current.data) + }) : current; + return merged; + }, {}); + return Object.keys(merged).map(function (key) { + return merged[key]; + }); + } + + var DEFAULT_OPTIONS = { + placement: 'bottom', + modifiers: [], + strategy: 'absolute' + }; + function areValidElements() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return !args.some(function (element) { + return !(element && typeof element.getBoundingClientRect === 'function'); + }); + } + function popperGenerator(generatorOptions) { + if (generatorOptions === void 0) { + generatorOptions = {}; + } + var _generatorOptions = generatorOptions, + _generatorOptions$def = _generatorOptions.defaultModifiers, + defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, + _generatorOptions$def2 = _generatorOptions.defaultOptions, + defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; + return function createPopper(reference, popper, options) { + if (options === void 0) { + options = defaultOptions; + } + var state = { + placement: 'bottom', + orderedModifiers: [], + options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), + modifiersData: {}, + elements: { + reference: reference, + popper: popper + }, + attributes: {}, + styles: {} + }; + var effectCleanupFns = []; + var isDestroyed = false; + var instance = { + state: state, + setOptions: function setOptions(setOptionsAction) { + var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction; + cleanupModifierEffects(); + state.options = Object.assign({}, defaultOptions, state.options, options); + state.scrollParents = { + reference: isElement$1(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [], + popper: listScrollParents(popper) + }; + var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); + state.orderedModifiers = orderedModifiers.filter(function (m) { + return m.enabled; + }); + runModifierEffects(); + return instance.update(); + }, + forceUpdate: function forceUpdate() { + if (isDestroyed) { + return; + } + var _state$elements = state.elements, + reference = _state$elements.reference, + popper = _state$elements.popper; + if (!areValidElements(reference, popper)) { + return; + } + state.rects = { + reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'), + popper: getLayoutRect(popper) + }; + state.reset = false; + state.placement = state.options.placement; + state.orderedModifiers.forEach(function (modifier) { + return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); + }); + for (var index = 0; index < state.orderedModifiers.length; index++) { + if (state.reset === true) { + state.reset = false; + index = -1; + continue; + } + var _state$orderedModifie = state.orderedModifiers[index], + fn = _state$orderedModifie.fn, + _state$orderedModifie2 = _state$orderedModifie.options, + _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, + name = _state$orderedModifie.name; + if (typeof fn === 'function') { + state = fn({ + state: state, + options: _options, + name: name, + instance: instance + }) || state; + } + } + }, + update: debounce(function () { + return new Promise(function (resolve) { + instance.forceUpdate(); + resolve(state); + }); + }), + destroy: function destroy() { + cleanupModifierEffects(); + isDestroyed = true; + } + }; + if (!areValidElements(reference, popper)) { + return instance; + } + instance.setOptions(options).then(function (state) { + if (!isDestroyed && options.onFirstUpdate) { + options.onFirstUpdate(state); + } + }); + function runModifierEffects() { + state.orderedModifiers.forEach(function (_ref3) { + var name = _ref3.name, + _ref3$options = _ref3.options, + options = _ref3$options === void 0 ? {} : _ref3$options, + effect = _ref3.effect; + if (typeof effect === 'function') { + var cleanupFn = effect({ + state: state, + name: name, + instance: instance, + options: options + }); + var noopFn = function noopFn() {}; + effectCleanupFns.push(cleanupFn || noopFn); + } + }); + } + function cleanupModifierEffects() { + effectCleanupFns.forEach(function (fn) { + return fn(); + }); + effectCleanupFns = []; + } + return instance; + }; + } + var createPopper$2 = popperGenerator(); + + var defaultModifiers$1 = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1]; + var createPopper$1 = popperGenerator({ + defaultModifiers: defaultModifiers$1 + }); + + var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1]; + var createPopper = popperGenerator({ + defaultModifiers: defaultModifiers + }); + + var Popper = /*#__PURE__*/Object.freeze({ + __proto__: null, + popperGenerator: popperGenerator, + detectOverflow: detectOverflow, + createPopperBase: createPopper$2, + createPopper: createPopper, + createPopperLite: createPopper$1, + top: top, + bottom: bottom, + right: right, + left: left, + auto: auto, + basePlacements: basePlacements, + start: start, + end: end, + clippingParents: clippingParents, + viewport: viewport, + popper: popper, + reference: reference, + variationPlacements: variationPlacements, + placements: placements, + beforeRead: beforeRead, + read: read, + afterRead: afterRead, + beforeMain: beforeMain, + main: main, + afterMain: afterMain, + beforeWrite: beforeWrite, + write: write, + afterWrite: afterWrite, + modifierPhases: modifierPhases, + applyStyles: applyStyles$1, + arrow: arrow$1, + computeStyles: computeStyles$1, + eventListeners: eventListeners, + flip: flip$1, + hide: hide$1, + offset: offset$1, + popperOffsets: popperOffsets$1, + preventOverflow: preventOverflow$1 + }); + + /*! + * Bootstrap v5.3.0-alpha3 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ + const elementMap = new Map(); + const Data = { + set(element, key, instance) { + if (!elementMap.has(element)) { + elementMap.set(element, new Map()); + } + const instanceMap = elementMap.get(element); + if (!instanceMap.has(key) && instanceMap.size !== 0) { + console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); + return; + } + instanceMap.set(key, instance); + }, + get(element, key) { + if (elementMap.has(element)) { + return elementMap.get(element).get(key) || null; + } + return null; + }, + remove(element, key) { + if (!elementMap.has(element)) { + return; + } + const instanceMap = elementMap.get(element); + instanceMap.delete(key); + if (instanceMap.size === 0) { + elementMap.delete(element); + } + } + }; + const MAX_UID = 1000000; + const MILLISECONDS_MULTIPLIER = 1000; + const TRANSITION_END = 'transitionend'; + const parseSelector = selector => { + if (selector && window.CSS && window.CSS.escape) { + selector = selector.replace(/#([^\s"#']+)/g, (match, id) => `#${CSS.escape(id)}`); + } + return selector; + }; + const toType = object => { + if (object === null || object === undefined) { + return `${object}`; + } + return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase(); + }; + const getUID = prefix => { + do { + prefix += Math.floor(Math.random() * MAX_UID); + } while (document.getElementById(prefix)); + return prefix; + }; + const getTransitionDurationFromElement = element => { + if (!element) { + return 0; + } + let { + transitionDuration, + transitionDelay + } = window.getComputedStyle(element); + const floatTransitionDuration = Number.parseFloat(transitionDuration); + const floatTransitionDelay = Number.parseFloat(transitionDelay); + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } + transitionDuration = transitionDuration.split(',')[0]; + transitionDelay = transitionDelay.split(',')[0]; + return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; + }; + const triggerTransitionEnd = element => { + element.dispatchEvent(new Event(TRANSITION_END)); + }; + const isElement = object => { + if (!object || typeof object !== 'object') { + return false; + } + if (typeof object.jquery !== 'undefined') { + object = object[0]; + } + return typeof object.nodeType !== 'undefined'; + }; + const getElement = object => { + if (isElement(object)) { + return object.jquery ? object[0] : object; + } + if (typeof object === 'string' && object.length > 0) { + return document.querySelector(parseSelector(object)); + } + return null; + }; + const isVisible = element => { + if (!isElement(element) || element.getClientRects().length === 0) { + return false; + } + const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; + const closedDetails = element.closest('details:not([open])'); + if (!closedDetails) { + return elementIsVisible; + } + if (closedDetails !== element) { + const summary = element.closest('summary'); + if (summary && summary.parentNode !== closedDetails) { + return false; + } + if (summary === null) { + return false; + } + } + return elementIsVisible; + }; + const isDisabled = element => { + if (!element || element.nodeType !== Node.ELEMENT_NODE) { + return true; + } + if (element.classList.contains('disabled')) { + return true; + } + if (typeof element.disabled !== 'undefined') { + return element.disabled; + } + return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; + }; + const findShadowRoot = element => { + if (!document.documentElement.attachShadow) { + return null; + } + if (typeof element.getRootNode === 'function') { + const root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + if (element instanceof ShadowRoot) { + return element; + } + if (!element.parentNode) { + return null; + } + return findShadowRoot(element.parentNode); + }; + const noop = () => {}; + const reflow = element => { + element.offsetHeight; + }; + const getjQuery = () => { + if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { + return window.jQuery; + } + return null; + }; + const DOMContentLoadedCallbacks = []; + const onDOMContentLoaded = callback => { + if (document.readyState === 'loading') { + if (!DOMContentLoadedCallbacks.length) { + document.addEventListener('DOMContentLoaded', () => { + for (const callback of DOMContentLoadedCallbacks) { + callback(); + } + }); + } + DOMContentLoadedCallbacks.push(callback); + } else { + callback(); + } + }; + const isRTL = () => document.documentElement.dir === 'rtl'; + const defineJQueryPlugin = plugin => { + onDOMContentLoaded(() => { + const $ = getjQuery(); + if ($) { + const name = plugin.NAME; + const JQUERY_NO_CONFLICT = $.fn[name]; + $.fn[name] = plugin.jQueryInterface; + $.fn[name].Constructor = plugin; + $.fn[name].noConflict = () => { + $.fn[name] = JQUERY_NO_CONFLICT; + return plugin.jQueryInterface; + }; + } + }); + }; + const execute = (possibleCallback, args = [], defaultValue = possibleCallback) => { + return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue; + }; + const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { + if (!waitForTransition) { + execute(callback); + return; + } + const durationPadding = 5; + const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; + let called = false; + const handler = ({ + target + }) => { + if (target !== transitionElement) { + return; + } + called = true; + transitionElement.removeEventListener(TRANSITION_END, handler); + execute(callback); + }; + transitionElement.addEventListener(TRANSITION_END, handler); + setTimeout(() => { + if (!called) { + triggerTransitionEnd(transitionElement); + } + }, emulatedDuration); + }; + const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { + const listLength = list.length; + let index = list.indexOf(activeElement); + if (index === -1) { + return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]; + } + index += shouldGetNext ? 1 : -1; + if (isCycleAllowed) { + index = (index + listLength) % listLength; + } + return list[Math.max(0, Math.min(index, listLength - 1))]; + }; + const namespaceRegex = /[^.]*(?=\..*)\.|.*/; + const stripNameRegex = /\..*/; + const stripUidRegex = /::\d+$/; + const eventRegistry = {}; + let uidEvent = 1; + const customEvents = { + mouseenter: 'mouseover', + mouseleave: 'mouseout' + }; + const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']); + function makeEventUid(element, uid) { + return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; + } + function getElementEvents(element) { + const uid = makeEventUid(element); + element.uidEvent = uid; + eventRegistry[uid] = eventRegistry[uid] || {}; + return eventRegistry[uid]; + } + function bootstrapHandler(element, fn) { + return function handler(event) { + hydrateObj(event, { + delegateTarget: element + }); + if (handler.oneOff) { + EventHandler.off(element, event.type, fn); + } + return fn.apply(element, [event]); + }; + } + function bootstrapDelegationHandler(element, selector, fn) { + return function handler(event) { + const domElements = element.querySelectorAll(selector); + for (let { + target + } = event; target && target !== this; target = target.parentNode) { + for (const domElement of domElements) { + if (domElement !== target) { + continue; + } + hydrateObj(event, { + delegateTarget: target + }); + if (handler.oneOff) { + EventHandler.off(element, event.type, selector, fn); + } + return fn.apply(target, [event]); + } + } + }; + } + function findHandler(events, callable, delegationSelector = null) { + return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector); + } + function normalizeParameters(originalTypeEvent, handler, delegationFunction) { + const isDelegated = typeof handler === 'string'; + const callable = isDelegated ? delegationFunction : handler || delegationFunction; + let typeEvent = getTypeEvent(originalTypeEvent); + if (!nativeEvents.has(typeEvent)) { + typeEvent = originalTypeEvent; + } + return [isDelegated, callable, typeEvent]; + } + function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { + if (typeof originalTypeEvent !== 'string' || !element) { + return; + } + let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + if (originalTypeEvent in customEvents) { + const wrapFunction = fn => { + return function (event) { + if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { + return fn.call(this, event); + } + }; + }; + callable = wrapFunction(callable); + } + const events = getElementEvents(element); + const handlers = events[typeEvent] || (events[typeEvent] = {}); + const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null); + if (previousFunction) { + previousFunction.oneOff = previousFunction.oneOff && oneOff; + return; + } + const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, '')); + const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable); + fn.delegationSelector = isDelegated ? handler : null; + fn.callable = callable; + fn.oneOff = oneOff; + fn.uidEvent = uid; + handlers[uid] = fn; + element.addEventListener(typeEvent, fn, isDelegated); + } + function removeHandler(element, events, typeEvent, handler, delegationSelector) { + const fn = findHandler(events[typeEvent], handler, delegationSelector); + if (!fn) { + return; + } + element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); + delete events[typeEvent][fn.uidEvent]; + } + function removeNamespacedHandlers(element, events, typeEvent, namespace) { + const storeElementEvent = events[typeEvent] || {}; + for (const [handlerKey, event] of Object.entries(storeElementEvent)) { + if (handlerKey.includes(namespace)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } + } + function getTypeEvent(event) { + event = event.replace(stripNameRegex, ''); + return customEvents[event] || event; + } + const EventHandler = { + on(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, false); + }, + one(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, true); + }, + off(element, originalTypeEvent, handler, delegationFunction) { + if (typeof originalTypeEvent !== 'string' || !element) { + return; + } + const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + const inNamespace = typeEvent !== originalTypeEvent; + const events = getElementEvents(element); + const storeElementEvent = events[typeEvent] || {}; + const isNamespace = originalTypeEvent.startsWith('.'); + if (typeof callable !== 'undefined') { + if (!Object.keys(storeElementEvent).length) { + return; + } + removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null); + return; + } + if (isNamespace) { + for (const elementEvent of Object.keys(events)) { + removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); + } + } + for (const [keyHandlers, event] of Object.entries(storeElementEvent)) { + const handlerKey = keyHandlers.replace(stripUidRegex, ''); + if (!inNamespace || originalTypeEvent.includes(handlerKey)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } + }, + trigger(element, event, args) { + if (typeof event !== 'string' || !element) { + return null; + } + const $ = getjQuery(); + const typeEvent = getTypeEvent(event); + const inNamespace = event !== typeEvent; + let jQueryEvent = null; + let bubbles = true; + let nativeDispatch = true; + let defaultPrevented = false; + if (inNamespace && $) { + jQueryEvent = $.Event(event, args); + $(element).trigger(jQueryEvent); + bubbles = !jQueryEvent.isPropagationStopped(); + nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); + defaultPrevented = jQueryEvent.isDefaultPrevented(); + } + const evt = hydrateObj(new Event(event, { + bubbles, + cancelable: true + }), args); + if (defaultPrevented) { + evt.preventDefault(); + } + if (nativeDispatch) { + element.dispatchEvent(evt); + } + if (evt.defaultPrevented && jQueryEvent) { + jQueryEvent.preventDefault(); + } + return evt; + } + }; + function hydrateObj(obj, meta = {}) { + for (const [key, value] of Object.entries(meta)) { + try { + obj[key] = value; + } catch (_unused) { + Object.defineProperty(obj, key, { + configurable: true, + get() { + return value; + } + }); + } + } + return obj; + } + function normalizeData(value) { + if (value === 'true') { + return true; + } + if (value === 'false') { + return false; + } + if (value === Number(value).toString()) { + return Number(value); + } + if (value === '' || value === 'null') { + return null; + } + if (typeof value !== 'string') { + return value; + } + try { + return JSON.parse(decodeURIComponent(value)); + } catch (_unused) { + return value; + } + } + function normalizeDataKey(key) { + return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`); + } + const Manipulator = { + setDataAttribute(element, key, value) { + element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value); + }, + removeDataAttribute(element, key) { + element.removeAttribute(`data-bs-${normalizeDataKey(key)}`); + }, + getDataAttributes(element) { + if (!element) { + return {}; + } + const attributes = {}; + const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig')); + for (const key of bsKeys) { + let pureKey = key.replace(/^bs/, ''); + pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length); + attributes[pureKey] = normalizeData(element.dataset[key]); + } + return attributes; + }, + getDataAttribute(element, key) { + return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`)); + } + }; + class Config { + static get Default() { + return {}; + } + static get DefaultType() { + return {}; + } + static get NAME() { + throw new Error('You have to implement the static method "NAME", for each component!'); + } + _getConfig(config) { + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + return config; + } + _mergeConfigObj(config, element) { + const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; + return { + ...this.constructor.Default, + ...(typeof jsonConfig === 'object' ? jsonConfig : {}), + ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}), + ...(typeof config === 'object' ? config : {}) + }; + } + _typeCheckConfig(config, configTypes = this.constructor.DefaultType) { + for (const [property, expectedTypes] of Object.entries(configTypes)) { + const value = config[property]; + const valueType = isElement(value) ? 'element' : toType(value); + if (!new RegExp(expectedTypes).test(valueType)) { + throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); + } + } + } + } + const VERSION = '5.3.0-alpha2'; + class BaseComponent extends Config { + constructor(element, config) { + super(); + element = getElement(element); + if (!element) { + return; + } + this._element = element; + this._config = this._getConfig(config); + Data.set(this._element, this.constructor.DATA_KEY, this); + } + dispose() { + Data.remove(this._element, this.constructor.DATA_KEY); + EventHandler.off(this._element, this.constructor.EVENT_KEY); + for (const propertyName of Object.getOwnPropertyNames(this)) { + this[propertyName] = null; + } + } + _queueCallback(callback, element, isAnimated = true) { + executeAfterTransition(callback, element, isAnimated); + } + _getConfig(config) { + config = this._mergeConfigObj(config, this._element); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + static getInstance(element) { + return Data.get(getElement(element), this.DATA_KEY); + } + static getOrCreateInstance(element, config = {}) { + return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null); + } + static get VERSION() { + return VERSION; + } + static get DATA_KEY() { + return `bs.${this.NAME}`; + } + static get EVENT_KEY() { + return `.${this.DATA_KEY}`; + } + static eventName(name) { + return `${name}${this.EVENT_KEY}`; + } + } + const getSelector = element => { + let selector = element.getAttribute('data-bs-target'); + if (!selector || selector === '#') { + let hrefAttribute = element.getAttribute('href'); + if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) { + return null; + } + if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) { + hrefAttribute = `#${hrefAttribute.split('#')[1]}`; + } + selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null; + } + return parseSelector(selector); + }; + const SelectorEngine = { + find(selector, element = document.documentElement) { + return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); + }, + findOne(selector, element = document.documentElement) { + return Element.prototype.querySelector.call(element, selector); + }, + children(element, selector) { + return [].concat(...element.children).filter(child => child.matches(selector)); + }, + parents(element, selector) { + const parents = []; + let ancestor = element.parentNode.closest(selector); + while (ancestor) { + parents.push(ancestor); + ancestor = ancestor.parentNode.closest(selector); + } + return parents; + }, + prev(element, selector) { + let previous = element.previousElementSibling; + while (previous) { + if (previous.matches(selector)) { + return [previous]; + } + previous = previous.previousElementSibling; + } + return []; + }, + next(element, selector) { + let next = element.nextElementSibling; + while (next) { + if (next.matches(selector)) { + return [next]; + } + next = next.nextElementSibling; + } + return []; + }, + focusableChildren(element) { + const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(','); + return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el)); + }, + getSelectorFromElement(element) { + const selector = getSelector(element); + if (selector) { + return SelectorEngine.findOne(selector) ? selector : null; + } + return null; + }, + getElementFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.findOne(selector) : null; + }, + getMultipleElementsFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.find(selector) : []; + } + }; + const enableDismissTrigger = (component, method = 'hide') => { + const clickEvent = `click.dismiss${component.EVENT_KEY}`; + const name = component.NAME; + EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`); + const instance = component.getOrCreateInstance(target); + instance[method](); + }); + }; + const NAME$f = 'alert'; + const DATA_KEY$a = 'bs.alert'; + const EVENT_KEY$b = `.${DATA_KEY$a}`; + const EVENT_CLOSE = `close${EVENT_KEY$b}`; + const EVENT_CLOSED = `closed${EVENT_KEY$b}`; + const CLASS_NAME_FADE$5 = 'fade'; + const CLASS_NAME_SHOW$8 = 'show'; + class Alert extends BaseComponent { + static get NAME() { + return NAME$f; + } + close() { + const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); + if (closeEvent.defaultPrevented) { + return; + } + this._element.classList.remove(CLASS_NAME_SHOW$8); + const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); + this._queueCallback(() => this._destroyElement(), this._element, isAnimated); + } + _destroyElement() { + this._element.remove(); + EventHandler.trigger(this._element, EVENT_CLOSED); + this.dispose(); + } + static jQueryInterface(config) { + return this.each(function () { + const data = Alert.getOrCreateInstance(this); + if (typeof config !== 'string') { + return; + } + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + }); + } + } + enableDismissTrigger(Alert, 'close'); + defineJQueryPlugin(Alert); + const NAME$e = 'button'; + const DATA_KEY$9 = 'bs.button'; + const EVENT_KEY$a = `.${DATA_KEY$9}`; + const DATA_API_KEY$6 = '.data-api'; + const CLASS_NAME_ACTIVE$3 = 'active'; + const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]'; + const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; + class Button extends BaseComponent { + static get NAME() { + return NAME$e; + } + toggle() { + this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3)); + } + static jQueryInterface(config) { + return this.each(function () { + const data = Button.getOrCreateInstance(this); + if (config === 'toggle') { + data[config](); + } + }); + } + } + EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => { + event.preventDefault(); + const button = event.target.closest(SELECTOR_DATA_TOGGLE$5); + const data = Button.getOrCreateInstance(button); + data.toggle(); + }); + defineJQueryPlugin(Button); + const NAME$d = 'swipe'; + const EVENT_KEY$9 = '.bs.swipe'; + const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`; + const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`; + const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`; + const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`; + const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`; + const POINTER_TYPE_TOUCH = 'touch'; + const POINTER_TYPE_PEN = 'pen'; + const CLASS_NAME_POINTER_EVENT = 'pointer-event'; + const SWIPE_THRESHOLD = 40; + const Default$c = { + endCallback: null, + leftCallback: null, + rightCallback: null + }; + const DefaultType$c = { + endCallback: '(function|null)', + leftCallback: '(function|null)', + rightCallback: '(function|null)' + }; + class Swipe extends Config { + constructor(element, config) { + super(); + this._element = element; + if (!element || !Swipe.isSupported()) { + return; + } + this._config = this._getConfig(config); + this._deltaX = 0; + this._supportPointerEvents = Boolean(window.PointerEvent); + this._initEvents(); + } + static get Default() { + return Default$c; + } + static get DefaultType() { + return DefaultType$c; + } + static get NAME() { + return NAME$d; + } + dispose() { + EventHandler.off(this._element, EVENT_KEY$9); + } + _start(event) { + if (!this._supportPointerEvents) { + this._deltaX = event.touches[0].clientX; + return; + } + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX; + } + } + _end(event) { + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX - this._deltaX; + } + this._handleSwipe(); + execute(this._config.endCallback); + } + _move(event) { + this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX; + } + _handleSwipe() { + const absDeltaX = Math.abs(this._deltaX); + if (absDeltaX <= SWIPE_THRESHOLD) { + return; + } + const direction = absDeltaX / this._deltaX; + this._deltaX = 0; + if (!direction) { + return; + } + execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback); + } + _initEvents() { + if (this._supportPointerEvents) { + EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event)); + EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event)); + this._element.classList.add(CLASS_NAME_POINTER_EVENT); + } else { + EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event)); + EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event)); + EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event)); + } + } + _eventIsPointerPenTouch(event) { + return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); + } + static isSupported() { + return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; + } + } + const NAME$c = 'carousel'; + const DATA_KEY$8 = 'bs.carousel'; + const EVENT_KEY$8 = `.${DATA_KEY$8}`; + const DATA_API_KEY$5 = '.data-api'; + const ARROW_LEFT_KEY$1 = 'ArrowLeft'; + const ARROW_RIGHT_KEY$1 = 'ArrowRight'; + const TOUCHEVENT_COMPAT_WAIT = 500; + const ORDER_NEXT = 'next'; + const ORDER_PREV = 'prev'; + const DIRECTION_LEFT = 'left'; + const DIRECTION_RIGHT = 'right'; + const EVENT_SLIDE = `slide${EVENT_KEY$8}`; + const EVENT_SLID = `slid${EVENT_KEY$8}`; + const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`; + const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`; + const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`; + const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`; + const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`; + const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`; + const CLASS_NAME_CAROUSEL = 'carousel'; + const CLASS_NAME_ACTIVE$2 = 'active'; + const CLASS_NAME_SLIDE = 'slide'; + const CLASS_NAME_END = 'carousel-item-end'; + const CLASS_NAME_START = 'carousel-item-start'; + const CLASS_NAME_NEXT = 'carousel-item-next'; + const CLASS_NAME_PREV = 'carousel-item-prev'; + const SELECTOR_ACTIVE = '.active'; + const SELECTOR_ITEM = '.carousel-item'; + const SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM; + const SELECTOR_ITEM_IMG = '.carousel-item img'; + const SELECTOR_INDICATORS = '.carousel-indicators'; + const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'; + const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]'; + const KEY_TO_DIRECTION = { + [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT, + [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT + }; + const Default$b = { + interval: 5000, + keyboard: true, + pause: 'hover', + ride: false, + touch: true, + wrap: true + }; + const DefaultType$b = { + interval: '(number|boolean)', + keyboard: 'boolean', + pause: '(string|boolean)', + ride: '(boolean|string)', + touch: 'boolean', + wrap: 'boolean' + }; + class Carousel extends BaseComponent { + constructor(element, config) { + super(element, config); + this._interval = null; + this._activeElement = null; + this._isSliding = false; + this.touchTimeout = null; + this._swipeHelper = null; + this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); + this._addEventListeners(); + if (this._config.ride === CLASS_NAME_CAROUSEL) { + this.cycle(); + } + } + static get Default() { + return Default$b; + } + static get DefaultType() { + return DefaultType$b; + } + static get NAME() { + return NAME$c; + } + next() { + this._slide(ORDER_NEXT); + } + nextWhenVisible() { + if (!document.hidden && isVisible(this._element)) { + this.next(); + } + } + prev() { + this._slide(ORDER_PREV); + } + pause() { + if (this._isSliding) { + triggerTransitionEnd(this._element); + } + this._clearInterval(); + } + cycle() { + this._clearInterval(); + this._updateInterval(); + this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval); + } + _maybeEnableCycle() { + if (!this._config.ride) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.cycle()); + return; + } + this.cycle(); + } + to(index) { + const items = this._getItems(); + if (index > items.length - 1 || index < 0) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); + return; + } + const activeIndex = this._getItemIndex(this._getActive()); + if (activeIndex === index) { + return; + } + const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV; + this._slide(order, items[index]); + } + dispose() { + if (this._swipeHelper) { + this._swipeHelper.dispose(); + } + super.dispose(); + } + _configAfterMerge(config) { + config.defaultInterval = config.interval; + return config; + } + _addEventListeners() { + if (this._config.keyboard) { + EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event)); + } + if (this._config.pause === 'hover') { + EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause()); + EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle()); + } + if (this._config.touch && Swipe.isSupported()) { + this._addTouchEventListeners(); + } + } + _addTouchEventListeners() { + for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) { + EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault()); + } + const endCallBack = () => { + if (this._config.pause !== 'hover') { + return; + } + this.pause(); + if (this.touchTimeout) { + clearTimeout(this.touchTimeout); + } + this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval); + }; + const swipeConfig = { + leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)), + rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)), + endCallback: endCallBack + }; + this._swipeHelper = new Swipe(this._element, swipeConfig); + } + _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + const direction = KEY_TO_DIRECTION[event.key]; + if (direction) { + event.preventDefault(); + this._slide(this._directionToOrder(direction)); + } + } + _getItemIndex(element) { + return this._getItems().indexOf(element); + } + _setActiveIndicatorElement(index) { + if (!this._indicatorsElement) { + return; + } + const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement); + activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); + activeIndicator.removeAttribute('aria-current'); + const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement); + if (newActiveIndicator) { + newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2); + newActiveIndicator.setAttribute('aria-current', 'true'); + } + } + _updateInterval() { + const element = this._activeElement || this._getActive(); + if (!element) { + return; + } + const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10); + this._config.interval = elementInterval || this._config.defaultInterval; + } + _slide(order, element = null) { + if (this._isSliding) { + return; + } + const activeElement = this._getActive(); + const isNext = order === ORDER_NEXT; + const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap); + if (nextElement === activeElement) { + return; + } + const nextElementIndex = this._getItemIndex(nextElement); + const triggerEvent = eventName => { + return EventHandler.trigger(this._element, eventName, { + relatedTarget: nextElement, + direction: this._orderToDirection(order), + from: this._getItemIndex(activeElement), + to: nextElementIndex + }); + }; + const slideEvent = triggerEvent(EVENT_SLIDE); + if (slideEvent.defaultPrevented) { + return; + } + if (!activeElement || !nextElement) { + return; + } + const isCycling = Boolean(this._interval); + this.pause(); + this._isSliding = true; + this._setActiveIndicatorElement(nextElementIndex); + this._activeElement = nextElement; + const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; + const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; + nextElement.classList.add(orderClassName); + reflow(nextElement); + activeElement.classList.add(directionalClassName); + nextElement.classList.add(directionalClassName); + const completeCallBack = () => { + nextElement.classList.remove(directionalClassName, orderClassName); + nextElement.classList.add(CLASS_NAME_ACTIVE$2); + activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); + this._isSliding = false; + triggerEvent(EVENT_SLID); + }; + this._queueCallback(completeCallBack, activeElement, this._isAnimated()); + if (isCycling) { + this.cycle(); + } + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_SLIDE); + } + _getActive() { + return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); + } + _getItems() { + return SelectorEngine.find(SELECTOR_ITEM, this._element); + } + _clearInterval() { + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + } + _directionToOrder(direction) { + if (isRTL()) { + return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; + } + return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; + } + _orderToDirection(order) { + if (isRTL()) { + return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; + } + return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; + } + static jQueryInterface(config) { + return this.each(function () { + const data = Carousel.getOrCreateInstance(this, config); + if (typeof config === 'number') { + data.to(config); + return; + } + if (typeof config === 'string') { + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + } + }); + } + } + EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) { + const target = SelectorEngine.getElementFromSelector(this); + if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { + return; + } + event.preventDefault(); + const carousel = Carousel.getOrCreateInstance(target); + const slideIndex = this.getAttribute('data-bs-slide-to'); + if (slideIndex) { + carousel.to(slideIndex); + carousel._maybeEnableCycle(); + return; + } + if (Manipulator.getDataAttribute(this, 'slide') === 'next') { + carousel.next(); + carousel._maybeEnableCycle(); + return; + } + carousel.prev(); + carousel._maybeEnableCycle(); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => { + const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); + for (const carousel of carousels) { + Carousel.getOrCreateInstance(carousel); + } + }); + defineJQueryPlugin(Carousel); + const NAME$b = 'collapse'; + const DATA_KEY$7 = 'bs.collapse'; + const EVENT_KEY$7 = `.${DATA_KEY$7}`; + const DATA_API_KEY$4 = '.data-api'; + const EVENT_SHOW$6 = `show${EVENT_KEY$7}`; + const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`; + const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`; + const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`; + const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`; + const CLASS_NAME_SHOW$7 = 'show'; + const CLASS_NAME_COLLAPSE = 'collapse'; + const CLASS_NAME_COLLAPSING = 'collapsing'; + const CLASS_NAME_COLLAPSED = 'collapsed'; + const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; + const CLASS_NAME_HORIZONTAL = 'collapse-horizontal'; + const WIDTH = 'width'; + const HEIGHT = 'height'; + const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; + const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; + const Default$a = { + parent: null, + toggle: true + }; + const DefaultType$a = { + parent: '(null|element)', + toggle: 'boolean' + }; + class Collapse extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isTransitioning = false; + this._triggerArray = []; + const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); + for (const elem of toggleList) { + const selector = SelectorEngine.getSelectorFromElement(elem); + const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element); + if (selector !== null && filterElement.length) { + this._triggerArray.push(elem); + } + } + this._initializeChildren(); + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); + } + if (this._config.toggle) { + this.toggle(); + } + } + static get Default() { + return Default$a; + } + static get DefaultType() { + return DefaultType$a; + } + static get NAME() { + return NAME$b; + } + toggle() { + if (this._isShown()) { + this.hide(); + } else { + this.show(); + } + } + show() { + if (this._isTransitioning || this._isShown()) { + return; + } + let activeChildren = []; + if (this._config.parent) { + activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, { + toggle: false + })); + } + if (activeChildren.length && activeChildren[0]._isTransitioning) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); + if (startEvent.defaultPrevented) { + return; + } + for (const activeInstance of activeChildren) { + activeInstance.hide(); + } + const dimension = this._getDimension(); + this._element.classList.remove(CLASS_NAME_COLLAPSE); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.style[dimension] = 0; + this._addAriaAndCollapsedClass(this._triggerArray, true); + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + this._element.style[dimension] = ''; + EventHandler.trigger(this._element, EVENT_SHOWN$6); + }; + const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + const scrollSize = `scroll${capitalizedDimension}`; + this._queueCallback(complete, this._element, true); + this._element.style[dimension] = `${this._element[scrollSize]}px`; + } + hide() { + if (this._isTransitioning || !this._isShown()) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); + if (startEvent.defaultPrevented) { + return; + } + const dimension = this._getDimension(); + this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; + reflow(this._element); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + for (const trigger of this._triggerArray) { + const element = SelectorEngine.getElementFromSelector(trigger); + if (element && !this._isShown(element)) { + this._addAriaAndCollapsedClass([trigger], false); + } + } + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE); + EventHandler.trigger(this._element, EVENT_HIDDEN$6); + }; + this._element.style[dimension] = ''; + this._queueCallback(complete, this._element, true); + } + _isShown(element = this._element) { + return element.classList.contains(CLASS_NAME_SHOW$7); + } + _configAfterMerge(config) { + config.toggle = Boolean(config.toggle); + config.parent = getElement(config.parent); + return config; + } + _getDimension() { + return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; + } + _initializeChildren() { + if (!this._config.parent) { + return; + } + const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4); + for (const element of children) { + const selected = SelectorEngine.getElementFromSelector(element); + if (selected) { + this._addAriaAndCollapsedClass([element], this._isShown(selected)); + } + } + } + _getFirstLevelChildren(selector) { + const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); + return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element)); + } + _addAriaAndCollapsedClass(triggerArray, isOpen) { + if (!triggerArray.length) { + return; + } + for (const element of triggerArray) { + element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen); + element.setAttribute('aria-expanded', isOpen); + } + } + static jQueryInterface(config) { + const _config = {}; + if (typeof config === 'string' && /show|hide/.test(config)) { + _config.toggle = false; + } + return this.each(function () { + const data = Collapse.getOrCreateInstance(this, _config); + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + } + }); + } + } + EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) { + if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') { + event.preventDefault(); + } + for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) { + Collapse.getOrCreateInstance(element, { + toggle: false + }).toggle(); + } + }); + defineJQueryPlugin(Collapse); + const NAME$a = 'dropdown'; + const DATA_KEY$6 = 'bs.dropdown'; + const EVENT_KEY$6 = `.${DATA_KEY$6}`; + const DATA_API_KEY$3 = '.data-api'; + const ESCAPE_KEY$2 = 'Escape'; + const TAB_KEY$1 = 'Tab'; + const ARROW_UP_KEY$1 = 'ArrowUp'; + const ARROW_DOWN_KEY$1 = 'ArrowDown'; + const RIGHT_MOUSE_BUTTON = 2; + const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`; + const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`; + const EVENT_SHOW$5 = `show${EVENT_KEY$6}`; + const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`; + const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; + const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`; + const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`; + const CLASS_NAME_SHOW$6 = 'show'; + const CLASS_NAME_DROPUP = 'dropup'; + const CLASS_NAME_DROPEND = 'dropend'; + const CLASS_NAME_DROPSTART = 'dropstart'; + const CLASS_NAME_DROPUP_CENTER = 'dropup-center'; + const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'; + const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)'; + const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`; + const SELECTOR_MENU = '.dropdown-menu'; + const SELECTOR_NAVBAR = '.navbar'; + const SELECTOR_NAVBAR_NAV = '.navbar-nav'; + const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; + const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'; + const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'; + const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'; + const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'; + const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'; + const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'; + const PLACEMENT_TOPCENTER = 'top'; + const PLACEMENT_BOTTOMCENTER = 'bottom'; + const Default$9 = { + autoClose: true, + boundary: 'clippingParents', + display: 'dynamic', + offset: [0, 2], + popperConfig: null, + reference: 'toggle' + }; + const DefaultType$9 = { + autoClose: '(boolean|string)', + boundary: '(string|element)', + display: 'string', + offset: '(array|string|function)', + popperConfig: '(null|object|function)', + reference: '(string|element|object)' + }; + class Dropdown extends BaseComponent { + constructor(element, config) { + super(element, config); + this._popper = null; + this._parent = this._element.parentNode; + this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); + this._inNavbar = this._detectNavbar(); + } + static get Default() { + return Default$9; + } + static get DefaultType() { + return DefaultType$9; + } + static get NAME() { + return NAME$a; + } + toggle() { + return this._isShown() ? this.hide() : this.show(); + } + show() { + if (isDisabled(this._element) || this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget); + if (showEvent.defaultPrevented) { + return; + } + this._createPopper(); + if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, 'mouseover', noop); + } + } + this._element.focus(); + this._element.setAttribute('aria-expanded', true); + this._menu.classList.add(CLASS_NAME_SHOW$6); + this._element.classList.add(CLASS_NAME_SHOW$6); + EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget); + } + hide() { + if (isDisabled(this._element) || !this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + this._completeHide(relatedTarget); + } + dispose() { + if (this._popper) { + this._popper.destroy(); + } + super.dispose(); + } + update() { + this._inNavbar = this._detectNavbar(); + if (this._popper) { + this._popper.update(); + } + } + _completeHide(relatedTarget) { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget); + if (hideEvent.defaultPrevented) { + return; + } + if ('ontouchstart' in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, 'mouseover', noop); + } + } + if (this._popper) { + this._popper.destroy(); + } + this._menu.classList.remove(CLASS_NAME_SHOW$6); + this._element.classList.remove(CLASS_NAME_SHOW$6); + this._element.setAttribute('aria-expanded', 'false'); + Manipulator.removeDataAttribute(this._menu, 'popper'); + EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget); + } + _getConfig(config) { + config = super._getConfig(config); + if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') { + throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); + } + return config; + } + _createPopper() { + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); + } + let referenceElement = this._element; + if (this._config.reference === 'parent') { + referenceElement = this._parent; + } else if (isElement(this._config.reference)) { + referenceElement = getElement(this._config.reference); + } else if (typeof this._config.reference === 'object') { + referenceElement = this._config.reference; + } + const popperConfig = this._getPopperConfig(); + this._popper = createPopper(referenceElement, this._menu, popperConfig); + } + _isShown() { + return this._menu.classList.contains(CLASS_NAME_SHOW$6); + } + _getPlacement() { + const parentDropdown = this._parent; + if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { + return PLACEMENT_RIGHT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { + return PLACEMENT_LEFT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) { + return PLACEMENT_TOPCENTER; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) { + return PLACEMENT_BOTTOMCENTER; + } + const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'; + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { + return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; + } + return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; + } + _detectNavbar() { + return this._element.closest(SELECTOR_NAVBAR) !== null; + } + _getOffset() { + const { + offset + } = this._config; + if (typeof offset === 'string') { + return offset.split(',').map(value => Number.parseInt(value, 10)); + } + if (typeof offset === 'function') { + return popperData => offset(popperData, this._element); + } + return offset; + } + _getPopperConfig() { + const defaultBsPopperConfig = { + placement: this._getPlacement(), + modifiers: [{ + name: 'preventOverflow', + options: { + boundary: this._config.boundary + } + }, { + name: 'offset', + options: { + offset: this._getOffset() + } + }] + }; + if (this._inNavbar || this._config.display === 'static') { + Manipulator.setDataAttribute(this._menu, 'popper', 'static'); + defaultBsPopperConfig.modifiers = [{ + name: 'applyStyles', + enabled: false + }]; + } + return { + ...defaultBsPopperConfig, + ...execute(this._config.popperConfig, [defaultBsPopperConfig]) + }; + } + _selectMenuItem({ + key, + target + }) { + const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element)); + if (!items.length) { + return; + } + getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus(); + } + static jQueryInterface(config) { + return this.each(function () { + const data = Dropdown.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + static clearMenus(event) { + if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) { + return; + } + const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN); + for (const toggle of openToggles) { + const context = Dropdown.getInstance(toggle); + if (!context || context._config.autoClose === false) { + continue; + } + const composedPath = event.composedPath(); + const isMenuTarget = composedPath.includes(context._menu); + if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) { + continue; + } + if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { + continue; + } + const relatedTarget = { + relatedTarget: context._element + }; + if (event.type === 'click') { + relatedTarget.clickEvent = event; + } + context._completeHide(relatedTarget); + } + } + static dataApiKeydownHandler(event) { + const isInput = /input|textarea/i.test(event.target.tagName); + const isEscapeEvent = event.key === ESCAPE_KEY$2; + const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key); + if (!isUpOrDownEvent && !isEscapeEvent) { + return; + } + if (isInput && !isEscapeEvent) { + return; + } + event.preventDefault(); + const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); + const instance = Dropdown.getOrCreateInstance(getToggleButton); + if (isUpOrDownEvent) { + event.stopPropagation(); + instance.show(); + instance._selectMenuItem(event); + return; + } + if (instance._isShown()) { + event.stopPropagation(); + instance.hide(); + getToggleButton.focus(); + } + } + } + EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); + EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); + EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); + EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); + EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) { + event.preventDefault(); + Dropdown.getOrCreateInstance(this).toggle(); + }); + defineJQueryPlugin(Dropdown); + const NAME$9 = 'backdrop'; + const CLASS_NAME_FADE$4 = 'fade'; + const CLASS_NAME_SHOW$5 = 'show'; + const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; + const Default$8 = { + className: 'modal-backdrop', + clickCallback: null, + isAnimated: false, + isVisible: true, + rootElement: 'body' + }; + const DefaultType$8 = { + className: 'string', + clickCallback: '(function|null)', + isAnimated: 'boolean', + isVisible: 'boolean', + rootElement: '(element|string)' + }; + class Backdrop extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isAppended = false; + this._element = null; + } + static get Default() { + return Default$8; + } + static get DefaultType() { + return DefaultType$8; + } + static get NAME() { + return NAME$9; + } + show(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._append(); + const element = this._getElement(); + if (this._config.isAnimated) { + reflow(element); + } + element.classList.add(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + execute(callback); + }); + } + hide(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._getElement().classList.remove(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + this.dispose(); + execute(callback); + }); + } + dispose() { + if (!this._isAppended) { + return; + } + EventHandler.off(this._element, EVENT_MOUSEDOWN); + this._element.remove(); + this._isAppended = false; + } + _getElement() { + if (!this._element) { + const backdrop = document.createElement('div'); + backdrop.className = this._config.className; + if (this._config.isAnimated) { + backdrop.classList.add(CLASS_NAME_FADE$4); + } + this._element = backdrop; + } + return this._element; + } + _configAfterMerge(config) { + config.rootElement = getElement(config.rootElement); + return config; + } + _append() { + if (this._isAppended) { + return; + } + const element = this._getElement(); + this._config.rootElement.append(element); + EventHandler.on(element, EVENT_MOUSEDOWN, () => { + execute(this._config.clickCallback); + }); + this._isAppended = true; + } + _emulateAnimation(callback) { + executeAfterTransition(callback, this._getElement(), this._config.isAnimated); + } + } + const NAME$8 = 'focustrap'; + const DATA_KEY$5 = 'bs.focustrap'; + const EVENT_KEY$5 = `.${DATA_KEY$5}`; + const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`; + const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; + const TAB_KEY = 'Tab'; + const TAB_NAV_FORWARD = 'forward'; + const TAB_NAV_BACKWARD = 'backward'; + const Default$7 = { + autofocus: true, + trapElement: null + }; + const DefaultType$7 = { + autofocus: 'boolean', + trapElement: 'element' + }; + class FocusTrap extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isActive = false; + this._lastTabNavDirection = null; + } + static get Default() { + return Default$7; + } + static get DefaultType() { + return DefaultType$7; + } + static get NAME() { + return NAME$8; + } + activate() { + if (this._isActive) { + return; + } + if (this._config.autofocus) { + this._config.trapElement.focus(); + } + EventHandler.off(document, EVENT_KEY$5); + EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event)); + EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event)); + this._isActive = true; + } + deactivate() { + if (!this._isActive) { + return; + } + this._isActive = false; + EventHandler.off(document, EVENT_KEY$5); + } + _handleFocusin(event) { + const { + trapElement + } = this._config; + if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) { + return; + } + const elements = SelectorEngine.focusableChildren(trapElement); + if (elements.length === 0) { + trapElement.focus(); + } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { + elements[elements.length - 1].focus(); + } else { + elements[0].focus(); + } + } + _handleKeydown(event) { + if (event.key !== TAB_KEY) { + return; + } + this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; + } + } + const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; + const SELECTOR_STICKY_CONTENT = '.sticky-top'; + const PROPERTY_PADDING = 'padding-right'; + const PROPERTY_MARGIN = 'margin-right'; + class ScrollBarHelper { + constructor() { + this._element = document.body; + } + getWidth() { + const documentWidth = document.documentElement.clientWidth; + return Math.abs(window.innerWidth - documentWidth); + } + hide() { + const width = this.getWidth(); + this._disableOverFlow(); + this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width); + this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width); + this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width); + } + reset() { + this._resetElementAttributes(this._element, 'overflow'); + this._resetElementAttributes(this._element, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN); + } + isOverflowing() { + return this.getWidth() > 0; + } + _disableOverFlow() { + this._saveInitialAttribute(this._element, 'overflow'); + this._element.style.overflow = 'hidden'; + } + _setElementAttributes(selector, styleProperty, callback) { + const scrollbarWidth = this.getWidth(); + const manipulationCallBack = element => { + if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { + return; + } + this._saveInitialAttribute(element, styleProperty); + const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty); + element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _saveInitialAttribute(element, styleProperty) { + const actualValue = element.style.getPropertyValue(styleProperty); + if (actualValue) { + Manipulator.setDataAttribute(element, styleProperty, actualValue); + } + } + _resetElementAttributes(selector, styleProperty) { + const manipulationCallBack = element => { + const value = Manipulator.getDataAttribute(element, styleProperty); + if (value === null) { + element.style.removeProperty(styleProperty); + return; + } + Manipulator.removeDataAttribute(element, styleProperty); + element.style.setProperty(styleProperty, value); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _applyManipulationCallback(selector, callBack) { + if (isElement(selector)) { + callBack(selector); + return; + } + for (const sel of SelectorEngine.find(selector, this._element)) { + callBack(sel); + } + } + } + const NAME$7 = 'modal'; + const DATA_KEY$4 = 'bs.modal'; + const EVENT_KEY$4 = `.${DATA_KEY$4}`; + const DATA_API_KEY$2 = '.data-api'; + const ESCAPE_KEY$1 = 'Escape'; + const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`; + const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; + const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; + const EVENT_SHOW$4 = `show${EVENT_KEY$4}`; + const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; + const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; + const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`; + const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`; + const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; + const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; + const CLASS_NAME_OPEN = 'modal-open'; + const CLASS_NAME_FADE$3 = 'fade'; + const CLASS_NAME_SHOW$4 = 'show'; + const CLASS_NAME_STATIC = 'modal-static'; + const OPEN_SELECTOR$1 = '.modal.show'; + const SELECTOR_DIALOG = '.modal-dialog'; + const SELECTOR_MODAL_BODY = '.modal-body'; + const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; + const Default$6 = { + backdrop: true, + focus: true, + keyboard: true + }; + const DefaultType$6 = { + backdrop: '(boolean|string)', + focus: 'boolean', + keyboard: 'boolean' + }; + class Modal extends BaseComponent { + constructor(element, config) { + super(element, config); + this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._isShown = false; + this._isTransitioning = false; + this._scrollBar = new ScrollBarHelper(); + this._addEventListeners(); + } + static get Default() { + return Default$6; + } + static get DefaultType() { + return DefaultType$6; + } + static get NAME() { + return NAME$7; + } + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown || this._isTransitioning) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, { + relatedTarget + }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._isTransitioning = true; + this._scrollBar.hide(); + document.body.classList.add(CLASS_NAME_OPEN); + this._adjustDialog(); + this._backdrop.show(() => this._showElement(relatedTarget)); + } + hide() { + if (!this._isShown || this._isTransitioning) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4); + if (hideEvent.defaultPrevented) { + return; + } + this._isShown = false; + this._isTransitioning = true; + this._focustrap.deactivate(); + this._element.classList.remove(CLASS_NAME_SHOW$4); + this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); + } + dispose() { + EventHandler.off(window, EVENT_KEY$4); + EventHandler.off(this._dialog, EVENT_KEY$4); + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + handleUpdate() { + this._adjustDialog(); + } + _initializeBackDrop() { + return new Backdrop({ + isVisible: Boolean(this._config.backdrop), + isAnimated: this._isAnimated() + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _showElement(relatedTarget) { + if (!document.body.contains(this._element)) { + document.body.append(this._element); + } + this._element.style.display = 'block'; + this._element.removeAttribute('aria-hidden'); + this._element.setAttribute('aria-modal', true); + this._element.setAttribute('role', 'dialog'); + this._element.scrollTop = 0; + const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); + if (modalBody) { + modalBody.scrollTop = 0; + } + reflow(this._element); + this._element.classList.add(CLASS_NAME_SHOW$4); + const transitionComplete = () => { + if (this._config.focus) { + this._focustrap.activate(); + } + this._isTransitioning = false; + EventHandler.trigger(this._element, EVENT_SHOWN$4, { + relatedTarget + }); + }; + this._queueCallback(transitionComplete, this._dialog, this._isAnimated()); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => { + if (event.key !== ESCAPE_KEY$1) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + this._triggerBackdropTransition(); + }); + EventHandler.on(window, EVENT_RESIZE$1, () => { + if (this._isShown && !this._isTransitioning) { + this._adjustDialog(); + } + }); + EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => { + EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => { + if (this._element !== event.target || this._element !== event2.target) { + return; + } + if (this._config.backdrop === 'static') { + this._triggerBackdropTransition(); + return; + } + if (this._config.backdrop) { + this.hide(); + } + }); + }); + } + _hideModal() { + this._element.style.display = 'none'; + this._element.setAttribute('aria-hidden', true); + this._element.removeAttribute('aria-modal'); + this._element.removeAttribute('role'); + this._isTransitioning = false; + this._backdrop.hide(() => { + document.body.classList.remove(CLASS_NAME_OPEN); + this._resetAdjustments(); + this._scrollBar.reset(); + EventHandler.trigger(this._element, EVENT_HIDDEN$4); + }); + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_FADE$3); + } + _triggerBackdropTransition() { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); + if (hideEvent.defaultPrevented) { + return; + } + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const initialOverflowY = this._element.style.overflowY; + if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) { + return; + } + if (!isModalOverflowing) { + this._element.style.overflowY = 'hidden'; + } + this._element.classList.add(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.classList.remove(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.style.overflowY = initialOverflowY; + }, this._dialog); + }, this._dialog); + this._element.focus(); + } + _adjustDialog() { + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const scrollbarWidth = this._scrollBar.getWidth(); + const isBodyOverflowing = scrollbarWidth > 0; + if (isBodyOverflowing && !isModalOverflowing) { + const property = isRTL() ? 'paddingLeft' : 'paddingRight'; + this._element.style[property] = `${scrollbarWidth}px`; + } + if (!isBodyOverflowing && isModalOverflowing) { + const property = isRTL() ? 'paddingRight' : 'paddingLeft'; + this._element.style[property] = `${scrollbarWidth}px`; + } + } + _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + } + static jQueryInterface(config, relatedTarget) { + return this.each(function () { + const data = Modal.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](relatedTarget); + }); + } + } + EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) { + const target = SelectorEngine.getElementFromSelector(this); + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + EventHandler.one(target, EVENT_SHOW$4, showEvent => { + if (showEvent.defaultPrevented) { + return; + } + EventHandler.one(target, EVENT_HIDDEN$4, () => { + if (isVisible(this)) { + this.focus(); + } + }); + }); + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); + if (alreadyOpen) { + Modal.getInstance(alreadyOpen).hide(); + } + const data = Modal.getOrCreateInstance(target); + data.toggle(this); + }); + enableDismissTrigger(Modal); + defineJQueryPlugin(Modal); + const NAME$6 = 'offcanvas'; + const DATA_KEY$3 = 'bs.offcanvas'; + const EVENT_KEY$3 = `.${DATA_KEY$3}`; + const DATA_API_KEY$1 = '.data-api'; + const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`; + const ESCAPE_KEY = 'Escape'; + const CLASS_NAME_SHOW$3 = 'show'; + const CLASS_NAME_SHOWING$1 = 'showing'; + const CLASS_NAME_HIDING = 'hiding'; + const CLASS_NAME_BACKDROP = 'offcanvas-backdrop'; + const OPEN_SELECTOR = '.offcanvas.show'; + const EVENT_SHOW$3 = `show${EVENT_KEY$3}`; + const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`; + const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`; + const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`; + const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`; + const EVENT_RESIZE = `resize${EVENT_KEY$3}`; + const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`; + const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`; + const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]'; + const Default$5 = { + backdrop: true, + keyboard: true, + scroll: false + }; + const DefaultType$5 = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + scroll: 'boolean' + }; + class Offcanvas extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isShown = false; + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._addEventListeners(); + } + static get Default() { + return Default$5; + } + static get DefaultType() { + return DefaultType$5; + } + static get NAME() { + return NAME$6; + } + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { + relatedTarget + }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._backdrop.show(); + if (!this._config.scroll) { + new ScrollBarHelper().hide(); + } + this._element.setAttribute('aria-modal', true); + this._element.setAttribute('role', 'dialog'); + this._element.classList.add(CLASS_NAME_SHOWING$1); + const completeCallBack = () => { + if (!this._config.scroll || this._config.backdrop) { + this._focustrap.activate(); + } + this._element.classList.add(CLASS_NAME_SHOW$3); + this._element.classList.remove(CLASS_NAME_SHOWING$1); + EventHandler.trigger(this._element, EVENT_SHOWN$3, { + relatedTarget + }); + }; + this._queueCallback(completeCallBack, this._element, true); + } + hide() { + if (!this._isShown) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); + if (hideEvent.defaultPrevented) { + return; + } + this._focustrap.deactivate(); + this._element.blur(); + this._isShown = false; + this._element.classList.add(CLASS_NAME_HIDING); + this._backdrop.hide(); + const completeCallback = () => { + this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING); + this._element.removeAttribute('aria-modal'); + this._element.removeAttribute('role'); + if (!this._config.scroll) { + new ScrollBarHelper().reset(); + } + EventHandler.trigger(this._element, EVENT_HIDDEN$3); + }; + this._queueCallback(completeCallback, this._element, true); + } + dispose() { + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + _initializeBackDrop() { + const clickCallback = () => { + if (this._config.backdrop === 'static') { + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + return; + } + this.hide(); + }; + const isVisible = Boolean(this._config.backdrop); + return new Backdrop({ + className: CLASS_NAME_BACKDROP, + isVisible, + isAnimated: true, + rootElement: this._element.parentNode, + clickCallback: isVisible ? clickCallback : null + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => { + if (event.key !== ESCAPE_KEY) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + }); + } + static jQueryInterface(config) { + return this.each(function () { + const data = Offcanvas.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + }); + } + } + EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) { + const target = SelectorEngine.getElementFromSelector(this); + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + EventHandler.one(target, EVENT_HIDDEN$3, () => { + if (isVisible(this)) { + this.focus(); + } + }); + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); + if (alreadyOpen && alreadyOpen !== target) { + Offcanvas.getInstance(alreadyOpen).hide(); + } + const data = Offcanvas.getOrCreateInstance(target); + data.toggle(this); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { + for (const selector of SelectorEngine.find(OPEN_SELECTOR)) { + Offcanvas.getOrCreateInstance(selector).show(); + } + }); + EventHandler.on(window, EVENT_RESIZE, () => { + for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) { + if (getComputedStyle(element).position !== 'fixed') { + Offcanvas.getOrCreateInstance(element).hide(); + } + } + }); + enableDismissTrigger(Offcanvas); + defineJQueryPlugin(Offcanvas); + const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); + const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; + const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; + const allowedAttribute = (attribute, allowedAttributeList) => { + const attributeName = attribute.nodeName.toLowerCase(); + if (allowedAttributeList.includes(attributeName)) { + if (uriAttributes.has(attributeName)) { + return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue)); + } + return true; + } + return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName)); + }; + const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; + const DefaultAllowlist = { + '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], + a: ['target', 'href', 'title', 'rel'], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] + }; + function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { + if (!unsafeHtml.length) { + return unsafeHtml; + } + if (sanitizeFunction && typeof sanitizeFunction === 'function') { + return sanitizeFunction(unsafeHtml); + } + const domParser = new window.DOMParser(); + const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); + const elements = [].concat(...createdDocument.body.querySelectorAll('*')); + for (const element of elements) { + const elementName = element.nodeName.toLowerCase(); + if (!Object.keys(allowList).includes(elementName)) { + element.remove(); + continue; + } + const attributeList = [].concat(...element.attributes); + const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []); + for (const attribute of attributeList) { + if (!allowedAttribute(attribute, allowedAttributes)) { + element.removeAttribute(attribute.nodeName); + } + } + } + return createdDocument.body.innerHTML; + } + const NAME$5 = 'TemplateFactory'; + const Default$4 = { + allowList: DefaultAllowlist, + content: {}, + extraClass: '', + html: false, + sanitize: true, + sanitizeFn: null, + template: '
' + }; + const DefaultType$4 = { + allowList: 'object', + content: 'object', + extraClass: '(string|function)', + html: 'boolean', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + template: 'string' + }; + const DefaultContentType = { + entry: '(string|element|function|null)', + selector: '(string|element)' + }; + class TemplateFactory extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + } + static get Default() { + return Default$4; + } + static get DefaultType() { + return DefaultType$4; + } + static get NAME() { + return NAME$5; + } + getContent() { + return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean); + } + hasContent() { + return this.getContent().length > 0; + } + changeContent(content) { + this._checkContent(content); + this._config.content = { + ...this._config.content, + ...content + }; + return this; + } + toHtml() { + const templateWrapper = document.createElement('div'); + templateWrapper.innerHTML = this._maybeSanitize(this._config.template); + for (const [selector, text] of Object.entries(this._config.content)) { + this._setContent(templateWrapper, text, selector); + } + const template = templateWrapper.children[0]; + const extraClass = this._resolvePossibleFunction(this._config.extraClass); + if (extraClass) { + template.classList.add(...extraClass.split(' ')); + } + return template; + } + _typeCheckConfig(config) { + super._typeCheckConfig(config); + this._checkContent(config.content); + } + _checkContent(arg) { + for (const [selector, content] of Object.entries(arg)) { + super._typeCheckConfig({ + selector, + entry: content + }, DefaultContentType); + } + } + _setContent(template, content, selector) { + const templateElement = SelectorEngine.findOne(selector, template); + if (!templateElement) { + return; + } + content = this._resolvePossibleFunction(content); + if (!content) { + templateElement.remove(); + return; + } + if (isElement(content)) { + this._putElementInTemplate(getElement(content), templateElement); + return; + } + if (this._config.html) { + templateElement.innerHTML = this._maybeSanitize(content); + return; + } + templateElement.textContent = content; + } + _maybeSanitize(arg) { + return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg; + } + _resolvePossibleFunction(arg) { + return execute(arg, [this]); + } + _putElementInTemplate(element, templateElement) { + if (this._config.html) { + templateElement.innerHTML = ''; + templateElement.append(element); + return; + } + templateElement.textContent = element.textContent; + } + } + const NAME$4 = 'tooltip'; + const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']); + const CLASS_NAME_FADE$2 = 'fade'; + const CLASS_NAME_MODAL = 'modal'; + const CLASS_NAME_SHOW$2 = 'show'; + const SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; + const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; + const EVENT_MODAL_HIDE = 'hide.bs.modal'; + const TRIGGER_HOVER = 'hover'; + const TRIGGER_FOCUS = 'focus'; + const TRIGGER_CLICK = 'click'; + const TRIGGER_MANUAL = 'manual'; + const EVENT_HIDE$2 = 'hide'; + const EVENT_HIDDEN$2 = 'hidden'; + const EVENT_SHOW$2 = 'show'; + const EVENT_SHOWN$2 = 'shown'; + const EVENT_INSERTED = 'inserted'; + const EVENT_CLICK$1 = 'click'; + const EVENT_FOCUSIN$1 = 'focusin'; + const EVENT_FOCUSOUT$1 = 'focusout'; + const EVENT_MOUSEENTER = 'mouseenter'; + const EVENT_MOUSELEAVE = 'mouseleave'; + const AttachmentMap = { + AUTO: 'auto', + TOP: 'top', + RIGHT: isRTL() ? 'left' : 'right', + BOTTOM: 'bottom', + LEFT: isRTL() ? 'right' : 'left' + }; + const Default$3 = { + allowList: DefaultAllowlist, + animation: true, + boundary: 'clippingParents', + container: false, + customClass: '', + delay: 0, + fallbackPlacements: ['top', 'right', 'bottom', 'left'], + html: false, + offset: [0, 6], + placement: 'top', + popperConfig: null, + sanitize: true, + sanitizeFn: null, + selector: false, + template: '', + title: '', + trigger: 'hover focus' + }; + const DefaultType$3 = { + allowList: 'object', + animation: 'boolean', + boundary: '(string|element)', + container: '(string|element|boolean)', + customClass: '(string|function)', + delay: '(number|object)', + fallbackPlacements: 'array', + html: 'boolean', + offset: '(array|string|function)', + placement: '(string|function)', + popperConfig: '(null|object|function)', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + selector: '(string|boolean)', + template: 'string', + title: '(string|element|function)', + trigger: 'string' + }; + class Tooltip extends BaseComponent { + constructor(element, config) { + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); + } + super(element, config); + this._isEnabled = true; + this._timeout = 0; + this._isHovered = null; + this._activeTrigger = {}; + this._popper = null; + this._templateFactory = null; + this._newContent = null; + this.tip = null; + this._setListeners(); + if (!this._config.selector) { + this._fixTitle(); + } + } + static get Default() { + return Default$3; + } + static get DefaultType() { + return DefaultType$3; + } + static get NAME() { + return NAME$4; + } + enable() { + this._isEnabled = true; + } + disable() { + this._isEnabled = false; + } + toggleEnabled() { + this._isEnabled = !this._isEnabled; + } + toggle() { + if (!this._isEnabled) { + return; + } + this._activeTrigger.click = !this._activeTrigger.click; + if (this._isShown()) { + this._leave(); + return; + } + this._enter(); + } + dispose() { + clearTimeout(this._timeout); + EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + if (this._element.getAttribute('data-bs-original-title')) { + this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title')); + } + this._disposePopper(); + super.dispose(); + } + show() { + if (this._element.style.display === 'none') { + throw new Error('Please use show on visible elements'); + } + if (!(this._isWithContent() && this._isEnabled)) { + return; + } + const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2)); + const shadowRoot = findShadowRoot(this._element); + const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); + if (showEvent.defaultPrevented || !isInTheDom) { + return; + } + this._disposePopper(); + const tip = this._getTipElement(); + this._element.setAttribute('aria-describedby', tip.getAttribute('id')); + const { + container + } = this._config; + if (!this._element.ownerDocument.documentElement.contains(this.tip)) { + container.append(tip); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED)); + } + this._popper = this._createPopper(tip); + tip.classList.add(CLASS_NAME_SHOW$2); + if ('ontouchstart' in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, 'mouseover', noop); + } + } + const complete = () => { + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2)); + if (this._isHovered === false) { + this._leave(); + } + this._isHovered = false; + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + hide() { + if (!this._isShown()) { + return; + } + const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2)); + if (hideEvent.defaultPrevented) { + return; + } + const tip = this._getTipElement(); + tip.classList.remove(CLASS_NAME_SHOW$2); + if ('ontouchstart' in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, 'mouseover', noop); + } + } + this._activeTrigger[TRIGGER_CLICK] = false; + this._activeTrigger[TRIGGER_FOCUS] = false; + this._activeTrigger[TRIGGER_HOVER] = false; + this._isHovered = null; + const complete = () => { + if (this._isWithActiveTrigger()) { + return; + } + if (!this._isHovered) { + this._disposePopper(); + } + this._element.removeAttribute('aria-describedby'); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2)); + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + update() { + if (this._popper) { + this._popper.update(); + } + } + _isWithContent() { + return Boolean(this._getTitle()); + } + _getTipElement() { + if (!this.tip) { + this.tip = this._createTipElement(this._newContent || this._getContentForTemplate()); + } + return this.tip; + } + _createTipElement(content) { + const tip = this._getTemplateFactory(content).toHtml(); + if (!tip) { + return null; + } + tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); + tip.classList.add(`bs-${this.constructor.NAME}-auto`); + const tipId = getUID(this.constructor.NAME).toString(); + tip.setAttribute('id', tipId); + if (this._isAnimated()) { + tip.classList.add(CLASS_NAME_FADE$2); + } + return tip; + } + setContent(content) { + this._newContent = content; + if (this._isShown()) { + this._disposePopper(); + this.show(); + } + } + _getTemplateFactory(content) { + if (this._templateFactory) { + this._templateFactory.changeContent(content); + } else { + this._templateFactory = new TemplateFactory({ + ...this._config, + content, + extraClass: this._resolvePossibleFunction(this._config.customClass) + }); + } + return this._templateFactory; + } + _getContentForTemplate() { + return { + [SELECTOR_TOOLTIP_INNER]: this._getTitle() + }; + } + _getTitle() { + return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title'); + } + _initializeOnDelegatedTarget(event) { + return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); + } + _isAnimated() { + return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2); + } + _isShown() { + return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2); + } + _createPopper(tip) { + const placement = execute(this._config.placement, [this, tip, this._element]); + const attachment = AttachmentMap[placement.toUpperCase()]; + return createPopper(this._element, tip, this._getPopperConfig(attachment)); + } + _getOffset() { + const { + offset + } = this._config; + if (typeof offset === 'string') { + return offset.split(',').map(value => Number.parseInt(value, 10)); + } + if (typeof offset === 'function') { + return popperData => offset(popperData, this._element); + } + return offset; + } + _resolvePossibleFunction(arg) { + return execute(arg, [this._element]); + } + _getPopperConfig(attachment) { + const defaultBsPopperConfig = { + placement: attachment, + modifiers: [{ + name: 'flip', + options: { + fallbackPlacements: this._config.fallbackPlacements + } + }, { + name: 'offset', + options: { + offset: this._getOffset() + } + }, { + name: 'preventOverflow', + options: { + boundary: this._config.boundary + } + }, { + name: 'arrow', + options: { + element: `.${this.constructor.NAME}-arrow` + } + }, { + name: 'preSetPlacement', + enabled: true, + phase: 'beforeMain', + fn: data => { + this._getTipElement().setAttribute('data-popper-placement', data.state.placement); + } + }] + }; + return { + ...defaultBsPopperConfig, + ...execute(this._config.popperConfig, [defaultBsPopperConfig]) + }; + } + _setListeners() { + const triggers = this._config.trigger.split(' '); + for (const trigger of triggers) { + if (trigger === 'click') { + EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => { + const context = this._initializeOnDelegatedTarget(event); + context.toggle(); + }); + } else if (trigger !== TRIGGER_MANUAL) { + const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1); + const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1); + EventHandler.on(this._element, eventIn, this._config.selector, event => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; + context._enter(); + }); + EventHandler.on(this._element, eventOut, this._config.selector, event => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); + context._leave(); + }); + } + } + this._hideModalHandler = () => { + if (this._element) { + this.hide(); + } + }; + EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + } + _fixTitle() { + const title = this._element.getAttribute('title'); + if (!title) { + return; + } + if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) { + this._element.setAttribute('aria-label', title); + } + this._element.setAttribute('data-bs-original-title', title); + this._element.removeAttribute('title'); + } + _enter() { + if (this._isShown() || this._isHovered) { + this._isHovered = true; + return; + } + this._isHovered = true; + this._setTimeout(() => { + if (this._isHovered) { + this.show(); + } + }, this._config.delay.show); + } + _leave() { + if (this._isWithActiveTrigger()) { + return; + } + this._isHovered = false; + this._setTimeout(() => { + if (!this._isHovered) { + this.hide(); + } + }, this._config.delay.hide); + } + _setTimeout(handler, timeout) { + clearTimeout(this._timeout); + this._timeout = setTimeout(handler, timeout); + } + _isWithActiveTrigger() { + return Object.values(this._activeTrigger).includes(true); + } + _getConfig(config) { + const dataAttributes = Manipulator.getDataAttributes(this._element); + for (const dataAttribute of Object.keys(dataAttributes)) { + if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) { + delete dataAttributes[dataAttribute]; + } + } + config = { + ...dataAttributes, + ...(typeof config === 'object' && config ? config : {}) + }; + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + config.container = config.container === false ? document.body : getElement(config.container); + if (typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + if (typeof config.title === 'number') { + config.title = config.title.toString(); + } + if (typeof config.content === 'number') { + config.content = config.content.toString(); + } + return config; + } + _getDelegateConfig() { + const config = {}; + for (const [key, value] of Object.entries(this._config)) { + if (this.constructor.Default[key] !== value) { + config[key] = value; + } + } + config.selector = false; + config.trigger = 'manual'; + return config; + } + _disposePopper() { + if (this._popper) { + this._popper.destroy(); + this._popper = null; + } + if (this.tip) { + this.tip.remove(); + this.tip = null; + } + } + static jQueryInterface(config) { + return this.each(function () { + const data = Tooltip.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + } + defineJQueryPlugin(Tooltip); + const NAME$3 = 'popover'; + const SELECTOR_TITLE = '.popover-header'; + const SELECTOR_CONTENT = '.popover-body'; + const Default$2 = { + ...Tooltip.Default, + content: '', + offset: [0, 8], + placement: 'right', + template: '', + trigger: 'click' + }; + const DefaultType$2 = { + ...Tooltip.DefaultType, + content: '(null|string|element|function)' + }; + class Popover extends Tooltip { + static get Default() { + return Default$2; + } + static get DefaultType() { + return DefaultType$2; + } + static get NAME() { + return NAME$3; + } + _isWithContent() { + return this._getTitle() || this._getContent(); + } + _getContentForTemplate() { + return { + [SELECTOR_TITLE]: this._getTitle(), + [SELECTOR_CONTENT]: this._getContent() + }; + } + _getContent() { + return this._resolvePossibleFunction(this._config.content); + } + static jQueryInterface(config) { + return this.each(function () { + const data = Popover.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + } + defineJQueryPlugin(Popover); + const NAME$2 = 'scrollspy'; + const DATA_KEY$2 = 'bs.scrollspy'; + const EVENT_KEY$2 = `.${DATA_KEY$2}`; + const DATA_API_KEY = '.data-api'; + const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; + const EVENT_CLICK = `click${EVENT_KEY$2}`; + const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`; + const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; + const CLASS_NAME_ACTIVE$1 = 'active'; + const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; + const SELECTOR_TARGET_LINKS = '[href]'; + const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; + const SELECTOR_NAV_LINKS = '.nav-link'; + const SELECTOR_NAV_ITEMS = '.nav-item'; + const SELECTOR_LIST_ITEMS = '.list-group-item'; + const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`; + const SELECTOR_DROPDOWN = '.dropdown'; + const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle'; + const Default$1 = { + offset: null, + rootMargin: '0px 0px -25%', + smoothScroll: false, + target: null, + threshold: [0.1, 0.5, 1] + }; + const DefaultType$1 = { + offset: '(number|null)', + rootMargin: 'string', + smoothScroll: 'boolean', + target: 'element', + threshold: 'array' + }; + class ScrollSpy extends BaseComponent { + constructor(element, config) { + super(element, config); + this._targetLinks = new Map(); + this._observableSections = new Map(); + this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element; + this._activeTarget = null; + this._observer = null; + this._previousScrollData = { + visibleEntryTop: 0, + parentScrollTop: 0 + }; + this.refresh(); + } + static get Default() { + return Default$1; + } + static get DefaultType() { + return DefaultType$1; + } + static get NAME() { + return NAME$2; + } + refresh() { + this._initializeTargetsAndObservables(); + this._maybeEnableSmoothScroll(); + if (this._observer) { + this._observer.disconnect(); + } else { + this._observer = this._getNewObserver(); + } + for (const section of this._observableSections.values()) { + this._observer.observe(section); + } + } + dispose() { + this._observer.disconnect(); + super.dispose(); + } + _configAfterMerge(config) { + config.target = getElement(config.target) || document.body; + config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin; + if (typeof config.threshold === 'string') { + config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value)); + } + return config; + } + _maybeEnableSmoothScroll() { + if (!this._config.smoothScroll) { + return; + } + EventHandler.off(this._config.target, EVENT_CLICK); + EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => { + const observableSection = this._observableSections.get(event.target.hash); + if (observableSection) { + event.preventDefault(); + const root = this._rootElement || window; + const height = observableSection.offsetTop - this._element.offsetTop; + if (root.scrollTo) { + root.scrollTo({ + top: height, + behavior: 'smooth' + }); + return; + } + root.scrollTop = height; + } + }); + } + _getNewObserver() { + const options = { + root: this._rootElement, + threshold: this._config.threshold, + rootMargin: this._config.rootMargin + }; + return new IntersectionObserver(entries => this._observerCallback(entries), options); + } + _observerCallback(entries) { + const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`); + const activate = entry => { + this._previousScrollData.visibleEntryTop = entry.target.offsetTop; + this._process(targetElement(entry)); + }; + const parentScrollTop = (this._rootElement || document.documentElement).scrollTop; + const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop; + this._previousScrollData.parentScrollTop = parentScrollTop; + for (const entry of entries) { + if (!entry.isIntersecting) { + this._activeTarget = null; + this._clearActiveClass(targetElement(entry)); + continue; + } + const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; + if (userScrollsDown && entryIsLowerThanPrevious) { + activate(entry); + if (!parentScrollTop) { + return; + } + continue; + } + if (!userScrollsDown && !entryIsLowerThanPrevious) { + activate(entry); + } + } + } + _initializeTargetsAndObservables() { + this._targetLinks = new Map(); + this._observableSections = new Map(); + const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target); + for (const anchor of targetLinks) { + if (!anchor.hash || isDisabled(anchor)) { + continue; + } + const observableSection = SelectorEngine.findOne(anchor.hash, this._element); + if (isVisible(observableSection)) { + this._targetLinks.set(anchor.hash, anchor); + this._observableSections.set(anchor.hash, observableSection); + } + } + } + _process(target) { + if (this._activeTarget === target) { + return; + } + this._clearActiveClass(this._config.target); + this._activeTarget = target; + target.classList.add(CLASS_NAME_ACTIVE$1); + this._activateParents(target); + EventHandler.trigger(this._element, EVENT_ACTIVATE, { + relatedTarget: target + }); + } + _activateParents(target) { + if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { + SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1); + return; + } + for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) { + for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) { + item.classList.add(CLASS_NAME_ACTIVE$1); + } + } + } + _clearActiveClass(parent) { + parent.classList.remove(CLASS_NAME_ACTIVE$1); + const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent); + for (const node of activeNodes) { + node.classList.remove(CLASS_NAME_ACTIVE$1); + } + } + static jQueryInterface(config) { + return this.each(function () { + const data = ScrollSpy.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + } + EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => { + for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) { + ScrollSpy.getOrCreateInstance(spy); + } + }); + defineJQueryPlugin(ScrollSpy); + const NAME$1 = 'tab'; + const DATA_KEY$1 = 'bs.tab'; + const EVENT_KEY$1 = `.${DATA_KEY$1}`; + const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`; + const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`; + const EVENT_SHOW$1 = `show${EVENT_KEY$1}`; + const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`; + const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`; + const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`; + const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`; + const ARROW_LEFT_KEY = 'ArrowLeft'; + const ARROW_RIGHT_KEY = 'ArrowRight'; + const ARROW_UP_KEY = 'ArrowUp'; + const ARROW_DOWN_KEY = 'ArrowDown'; + const CLASS_NAME_ACTIVE = 'active'; + const CLASS_NAME_FADE$1 = 'fade'; + const CLASS_NAME_SHOW$1 = 'show'; + const CLASS_DROPDOWN = 'dropdown'; + const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; + const SELECTOR_DROPDOWN_MENU = '.dropdown-menu'; + const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)'; + const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; + const SELECTOR_OUTER = '.nav-item, .list-group-item'; + const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`; + const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; + const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`; + const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`; + class Tab extends BaseComponent { + constructor(element) { + super(element); + this._parent = this._element.closest(SELECTOR_TAB_PANEL); + if (!this._parent) { + return; + } + this._setInitialAttributes(this._parent, this._getChildren()); + EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event)); + } + static get NAME() { + return NAME$1; + } + show() { + const innerElem = this._element; + if (this._elemIsActive(innerElem)) { + return; + } + const active = this._getActiveElem(); + const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, { + relatedTarget: innerElem + }) : null; + const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, { + relatedTarget: active + }); + if (showEvent.defaultPrevented || hideEvent && hideEvent.defaultPrevented) { + return; + } + this._deactivate(active, innerElem); + this._activate(innerElem, active); + } + _activate(element, relatedElem) { + if (!element) { + return; + } + element.classList.add(CLASS_NAME_ACTIVE); + this._activate(SelectorEngine.getElementFromSelector(element)); + const complete = () => { + if (element.getAttribute('role') !== 'tab') { + element.classList.add(CLASS_NAME_SHOW$1); + return; + } + element.removeAttribute('tabindex'); + element.setAttribute('aria-selected', true); + this._toggleDropDown(element, true); + EventHandler.trigger(element, EVENT_SHOWN$1, { + relatedTarget: relatedElem + }); + }; + this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); + } + _deactivate(element, relatedElem) { + if (!element) { + return; + } + element.classList.remove(CLASS_NAME_ACTIVE); + element.blur(); + this._deactivate(SelectorEngine.getElementFromSelector(element)); + const complete = () => { + if (element.getAttribute('role') !== 'tab') { + element.classList.remove(CLASS_NAME_SHOW$1); + return; + } + element.setAttribute('aria-selected', false); + element.setAttribute('tabindex', '-1'); + this._toggleDropDown(element, false); + EventHandler.trigger(element, EVENT_HIDDEN$1, { + relatedTarget: relatedElem + }); + }; + this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); + } + _keydown(event) { + if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) { + return; + } + event.stopPropagation(); + event.preventDefault(); + const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key); + const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true); + if (nextActiveElement) { + nextActiveElement.focus({ + preventScroll: true + }); + Tab.getOrCreateInstance(nextActiveElement).show(); + } + } + _getChildren() { + return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent); + } + _getActiveElem() { + return this._getChildren().find(child => this._elemIsActive(child)) || null; + } + _setInitialAttributes(parent, children) { + this._setAttributeIfNotExists(parent, 'role', 'tablist'); + for (const child of children) { + this._setInitialAttributesOnChild(child); + } + } + _setInitialAttributesOnChild(child) { + child = this._getInnerElement(child); + const isActive = this._elemIsActive(child); + const outerElem = this._getOuterElement(child); + child.setAttribute('aria-selected', isActive); + if (outerElem !== child) { + this._setAttributeIfNotExists(outerElem, 'role', 'presentation'); + } + if (!isActive) { + child.setAttribute('tabindex', '-1'); + } + this._setAttributeIfNotExists(child, 'role', 'tab'); + this._setInitialAttributesOnTargetPanel(child); + } + _setInitialAttributesOnTargetPanel(child) { + const target = SelectorEngine.getElementFromSelector(child); + if (!target) { + return; + } + this._setAttributeIfNotExists(target, 'role', 'tabpanel'); + if (child.id) { + this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`); + } + } + _toggleDropDown(element, open) { + const outerElem = this._getOuterElement(element); + if (!outerElem.classList.contains(CLASS_DROPDOWN)) { + return; + } + const toggle = (selector, className) => { + const element = SelectorEngine.findOne(selector, outerElem); + if (element) { + element.classList.toggle(className, open); + } + }; + toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE); + toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1); + outerElem.setAttribute('aria-expanded', open); + } + _setAttributeIfNotExists(element, attribute, value) { + if (!element.hasAttribute(attribute)) { + element.setAttribute(attribute, value); + } + } + _elemIsActive(elem) { + return elem.classList.contains(CLASS_NAME_ACTIVE); + } + _getInnerElement(elem) { + return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem); + } + _getOuterElement(elem) { + return elem.closest(SELECTOR_OUTER) || elem; + } + static jQueryInterface(config) { + return this.each(function () { + const data = Tab.getOrCreateInstance(this); + if (typeof config !== 'string') { + return; + } + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + } + EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + Tab.getOrCreateInstance(this).show(); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API, () => { + for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) { + Tab.getOrCreateInstance(element); + } + }); + defineJQueryPlugin(Tab); + const NAME = 'toast'; + const DATA_KEY = 'bs.toast'; + const EVENT_KEY = `.${DATA_KEY}`; + const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`; + const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`; + const EVENT_FOCUSIN = `focusin${EVENT_KEY}`; + const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`; + const EVENT_HIDE = `hide${EVENT_KEY}`; + const EVENT_HIDDEN = `hidden${EVENT_KEY}`; + const EVENT_SHOW = `show${EVENT_KEY}`; + const EVENT_SHOWN = `shown${EVENT_KEY}`; + const CLASS_NAME_FADE = 'fade'; + const CLASS_NAME_HIDE = 'hide'; + const CLASS_NAME_SHOW = 'show'; + const CLASS_NAME_SHOWING = 'showing'; + const DefaultType = { + animation: 'boolean', + autohide: 'boolean', + delay: 'number' + }; + const Default = { + animation: true, + autohide: true, + delay: 5000 + }; + class Toast extends BaseComponent { + constructor(element, config) { + super(element, config); + this._timeout = null; + this._hasMouseInteraction = false; + this._hasKeyboardInteraction = false; + this._setListeners(); + } + static get Default() { + return Default; + } + static get DefaultType() { + return DefaultType; + } + static get NAME() { + return NAME; + } + show() { + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW); + if (showEvent.defaultPrevented) { + return; + } + this._clearTimeout(); + if (this._config.animation) { + this._element.classList.add(CLASS_NAME_FADE); + } + const complete = () => { + this._element.classList.remove(CLASS_NAME_SHOWING); + EventHandler.trigger(this._element, EVENT_SHOWN); + this._maybeScheduleHide(); + }; + this._element.classList.remove(CLASS_NAME_HIDE); + reflow(this._element); + this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING); + this._queueCallback(complete, this._element, this._config.animation); + } + hide() { + if (!this.isShown()) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE); + if (hideEvent.defaultPrevented) { + return; + } + const complete = () => { + this._element.classList.add(CLASS_NAME_HIDE); + this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW); + EventHandler.trigger(this._element, EVENT_HIDDEN); + }; + this._element.classList.add(CLASS_NAME_SHOWING); + this._queueCallback(complete, this._element, this._config.animation); + } + dispose() { + this._clearTimeout(); + if (this.isShown()) { + this._element.classList.remove(CLASS_NAME_SHOW); + } + super.dispose(); + } + isShown() { + return this._element.classList.contains(CLASS_NAME_SHOW); + } + _maybeScheduleHide() { + if (!this._config.autohide) { + return; + } + if (this._hasMouseInteraction || this._hasKeyboardInteraction) { + return; + } + this._timeout = setTimeout(() => { + this.hide(); + }, this._config.delay); + } + _onInteraction(event, isInteracting) { + switch (event.type) { + case 'mouseover': + case 'mouseout': + { + this._hasMouseInteraction = isInteracting; + break; + } + case 'focusin': + case 'focusout': + { + this._hasKeyboardInteraction = isInteracting; + break; + } + } + if (isInteracting) { + this._clearTimeout(); + return; + } + const nextElement = event.relatedTarget; + if (this._element === nextElement || this._element.contains(nextElement)) { + return; + } + this._maybeScheduleHide(); + } + _setListeners() { + EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true)); + EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false)); + EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true)); + EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false)); + } + _clearTimeout() { + clearTimeout(this._timeout); + this._timeout = null; + } + static jQueryInterface(config) { + return this.each(function () { + const data = Toast.getOrCreateInstance(this, config); + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + } + }); + } + } + enableDismissTrigger(Toast); + defineJQueryPlugin(Toast); + + var bootstrap = /*#__PURE__*/Object.freeze({ + __proto__: null, + Alert: Alert, + Button: Button, + Carousel: Carousel, + Collapse: Collapse, + Dropdown: Dropdown, + Modal: Modal, + Offcanvas: Offcanvas, + Popover: Popover, + ScrollSpy: ScrollSpy, + Tab: Tab, + Toast: Toast, + Tooltip: Tooltip + }); + + var dropdownTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]')); + dropdownTriggerList.map(function (dropdownTriggerEl) { + var options = { + boundary: dropdownTriggerEl.getAttribute('data-bs-boundary') === 'viewport' ? document.querySelector('.btn') : 'clippingParents' + }; + return new Dropdown(dropdownTriggerEl, options); + }); + + var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); + tooltipTriggerList.map(function (tooltipTriggerEl) { + var _ref, _tooltipTriggerEl$get; + var options = { + delay: { + show: 50, + hide: 50 + }, + html: (_ref = tooltipTriggerEl.getAttribute("data-bs-html") === "true") !== null && _ref !== void 0 ? _ref : false, + placement: (_tooltipTriggerEl$get = tooltipTriggerEl.getAttribute('data-bs-placement')) !== null && _tooltipTriggerEl$get !== void 0 ? _tooltipTriggerEl$get : 'auto' + }; + return new Tooltip(tooltipTriggerEl, options); + }); + + var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')); + popoverTriggerList.map(function (popoverTriggerEl) { + var _ref, _popoverTriggerEl$get; + var options = { + delay: { + show: 50, + hide: 50 + }, + html: (_ref = popoverTriggerEl.getAttribute('data-bs-html') === "true") !== null && _ref !== void 0 ? _ref : false, + placement: (_popoverTriggerEl$get = popoverTriggerEl.getAttribute('data-bs-placement')) !== null && _popoverTriggerEl$get !== void 0 ? _popoverTriggerEl$get : 'auto' + }; + return new Popover(popoverTriggerEl, options); + }); + + var switchesTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="switch-icon"]')); + switchesTriggerList.map(function (switchTriggerEl) { + switchTriggerEl.addEventListener('click', function (e) { + e.stopPropagation(); + switchTriggerEl.classList.toggle('active'); + }); + }); + + var EnableActivationTabsFromLocationHash = function EnableActivationTabsFromLocationHash() { + var locationHash = window.location.hash; + if (locationHash) { + var tabsList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tab"]')); + var matchedTabs = tabsList.filter(function (tab) { + return tab.hash === locationHash; + }); + matchedTabs.map(function (tab) { + new Tab(tab).show(); + }); + } + }; + EnableActivationTabsFromLocationHash(); + + var toastsTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="toast"]')); + toastsTriggerList.map(function (toastTriggerEl) { + return new Toast(toastTriggerEl); + }); + + var prefix = 'tblr-'; + var hexToRgba = function hexToRgba(hex, opacity) { + var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); + return result ? "rgba(".concat(parseInt(result[1], 16), ", ").concat(parseInt(result[2], 16), ", ").concat(parseInt(result[3], 16), ", ").concat(opacity, ")") : null; + }; + var getColor = function getColor(color) { + var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + var c = getComputedStyle(document.body).getPropertyValue("--".concat(prefix).concat(color)).trim(); + if (opacity !== 1) { + return hexToRgba(c, opacity); + } + return c; + }; + + var tabler = /*#__PURE__*/Object.freeze({ + __proto__: null, + prefix: prefix, + hexToRgba: hexToRgba, + getColor: getColor + }); + + globalThis.bootstrap = bootstrap; + globalThis.tabler = tabler; + +})); diff --git a/bin/main/static/tabler/dist/js/tabler.min.js b/bin/main/static/tabler/dist/js/tabler.min.js new file mode 100644 index 0000000..09b4546 --- /dev/null +++ b/bin/main/static/tabler/dist/js/tabler.min.js @@ -0,0 +1,15 @@ +/*! +* Tabler v1.0.0-beta19 (https://tabler.io) +* @version 1.0.0-beta19 +* @link https://tabler.io +* Copyright 2018-2023 The Tabler Authors +* Copyright 2018-2023 codecalm.net Paweł Kuna +* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) +*/ +!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";var t=new Map;function e(e){var s=t.get(e);s&&s.destroy()}function s(e){var s=t.get(e);s&&s.update()}var i=null;"undefined"==typeof window?((i=function(t){return t}).destroy=function(t){return t},i.update=function(t){return t}):((i=function(e,s){return e&&Array.prototype.forEach.call(e.length?e:[e],(function(e){return function(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!t.has(e)){var s,i=null,n=window.getComputedStyle(e),r=(s=e.value,function(){a({testForHeightReduction:""===s||!e.value.startsWith(s),restoreTextAlign:null}),s=e.value}),o=function(s){e.removeEventListener("autosize:destroy",o),e.removeEventListener("autosize:update",l),e.removeEventListener("input",r),window.removeEventListener("resize",l),Object.keys(s).forEach((function(t){return e.style[t]=s[t]})),t.delete(e)}.bind(e,{height:e.style.height,resize:e.style.resize,textAlign:e.style.textAlign,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",o),e.addEventListener("autosize:update",l),e.addEventListener("input",r),window.addEventListener("resize",l),e.style.overflowX="hidden",e.style.wordWrap="break-word",t.set(e,{destroy:o,update:l}),l()}function a(t){var s,r,o=t.restoreTextAlign,l=void 0===o?null:o,u=t.testForHeightReduction,h=void 0===u||u,c=n.overflowY;if(0!==e.scrollHeight&&("vertical"===n.resize?e.style.resize="none":"both"===n.resize&&(e.style.resize="horizontal"),h&&(s=function(t){for(var e=[];t&&t.parentNode&&t.parentNode instanceof Element;)t.parentNode.scrollTop&&e.push([t.parentNode,t.parentNode.scrollTop]),t=t.parentNode;return function(){return e.forEach((function(t){var e=t[0],s=t[1];e.style.scrollBehavior="auto",e.scrollTop=s,e.style.scrollBehavior=null}))}}(e),e.style.height=""),r="content-box"===n.boxSizing?e.scrollHeight-(parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)):e.scrollHeight+parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth),"none"!==n.maxHeight&&r>parseFloat(n.maxHeight)?("hidden"===n.overflowY&&(e.style.overflow="scroll"),r=parseFloat(n.maxHeight)):"hidden"!==n.overflowY&&(e.style.overflow="hidden"),e.style.height=r+"px",l&&(e.style.textAlign=l),s&&s(),i!==r&&(e.dispatchEvent(new Event("autosize:resized",{bubbles:!0})),i=r),c!==n.overflow&&!l)){var d=n.textAlign;"hidden"===n.overflow&&(e.style.textAlign="start"===d?"end":"start"),a({restoreTextAlign:d,testForHeightReduction:!0})}}function l(){a({testForHeightReduction:!0,restoreTextAlign:null})}}(e)})),e}).destroy=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],e),t},i.update=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],s),t});var n=i,r=document.querySelectorAll('[data-bs-toggle="autosize"]');function o(t,e){if(null==t)return{};var s,i,n={},r=Object.keys(t);for(i=0;i=0||(n[s]=t[s]);return n}function a(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new a.InputMask(t,e)}r.length&&r.forEach((function(t){n(t)}));class l{constructor(t){Object.assign(this,{inserted:"",rawInserted:"",skip:!1,tailShift:0},t)}aggregate(t){return this.rawInserted+=t.rawInserted,this.skip=this.skip||t.skip,this.inserted+=t.inserted,this.tailShift+=t.tailShift,this}get offset(){return this.tailShift+this.inserted.length}}function u(t){return"string"==typeof t||t instanceof String}a.ChangeDetails=l;const h="NONE",c="LEFT",d="FORCE_LEFT",p="RIGHT",f="FORCE_RIGHT";function g(t){return t.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function m(t){return Array.isArray(t)?t:[t,new l]}function _(t,e){if(e===t)return!0;var s,i=Array.isArray(e),n=Array.isArray(t);if(i&&n){if(e.length!=t.length)return!1;for(s=0;s0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=arguments.length>2?arguments[2]:void 0;this.value=t,this.from=e,this.stop=s}toString(){return this.value}extend(t){this.value+=String(t)}appendTo(t){return t.append(this.toString(),{tail:!0}).aggregate(t._appendPlaceholder())}get state(){return{value:this.value,from:this.from,stop:this.stop}}set state(t){Object.assign(this,t)}unshift(t){if(!this.value.length||null!=t&&this.from>=t)return"";const e=this.value[0];return this.value=this.value.slice(1),e}shift(){if(!this.value.length)return"";const t=this.value[this.value.length-1];return this.value=this.value.slice(0,-1),t}}class k{constructor(t){this._value="",this._update(Object.assign({},k.DEFAULTS,t)),this.isInitialized=!0}updateOptions(t){Object.keys(t).length&&this.withValueRefresh(this._update.bind(this,t))}_update(t){Object.assign(this,t)}get state(){return{_value:this.value}}set state(t){this._value=t._value}reset(){this._value=""}get value(){return this._value}set value(t){this.resolve(t)}resolve(t){return this.reset(),this.append(t,{input:!0},""),this.doCommit(),this.value}get unmaskedValue(){return this.value}set unmaskedValue(t){this.reset(),this.append(t,{},""),this.doCommit()}get typedValue(){return this.doParse(this.value)}set typedValue(t){this.value=this.doFormat(t)}get rawInputValue(){return this.extractInput(0,this.value.length,{raw:!0})}set rawInputValue(t){this.reset(),this.append(t,{raw:!0},""),this.doCommit()}get displayValue(){return this.value}get isComplete(){return!0}get isFilled(){return this.isComplete}nearestInputPos(t,e){return t}totalInputPositions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return Math.min(this.value.length,e-t)}extractInput(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return this.value.slice(t,e)}extractTail(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return new b(this.extractInput(t,e),t)}appendTail(t){return u(t)&&(t=new b(String(t))),t.appendTo(this)}_appendCharRaw(t){return t?(this._value+=t,new l({inserted:t,rawInserted:t})):new l}_appendChar(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0;const i=this.state;let n;if([t,n]=m(this.doPrepare(t,e)),n=n.aggregate(this._appendCharRaw(t,e)),n.inserted){let t,r=!1!==this.doValidate(e);if(r&&null!=s){const e=this.state;!0===this.overwrite&&(t=s.state,s.unshift(this.value.length-n.tailShift));let i=this.appendTail(s);r=i.rawInserted===s.toString(),r&&i.inserted||"shift"!==this.overwrite||(this.state=e,t=s.state,s.shift(),i=this.appendTail(s),r=i.rawInserted===s.toString()),r&&i.inserted&&(this.state=e)}r||(n=new l,this.state=i,s&&t&&(s.state=t))}return n}_appendPlaceholder(){return new l}_appendEager(){return new l}append(t,e,s){if(!u(t))throw new Error("value should be string");const i=new l,n=u(s)?new b(String(s)):s;null!=e&&e.tail&&(e._beforeTailState=this.state);for(let s=0;s0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return this._value=this.value.slice(0,t)+this.value.slice(e),new l}withValueRefresh(t){if(this._refreshing||!this.isInitialized)return t();this._refreshing=!0;const e=this.rawInputValue,s=this.value,i=t();return this.rawInputValue=e,this.value&&this.value!==s&&0===s.indexOf(this.value)&&this.append(s.slice(this.value.length),{},""),delete this._refreshing,i}runIsolated(t){if(this._isolated||!this.isInitialized)return t(this);this._isolated=!0;const e=this.state,s=t(this);return this.state=e,delete this._isolated,s}doSkipInvalid(t){return this.skipInvalid}doPrepare(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.prepare?this.prepare(t,this,e):t}doValidate(t){return(!this.validate||this.validate(this.value,this,t))&&(!this.parent||this.parent.doValidate(t))}doCommit(){this.commit&&this.commit(this.value,this)}doFormat(t){return this.format?this.format(t,this):t}doParse(t){return this.parse?this.parse(t,this):t}splice(t,e,s,i){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{input:!0};const r=t+e,o=this.extractTail(r),a=!0===this.eager||"remove"===this.eager;let u;a&&(i=function(t){switch(t){case c:return d;case p:return f;default:return t}}(i),u=this.extractInput(0,r,{raw:!0}));let g=t;const m=new l;if(i!==h&&(g=this.nearestInputPos(t,e>1&&0!==t&&!a?h:i),m.tailShift=g-t),m.aggregate(this.remove(g)),a&&i!==h&&u===this.rawInputValue)if(i===d){let t;for(;u===this.rawInputValue&&(t=this.value.length);)m.aggregate(new l({tailShift:-1})).aggregate(this.remove(t-1))}else i===f&&o.unshift();return m.aggregate(this.append(s,n,o))}maskEquals(t){return this.mask===t}typedValueEquals(t){const e=this.typedValue;return t===e||k.EMPTY_VALUES.includes(t)&&k.EMPTY_VALUES.includes(e)||this.doFormat(t)===this.doFormat(this.typedValue)}}function y(t){if(null==t)throw new Error("mask property should be defined");return t instanceof RegExp?a.MaskedRegExp:u(t)?a.MaskedPattern:t instanceof Date||t===Date?a.MaskedDate:t instanceof Number||"number"==typeof t||t===Number?a.MaskedNumber:Array.isArray(t)||t===Array?a.MaskedDynamic:a.Masked&&t.prototype instanceof a.Masked?t:t instanceof a.Masked?t.constructor:t instanceof Function?a.MaskedFunction:(console.warn("Mask not found for mask",t),a.Masked)}function A(t){if(a.Masked&&t instanceof a.Masked)return t;const e=(t=Object.assign({},t)).mask;if(a.Masked&&e instanceof a.Masked)return e;const s=y(e);if(!s)throw new Error("Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.");return new s(t)}k.DEFAULTS={format:String,parse:t=>t,skipInvalid:!0},k.EMPTY_VALUES=[void 0,null,""],a.Masked=k,a.createMask=A;const w=["parent","isOptional","placeholderChar","displayChar","lazy","eager"],E={0:/\d/,a:/[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,"*":/./};class C{constructor(t){const{parent:e,isOptional:s,placeholderChar:i,displayChar:n,lazy:r,eager:a}=t,l=o(t,w);this.masked=A(l),Object.assign(this,{parent:e,isOptional:s,placeholderChar:i,displayChar:n,lazy:r,eager:a})}reset(){this.isFilled=!1,this.masked.reset()}remove(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return 0===t&&e>=1?(this.isFilled=!1,this.masked.remove(t,e)):new l}get value(){return this.masked.value||(this.isFilled&&!this.isOptional?this.placeholderChar:"")}get unmaskedValue(){return this.masked.unmaskedValue}get displayValue(){return this.masked.value&&this.displayChar||this.value}get isComplete(){return Boolean(this.masked.value)||this.isOptional}_appendChar(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.isFilled)return new l;const s=this.masked.state,i=this.masked._appendChar(t,e);return i.inserted&&!1===this.doValidate(e)&&(i.inserted=i.rawInserted="",this.masked.state=s),i.inserted||this.isOptional||this.lazy||e.input||(i.inserted=this.placeholderChar),i.skip=!i.inserted&&!this.isOptional,this.isFilled=Boolean(i.inserted),i}append(){return this.masked.append(...arguments)}_appendPlaceholder(){const t=new l;return this.isFilled||this.isOptional||(this.isFilled=!0,t.inserted=this.placeholderChar),t}_appendEager(){return new l}extractTail(){return this.masked.extractTail(...arguments)}appendTail(){return this.masked.appendTail(...arguments)}extractInput(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,s=arguments.length>2?arguments[2]:void 0;return this.masked.extractInput(t,e,s)}nearestInputPos(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h;const s=this.value.length,i=Math.min(Math.max(t,0),s);switch(e){case c:case d:return this.isComplete?i:0;case p:case f:return this.isComplete?i:s;default:return i}}totalInputPositions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return this.value.slice(t,e).length}doValidate(){return this.masked.doValidate(...arguments)&&(!this.parent||this.parent.doValidate(...arguments))}doCommit(){this.masked.doCommit()}get state(){return{masked:this.masked.state,isFilled:this.isFilled}}set state(t){this.masked.state=t.masked,this.isFilled=t.isFilled}}class x{constructor(t){Object.assign(this,t),this._value="",this.isFixed=!0}get value(){return this._value}get unmaskedValue(){return this.isUnmasking?this.value:""}get displayValue(){return this.value}reset(){this._isRawInput=!1,this._value=""}remove(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._value.length;return this._value=this._value.slice(0,t)+this._value.slice(e),this._value||(this._isRawInput=!1),new l}nearestInputPos(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h;const s=this._value.length;switch(e){case c:case d:return 0;default:return s}}totalInputPositions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._value.length;return this._isRawInput?e-t:0}extractInput(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._value.length;return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).raw&&this._isRawInput&&this._value.slice(t,e)||""}get isComplete(){return!0}get isFilled(){return Boolean(this._value)}_appendChar(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=new l;if(this.isFilled)return s;const i=!0===this.eager||"append"===this.eager,n=this.char===t&&(this.isUnmasking||e.input||e.raw)&&(!e.raw||!i)&&!e.tail;return n&&(s.rawInserted=this.char),this._value=s.inserted=this.char,this._isRawInput=n&&(e.raw||e.input),s}_appendEager(){return this._appendChar(this.char,{tail:!0})}_appendPlaceholder(){const t=new l;return this.isFilled||(this._value=t.inserted=this.char),t}extractTail(){return arguments.length>1&&void 0!==arguments[1]||this.value.length,new b("")}appendTail(t){return u(t)&&(t=new b(String(t))),t.appendTo(this)}append(t,e,s){const i=this._appendChar(t[0],e);return null!=s&&(i.tailShift+=this.appendTail(s).tailShift),i}doCommit(){}get state(){return{_value:this._value,_isRawInput:this._isRawInput}}set state(t){Object.assign(this,t)}}const S=["chunks"];class F{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.chunks=t,this.from=e}toString(){return this.chunks.map(String).join("")}extend(t){if(!String(t))return;u(t)&&(t=new b(String(t)));const e=this.chunks[this.chunks.length-1],s=e&&(e.stop===t.stop||null==t.stop)&&t.from===e.from+e.toString().length;if(t instanceof b)s?e.extend(t.toString()):this.chunks.push(t);else if(t instanceof F){if(null==t.stop){let e;for(;t.chunks.length&&null==t.chunks[0].stop;)e=t.chunks.shift(),e.from+=t.from,this.extend(e)}t.toString()&&(t.stop=t.blockIndex,this.chunks.push(t))}}appendTo(t){if(!(t instanceof a.MaskedPattern)){return new b(this.toString()).appendTo(t)}const e=new l;for(let s=0;s=0){const s=t._appendPlaceholder(r);e.aggregate(s)}o=i instanceof F&&t._blocks[r]}if(o){const s=o.appendTail(i);s.skip=!1,e.aggregate(s),t._value+=s.inserted;const n=i.toString().slice(s.rawInserted.length);n&&e.aggregate(t.append(n,{tail:!0}))}else e.aggregate(t.append(i.toString(),{tail:!0}))}return e}get state(){return{chunks:this.chunks.map((t=>t.state)),from:this.from,stop:this.stop,blockIndex:this.blockIndex}}set state(t){const{chunks:e}=t,s=o(t,S);Object.assign(this,s),this.chunks=e.map((t=>{const e="chunks"in t?new F:new b;return e.state=t,e}))}unshift(t){if(!this.chunks.length||null!=t&&this.from>=t)return"";const e=null!=t?t-this.from:t;let s=0;for(;s=this.masked._blocks.length&&(this.index=this.masked._blocks.length-1,this.offset=this.block.value.length))}_pushLeft(t){for(this.pushState(),this.bindBlock();0<=this.index;--this.index,this.offset=(null===(e=this.block)||void 0===e?void 0:e.value.length)||0){var e;if(t())return this.ok=!0}return this.ok=!1}_pushRight(t){for(this.pushState(),this.bindBlock();this.index{if(!this.block.isFixed&&this.block.value)return this.offset=this.block.nearestInputPos(this.offset,d),0!==this.offset||void 0}))}pushLeftBeforeInput(){return this._pushLeft((()=>{if(!this.block.isFixed)return this.offset=this.block.nearestInputPos(this.offset,c),!0}))}pushLeftBeforeRequired(){return this._pushLeft((()=>{if(!(this.block.isFixed||this.block.isOptional&&!this.block.value))return this.offset=this.block.nearestInputPos(this.offset,c),!0}))}pushRightBeforeFilled(){return this._pushRight((()=>{if(!this.block.isFixed&&this.block.value)return this.offset=this.block.nearestInputPos(this.offset,f),this.offset!==this.block.value.length||void 0}))}pushRightBeforeInput(){return this._pushRight((()=>{if(!this.block.isFixed)return this.offset=this.block.nearestInputPos(this.offset,h),!0}))}pushRightBeforeRequired(){return this._pushRight((()=>{if(!(this.block.isFixed||this.block.isOptional&&!this.block.value))return this.offset=this.block.nearestInputPos(this.offset,h),!0}))}}a.MaskedRegExp=class extends k{_update(t){t.mask&&(t.validate=e=>e.search(t.mask)>=0),super._update(t)}};const D=["_blocks"];class O extends k{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.definitions=Object.assign({},E,t.definitions),super(Object.assign({},O.DEFAULTS,t))}_update(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.definitions=Object.assign({},this.definitions,t.definitions),super._update(t),this._rebuildMask()}_rebuildMask(){const t=this.definitions;this._blocks=[],this._stops=[],this._maskedBlocks={};let e=this.mask;if(!e||!t)return;let s=!1,i=!1;for(let o=0;o0===t.indexOf(e)));s.sort(((t,e)=>e.length-t.length));const i=s[0];if(i){const t=A(Object.assign({parent:this,lazy:this.lazy,eager:this.eager,placeholderChar:this.placeholderChar,displayChar:this.displayChar,overwrite:this.overwrite},this.blocks[i]));t&&(this._blocks.push(t),this._maskedBlocks[i]||(this._maskedBlocks[i]=[]),this._maskedBlocks[i].push(this._blocks.length-1)),o+=i.length-1;continue}}let l=e[o],u=l in t;if(l===O.STOP_CHAR){this._stops.push(this._blocks.length);continue}if("{"===l||"}"===l){s=!s;continue}if("["===l||"]"===l){i=!i;continue}if(l===O.ESCAPE_CHAR){if(++o,l=e[o],!l)break;u=!1}const h=null===(n=t[l])||void 0===n||!n.mask||(null===(r=t[l])||void 0===r?void 0:r.mask.prototype)instanceof a.Masked?{mask:t[l]}:t[l],c=u?new C(Object.assign({parent:this,isOptional:i,lazy:this.lazy,eager:this.eager,placeholderChar:this.placeholderChar,displayChar:this.displayChar},h)):new x({char:l,eager:this.eager,isUnmasking:s});this._blocks.push(c)}}get state(){return Object.assign({},super.state,{_blocks:this._blocks.map((t=>t.state))})}set state(t){const{_blocks:e}=t,s=o(t,D);this._blocks.forEach(((t,s)=>t.state=e[s])),super.state=s}reset(){super.reset(),this._blocks.forEach((t=>t.reset()))}get isComplete(){return this._blocks.every((t=>t.isComplete))}get isFilled(){return this._blocks.every((t=>t.isFilled))}get isFixed(){return this._blocks.every((t=>t.isFixed))}get isOptional(){return this._blocks.every((t=>t.isOptional))}doCommit(){this._blocks.forEach((t=>t.doCommit())),super.doCommit()}get unmaskedValue(){return this._blocks.reduce(((t,e)=>t+e.unmaskedValue),"")}set unmaskedValue(t){super.unmaskedValue=t}get value(){return this._blocks.reduce(((t,e)=>t+e.value),"")}set value(t){super.value=t}get displayValue(){return this._blocks.reduce(((t,e)=>t+e.displayValue),"")}appendTail(t){return super.appendTail(t).aggregate(this._appendPlaceholder())}_appendEager(){var t;const e=new l;let s=null===(t=this._mapPosToBlock(this.value.length))||void 0===t?void 0:t.index;if(null==s)return e;this._blocks[s].isFilled&&++s;for(let t=s;t1&&void 0!==arguments[1]?arguments[1]:{};const s=this._mapPosToBlock(this.value.length),i=new l;if(!s)return i;for(let o=s.index;;++o){var n,r;const s=this._blocks[o];if(!s)break;const a=s._appendChar(t,Object.assign({},e,{_beforeTailState:null===(n=e._beforeTailState)||void 0===n||null===(r=n._blocks)||void 0===r?void 0:r[o]})),l=a.skip;if(i.aggregate(a),l||a.rawInserted)break}return i}extractTail(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;const s=new F;return t===e||this._forEachBlocksInRange(t,e,((t,e,i,n)=>{const r=t.extractTail(i,n);r.stop=this._findStopBefore(e),r.from=this._blockStartPos(e),r instanceof F&&(r.blockIndex=e),s.extend(r)})),s}extractInput(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t===e)return"";let i="";return this._forEachBlocksInRange(t,e,((t,e,n,r)=>{i+=t.extractInput(n,r,s)})),i}_findStopBefore(t){let e;for(let s=0;s{if(!s.lazy||null!=t){const t=null!=s._blocks?[s._blocks.length]:[],i=s._appendPlaceholder(...t);this._value+=i.inserted,e.aggregate(i)}})),e}_mapPosToBlock(t){let e="";for(let s=0;st+e.value.length),0)}_forEachBlocksInRange(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,s=arguments.length>2?arguments[2]:void 0;const i=this._mapPosToBlock(t);if(i){const t=this._mapPosToBlock(e),n=t&&i.index===t.index,r=i.offset,o=t&&n?t.offset:this._blocks[i.index].value.length;if(s(this._blocks[i.index],i.index,r,o),t&&!n){for(let e=i.index+1;e0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;const s=super.remove(t,e);return this._forEachBlocksInRange(t,e,((t,e,i,n)=>{s.aggregate(t.remove(i,n))})),s}nearestInputPos(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h;if(!this._blocks.length)return 0;const s=new T(this,t);if(e===h)return s.pushRightBeforeInput()?s.pos:(s.popState(),s.pushLeftBeforeInput()?s.pos:this.value.length);if(e===c||e===d){if(e===c){if(s.pushRightBeforeFilled(),s.ok&&s.pos===t)return t;s.popState()}if(s.pushLeftBeforeInput(),s.pushLeftBeforeRequired(),s.pushLeftBeforeFilled(),e===c){if(s.pushRightBeforeInput(),s.pushRightBeforeRequired(),s.ok&&s.pos<=t)return s.pos;if(s.popState(),s.ok&&s.pos<=t)return s.pos;s.popState()}return s.ok?s.pos:e===d?0:(s.popState(),s.ok?s.pos:(s.popState(),s.ok?s.pos:0))}return e===p||e===f?(s.pushRightBeforeInput(),s.pushRightBeforeRequired(),s.pushRightBeforeFilled()?s.pos:e===f?this.value.length:(s.popState(),s.ok?s.pos:(s.popState(),s.ok?s.pos:this.nearestInputPos(t,c)))):t}totalInputPositions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,s=0;return this._forEachBlocksInRange(t,e,((t,e,i,n)=>{s+=t.totalInputPositions(i,n)})),s}maskedBlock(t){return this.maskedBlocks(t)[0]}maskedBlocks(t){const e=this._maskedBlocks[t];return e?e.map((t=>this._blocks[t])):[]}}O.DEFAULTS={lazy:!0,placeholderChar:"_"},O.STOP_CHAR="`",O.ESCAPE_CHAR="\\",O.InputDefinition=C,O.FixedDefinition=x,a.MaskedPattern=O;class I extends O{get _matchFrom(){return this.maxLength-String(this.from).length}_update(t){t=Object.assign({to:this.to||0,from:this.from||0,maxLength:this.maxLength||0},t);let e=String(t.to).length;null!=t.maxLength&&(e=Math.max(e,t.maxLength)),t.maxLength=e;const s=String(t.from).padStart(e,"0"),i=String(t.to).padStart(e,"0");let n=0;for(;n1&&void 0!==arguments[1]?arguments[1]:{};if([t,e]=m(super.doPrepare(t.replace(/\D/g,""),s)),!this.autofix||!t)return t;const i=String(this.from).padStart(this.maxLength,"0"),n=String(this.to).padStart(this.maxLength,"0");let r=this.value+t;if(r.length>this.maxLength)return"";const[o,a]=this.boundaries(r);return Number(a)this.to?"pad"===this.autofix&&r.length{const s=t.blocks[e];!("autofix"in s)&&"autofix"in t&&(s.autofix=t.autofix)})),super._update(t)}doValidate(){const t=this.date;return super.doValidate(...arguments)&&(!this.isComplete||this.isDateExist(this.value)&&null!=t&&(null==this.min||this.min<=t)&&(null==this.max||t<=this.max))}isDateExist(t){return this.format(this.parse(t,this),this).indexOf(t)>=0}get date(){return this.typedValue}set date(t){this.typedValue=t}get typedValue(){return this.isComplete?super.typedValue:null}set typedValue(t){super.typedValue=t}maskEquals(t){return t===Date||super.maskEquals(t)}}B.DEFAULTS={pattern:"d{.}`m{.}`Y",format:t=>{if(!t)return"";return[String(t.getDate()).padStart(2,"0"),String(t.getMonth()+1).padStart(2,"0"),t.getFullYear()].join(".")},parse:t=>{const[e,s,i]=t.split(".");return new Date(i,s-1,e)}},B.GET_DEFAULT_BLOCKS=()=>({d:{mask:I,from:1,to:31,maxLength:2},m:{mask:I,from:1,to:12,maxLength:2},Y:{mask:I,from:1900,to:9999}}),a.MaskedDate=B;class M{get selectionStart(){let t;try{t=this._unsafeSelectionStart}catch(t){}return null!=t?t:this.value.length}get selectionEnd(){let t;try{t=this._unsafeSelectionEnd}catch(t){}return null!=t?t:this.value.length}select(t,e){if(null!=t&&null!=e&&(t!==this.selectionStart||e!==this.selectionEnd))try{this._unsafeSelect(t,e)}catch(t){}}_unsafeSelect(t,e){}get isActive(){return!1}bindEvents(t){}unbindEvents(){}}a.MaskElement=M;class P extends M{constructor(t){super(),this.input=t,this._handlers={}}get rootElement(){var t,e,s;return null!==(t=null===(e=(s=this.input).getRootNode)||void 0===e?void 0:e.call(s))&&void 0!==t?t:document}get isActive(){return this.input===this.rootElement.activeElement}get _unsafeSelectionStart(){return this.input.selectionStart}get _unsafeSelectionEnd(){return this.input.selectionEnd}_unsafeSelect(t,e){this.input.setSelectionRange(t,e)}get value(){return this.input.value}set value(t){this.input.value=t}bindEvents(t){Object.keys(t).forEach((e=>this._toggleEventHandler(P.EVENTS_MAP[e],t[e])))}unbindEvents(){Object.keys(this._handlers).forEach((t=>this._toggleEventHandler(t)))}_toggleEventHandler(t,e){this._handlers[t]&&(this.input.removeEventListener(t,this._handlers[t]),delete this._handlers[t]),e&&(this.input.addEventListener(t,e),this._handlers[t]=e)}}P.EVENTS_MAP={selectionChange:"keydown",input:"input",drop:"drop",click:"click",focus:"focus",commit:"blur"},a.HTMLMaskElement=P;class L extends P{get _unsafeSelectionStart(){const t=this.rootElement,e=t.getSelection&&t.getSelection(),s=e&&e.anchorOffset,i=e&&e.focusOffset;return null==i||null==s||si?s:i}_unsafeSelect(t,e){if(!this.rootElement.createRange)return;const s=this.rootElement.createRange();s.setStart(this.input.firstChild||this.input,t),s.setEnd(this.input.lastChild||this.input,e);const i=this.rootElement,n=i.getSelection&&i.getSelection();n&&(n.removeAllRanges(),n.addRange(s))}get value(){return this.input.textContent}set value(t){this.input.textContent=t}}a.HTMLContenteditableMaskElement=L;const V=["mask"];a.InputMask=class{constructor(t,e){this.el=t instanceof M?t:t.isContentEditable&&"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName?new L(t):new P(t),this.masked=A(e),this._listeners={},this._value="",this._unmaskedValue="",this._saveSelection=this._saveSelection.bind(this),this._onInput=this._onInput.bind(this),this._onChange=this._onChange.bind(this),this._onDrop=this._onDrop.bind(this),this._onFocus=this._onFocus.bind(this),this._onClick=this._onClick.bind(this),this.alignCursor=this.alignCursor.bind(this),this.alignCursorFriendly=this.alignCursorFriendly.bind(this),this._bindEvents(),this.updateValue(),this._onChange()}get mask(){return this.masked.mask}maskEquals(t){var e;return null==t||(null===(e=this.masked)||void 0===e?void 0:e.maskEquals(t))}set mask(t){if(this.maskEquals(t))return;if(!(t instanceof a.Masked)&&this.masked.constructor===y(t))return void this.masked.updateOptions({mask:t});const e=A({mask:t});e.unmaskedValue=this.masked.unmaskedValue,this.masked=e}get value(){return this._value}set value(t){this.value!==t&&(this.masked.value=t,this.updateControl(),this.alignCursor())}get unmaskedValue(){return this._unmaskedValue}set unmaskedValue(t){this.unmaskedValue!==t&&(this.masked.unmaskedValue=t,this.updateControl(),this.alignCursor())}get typedValue(){return this.masked.typedValue}set typedValue(t){this.masked.typedValueEquals(t)||(this.masked.typedValue=t,this.updateControl(),this.alignCursor())}get displayValue(){return this.masked.displayValue}_bindEvents(){this.el.bindEvents({selectionChange:this._saveSelection,input:this._onInput,drop:this._onDrop,click:this._onClick,focus:this._onFocus,commit:this._onChange})}_unbindEvents(){this.el&&this.el.unbindEvents()}_fireEvent(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;it(...s)))}get selectionStart(){return this._cursorChanging?this._changingCursorPos:this.el.selectionStart}get cursorPos(){return this._cursorChanging?this._changingCursorPos:this.el.selectionEnd}set cursorPos(t){this.el&&this.el.isActive&&(this.el.select(t,t),this._saveSelection())}_saveSelection(){this.displayValue!==this.el.value&&console.warn("Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly."),this._selection={start:this.selectionStart,end:this.cursorPos}}updateValue(){this.masked.value=this.el.value,this._value=this.masked.value}updateControl(){const t=this.masked.unmaskedValue,e=this.masked.value,s=this.displayValue,i=this.unmaskedValue!==t||this.value!==e;this._unmaskedValue=t,this._value=e,this.el.value!==s&&(this.el.value=s),i&&this._fireChangeEvents()}updateOptions(t){const{mask:e}=t,s=o(t,V),i=!this.maskEquals(e),n=!_(this.masked,s);i&&(this.mask=e),n&&this.masked.updateOptions(s),(i||n)&&this.updateControl()}updateCursor(t){null!=t&&(this.cursorPos=t,this._delayUpdateCursor(t))}_delayUpdateCursor(t){this._abortUpdateCursor(),this._changingCursorPos=t,this._cursorChanging=setTimeout((()=>{this.el&&(this.cursorPos=this._changingCursorPos,this._abortUpdateCursor())}),10)}_fireChangeEvents(){this._fireEvent("accept",this._inputEvent),this.masked.isComplete&&this._fireEvent("complete",this._inputEvent)}_abortUpdateCursor(){this._cursorChanging&&(clearTimeout(this._cursorChanging),delete this._cursorChanging)}alignCursor(){this.cursorPos=this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos,c))}alignCursorFriendly(){this.selectionStart===this.cursorPos&&this.alignCursor()}on(t,e){return this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(e),this}off(t,e){if(!this._listeners[t])return this;if(!e)return delete this._listeners[t],this;const s=this._listeners[t].indexOf(e);return s>=0&&this._listeners[t].splice(s,1),this}_onInput(t){if(this._inputEvent=t,this._abortUpdateCursor(),!this._selection)return this.updateValue();const e=new v(this.el.value,this.cursorPos,this.displayValue,this._selection),s=this.masked.rawInputValue,i=this.masked.splice(e.startChangePos,e.removed.length,e.inserted,e.removeDirection,{input:!0,raw:!0}).offset,n=s===this.masked.rawInputValue?e.removeDirection:h;let r=this.masked.nearestInputPos(e.startChangePos+i,n);n!==h&&(r=this.masked.nearestInputPos(r,h)),this.updateControl(),this.updateCursor(r),delete this._inputEvent}_onChange(){this.displayValue!==this.el.value&&this.updateValue(),this.masked.doCommit(),this.updateControl(),this._saveSelection()}_onDrop(t){t.preventDefault(),t.stopPropagation()}_onFocus(t){this.alignCursorFriendly()}_onClick(t){this.alignCursorFriendly()}destroy(){this._unbindEvents(),this._listeners.length=0,delete this.el}};a.MaskedEnum=class extends O{_update(t){t.enum&&(t.mask="*".repeat(t.enum[0].length)),super._update(t)}doValidate(){return this.enum.some((t=>t.indexOf(this.unmaskedValue)>=0))&&super.doValidate(...arguments)}};class N extends k{constructor(t){super(Object.assign({},N.DEFAULTS,t))}_update(t){super._update(t),this._updateRegExps()}_updateRegExps(){let t="^"+(this.allowNegative?"[+|\\-]?":""),e=(this.scale?"(".concat(g(this.radix),"\\d{0,").concat(this.scale,"})?"):"")+"$";this._numberRegExp=new RegExp(t+"\\d*"+e),this._mapToRadixRegExp=new RegExp("[".concat(this.mapToRadix.map(g).join(""),"]"),"g"),this._thousandsSeparatorRegExp=new RegExp(g(this.thousandsSeparator),"g")}_removeThousandsSeparators(t){return t.replace(this._thousandsSeparatorRegExp,"")}_insertThousandsSeparators(t){const e=t.split(this.radix);return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,this.thousandsSeparator),e.join(this.radix)}doPrepare(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=this._removeThousandsSeparators(this.scale&&this.mapToRadix.length&&(e.input&&e.raw||!e.input&&!e.raw)?t.replace(this._mapToRadixRegExp,this.radix):t);const[s,i]=m(super.doPrepare(t,e));return t&&!s&&(i.skip=!0),[s,i]}_separatorsCount(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=0;for(let i=0;i0&&void 0!==arguments[0]?arguments[0]:this._value;return this._separatorsCount(this._removeThousandsSeparators(t).length,!0)}extractInput(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,s=arguments.length>2?arguments[2]:void 0;return[t,e]=this._adjustRangeWithSeparators(t,e),this._removeThousandsSeparators(super.extractInput(t,e,s))}_appendCharRaw(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.thousandsSeparator)return super._appendCharRaw(t,e);const s=e.tail&&e._beforeTailState?e._beforeTailState._value:this._value,i=this._separatorsCountFromSlice(s);this._value=this._removeThousandsSeparators(this.value);const n=super._appendCharRaw(t,e);this._value=this._insertThousandsSeparators(this._value);const r=e.tail&&e._beforeTailState?e._beforeTailState._value:this._value,o=this._separatorsCountFromSlice(r);return n.tailShift+=(o-i)*this.thousandsSeparator.length,n.skip=!n.rawInserted&&t===this.thousandsSeparator,n}_findSeparatorAround(t){if(this.thousandsSeparator){const e=t-this.thousandsSeparator.length+1,s=this.value.indexOf(this.thousandsSeparator,e);if(s<=t)return s}return-1}_adjustRangeWithSeparators(t,e){const s=this._findSeparatorAround(t);s>=0&&(t=s);const i=this._findSeparatorAround(e);return i>=0&&(e=i+this.thousandsSeparator.length),[t,e]}remove(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;[t,e]=this._adjustRangeWithSeparators(t,e);const s=this.value.slice(0,t),i=this.value.slice(e),n=this._separatorsCount(s.length);this._value=this._insertThousandsSeparators(this._removeThousandsSeparators(s+i));const r=this._separatorsCountFromSlice(s);return new l({tailShift:(r-n)*this.thousandsSeparator.length})}nearestInputPos(t,e){if(!this.thousandsSeparator)return t;switch(e){case h:case c:case d:{const s=this._findSeparatorAround(t-1);if(s>=0){const i=s+this.thousandsSeparator.length;if(t=0)return e+this.thousandsSeparator.length}}return t}doValidate(t){let e=Boolean(this._removeThousandsSeparators(this.value).match(this._numberRegExp));if(e){const t=this.number;e=e&&!isNaN(t)&&(null==this.min||this.min>=0||this.min<=this.number)&&(null==this.max||this.max<=0||this.number<=this.max)}return e&&super.doValidate(t)}doCommit(){if(this.value){const t=this.number;let e=t;null!=this.min&&(e=Math.max(e,this.min)),null!=this.max&&(e=Math.min(e,this.max)),e!==t&&(this.unmaskedValue=this.doFormat(e));let s=this.value;this.normalizeZeros&&(s=this._normalizeZeros(s)),this.padFractionalZeros&&this.scale>0&&(s=this._padFractionalZeros(s)),this._value=s}super.doCommit()}_normalizeZeros(t){const e=this._removeThousandsSeparators(t).split(this.radix);return e[0]=e[0].replace(/^(\D*)(0*)(\d*)/,((t,e,s,i)=>e+i)),t.length&&!/\d$/.test(e[0])&&(e[0]=e[0]+"0"),e.length>1&&(e[1]=e[1].replace(/0*$/,""),e[1].length||(e.length=1)),this._insertThousandsSeparators(e.join(this.radix))}_padFractionalZeros(t){if(!t)return t;const e=t.split(this.radix);return e.length<2&&e.push(""),e[1]=e[1].padEnd(this.scale,"0"),e.join(this.radix)}doSkipInvalid(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0;const i=0===this.scale&&t!==this.thousandsSeparator&&(t===this.radix||t===N.UNMASKED_RADIX||this.mapToRadix.includes(t));return super.doSkipInvalid(t,e,s)&&!i}get unmaskedValue(){return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix,N.UNMASKED_RADIX)}set unmaskedValue(t){super.unmaskedValue=t}get typedValue(){return this.doParse(this.unmaskedValue)}set typedValue(t){this.rawInputValue=this.doFormat(t).replace(N.UNMASKED_RADIX,this.radix)}get number(){return this.typedValue}set number(t){this.typedValue=t}get allowNegative(){return this.signed||null!=this.min&&this.min<0||null!=this.max&&this.max<0}typedValueEquals(t){return(super.typedValueEquals(t)||N.EMPTY_VALUES.includes(t)&&N.EMPTY_VALUES.includes(this.typedValue))&&!(0===t&&""===this.value)}}N.UNMASKED_RADIX=".",N.DEFAULTS={radix:",",thousandsSeparator:"",mapToRadix:[N.UNMASKED_RADIX],scale:2,signed:!1,normalizeZeros:!0,padFractionalZeros:!1,parse:Number,format:t=>t.toLocaleString("en-US",{useGrouping:!1,maximumFractionDigits:20})},N.EMPTY_VALUES=[...k.EMPTY_VALUES,0],a.MaskedNumber=N;a.MaskedFunction=class extends k{_update(t){t.mask&&(t.validate=t.mask),super._update(t)}};const j=["compiledMasks","currentMaskRef","currentMask"],$=["mask"];class R extends k{constructor(t){super(Object.assign({},R.DEFAULTS,t)),this.currentMask=null}_update(t){super._update(t),"mask"in t&&(this.compiledMasks=Array.isArray(t.mask)?t.mask.map((t=>A(t))):[])}_appendCharRaw(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=this._applyDispatch(t,e);return this.currentMask&&s.aggregate(this.currentMask._appendChar(t,this.currentMaskFlags(e))),s}_applyDispatch(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";const i=e.tail&&null!=e._beforeTailState?e._beforeTailState._value:this.value,n=this.rawInputValue,r=e.tail&&null!=e._beforeTailState?e._beforeTailState._rawInputValue:n,o=n.slice(r.length),a=this.currentMask,u=new l,h=null==a?void 0:a.state;if(this.currentMask=this.doDispatch(t,Object.assign({},e),s),this.currentMask)if(this.currentMask!==a){if(this.currentMask.reset(),r){const t=this.currentMask.append(r,{raw:!0});u.tailShift=t.inserted.length-i.length}o&&(u.tailShift+=this.currentMask.append(o,{raw:!0,tail:!0}).tailShift)}else this.currentMask.state=h;return u}_appendPlaceholder(){const t=this._applyDispatch(...arguments);return this.currentMask&&t.aggregate(this.currentMask._appendPlaceholder()),t}_appendEager(){const t=this._applyDispatch(...arguments);return this.currentMask&&t.aggregate(this.currentMask._appendEager()),t}appendTail(t){const e=new l;return t&&e.aggregate(this._applyDispatch("",{},t)),e.aggregate(this.currentMask?this.currentMask.appendTail(t):super.appendTail(t))}currentMaskFlags(t){var e,s;return Object.assign({},t,{_beforeTailState:(null===(e=t._beforeTailState)||void 0===e?void 0:e.currentMaskRef)===this.currentMask&&(null===(s=t._beforeTailState)||void 0===s?void 0:s.currentMask)||t._beforeTailState})}doDispatch(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return this.dispatch(t,this,e,s)}doValidate(t){return super.doValidate(t)&&(!this.currentMask||this.currentMask.doValidate(this.currentMaskFlags(t)))}doPrepare(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},[s,i]=m(super.doPrepare(t,e));if(this.currentMask){let t;[s,t]=m(super.doPrepare(s,this.currentMaskFlags(e))),i=i.aggregate(t)}return[s,i]}reset(){var t;null===(t=this.currentMask)||void 0===t||t.reset(),this.compiledMasks.forEach((t=>t.reset()))}get value(){return this.currentMask?this.currentMask.value:""}set value(t){super.value=t}get unmaskedValue(){return this.currentMask?this.currentMask.unmaskedValue:""}set unmaskedValue(t){super.unmaskedValue=t}get typedValue(){return this.currentMask?this.currentMask.typedValue:""}set typedValue(t){let e=String(t);this.currentMask&&(this.currentMask.typedValue=t,e=this.currentMask.unmaskedValue),this.unmaskedValue=e}get displayValue(){return this.currentMask?this.currentMask.displayValue:""}get isComplete(){var t;return Boolean(null===(t=this.currentMask)||void 0===t?void 0:t.isComplete)}get isFilled(){var t;return Boolean(null===(t=this.currentMask)||void 0===t?void 0:t.isFilled)}remove(){const t=new l;return this.currentMask&&t.aggregate(this.currentMask.remove(...arguments)).aggregate(this._applyDispatch()),t}get state(){var t;return Object.assign({},super.state,{_rawInputValue:this.rawInputValue,compiledMasks:this.compiledMasks.map((t=>t.state)),currentMaskRef:this.currentMask,currentMask:null===(t=this.currentMask)||void 0===t?void 0:t.state})}set state(t){const{compiledMasks:e,currentMaskRef:s,currentMask:i}=t,n=o(t,j);this.compiledMasks.forEach(((t,s)=>t.state=e[s])),null!=s&&(this.currentMask=s,this.currentMask.state=i),super.state=n}extractInput(){return this.currentMask?this.currentMask.extractInput(...arguments):""}extractTail(){return this.currentMask?this.currentMask.extractTail(...arguments):super.extractTail(...arguments)}doCommit(){this.currentMask&&this.currentMask.doCommit(),super.doCommit()}nearestInputPos(){return this.currentMask?this.currentMask.nearestInputPos(...arguments):super.nearestInputPos(...arguments)}get overwrite(){return this.currentMask?this.currentMask.overwrite:super.overwrite}set overwrite(t){console.warn('"overwrite" option is not available in dynamic mask, use this option in siblings')}get eager(){return this.currentMask?this.currentMask.eager:super.eager}set eager(t){console.warn('"eager" option is not available in dynamic mask, use this option in siblings')}get skipInvalid(){return this.currentMask?this.currentMask.skipInvalid:super.skipInvalid}set skipInvalid(t){(this.isInitialized||t!==k.DEFAULTS.skipInvalid)&&console.warn('"skipInvalid" option is not available in dynamic mask, use this option in siblings')}maskEquals(t){return Array.isArray(t)&&this.compiledMasks.every(((e,s)=>{if(!t[s])return;const i=t[s],{mask:n}=i;return _(e,o(i,$))&&e.maskEquals(n)}))}typedValueEquals(t){var e;return Boolean(null===(e=this.currentMask)||void 0===e?void 0:e.typedValueEquals(t))}}R.DEFAULTS={dispatch:(t,e,s,i)=>{if(!e.compiledMasks.length)return;const n=e.rawInputValue,r=e.compiledMasks.map(((r,o)=>{const a=e.currentMask===r,l=a?r.value.length:r.nearestInputPos(r.value.length,d);return r.rawInputValue!==n?(r.reset(),r.append(n,{raw:!0})):a||r.remove(l),r.append(t,e.currentMaskFlags(s)),r.appendTail(i),{index:o,weight:r.rawInputValue.length,totalInputPositions:r.totalInputPositions(0,Math.max(l,r.nearestInputPos(r.value.length,d)))}}));return r.sort(((t,e)=>e.weight-t.weight||e.totalInputPositions-t.totalInputPositions)),e.compiledMasks[r[0].index]}},a.MaskedDynamic=R;const z={MASKED:"value",UNMASKED:"unmaskedValue",TYPED:"typedValue"};function H(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:z.MASKED,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:z.MASKED;const i=A(t);return t=>i.runIsolated((i=>(i[e]=t,i[s])))}a.PIPE_TYPE=z,a.createPipe=H,a.pipe=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i0&&wt(i.width)/t.offsetWidth||1,r=t.offsetHeight>0&&wt(i.height)/t.offsetHeight||1);var o=(mt(t)?gt(t):window).visualViewport,a=!Ct()&&s,l=(i.left+(a&&o?o.offsetLeft:0))/n,u=(i.top+(a&&o?o.offsetTop:0))/r,h=i.width/n,c=i.height/r;return{width:h,height:c,top:u,right:l+h,bottom:u+c,left:l,x:l,y:u}}function St(t){var e=xt(t),s=t.offsetWidth,i=t.offsetHeight;return Math.abs(e.width-s)<=1&&(s=e.width),Math.abs(e.height-i)<=1&&(i=e.height),{x:t.offsetLeft,y:t.offsetTop,width:s,height:i}}function Ft(t,e){var s=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(s&&vt(s)){var i=e;do{if(i&&t.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Tt(t){return gt(t).getComputedStyle(t)}function Dt(t){return["table","td","th"].indexOf(ft(t))>=0}function Ot(t){return((mt(t)?t.ownerDocument:t.document)||window.document).documentElement}function It(t){return"html"===ft(t)?t:t.assignedSlot||t.parentNode||(vt(t)?t.host:null)||Ot(t)}function Bt(t){return _t(t)&&"fixed"!==Tt(t).position?t.offsetParent:null}function Mt(t){for(var e=gt(t),s=Bt(t);s&&Dt(s)&&"static"===Tt(s).position;)s=Bt(s);return s&&("html"===ft(s)||"body"===ft(s)&&"static"===Tt(s).position)?e:s||function(t){var e=/firefox/i.test(Et());if(/Trident/i.test(Et())&&_t(t)&&"fixed"===Tt(t).position)return null;var s=It(t);for(vt(s)&&(s=s.host);_t(s)&&["html","body"].indexOf(ft(s))<0;){var i=Tt(s);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||e&&"filter"===i.willChange||e&&i.filter&&"none"!==i.filter)return s;s=s.parentNode}return null}(t)||e}function Pt(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Lt(t,e,s){return yt(t,At(e,s))}function Vt(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Nt(t,e){return e.reduce((function(e,s){return e[s]=t,e}),{})}var jt={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,s=t.state,i=t.name,n=t.options,r=s.elements.arrow,o=s.modifiersData.popperOffsets,a=kt(s.placement),l=Pt(a),u=[Y,U].indexOf(a)>=0?"height":"width";if(r&&o){var h=function(t,e){return Vt("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Nt(t,X))}(n.padding,s),c=St(r),d="y"===l?q:Y,p="y"===l?W:U,f=s.rects.reference[u]+s.rects.reference[l]-o[l]-s.rects.popper[u],g=o[l]-s.rects.reference[l],m=Mt(r),_=m?"y"===l?m.clientHeight||0:m.clientWidth||0:0,v=f/2-g/2,b=h[d],k=_-c[u]-h[p],y=_/2-c[u]/2+v,A=Lt(b,y,k),w=l;s.modifiersData[i]=((e={})[w]=A,e.centerOffset=A-y,e)}},effect:function(t){var e=t.state,s=t.options.element,i=void 0===s?"[data-popper-arrow]":s;null!=i&&("string"!=typeof i||(i=e.elements.popper.querySelector(i)))&&Ft(e.elements.popper,i)&&(e.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function $t(t){return t.split("-")[1]}var Rt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function zt(t){var e,s=t.popper,i=t.popperRect,n=t.placement,r=t.variation,o=t.offsets,a=t.position,l=t.gpuAcceleration,u=t.adaptive,h=t.roundOffsets,c=t.isFixed,d=o.x,p=void 0===d?0:d,f=o.y,g=void 0===f?0:f,m="function"==typeof h?h({x:p,y:g}):{x:p,y:g};p=m.x,g=m.y;var _=o.hasOwnProperty("x"),v=o.hasOwnProperty("y"),b=Y,k=q,y=window;if(u){var A=Mt(s),w="clientHeight",E="clientWidth";if(A===gt(s)&&"static"!==Tt(A=Ot(s)).position&&"absolute"===a&&(w="scrollHeight",E="scrollWidth"),n===q||(n===Y||n===U)&&r===Z)k=W,g-=(c&&A===y&&y.visualViewport?y.visualViewport.height:A[w])-i.height,g*=l?1:-1;if(n===Y||(n===q||n===W)&&r===Z)b=U,p-=(c&&A===y&&y.visualViewport?y.visualViewport.width:A[E])-i.width,p*=l?1:-1}var C,x=Object.assign({position:a},u&&Rt),S=!0===h?function(t,e){var s=t.x,i=t.y,n=e.devicePixelRatio||1;return{x:wt(s*n)/n||0,y:wt(i*n)/n||0}}({x:p,y:g},gt(s)):{x:p,y:g};return p=S.x,g=S.y,l?Object.assign({},x,((C={})[k]=v?"0":"",C[b]=_?"0":"",C.transform=(y.devicePixelRatio||1)<=1?"translate("+p+"px, "+g+"px)":"translate3d("+p+"px, "+g+"px, 0)",C)):Object.assign({},x,((e={})[k]=v?g+"px":"",e[b]=_?p+"px":"",e.transform="",e))}var Ht={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,s=t.options,i=s.gpuAcceleration,n=void 0===i||i,r=s.adaptive,o=void 0===r||r,a=s.roundOffsets,l=void 0===a||a,u={placement:kt(e.placement),variation:$t(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:n,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,zt(Object.assign({},u,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:o,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,zt(Object.assign({},u,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},qt={passive:!0};var Wt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,s=t.instance,i=t.options,n=i.scroll,r=void 0===n||n,o=i.resize,a=void 0===o||o,l=gt(e.elements.popper),u=[].concat(e.scrollParents.reference,e.scrollParents.popper);return r&&u.forEach((function(t){t.addEventListener("scroll",s.update,qt)})),a&&l.addEventListener("resize",s.update,qt),function(){r&&u.forEach((function(t){t.removeEventListener("scroll",s.update,qt)})),a&&l.removeEventListener("resize",s.update,qt)}},data:{}},Ut={left:"right",right:"left",bottom:"top",top:"bottom"};function Yt(t){return t.replace(/left|right|bottom|top/g,(function(t){return Ut[t]}))}var Kt={start:"end",end:"start"};function Xt(t){return t.replace(/start|end/g,(function(t){return Kt[t]}))}function Qt(t){var e=gt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Zt(t){return xt(Ot(t)).left+Qt(t).scrollLeft}function Gt(t){var e=Tt(t),s=e.overflow,i=e.overflowX,n=e.overflowY;return/auto|scroll|overlay|hidden/.test(s+n+i)}function Jt(t){return["html","body","#document"].indexOf(ft(t))>=0?t.ownerDocument.body:_t(t)&&Gt(t)?t:Jt(It(t))}function te(t,e){var s;void 0===e&&(e=[]);var i=Jt(t),n=i===(null==(s=t.ownerDocument)?void 0:s.body),r=gt(i),o=n?[r].concat(r.visualViewport||[],Gt(i)?i:[]):i,a=e.concat(o);return n?a:a.concat(te(It(o)))}function ee(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function se(t,e,s){return e===J?ee(function(t,e){var s=gt(t),i=Ot(t),n=s.visualViewport,r=i.clientWidth,o=i.clientHeight,a=0,l=0;if(n){r=n.width,o=n.height;var u=Ct();(u||!u&&"fixed"===e)&&(a=n.offsetLeft,l=n.offsetTop)}return{width:r,height:o,x:a+Zt(t),y:l}}(t,s)):mt(e)?function(t,e){var s=xt(t,!1,"fixed"===e);return s.top=s.top+t.clientTop,s.left=s.left+t.clientLeft,s.bottom=s.top+t.clientHeight,s.right=s.left+t.clientWidth,s.width=t.clientWidth,s.height=t.clientHeight,s.x=s.left,s.y=s.top,s}(e,s):ee(function(t){var e,s=Ot(t),i=Qt(t),n=null==(e=t.ownerDocument)?void 0:e.body,r=yt(s.scrollWidth,s.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),o=yt(s.scrollHeight,s.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),a=-i.scrollLeft+Zt(t),l=-i.scrollTop;return"rtl"===Tt(n||s).direction&&(a+=yt(s.clientWidth,n?n.clientWidth:0)-r),{width:r,height:o,x:a,y:l}}(Ot(t)))}function ie(t,e,s,i){var n="clippingParents"===e?function(t){var e=te(It(t)),s=["absolute","fixed"].indexOf(Tt(t).position)>=0&&_t(t)?Mt(t):t;return mt(s)?e.filter((function(t){return mt(t)&&Ft(t,s)&&"body"!==ft(t)})):[]}(t):[].concat(e),r=[].concat(n,[s]),o=r[0],a=r.reduce((function(e,s){var n=se(t,s,i);return e.top=yt(n.top,e.top),e.right=At(n.right,e.right),e.bottom=At(n.bottom,e.bottom),e.left=yt(n.left,e.left),e}),se(t,o,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function ne(t){var e,s=t.reference,i=t.element,n=t.placement,r=n?kt(n):null,o=n?$t(n):null,a=s.x+s.width/2-i.width/2,l=s.y+s.height/2-i.height/2;switch(r){case q:e={x:a,y:s.y-i.height};break;case W:e={x:a,y:s.y+s.height};break;case U:e={x:s.x+s.width,y:l};break;case Y:e={x:s.x-i.width,y:l};break;default:e={x:s.x,y:s.y}}var u=r?Pt(r):null;if(null!=u){var h="y"===u?"height":"width";switch(o){case Q:e[u]=e[u]-(s[h]/2-i[h]/2);break;case Z:e[u]=e[u]+(s[h]/2-i[h]/2)}}return e}function re(t,e){void 0===e&&(e={});var s=e,i=s.placement,n=void 0===i?t.placement:i,r=s.strategy,o=void 0===r?t.strategy:r,a=s.boundary,l=void 0===a?G:a,u=s.rootBoundary,h=void 0===u?J:u,c=s.elementContext,d=void 0===c?tt:c,p=s.altBoundary,f=void 0!==p&&p,g=s.padding,m=void 0===g?0:g,_=Vt("number"!=typeof m?m:Nt(m,X)),v=d===tt?et:tt,b=t.rects.popper,k=t.elements[f?v:d],y=ie(mt(k)?k:k.contextElement||Ot(t.elements.popper),l,h,o),A=xt(t.elements.reference),w=ne({reference:A,element:b,strategy:"absolute",placement:n}),E=ee(Object.assign({},b,w)),C=d===tt?E:A,x={top:y.top-C.top+_.top,bottom:C.bottom-y.bottom+_.bottom,left:y.left-C.left+_.left,right:C.right-y.right+_.right},S=t.modifiersData.offset;if(d===tt&&S){var F=S[n];Object.keys(x).forEach((function(t){var e=[U,W].indexOf(t)>=0?1:-1,s=[q,W].indexOf(t)>=0?"y":"x";x[t]+=F[s]*e}))}return x}function oe(t,e){void 0===e&&(e={});var s=e,i=s.placement,n=s.boundary,r=s.rootBoundary,o=s.padding,a=s.flipVariations,l=s.allowedAutoPlacements,u=void 0===l?it:l,h=$t(i),c=h?a?st:st.filter((function(t){return $t(t)===h})):X,d=c.filter((function(t){return u.indexOf(t)>=0}));0===d.length&&(d=c);var p=d.reduce((function(e,s){return e[s]=re(t,{placement:s,boundary:n,rootBoundary:r,padding:o})[kt(s)],e}),{});return Object.keys(p).sort((function(t,e){return p[t]-p[e]}))}var ae={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,s=t.options,i=t.name;if(!e.modifiersData[i]._skip){for(var n=s.mainAxis,r=void 0===n||n,o=s.altAxis,a=void 0===o||o,l=s.fallbackPlacements,u=s.padding,h=s.boundary,c=s.rootBoundary,d=s.altBoundary,p=s.flipVariations,f=void 0===p||p,g=s.allowedAutoPlacements,m=e.options.placement,_=kt(m),v=l||(_===m||!f?[Yt(m)]:function(t){if(kt(t)===K)return[];var e=Yt(t);return[Xt(t),e,Xt(e)]}(m)),b=[m].concat(v).reduce((function(t,s){return t.concat(kt(s)===K?oe(e,{placement:s,boundary:h,rootBoundary:c,padding:u,flipVariations:f,allowedAutoPlacements:g}):s)}),[]),k=e.rects.reference,y=e.rects.popper,A=new Map,w=!0,E=b[0],C=0;C=0,D=T?"width":"height",O=re(e,{placement:x,boundary:h,rootBoundary:c,altBoundary:d,padding:u}),I=T?F?U:Y:F?W:q;k[D]>y[D]&&(I=Yt(I));var B=Yt(I),M=[];if(r&&M.push(O[S]<=0),a&&M.push(O[I]<=0,O[B]<=0),M.every((function(t){return t}))){E=x,w=!1;break}A.set(x,M)}if(w)for(var P=function(t){var e=b.find((function(e){var s=A.get(e);if(s)return s.slice(0,t).every((function(t){return t}))}));if(e)return E=e,"break"},L=f?3:1;L>0;L--){if("break"===P(L))break}e.placement!==E&&(e.modifiersData[i]._skip=!0,e.placement=E,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function le(t,e,s){return void 0===s&&(s={x:0,y:0}),{top:t.top-e.height-s.y,right:t.right-e.width+s.x,bottom:t.bottom-e.height+s.y,left:t.left-e.width-s.x}}function ue(t){return[q,U,W,Y].some((function(e){return t[e]>=0}))}var he={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,s=t.name,i=e.rects.reference,n=e.rects.popper,r=e.modifiersData.preventOverflow,o=re(e,{elementContext:"reference"}),a=re(e,{altBoundary:!0}),l=le(o,i),u=le(a,n,r),h=ue(l),c=ue(u);e.modifiersData[s]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:h,hasPopperEscaped:c},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":c})}};var ce={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,s=t.options,i=t.name,n=s.offset,r=void 0===n?[0,0]:n,o=it.reduce((function(t,s){return t[s]=function(t,e,s){var i=kt(t),n=[Y,q].indexOf(i)>=0?-1:1,r="function"==typeof s?s(Object.assign({},e,{placement:t})):s,o=r[0],a=r[1];return o=o||0,a=(a||0)*n,[Y,U].indexOf(i)>=0?{x:a,y:o}:{x:o,y:a}}(s,e.rects,r),t}),{}),a=o[e.placement],l=a.x,u=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=u),e.modifiersData[i]=o}};var de={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,s=t.name;e.modifiersData[s]=ne({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}};var pe={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,s=t.options,i=t.name,n=s.mainAxis,r=void 0===n||n,o=s.altAxis,a=void 0!==o&&o,l=s.boundary,u=s.rootBoundary,h=s.altBoundary,c=s.padding,d=s.tether,p=void 0===d||d,f=s.tetherOffset,g=void 0===f?0:f,m=re(e,{boundary:l,rootBoundary:u,padding:c,altBoundary:h}),_=kt(e.placement),v=$t(e.placement),b=!v,k=Pt(_),y="x"===k?"y":"x",A=e.modifiersData.popperOffsets,w=e.rects.reference,E=e.rects.popper,C="function"==typeof g?g(Object.assign({},e.rects,{placement:e.placement})):g,x="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),S=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,F={x:0,y:0};if(A){if(r){var T,D="y"===k?q:Y,O="y"===k?W:U,I="y"===k?"height":"width",B=A[k],M=B+m[D],P=B-m[O],L=p?-E[I]/2:0,V=v===Q?w[I]:E[I],N=v===Q?-E[I]:-w[I],j=e.elements.arrow,$=p&&j?St(j):{width:0,height:0},R=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=R[D],H=R[O],K=Lt(0,w[I],$[I]),X=b?w[I]/2-L-K-z-x.mainAxis:V-K-z-x.mainAxis,Z=b?-w[I]/2+L+K+H+x.mainAxis:N+K+H+x.mainAxis,G=e.elements.arrow&&Mt(e.elements.arrow),J=G?"y"===k?G.clientTop||0:G.clientLeft||0:0,tt=null!=(T=null==S?void 0:S[k])?T:0,et=B+Z-tt,st=Lt(p?At(M,B+X-tt-J):M,B,p?yt(P,et):P);A[k]=st,F[k]=st-B}if(a){var it,nt="x"===k?q:Y,rt="x"===k?W:U,ot=A[y],at="y"===y?"height":"width",lt=ot+m[nt],ut=ot-m[rt],ht=-1!==[q,Y].indexOf(_),ct=null!=(it=null==S?void 0:S[y])?it:0,dt=ht?lt:ot-w[at]-E[at]-ct+x.altAxis,pt=ht?ot+w[at]+E[at]-ct-x.altAxis:ut,ft=p&&ht?function(t,e,s){var i=Lt(t,e,s);return i>s?s:i}(dt,ot,pt):Lt(p?dt:lt,ot,p?pt:ut);A[y]=ft,F[y]=ft-ot}e.modifiersData[i]=F}},requiresIfExists:["offset"]};function fe(t,e,s){void 0===s&&(s=!1);var i,n,r=_t(e),o=_t(e)&&function(t){var e=t.getBoundingClientRect(),s=wt(e.width)/t.offsetWidth||1,i=wt(e.height)/t.offsetHeight||1;return 1!==s||1!==i}(e),a=Ot(e),l=xt(t,o,s),u={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(r||!r&&!s)&&(("body"!==ft(e)||Gt(a))&&(u=(i=e)!==gt(i)&&_t(i)?{scrollLeft:(n=i).scrollLeft,scrollTop:n.scrollTop}:Qt(i)),_t(e)?((h=xt(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Zt(a))),{x:l.left+u.scrollLeft-h.x,y:l.top+u.scrollTop-h.y,width:l.width,height:l.height}}function ge(t){var e=new Map,s=new Set,i=[];function n(t){s.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!s.has(t)){var i=e.get(t);i&&n(i)}})),i.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){s.has(t.name)||n(t)})),i}var me={placement:"bottom",modifiers:[],strategy:"absolute"};function _e(){for(var t=arguments.length,e=new Array(t),s=0;swe.has(t)&&we.get(t).get(e)||null,remove(t,e){if(!we.has(t))return;const s=we.get(t);s.delete(e),0===s.size&&we.delete(t)}},Ce="transitionend",xe=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),Se=t=>{t.dispatchEvent(new Event(Ce))},Fe=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),Te=t=>Fe(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(xe(t)):null,De=t=>{if(!Fe(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),s=t.closest("details:not([open])");if(!s)return e;if(s!==t){const e=t.closest("summary");if(e&&e.parentNode!==s)return!1;if(null===e)return!1}return e},Oe=t=>!t||t.nodeType!==Node.ELEMENT_NODE||(!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled"))),Ie=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?Ie(t.parentNode):null},Be=()=>{},Me=t=>{t.offsetHeight},Pe=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Le=[],Ve=()=>"rtl"===document.documentElement.dir,Ne=t=>{var e;e=()=>{const e=Pe();if(e){const s=t.NAME,i=e.fn[s];e.fn[s]=t.jQueryInterface,e.fn[s].Constructor=t,e.fn[s].noConflict=()=>(e.fn[s]=i,t.jQueryInterface)}},"loading"===document.readyState?(Le.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of Le)t()})),Le.push(e)):e()},je=(t,e=[],s=t)=>"function"==typeof t?t(...e):s,$e=(t,e,s=!0)=>{if(!s)return void je(t);const i=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:s}=window.getComputedStyle(t);const i=Number.parseFloat(e),n=Number.parseFloat(s);return i||n?(e=e.split(",")[0],s=s.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(s))):0})(e)+5;let n=!1;const r=({target:s})=>{s===e&&(n=!0,e.removeEventListener(Ce,r),je(t))};e.addEventListener(Ce,r),setTimeout((()=>{n||Se(e)}),i)},Re=(t,e,s,i)=>{const n=t.length;let r=t.indexOf(e);return-1===r?!s&&i?t[n-1]:t[0]:(r+=s?1:-1,i&&(r=(r+n)%n),t[Math.max(0,Math.min(r,n-1))])},ze=/[^.]*(?=\..*)\.|.*/,He=/\..*/,qe=/::\d+$/,We={};let Ue=1;const Ye={mouseenter:"mouseover",mouseleave:"mouseout"},Ke=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function Xe(t,e){return e&&`${e}::${Ue++}`||t.uidEvent||Ue++}function Qe(t){const e=Xe(t);return t.uidEvent=e,We[e]=We[e]||{},We[e]}function Ze(t,e,s=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===s))}function Ge(t,e,s){const i="string"==typeof e,n=i?s:e||s;let r=ss(t);return Ke.has(r)||(r=t),[i,n,r]}function Je(t,e,s,i,n){if("string"!=typeof e||!t)return;let[r,o,a]=Ge(e,s,i);if(e in Ye){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};o=t(o)}const l=Qe(t),u=l[a]||(l[a]={}),h=Ze(u,o,r?s:null);if(h)return void(h.oneOff=h.oneOff&&n);const c=Xe(o,e.replace(ze,"")),d=r?function(t,e,s){return function i(n){const r=t.querySelectorAll(e);for(let{target:o}=n;o&&o!==this;o=o.parentNode)for(const a of r)if(a===o)return ns(n,{delegateTarget:o}),i.oneOff&&is.off(t,n.type,e,s),s.apply(o,[n])}}(t,s,o):function(t,e){return function s(i){return ns(i,{delegateTarget:t}),s.oneOff&&is.off(t,i.type,e),e.apply(t,[i])}}(t,o);d.delegationSelector=r?s:null,d.callable=o,d.oneOff=n,d.uidEvent=c,u[c]=d,t.addEventListener(a,d,r)}function ts(t,e,s,i,n){const r=Ze(e[s],i,n);r&&(t.removeEventListener(s,r,Boolean(n)),delete e[s][r.uidEvent])}function es(t,e,s,i){const n=e[s]||{};for(const[r,o]of Object.entries(n))r.includes(i)&&ts(t,e,s,o.callable,o.delegationSelector)}function ss(t){return t=t.replace(He,""),Ye[t]||t}const is={on(t,e,s,i){Je(t,e,s,i,!1)},one(t,e,s,i){Je(t,e,s,i,!0)},off(t,e,s,i){if("string"!=typeof e||!t)return;const[n,r,o]=Ge(e,s,i),a=o!==e,l=Qe(t),u=l[o]||{},h=e.startsWith(".");if(void 0===r){if(h)for(const s of Object.keys(l))es(t,l,s,e.slice(1));for(const[s,i]of Object.entries(u)){const n=s.replace(qe,"");a&&!e.includes(n)||ts(t,l,o,i.callable,i.delegationSelector)}}else{if(!Object.keys(u).length)return;ts(t,l,o,r,n?s:null)}},trigger(t,e,s){if("string"!=typeof e||!t)return null;const i=Pe();let n=null,r=!0,o=!0,a=!1;e!==ss(e)&&i&&(n=i.Event(e,s),i(t).trigger(n),r=!n.isPropagationStopped(),o=!n.isImmediatePropagationStopped(),a=n.isDefaultPrevented());const l=ns(new Event(e,{bubbles:r,cancelable:!0}),s);return a&&l.preventDefault(),o&&t.dispatchEvent(l),l.defaultPrevented&&n&&n.preventDefault(),l}};function ns(t,e={}){for(const[s,i]of Object.entries(e))try{t[s]=i}catch(e){Object.defineProperty(t,s,{configurable:!0,get:()=>i})}return t}function rs(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function os(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const as={setDataAttribute(t,e,s){t.setAttribute(`data-bs-${os(e)}`,s)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${os(e)}`)},getDataAttributes(t){if(!t)return{};const e={},s=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const i of s){let s=i.replace(/^bs/,"");s=s.charAt(0).toLowerCase()+s.slice(1,s.length),e[s]=rs(t.dataset[i])}return e},getDataAttribute:(t,e)=>rs(t.getAttribute(`data-bs-${os(e)}`))};class ls{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const s=Fe(e)?as.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof s?s:{},...Fe(e)?as.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[i,n]of Object.entries(e)){const e=t[i],r=Fe(e)?"element":null==(s=e)?`${s}`:Object.prototype.toString.call(s).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(n).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${r}" but expected type "${n}".`)}var s}}class us extends ls{constructor(t,e){super(),(t=Te(t))&&(this._element=t,this._config=this._getConfig(e),Ee.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Ee.remove(this._element,this.constructor.DATA_KEY),is.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,s=!0){$e(t,e,s)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return Ee.get(Te(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.0-alpha2"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const hs=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let s=t.getAttribute("href");if(!s||!s.includes("#")&&!s.startsWith("."))return null;s.includes("#")&&!s.startsWith("#")&&(s=`#${s.split("#")[1]}`),e=s&&"#"!==s?s.trim():null}return xe(e)},cs={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const s=[];let i=t.parentNode.closest(e);for(;i;)s.push(i),i=i.parentNode.closest(e);return s},prev(t,e){let s=t.previousElementSibling;for(;s;){if(s.matches(e))return[s];s=s.previousElementSibling}return[]},next(t,e){let s=t.nextElementSibling;for(;s;){if(s.matches(e))return[s];s=s.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!Oe(t)&&De(t)))},getSelectorFromElement(t){const e=hs(t);return e&&cs.findOne(e)?e:null},getElementFromSelector(t){const e=hs(t);return e?cs.findOne(e):null},getMultipleElementsFromSelector(t){const e=hs(t);return e?cs.find(e):[]}},ds=(t,e="hide")=>{const s=`click.dismiss${t.EVENT_KEY}`,i=t.NAME;is.on(document,s,`[data-bs-dismiss="${i}"]`,(function(s){if(["A","AREA"].includes(this.tagName)&&s.preventDefault(),Oe(this))return;const n=cs.getElementFromSelector(this)||this.closest(`.${i}`);t.getOrCreateInstance(n)[e]()}))},ps=".bs.alert",fs=`close${ps}`,gs=`closed${ps}`;class ms extends us{static get NAME(){return"alert"}close(){if(is.trigger(this._element,fs).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),is.trigger(this._element,gs),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=ms.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}ds(ms,"close"),Ne(ms);const _s='[data-bs-toggle="button"]';class vs extends us{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=vs.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}is.on(document,"click.bs.button.data-api",_s,(t=>{t.preventDefault();const e=t.target.closest(_s);vs.getOrCreateInstance(e).toggle()})),Ne(vs);const bs=".bs.swipe",ks=`touchstart${bs}`,ys=`touchmove${bs}`,As=`touchend${bs}`,ws=`pointerdown${bs}`,Es=`pointerup${bs}`,Cs={endCallback:null,leftCallback:null,rightCallback:null},xs={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Ss extends ls{constructor(t,e){super(),this._element=t,t&&Ss.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Cs}static get DefaultType(){return xs}static get NAME(){return"swipe"}dispose(){is.off(this._element,bs)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),je(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&je(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(is.on(this._element,ws,(t=>this._start(t))),is.on(this._element,Es,(t=>this._end(t))),this._element.classList.add("pointer-event")):(is.on(this._element,ks,(t=>this._start(t))),is.on(this._element,ys,(t=>this._move(t))),is.on(this._element,As,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Fs=".bs.carousel",Ts=".data-api",Ds="next",Os="prev",Is="left",Bs="right",Ms=`slide${Fs}`,Ps=`slid${Fs}`,Ls=`keydown${Fs}`,Vs=`mouseenter${Fs}`,Ns=`mouseleave${Fs}`,js=`dragstart${Fs}`,$s=`load${Fs}${Ts}`,Rs=`click${Fs}${Ts}`,zs="carousel",Hs="active",qs=".active",Ws=".carousel-item",Us=qs+Ws,Ys={ArrowLeft:Bs,ArrowRight:Is},Ks={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Xs={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Qs extends us{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=cs.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===zs&&this.cycle()}static get Default(){return Ks}static get DefaultType(){return Xs}static get NAME(){return"carousel"}next(){this._slide(Ds)}nextWhenVisible(){!document.hidden&&De(this._element)&&this.next()}prev(){this._slide(Os)}pause(){this._isSliding&&Se(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?is.one(this._element,Ps,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void is.one(this._element,Ps,(()=>this.to(t)));const s=this._getItemIndex(this._getActive());if(s===t)return;const i=t>s?Ds:Os;this._slide(i,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&is.on(this._element,Ls,(t=>this._keydown(t))),"hover"===this._config.pause&&(is.on(this._element,Vs,(()=>this.pause())),is.on(this._element,Ns,(()=>this._maybeEnableCycle()))),this._config.touch&&Ss.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of cs.find(".carousel-item img",this._element))is.on(t,js,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(Is)),rightCallback:()=>this._slide(this._directionToOrder(Bs)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Ss(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Ys[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=cs.findOne(qs,this._indicatorsElement);e.classList.remove(Hs),e.removeAttribute("aria-current");const s=cs.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);s&&(s.classList.add(Hs),s.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const s=this._getActive(),i=t===Ds,n=e||Re(this._getItems(),s,i,this._config.wrap);if(n===s)return;const r=this._getItemIndex(n),o=e=>is.trigger(this._element,e,{relatedTarget:n,direction:this._orderToDirection(t),from:this._getItemIndex(s),to:r});if(o(Ms).defaultPrevented)return;if(!s||!n)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(r),this._activeElement=n;const l=i?"carousel-item-start":"carousel-item-end",u=i?"carousel-item-next":"carousel-item-prev";n.classList.add(u),Me(n),s.classList.add(l),n.classList.add(l);this._queueCallback((()=>{n.classList.remove(l,u),n.classList.add(Hs),s.classList.remove(Hs,u,l),this._isSliding=!1,o(Ps)}),s,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return cs.findOne(Us,this._element)}_getItems(){return cs.find(Ws,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return Ve()?t===Is?Os:Ds:t===Is?Ds:Os}_orderToDirection(t){return Ve()?t===Os?Is:Bs:t===Os?Bs:Is}static jQueryInterface(t){return this.each((function(){const e=Qs.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}is.on(document,Rs,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=cs.getElementFromSelector(this);if(!e||!e.classList.contains(zs))return;t.preventDefault();const s=Qs.getOrCreateInstance(e),i=this.getAttribute("data-bs-slide-to");return i?(s.to(i),void s._maybeEnableCycle()):"next"===as.getDataAttribute(this,"slide")?(s.next(),void s._maybeEnableCycle()):(s.prev(),void s._maybeEnableCycle())})),is.on(window,$s,(()=>{const t=cs.find('[data-bs-ride="carousel"]');for(const e of t)Qs.getOrCreateInstance(e)})),Ne(Qs);const Zs=".bs.collapse",Gs=`show${Zs}`,Js=`shown${Zs}`,ti=`hide${Zs}`,ei=`hidden${Zs}`,si=`click${Zs}.data-api`,ii="show",ni="collapse",ri="collapsing",oi=`:scope .${ni} .${ni}`,ai='[data-bs-toggle="collapse"]',li={parent:null,toggle:!0},ui={parent:"(null|element)",toggle:"boolean"};class hi extends us{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const s=cs.find(ai);for(const t of s){const e=cs.getSelectorFromElement(t),s=cs.find(e).filter((t=>t===this._element));null!==e&&s.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return li}static get DefaultType(){return ui}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>hi.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(is.trigger(this._element,Gs).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(ni),this._element.classList.add(ri),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ri),this._element.classList.add(ni,ii),this._element.style[e]="",is.trigger(this._element,Js)}),this._element,!0),this._element.style[e]=`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(is.trigger(this._element,ti).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,Me(this._element),this._element.classList.add(ri),this._element.classList.remove(ni,ii);for(const t of this._triggerArray){const e=cs.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0;this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ri),this._element.classList.add(ni),is.trigger(this._element,ei)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(ii)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=Te(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(ai);for(const e of t){const t=cs.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=cs.find(oi,this._config.parent);return cs.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const s of t)s.classList.toggle("collapsed",!e),s.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const s=hi.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===s[t])throw new TypeError(`No method named "${t}"`);s[t]()}}))}}is.on(document,si,ai,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of cs.getMultipleElementsFromSelector(this))hi.getOrCreateInstance(t,{toggle:!1}).toggle()})),Ne(hi);const ci="dropdown",di=".bs.dropdown",pi=".data-api",fi="ArrowUp",gi="ArrowDown",mi=`hide${di}`,_i=`hidden${di}`,vi=`show${di}`,bi=`shown${di}`,ki=`click${di}${pi}`,yi=`keydown${di}${pi}`,Ai=`keyup${di}${pi}`,wi="show",Ei='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Ci=`${Ei}.${wi}`,xi=".dropdown-menu",Si=Ve()?"top-end":"top-start",Fi=Ve()?"top-start":"top-end",Ti=Ve()?"bottom-end":"bottom-start",Di=Ve()?"bottom-start":"bottom-end",Oi=Ve()?"left-start":"right-start",Ii=Ve()?"right-start":"left-start",Bi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Mi={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Pi extends us{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=cs.next(this._element,xi)[0]||cs.prev(this._element,xi)[0]||cs.findOne(xi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Bi}static get DefaultType(){return Mi}static get NAME(){return ci}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Oe(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!is.trigger(this._element,vi,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))is.on(t,"mouseover",Be);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(wi),this._element.classList.add(wi),is.trigger(this._element,bi,t)}}hide(){if(Oe(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!is.trigger(this._element,mi,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))is.off(t,"mouseover",Be);this._popper&&this._popper.destroy(),this._menu.classList.remove(wi),this._element.classList.remove(wi),this._element.setAttribute("aria-expanded","false"),as.removeDataAttribute(this._menu,"popper"),is.trigger(this._element,_i,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!Fe(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${ci.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===Ae)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:Fe(this._config.reference)?t=Te(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=ye(t,this._menu,e)}_isShown(){return this._menu.classList.contains(wi)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Oi;if(t.classList.contains("dropstart"))return Ii;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?Fi:Si:e?Di:Ti}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(as.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...je(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const s=cs.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>De(t)));s.length&&Re(s,e,t===gi,!s.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Pi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=cs.find(Ci);for(const s of e){const e=Pi.getInstance(s);if(!e||!1===e._config.autoClose)continue;const i=t.composedPath(),n=i.includes(e._menu);if(i.includes(e._element)||"inside"===e._config.autoClose&&!n||"outside"===e._config.autoClose&&n)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const r={relatedTarget:e._element};"click"===t.type&&(r.clickEvent=t),e._completeHide(r)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),s="Escape"===t.key,i=[fi,gi].includes(t.key);if(!i&&!s)return;if(e&&!s)return;t.preventDefault();const n=this.matches(Ei)?this:cs.prev(this,Ei)[0]||cs.next(this,Ei)[0]||cs.findOne(Ei,t.delegateTarget.parentNode),r=Pi.getOrCreateInstance(n);if(i)return t.stopPropagation(),r.show(),void r._selectMenuItem(t);r._isShown()&&(t.stopPropagation(),r.hide(),n.focus())}}is.on(document,yi,Ei,Pi.dataApiKeydownHandler),is.on(document,yi,xi,Pi.dataApiKeydownHandler),is.on(document,ki,Pi.clearMenus),is.on(document,Ai,Pi.clearMenus),is.on(document,ki,Ei,(function(t){t.preventDefault(),Pi.getOrCreateInstance(this).toggle()})),Ne(Pi);const Li="backdrop",Vi="show",Ni=`mousedown.bs.${Li}`,ji={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},$i={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ri extends ls{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return ji}static get DefaultType(){return $i}static get NAME(){return Li}show(t){if(!this._config.isVisible)return void je(t);this._append();const e=this._getElement();this._config.isAnimated&&Me(e),e.classList.add(Vi),this._emulateAnimation((()=>{je(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Vi),this._emulateAnimation((()=>{this.dispose(),je(t)}))):je(t)}dispose(){this._isAppended&&(is.off(this._element,Ni),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=Te(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),is.on(t,Ni,(()=>{je(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){$e(t,this._getElement(),this._config.isAnimated)}}const zi=".bs.focustrap",Hi=`focusin${zi}`,qi=`keydown.tab${zi}`,Wi="backward",Ui={autofocus:!0,trapElement:null},Yi={autofocus:"boolean",trapElement:"element"};class Ki extends ls{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Ui}static get DefaultType(){return Yi}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),is.off(document,zi),is.on(document,Hi,(t=>this._handleFocusin(t))),is.on(document,qi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,is.off(document,zi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const s=cs.focusableChildren(e);0===s.length?e.focus():this._lastTabNavDirection===Wi?s[s.length-1].focus():s[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Wi:"forward")}}const Xi=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Qi=".sticky-top",Zi="padding-right",Gi="margin-right";class Ji{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Zi,(e=>e+t)),this._setElementAttributes(Xi,Zi,(e=>e+t)),this._setElementAttributes(Qi,Gi,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Zi),this._resetElementAttributes(Xi,Zi),this._resetElementAttributes(Qi,Gi)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,s){const i=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+i)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${s(Number.parseFloat(n))}px`)}))}_saveInitialAttribute(t,e){const s=t.style.getPropertyValue(e);s&&as.setDataAttribute(t,e,s)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const s=as.getDataAttribute(t,e);null!==s?(as.removeDataAttribute(t,e),t.style.setProperty(e,s)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(Fe(t))e(t);else for(const s of cs.find(t,this._element))e(s)}}const tn=".bs.modal",en=`hide${tn}`,sn=`hidePrevented${tn}`,nn=`hidden${tn}`,rn=`show${tn}`,on=`shown${tn}`,an=`resize${tn}`,ln=`click.dismiss${tn}`,un=`mousedown.dismiss${tn}`,hn=`keydown.dismiss${tn}`,cn=`click${tn}.data-api`,dn="modal-open",pn="show",fn="modal-static",gn={backdrop:!0,focus:!0,keyboard:!0},mn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class _n extends us{constructor(t,e){super(t,e),this._dialog=cs.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ji,this._addEventListeners()}static get Default(){return gn}static get DefaultType(){return mn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown||this._isTransitioning)return;is.trigger(this._element,rn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(dn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;is.trigger(this._element,en).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(pn),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated()))}dispose(){is.off(window,tn),is.off(this._dialog,tn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ri({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ki({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=cs.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),Me(this._element),this._element.classList.add(pn);this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,is.trigger(this._element,on,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){is.on(this._element,hn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),is.on(window,an,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),is.on(this._element,un,(t=>{is.one(this._element,ln,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(dn),this._resetAdjustments(),this._scrollBar.reset(),is.trigger(this._element,nn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(is.trigger(this._element,sn).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(fn)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(fn),this._queueCallback((()=>{this._element.classList.remove(fn),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),s=e>0;if(s&&!t){const t=Ve()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!s&&t){const t=Ve()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const s=_n.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===s[t])throw new TypeError(`No method named "${t}"`);s[t](e)}}))}}is.on(document,cn,'[data-bs-toggle="modal"]',(function(t){const e=cs.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),is.one(e,rn,(t=>{t.defaultPrevented||is.one(e,nn,(()=>{De(this)&&this.focus()}))}));const s=cs.findOne(".modal.show");s&&_n.getInstance(s).hide();_n.getOrCreateInstance(e).toggle(this)})),ds(_n),Ne(_n);const vn=".bs.offcanvas",bn=".data-api",kn=`load${vn}${bn}`,yn="show",An="showing",wn="hiding",En=".offcanvas.show",Cn=`show${vn}`,xn=`shown${vn}`,Sn=`hide${vn}`,Fn=`hidePrevented${vn}`,Tn=`hidden${vn}`,Dn=`resize${vn}`,On=`click${vn}${bn}`,In=`keydown.dismiss${vn}`,Bn={backdrop:!0,keyboard:!0,scroll:!1},Mn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Pn extends us{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Bn}static get DefaultType(){return Mn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown)return;if(is.trigger(this._element,Cn,{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Ji).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(An);this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(yn),this._element.classList.remove(An),is.trigger(this._element,xn,{relatedTarget:t})}),this._element,!0)}hide(){if(!this._isShown)return;if(is.trigger(this._element,Sn).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(wn),this._backdrop.hide();this._queueCallback((()=>{this._element.classList.remove(yn,wn),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Ji).reset(),is.trigger(this._element,Tn)}),this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ri({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():is.trigger(this._element,Fn)}:null})}_initializeFocusTrap(){return new Ki({trapElement:this._element})}_addEventListeners(){is.on(this._element,In,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():is.trigger(this._element,Fn))}))}static jQueryInterface(t){return this.each((function(){const e=Pn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}is.on(document,On,'[data-bs-toggle="offcanvas"]',(function(t){const e=cs.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),Oe(this))return;is.one(e,Tn,(()=>{De(this)&&this.focus()}));const s=cs.findOne(En);s&&s!==e&&Pn.getInstance(s).hide();Pn.getOrCreateInstance(e).toggle(this)})),is.on(window,kn,(()=>{for(const t of cs.find(En))Pn.getOrCreateInstance(t).show()})),is.on(window,Dn,(()=>{for(const t of cs.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Pn.getOrCreateInstance(t).hide()})),ds(Pn),Ne(Pn);const Ln=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Vn=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Nn=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,jn=(t,e)=>{const s=t.nodeName.toLowerCase();return e.includes(s)?!Ln.has(s)||Boolean(Vn.test(t.nodeValue)||Nn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(s)))},$n={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};const Rn={allowList:$n,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},zn={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Hn={entry:"(string|element|function|null)",selector:"(string|element)"};class qn extends ls{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Rn}static get DefaultType(){return zn}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,s]of Object.entries(this._config.content))this._setContent(t,s,e);const e=t.children[0],s=this._resolvePossibleFunction(this._config.extraClass);return s&&e.classList.add(...s.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,s]of Object.entries(t))super._typeCheckConfig({selector:e,entry:s},Hn)}_setContent(t,e,s){const i=cs.findOne(s,t);i&&((e=this._resolvePossibleFunction(e))?Fe(e)?this._putElementInTemplate(Te(e),i):this._config.html?i.innerHTML=this._maybeSanitize(e):i.textContent=e:i.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,s){if(!t.length)return t;if(s&&"function"==typeof s)return s(t);const i=(new window.DOMParser).parseFromString(t,"text/html"),n=[].concat(...i.body.querySelectorAll("*"));for(const t of n){const s=t.nodeName.toLowerCase();if(!Object.keys(e).includes(s)){t.remove();continue}const i=[].concat(...t.attributes),n=[].concat(e["*"]||[],e[s]||[]);for(const e of i)jn(e,n)||t.removeAttribute(e.nodeName)}return i.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return je(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Wn=new Set(["sanitize","allowList","sanitizeFn"]),Un="fade",Yn="show",Kn=".modal",Xn="hide.bs.modal",Qn="hover",Zn="focus",Gn={AUTO:"auto",TOP:"top",RIGHT:Ve()?"left":"right",BOTTOM:"bottom",LEFT:Ve()?"right":"left"},Jn={allowList:$n,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},tr={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class er extends us{constructor(t,e){if(void 0===Ae)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Jn}static get DefaultType(){return tr}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),is.off(this._element.closest(Kn),Xn,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=is.trigger(this._element,this.constructor.eventName("show")),e=(Ie(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const s=this._getTipElement();this._element.setAttribute("aria-describedby",s.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(s),is.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(s),s.classList.add(Yn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))is.on(t,"mouseover",Be);this._queueCallback((()=>{is.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(!this._isShown())return;if(is.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented)return;if(this._getTipElement().classList.remove(Yn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))is.off(t,"mouseover",Be);this._activeTrigger.click=!1,this._activeTrigger[Zn]=!1,this._activeTrigger[Qn]=!1,this._isHovered=null;this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),is.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Un,Yn),e.classList.add(`bs-${this.constructor.NAME}-auto`);const s=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",s),this._isAnimated()&&e.classList.add(Un),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new qn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Un)}_isShown(){return this.tip&&this.tip.classList.contains(Yn)}_createPopper(t){const e=je(this._config.placement,[this,t,this._element]),s=Gn[e.toUpperCase()];return ye(this._element,t,this._getPopperConfig(s))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return je(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...je(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)is.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===Qn?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),s=e===Qn?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");is.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?Zn:Qn]=!0,e._enter()})),is.on(this._element,s,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?Zn:Qn]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},is.on(this._element.closest(Kn),Xn,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=as.getDataAttributes(this._element);for(const t of Object.keys(e))Wn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:Te(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,s]of Object.entries(this._config))this.constructor.Default[e]!==s&&(t[e]=s);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=er.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Ne(er);const sr={...er.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ir={...er.DefaultType,content:"(null|string|element|function)"};class nr extends er{static get Default(){return sr}static get DefaultType(){return ir}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=nr.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Ne(nr);const rr=".bs.scrollspy",or=`activate${rr}`,ar=`click${rr}`,lr=`load${rr}.data-api`,ur="active",hr="[href]",cr=".nav-link",dr=`${cr}, .nav-item > ${cr}, .list-group-item`,pr={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},fr={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class gr extends us{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return pr}static get DefaultType(){return fr}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=Te(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(is.off(this._config.target,ar),is.on(this._config.target,ar,hr,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const s=this._rootElement||window,i=e.offsetTop-this._element.offsetTop;if(s.scrollTo)return void s.scrollTo({top:i,behavior:"smooth"});s.scrollTop=i}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),s=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},i=(this._rootElement||document.documentElement).scrollTop,n=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const r of t){if(!r.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(r));continue}const t=r.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(n&&t){if(s(r),!i)return}else n||t||s(r)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=cs.find(hr,this._config.target);for(const e of t){if(!e.hash||Oe(e))continue;const t=cs.findOne(e.hash,this._element);De(t)&&(this._targetLinks.set(e.hash,e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(ur),this._activateParents(t),is.trigger(this._element,or,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))cs.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(ur);else for(const e of cs.parents(t,".nav, .list-group"))for(const t of cs.prev(e,dr))t.classList.add(ur)}_clearActiveClass(t){t.classList.remove(ur);const e=cs.find(`${hr}.${ur}`,t);for(const t of e)t.classList.remove(ur)}static jQueryInterface(t){return this.each((function(){const e=gr.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}is.on(window,lr,(()=>{for(const t of cs.find('[data-bs-spy="scroll"]'))gr.getOrCreateInstance(t)})),Ne(gr);const mr=".bs.tab",_r=`hide${mr}`,vr=`hidden${mr}`,br=`show${mr}`,kr=`shown${mr}`,yr=`click${mr}`,Ar=`keydown${mr}`,wr=`load${mr}`,Er="ArrowLeft",Cr="ArrowRight",xr="ArrowUp",Sr="ArrowDown",Fr="active",Tr="fade",Dr="show",Or=":not(.dropdown-toggle)",Ir='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Br=`${`.nav-link${Or}, .list-group-item${Or}, [role="tab"]${Or}`}, ${Ir}`,Mr=`.${Fr}[data-bs-toggle="tab"], .${Fr}[data-bs-toggle="pill"], .${Fr}[data-bs-toggle="list"]`;class Pr extends us{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),is.on(this._element,Ar,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),s=e?is.trigger(e,_r,{relatedTarget:t}):null;is.trigger(t,br,{relatedTarget:e}).defaultPrevented||s&&s.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){if(!t)return;t.classList.add(Fr),this._activate(cs.getElementFromSelector(t));this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),is.trigger(t,kr,{relatedTarget:e})):t.classList.add(Dr)}),t,t.classList.contains(Tr))}_deactivate(t,e){if(!t)return;t.classList.remove(Fr),t.blur(),this._deactivate(cs.getElementFromSelector(t));this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),is.trigger(t,vr,{relatedTarget:e})):t.classList.remove(Dr)}),t,t.classList.contains(Tr))}_keydown(t){if(![Er,Cr,xr,Sr].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[Cr,Sr].includes(t.key),s=Re(this._getChildren().filter((t=>!Oe(t))),t.target,e,!0);s&&(s.focus({preventScroll:!0}),Pr.getOrCreateInstance(s).show())}_getChildren(){return cs.find(Br,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),s=this._getOuterElement(t);t.setAttribute("aria-selected",e),s!==t&&this._setAttributeIfNotExists(s,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=cs.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const s=this._getOuterElement(t);if(!s.classList.contains("dropdown"))return;const i=(t,i)=>{const n=cs.findOne(t,s);n&&n.classList.toggle(i,e)};i(".dropdown-toggle",Fr),i(".dropdown-menu",Dr),s.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,s){t.hasAttribute(e)||t.setAttribute(e,s)}_elemIsActive(t){return t.classList.contains(Fr)}_getInnerElement(t){return t.matches(Br)?t:cs.findOne(Br,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Pr.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}is.on(document,yr,Ir,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),Oe(this)||Pr.getOrCreateInstance(this).show()})),is.on(window,wr,(()=>{for(const t of cs.find(Mr))Pr.getOrCreateInstance(t)})),Ne(Pr);const Lr=".bs.toast",Vr=`mouseover${Lr}`,Nr=`mouseout${Lr}`,jr=`focusin${Lr}`,$r=`focusout${Lr}`,Rr=`hide${Lr}`,zr=`hidden${Lr}`,Hr=`show${Lr}`,qr=`shown${Lr}`,Wr="hide",Ur="show",Yr="showing",Kr={animation:"boolean",autohide:"boolean",delay:"number"},Xr={animation:!0,autohide:!0,delay:5e3};class Qr extends us{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Xr}static get DefaultType(){return Kr}static get NAME(){return"toast"}show(){if(is.trigger(this._element,Hr).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");this._element.classList.remove(Wr),Me(this._element),this._element.classList.add(Ur,Yr),this._queueCallback((()=>{this._element.classList.remove(Yr),is.trigger(this._element,qr),this._maybeScheduleHide()}),this._element,this._config.animation)}hide(){if(!this.isShown())return;if(is.trigger(this._element,Rr).defaultPrevented)return;this._element.classList.add(Yr),this._queueCallback((()=>{this._element.classList.add(Wr),this._element.classList.remove(Yr,Ur),is.trigger(this._element,zr)}),this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Ur),super.dispose()}isShown(){return this._element.classList.contains(Ur)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const s=t.relatedTarget;this._element===s||this._element.contains(s)||this._maybeScheduleHide()}_setListeners(){is.on(this._element,Vr,(t=>this._onInteraction(t,!0))),is.on(this._element,Nr,(t=>this._onInteraction(t,!1))),is.on(this._element,jr,(t=>this._onInteraction(t,!0))),is.on(this._element,$r,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Qr.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}ds(Qr),Ne(Qr);var Zr=Object.freeze({__proto__:null,Alert:ms,Button:vs,Carousel:Qs,Collapse:hi,Dropdown:Pi,Modal:_n,Offcanvas:Pn,Popover:nr,ScrollSpy:gr,Tab:Pr,Toast:Qr,Tooltip:er});[].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]')).map((function(t){var e={boundary:"viewport"===t.getAttribute("data-bs-boundary")?document.querySelector(".btn"):"clippingParents"};return new Pi(t,e)})),[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){var e,s,i={delay:{show:50,hide:50},html:null!==(e="true"===t.getAttribute("data-bs-html"))&&void 0!==e&&e,placement:null!==(s=t.getAttribute("data-bs-placement"))&&void 0!==s?s:"auto"};return new er(t,i)})),[].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')).map((function(t){var e,s,i={delay:{show:50,hide:50},html:null!==(e="true"===t.getAttribute("data-bs-html"))&&void 0!==e&&e,placement:null!==(s=t.getAttribute("data-bs-placement"))&&void 0!==s?s:"auto"};return new nr(t,i)})),[].slice.call(document.querySelectorAll('[data-bs-toggle="switch-icon"]')).map((function(t){t.addEventListener("click",(function(e){e.stopPropagation(),t.classList.toggle("active")}))}));var Gr;(Gr=window.location.hash)&&[].slice.call(document.querySelectorAll('[data-bs-toggle="tab"]')).filter((function(t){return t.hash===Gr})).map((function(t){new Pr(t).show()})),[].slice.call(document.querySelectorAll('[data-bs-toggle="toast"]')).map((function(t){return new Qr(t)}));var Jr="tblr-",to=function(t,e){var s=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return s?"rgba(".concat(parseInt(s[1],16),", ").concat(parseInt(s[2],16),", ").concat(parseInt(s[3],16),", ").concat(e,")"):null},eo=Object.freeze({__proto__:null,prefix:Jr,hexToRgba:to,getColor:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,s=getComputedStyle(document.body).getPropertyValue("--".concat(Jr).concat(t)).trim();return 1!==e?to(s,e):s}});globalThis.bootstrap=Zr,globalThis.tabler=eo})); \ No newline at end of file diff --git a/bin/main/static/tabler/dist/libs/apexcharts/dist/apexcharts.amd.js b/bin/main/static/tabler/dist/libs/apexcharts/dist/apexcharts.amd.js new file mode 100644 index 0000000..e1bb040 --- /dev/null +++ b/bin/main/static/tabler/dist/libs/apexcharts/dist/apexcharts.amd.js @@ -0,0 +1,2 @@ +/*! For license information please see apexcharts.amd.js.LICENSE.txt */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ApexCharts=e():t.ApexCharts=e()}(self,(()=>(()=>{var t={922:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var i=function(t,e){var i,a,r,s=t[1]||"",n=t[3];if(!n)return s;if(e&&"function"==typeof btoa){var o=(i=n,a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),"/*# ".concat(r," */")),l=n.sources.map((function(t){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(t," */")}));return[s].concat(l).concat([o]).join("\n")}return[s].join("\n")}(e,t);return e[2]?"@media ".concat(e[2]," {").concat(i,"}"):i})).join("")},e.i=function(t,i){"string"==typeof t&&(t=[[null,t,""]]);for(var a=0;an.maxX-i.width&&(o=(r=n.maxX-i.width)-this.startPoints.box.x),null!=n.minY&&sn.maxY-i.height&&(l=(s=n.maxY-i.height)-this.startPoints.box.y),null!=n.snapToGrid&&(r-=r%n.snapToGrid,s-=s%n.snapToGrid,o-=o%n.snapToGrid,l-=l%n.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:l},!0):this.el.move(r,s));return a},e.prototype.end=function(t){var e=this.drag(t);this.el.fire("dragend",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(i,a){"function"!=typeof i&&"object"!=t(i)||(a=i,i=!0);var r=this.remember("_draggable")||new e(this);return(i=void 0===i||i)?r.init(a||{},i):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}).call(this)},872:function(){(function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr("in")&&this.autoSetIn&&t.attr("in",this.source),t.attr("result")||t.attr("result",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,r){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,r))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,r){return this.put(new SVG.TurbulenceEffect(t,e,i,a,r))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return"function"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,r){return this.parent()&&this.parent().turbulence(t,e,i,a,r).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr("in",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||"normal"})},colorMatrix:function(t,e){"matrix"==t&&(e=r(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=r(t),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr("flood-color",t),null!=e&&this.attr("flood-opacity",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr("href",t,SVG.xlink)},displacementMap:function(t,e,i,a,r){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:r})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr("stdDeviation",function(t){if(!Array.isArray(t))return t;for(var e=0,i=t.length,a=[];e{!function(){"use strict";function t(t,r,s,n,o,l,c){for(var h=t.slice(r,s||c),d=n.slice(o,l||c),u=0,g={pos:[0,0],start:[0,0]},f={pos:[0,0],start:[0,0]};h[u]=e.call(g,h[u]),d[u]=e.call(f,d[u]),h[u][0]!=d[u][0]||"M"==h[u][0]||"A"==h[u][0]&&(h[u][4]!=d[u][4]||h[u][5]!=d[u][5])?(Array.prototype.splice.apply(h,[u,1].concat(a.call(g,h[u]))),Array.prototype.splice.apply(d,[u,1].concat(a.call(f,d[u])))):(h[u]=i.call(g,h[u]),d[u]=i.call(f,d[u])),++u!=h.length||u!=d.length;)u==h.length&&h.push(["C",g.pos[0],g.pos[1],g.pos[0],g.pos[1],g.pos[0],g.pos[1]]),u==d.length&&d.push(["C",f.pos[0],f.pos[1],f.pos[0],f.pos[1],f.pos[0],f.pos[1]]);return{start:h,dest:d}}function e(t){switch(t[0]){case"z":case"Z":t[0]="L",t[1]=this.start[0],t[2]=this.start[1];break;case"H":t[0]="L",t[2]=this.pos[1];break;case"V":t[0]="L",t[2]=t[1],t[1]=this.pos[0];break;case"T":t[0]="Q",t[3]=t[1],t[4]=t[2],t[1]=this.reflection[1],t[2]=this.reflection[0];break;case"S":t[0]="C",t[6]=t[4],t[5]=t[3],t[4]=t[2],t[3]=t[1],t[2]=this.reflection[1],t[1]=this.reflection[0]}return t}function i(t){var e=t.length;return this.pos=[t[e-2],t[e-1]],-1!="SCQT".indexOf(t[0])&&(this.reflection=[2*this.pos[0]-t[e-4],2*this.pos[1]-t[e-3]]),t}function a(t){var e=[t];switch(t[0]){case"M":return this.pos=this.start=[t[1],t[2]],e;case"L":t[5]=t[3]=t[1],t[6]=t[4]=t[2],t[1]=this.pos[0],t[2]=this.pos[1];break;case"Q":t[6]=t[4],t[5]=t[3],t[4]=1*t[4]/3+2*t[2]/3,t[3]=1*t[3]/3+2*t[1]/3,t[2]=1*this.pos[1]/3+2*t[2]/3,t[1]=1*this.pos[0]/3+2*t[1]/3;break;case"A":e=function(t,e){var i,a,r,s,n,o,l,c,h,d,u,g,f,p,x,b,v,m,y,w,k,A,S,C,P,L,O=Math.abs(e[1]),T=Math.abs(e[2]),I=e[3]%360,E=e[4],M=e[5],X=e[6],z=e[7],Y=new SVG.Point(t),D=new SVG.Point(X,z),R=[];if(0===O||0===T||Y.x===D.x&&Y.y===D.y)return[["C",Y.x,Y.y,D.x,D.y,D.x,D.y]];for((a=(i=new SVG.Point((Y.x-D.x)/2,(Y.y-D.y)/2).transform((new SVG.Matrix).rotate(I))).x*i.x/(O*O)+i.y*i.y/(T*T))>1&&(O*=a=Math.sqrt(a),T*=a),r=(new SVG.Matrix).rotate(I).scale(1/O,1/T).rotate(-I),Y=Y.transform(r),o=(s=[(D=D.transform(r)).x-Y.x,D.y-Y.y])[0]*s[0]+s[1]*s[1],n=Math.sqrt(o),s[0]/=n,s[1]/=n,l=o<4?Math.sqrt(1-o/4):0,E===M&&(l*=-1),c=new SVG.Point((D.x+Y.x)/2+l*-s[1],(D.y+Y.y)/2+l*s[0]),h=new SVG.Point(Y.x-c.x,Y.y-c.y),d=new SVG.Point(D.x-c.x,D.y-c.y),u=Math.acos(h.x/Math.sqrt(h.x*h.x+h.y*h.y)),h.y<0&&(u*=-1),g=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(g*=-1),M&&u>g&&(g+=2*Math.PI),!M&&u{!function(){"use strict";(function(){function t(t){t.remember("_resizeHandler",this),this.el=t,this.parameters={},this.lastUpdateCall=null,this.p=t.doc().node.createSVGPoint()}t.prototype.transformPoint=function(t,e,i){return this.p.x=t-(this.offset.x-window.pageXOffset),this.p.y=e-(this.offset.y-window.pageYOffset),this.p.matrixTransform(i||this.m)},t.prototype._extractPosition=function(t){return{x:null!=t.clientX?t.clientX:t.touches[0].clientX,y:null!=t.clientY?t.clientY:t.touches[0].clientY}},t.prototype.init=function(t){var e=this;if(this.stop(),"stop"!==t){for(var i in this.options={},this.el.resize.defaults)this.options[i]=this.el.resize.defaults[i],void 0!==t[i]&&(this.options[i]=t[i]);this.el.on("lt.resize",(function(t){e.resize(t||window.event)})),this.el.on("rt.resize",(function(t){e.resize(t||window.event)})),this.el.on("rb.resize",(function(t){e.resize(t||window.event)})),this.el.on("lb.resize",(function(t){e.resize(t||window.event)})),this.el.on("t.resize",(function(t){e.resize(t||window.event)})),this.el.on("r.resize",(function(t){e.resize(t||window.event)})),this.el.on("b.resize",(function(t){e.resize(t||window.event)})),this.el.on("l.resize",(function(t){e.resize(t||window.event)})),this.el.on("rot.resize",(function(t){e.resize(t||window.event)})),this.el.on("point.resize",(function(t){e.resize(t||window.event)})),this.update()}},t.prototype.stop=function(){return this.el.off("lt.resize"),this.el.off("rt.resize"),this.el.off("rb.resize"),this.el.off("lb.resize"),this.el.off("t.resize"),this.el.off("r.resize"),this.el.off("b.resize"),this.el.off("l.resize"),this.el.off("rot.resize"),this.el.off("point.resize"),this},t.prototype.resize=function(t){var e=this;this.m=this.el.node.getScreenCTM().inverse(),this.offset={x:window.pageXOffset,y:window.pageYOffset};var i=this._extractPosition(t.detail.event);if(this.parameters={type:this.el.type,p:this.transformPoint(i.x,i.y),x:t.detail.x,y:t.detail.y,box:this.el.bbox(),rotation:this.el.transform().rotation},"text"===this.el.type&&(this.parameters.fontSize=this.el.attr()["font-size"]),void 0!==t.detail.i){var a=this.el.array().valueOf();this.parameters.i=t.detail.i,this.parameters.pointCoords=[a[t.detail.i][0],a[t.detail.i][1]]}switch(t.type){case"lt":this.calc=function(t,e){var i=this.snapToGrid(t,e);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case"rt":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case"rb":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case"lb":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case"t":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case"r":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case"b":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case"l":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case"rot":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,r=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),s=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),n=this.parameters.rotation+180*(s-r)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(n-n%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,"touchmove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"touchend.resize",(function(){e.done()})),SVG.on(window,"mousemove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"mouseup.resize",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,r=i.y-this.parameters.p.y;this.lastUpdateCall=[a,r],this.calc(a,r),this.el.fire("resizing",{dx:a,dy:r,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},t.prototype.snapToGrid=function(t,e,i,a){var r;return void 0!==a?r=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,r=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(r[0]-=this.options.snapToGrid),e<0&&(r[1]-=this.options.snapToGrid),t-=Math.abs(r[0])n.maxX&&(t=n.maxX-r),void 0!==n.minY&&s+en.maxY&&(e=n.maxY-s),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,r=this.parameters.box.width+t[0],s=this.parameters.box.height-t[1],n=r/s;return na&&(i[0]=this.parameters.box.width-s*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}()},769:()=>{function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}!function(){"use strict";function e(t){this.el=t,t.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,e,i){var a="string"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,"t"===t||"b"===t),y:this.pointCoord(i[1],e,"r"===t||"l"===t)}}}e.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var r in this.el.selectize.defaults)this.options[r]=this.el.selectize.defaults[r],void 0!==e[r]&&(this.options[r]=e[r]);var s=["points","pointsExclude"];for(var r in s){var n=this.options[s[r]];"string"==typeof n?n=n.length>0?n.split(/\s*,\s*/i):[]:"boolean"==typeof n&&"points"===s[r]&&(n=n?a:[]),this.options[s[r]]=n}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==["line","polyline","polygon"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},e.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},e.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},e.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i{window.TreemapSquared={},function(){"use strict";window.TreemapSquared.generate=function(){function t(e,i,a,r){this.xoffset=e,this.yoffset=i,this.height=r,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,r=this.yoffset,n=s(t)/this.height,o=s(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,r=this.width-a;i=new t(this.xoffset+a,this.yoffset,r,this.height)}else{var s=e/this.width,n=this.height-s;i=new t(this.xoffset,this.yoffset+s,this.width,n)}return i}}function e(e,a,r,n,o){n=void 0===n?0:n,o=void 0===o?0:o;var l=i(function(t,e){var i,a=[],r=e/s(t);for(i=0;i=a(r,i))}(e,l=t[0],o)?(e.push(l),i(t.slice(1),e,r,n)):(c=r.cutArea(s(e),n),n.push(r.getCoordinates(e)),i(t,[],c,n)),n;n.push(r.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),r=s(t);return Math.max(Math.pow(e,2)*a/Math.pow(r,2),Math.pow(r,2)/(Math.pow(e,2)*i))}function r(t){return t&&t.constructor===Array}function s(t){var e,i=0;for(e=0;e=0;a--)if(t[a])for(var r in e)t[a].prototype[r]=e[r];i.Set&&i.Set.inherit&&i.Set.inherit()},i.invent=function(t){var e="function"==typeof t.create?t.create:function(){this.constructor.call(this,i.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&i.extend(e,t.extend),t.construct&&i.extend(t.parent||i.Container,t.construct),e},i.adopt=function(e){return e?e.instance?e.instance:((a="svg"==e.nodeName?e.parentNode instanceof t.SVGElement?new i.Nested:new i.Doc:"linearGradient"==e.nodeName?new i.Gradient("linear"):"radialGradient"==e.nodeName?new i.Gradient("radial"):i[d(e.nodeName)]?new(i[d(e.nodeName)]):new i.Element(e)).type=e.nodeName,a.node=e,e.instance=a,a instanceof i.Doc&&a.namespace().defs(),a.setData(JSON.parse(e.getAttribute("svgjs:data"))||{}),a):null;var a},i.prepare=function(){var t=e.getElementsByTagName("body")[0],a=(t?new i.Doc(t):i.adopt(e.documentElement).nested()).size(2,0);i.parser={body:t||e.documentElement,draw:a.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:a.polyline().node,path:a.path().node,native:i.create("svg")}},i.parser={native:i.create("svg")},e.addEventListener("DOMContentLoaded",(function(){i.parser.draw||i.prepare()}),!1),i.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},i.utils={map:function(t,e){for(var i=t.length,a=[],r=0;r1?1:t,new i.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),i.Color.test=function(t){return t+="",i.regex.isHex.test(t)||i.regex.isRgb.test(t)},i.Color.isRgb=function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b},i.Color.isColor=function(t){return i.Color.isRgb(t)||i.Color.test(t)},i.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},i.extend(i.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),i.PointArray=function(t,e){i.Array.call(this,t,e||[[0,0]])},i.PointArray.prototype=new i.Array,i.PointArray.prototype.constructor=i.PointArray;for(var a={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]}},r="mlhvqtcsaz".split(""),n=0,o=r.length;nl);return s},bbox:function(){return i.parser.draw||i.prepare(),i.parser.path.setAttribute("d",this.toString()),i.parser.path.getBBox()}}),i.Number=i.invent({create:function(t,e){this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(i.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),"%"==e[5]?this.value/=100:"s"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof i.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new i.Number(t),new i.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new i.Number(t),new i.Number(this-t,this.unit||t.unit)},times:function(t){return t=new i.Number(t),new i.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new i.Number(t),new i.Number(this/t,this.unit||t.unit)},to:function(t){var e=new i.Number(this);return"string"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new i.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new i.Number(this.destination).minus(this).times(t).plus(this):this}}}),i.Element=i.invent({create:function(t){this._stroke=i.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute("stroke")||this._stroke)},extend:{x:function(t){return this.attr("x",t)},y:function(t){return this.attr("y",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr("width",t)},height:function(t){return this.attr("height",t)},size:function(t,e){var a=g(this,t,e);return this.width(new i.Number(a.width)).height(new i.Number(a.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr("id",t)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return"none"!=this.style("display")},toString:function(){return this.attr("id")},classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(i.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr("class",this.classes().filter((function(e){return e!=t})).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return i.get(this.attr(t))},parent:function(e){var a=this;if(!a.node.parentNode)return null;if(a=i.adopt(a.node.parentNode),!e)return a;for(;a&&a.node instanceof t.SVGElement;){if("string"==typeof e?a.matches(e):a instanceof e)return a;if(!a.node.parentNode||"#document"==a.node.parentNode.nodeName)return null;a=i.adopt(a.node.parentNode)}},doc:function(){return this instanceof i.Doc?this:this.parent(i.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var a=e.createElement("svg");if(!(t&&this instanceof i.Parent))return a.appendChild(t=e.createElement("svg")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),a.innerHTML.replace(/^/,"").replace(/<\/svg>$/,"");a.innerHTML=""+t.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2>")+"";for(var r=0,s=a.firstChild.childNodes.length;r":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)}},i.morph=function(t){return function(e,a){return new i.MorphObj(e,a).at(t)}},i.Situation=i.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new i.Number(t.duration).valueOf(),this.delay=new i.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),i.FX=i.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,a){"object"===s(t)&&(e=t.ease,a=t.delay,t=t.duration);var r=new i.Situation({duration:t||1e3,delay:a||0,ease:i.easing[e||"-"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof i.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return("function"==typeof t||t instanceof i.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof i.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var a in e.animations){t=this.target()[a](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[a])||(e.animations[a]=[e.animations[a]]);for(var r=t.length;r--;)e.animations[a][r]instanceof i.Number&&(t[r]=new i.Number(t[r])),e.animations[a][r]=t[r].morph(e.animations[a][r])}for(var a in e.attrs)e.attrs[a]=new i.MorphObj(this.target().attr(a),e.attrs[a]);for(var a in e.styles)e.styles[a]=new i.MorphObj(this.target().style(a),e.styles[a]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on("finished.fx",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off("finished.fx",i))})),this._callStart()},during:function(t){var e=this.last(),a=function(a){a.detail.situation==e&&t.call(this,a.detail.pos,i.morph(a.detail.pos),a.detail.eased,e)};return this.target().off("during.fx",a).on("during.fx",a),this.after((function(){this.off("during.fx",a)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off("allfinished.fx",e)};return this.target().off("allfinished.fx",e).on("allfinished.fx",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||"animations"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&s<=r&&(this.situation.once[s].call(this.target(),this.pos,r),delete this.situation.once[s]);return this.active&&this.target().fire("during",{pos:this.pos,eased:r,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=r,this):this},eachAt:function(){var t,e=this,a=this.target(),r=this.situation;for(var s in r.animations)t=[].concat(r.animations[s]).map((function(t){return"string"!=typeof t&&t.at?t.at(r.ease(e.pos),e.pos):t})),a[s].apply(a,t);for(var s in r.attrs)t=[s].concat(r.attrs[s]).map((function(t){return"string"!=typeof t&&t.at?t.at(r.ease(e.pos),e.pos):t})),a.attr.apply(a,t);for(var s in r.styles)t=[s].concat(r.styles[s]).map((function(t){return"string"!=typeof t&&t.at?t.at(r.ease(e.pos),e.pos):t})),a.style.apply(a,t);if(r.transforms.length){t=r.initialTransformation,s=0;for(var n=r.transforms.length;s=0;--a)this[v[a]]=null!=t[v[a]]?t[v[a]]:e[v[a]]},extend:{extract:function(){var t=f(this,0,1),e=(f(this,1,0),180/Math.PI*Math.atan2(t.y,t.x)-90);return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new i.Matrix(this)}},clone:function(){return new i.Matrix(this)},morph:function(t){return this.destination=new i.Matrix(t),this},multiply:function(t){return new i.Matrix(this.native().multiply(function(t){return t instanceof i.Matrix||(t=new i.Matrix(t)),t}(t).native()))},inverse:function(){return new i.Matrix(this.native().inverse())},translate:function(t,e){return new i.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=i.parser.native.createSVGMatrix(),e=v.length-1;e>=0;e--)t[v[e]]=this[v[e]];return t},toString:function(){return"matrix("+b(this.a)+","+b(this.b)+","+b(this.c)+","+b(this.d)+","+b(this.e)+","+b(this.f)+")"}},parent:i.Element,construct:{ctm:function(){return new i.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof i.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new i.Matrix(e)}return new i.Matrix(this.node.getScreenCTM())}}}),i.Point=i.invent({create:function(t,e){var i;i=Array.isArray(t)?{x:t[0],y:t[1]}:"object"===s(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=i.x,this.y=i.y},extend:{clone:function(){return new i.Point(this)},morph:function(t,e){return this.destination=new i.Point(t,e),this}}}),i.extend(i.Element,{point:function(t,e){return new i.Point(t,e).transform(this.screenCTM().inverse())}}),i.extend(i.Element,{attr:function(t,e,a){if(null==t){for(t={},a=(e=this.node.attributes).length-1;a>=0;a--)t[e[a].nodeName]=i.regex.isNumber.test(e[a].nodeValue)?parseFloat(e[a].nodeValue):e[a].nodeValue;return t}if("object"===s(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?i.defaults.attrs[t]:i.regex.isNumber.test(e)?parseFloat(e):e;"stroke-width"==t?this.attr("stroke",parseFloat(e)>0?this._stroke:null):"stroke"==t&&(this._stroke=e),"fill"!=t&&"stroke"!=t||(i.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof i.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),"number"==typeof e?e=new i.Number(e):i.Color.isColor(e)?e=new i.Color(e):Array.isArray(e)&&(e=new i.Array(e)),"leading"==t?this.leading&&this.leading(e):"string"==typeof a?this.node.setAttributeNS(a,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!=t&&"x"!=t||this.rebuild(t,e)}return this}}),i.extend(i.Element,{transform:function(t,e){var a;return"object"!==s(t)?(a=new i.Matrix(this).extract(),"string"==typeof t?a[t]:a):(a=new i.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(a=e?a.multiply(new i.Matrix(t)):new i.Matrix(t)),this.attr("transform",a))}}),i.extend(i.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(i.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split("(");return[e[0],e[1].split(i.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return"matrix"==e[0]?t.multiply(p(e[1])):t[e[0]].apply(t,e[1])}),new i.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),i.Transformation=i.invent({create:function(t,e){if(arguments.length>1&&"boolean"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var i=0,a=this.arguments.length;i=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return i.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var a=this.children(),r=0,s=a.length;r=0;a--)e.childNodes[a]instanceof t.SVGElement&&x(e.childNodes[a]);return i.adopt(e).id(i.eid(e.nodeName))}function b(t){return Math.abs(t)>1e-37?t:0}["fill","stroke"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if("string"==typeof e||i.Color.isRgb(e)||e&&"function"==typeof e.fill)this.attr(t,e);else for(var a=l[t].length-1;a>=0;a--)null!=e[l[t][a]]&&this.attr(l.prefix(t,l[t][a]),e[l[t][a]]);return this},i.extend(i.Element,i.FX,e)})),i.extend(i.Element,i.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr("transform",new i.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new i.Number(t).plus(this instanceof i.FX?0:this.x()),!0)},dy:function(t){return this.y(new i.Number(t).plus(this instanceof i.FX?0:this.y()),!0)}}),i.extend(i.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),i.Set=i.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new i.Set(t)}}}),i.FX.Set=i.invent({create:function(t){this.set=t}}),i.Set.inherit=function(){var t=[];for(var e in i.Shape.prototype)"function"==typeof i.Shape.prototype[e]&&"function"!=typeof i.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){i.Set.prototype[t]=function(){for(var e=0,a=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),i.get=function(t){var a=e.getElementById(function(t){var e=(t||"").toString().match(i.regex.reference);if(e)return e[1]}(t)||t);return i.adopt(a)},i.select=function(t,a){return new i.Set(i.utils.map((a||e).querySelectorAll(t),(function(t){return i.adopt(t)})))},i.extend(i.Parent,{select:function(t){return i.select(t,this.node)}});var v="abcdef".split("");if("function"!=typeof t.CustomEvent){var m=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent("CustomEvent");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};m.prototype=t.Event.prototype,i.CustomEvent=m}else i.CustomEvent=t.CustomEvent;return i}(r,r.document)}.call(e,i,e,t),void 0===a||(t.exports=a)},539:(t,e,i)=>{(e=i(922)(!1)).push([t.id,'@keyframes opaque {\n 0% {\n opacity: 0\n }\n\n to {\n opacity: 1\n }\n}\n\n@keyframes resizeanim {\n 0%,to {\n opacity: 0\n }\n}\n\n.apexcharts-canvas {\n position: relative;\n user-select: none\n}\n\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0,0,0,.5);\n box-shadow: 0 0 1px rgba(255,255,255,.5);\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5)\n}\n\n.apexcharts-inner {\n position: relative\n}\n\n.apexcharts-text tspan {\n font-family: inherit\n}\n\n.legend-mouseover-inactive {\n transition: .15s ease all;\n opacity: .2\n}\n\n.apexcharts-legend-text {\n padding-left: 15px;\n margin-left: -15px;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255,255,255,.96)\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30,30,30,.8)\n}\n\n.apexcharts-tooltip * {\n font-family: inherit\n}\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #eceff1;\n border-bottom: 1px solid #ddd\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0,0,0,.7);\n border-bottom: 1px solid #333\n}\n\n.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value {\n display: inline-block;\n margin-left: 5px;\n font-weight: 600\n}\n\n.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty {\n display: none\n}\n\n.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px\n}\n\n.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n display: flex\n}\n\n.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0;\n margin-right: 10px;\n border-radius: 50%\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0!important\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px\n}\n\n.apexcharts-custom-tooltip,.apexcharts-tooltip-box {\n padding: 4px 8px\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: 700\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: 700;\n display: block;\n margin-bottom: 5px\n}\n\n.apexcharts-xaxistooltip,.apexcharts-yaxistooltip {\n opacity: 0;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #eceff1;\n border: 1px solid #90a4ae\n}\n\n.apexcharts-xaxistooltip {\n padding: 9px 10px;\n transition: .15s ease all\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-left: -6px\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-left: -7px\n}\n\n.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%\n}\n\n.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before {\n top: 100%\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-yaxistooltip {\n padding: 4px 10px\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-top: -6px\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-top: -7px\n}\n\n.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before {\n left: 100%\n}\n\n.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before {\n right: 100%\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none\n}\n\n.apexcharts-xcrosshairs,.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: .15s ease all\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0\n}\n\n.apexcharts-selection-rect {\n cursor: move\n}\n\n.svg_select_boundingRect,.svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6e8192;\n text-align: center\n}\n\n.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg {\n fill: #6e8192\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(.76)\n}\n\n.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\n fill: #f3f4f5\n}\n\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\n fill: #008ffb\n}\n\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\n fill: #333\n}\n\n.apexcharts-menu-icon,.apexcharts-selection-icon {\n position: relative\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px\n}\n\n.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon {\n transform: scale(.85)\n}\n\n.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n transform: scale(.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px\n}\n\n.apexcharts-pan-icon {\n transform: scale(.62);\n position: relative;\n left: 1px;\n top: 0\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6e8192;\n stroke-width: 2\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008ffb\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0 6px 2px;\n display: flex;\n justify-content: space-between;\n align-items: center\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: .15s ease all;\n pointer-events: none\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: .15s ease all\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0,0,0,.7);\n color: #fff\n}\n\n@media screen and (min-width:768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1\n }\n}\n\n.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points {\n opacity: 0\n}\n\n.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label {\n cursor: default;\n pointer-events: none\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: .3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease\n}\n\n.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect {\n pointer-events: none\n}\n\n.apexcharts-marker {\n transition: .15s ease all\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n height: 100%;\n width: 100%;\n overflow: hidden\n}\n\n.contract-trigger:before,.resize-triggers,.resize-triggers>div {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0\n}\n\n.resize-triggers>div {\n height: 100%;\n width: 100%;\n background: #eee;\n overflow: auto\n}\n\n.contract-trigger:before {\n overflow: hidden;\n width: 200%;\n height: 200%\n}\n',""]),t.exports=e},274:(t,e,i)=>{var a=i(379),r=i(539);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[t.id,r,""]]);var s=(a(t.id,r,{insert:"head",singleton:!1}),r.locals?r.locals:{});t.exports=s},379:(t,e,i)=>{"use strict";var a,r=function(){var t={};return function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}t[e]=i}return t[e]}}(),s={};function n(t,e,i){for(var a=0;a{t.exports=''},355:t=>{t.exports=''},686:t=>{t.exports=''},798:t=>{t.exports=''},323:t=>{t.exports=''},618:t=>{t.exports=''},688:t=>{t.exports=''}},e={};function i(a){var r=e[a];if(void 0!==r)return r.exports;var s=e[a]={id:a,exports:{}};return t[a].call(s.exports,s,s.exports,i),s.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var a in e)i.o(e,a)&&!i.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nc=void 0;var a={};return(()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){for(var i=0;iXa});const r=function(){function i(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i)}var a,r,s;return a=i,s=[{key:"bind",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:"isObject",value:function(e){return e&&"object"===t(e)&&!Array.isArray(e)&&null!=e}},{key:"is",value:function(t,e){return Object.prototype.toString.call(e)==="[object "+t+"]"}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;ee.length?t:e}))),t.length>e.length?t:e}),0)}},{key:"hexToRgba",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==t.substring(0,1)&&(t="#999999");var i=t.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"x",i=t.toString().slice();return i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,e)}},{key:"negToZero",value:function(t){return t<0?0:t}},{key:"moveIndexInArray",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:"extractNumber",value:function(t){return parseFloat(t.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:"setELstyles",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:"isNumber",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:"isFloat",value:function(t){return Number(t)===t&&t%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var a=t.indexOf("Edge/");return a>0&&parseInt(t.substring(a+5,t.indexOf(".",a)),10)}}],(r=[{key:"shadeRGBColor",value:function(t,e){var i=e.split(","),a=t<0?0:255,r=t<0?-1*t:t,s=parseInt(i[0].slice(4),10),n=parseInt(i[1],10),o=parseInt(i[2],10);return"rgb("+(Math.round((a-s)*r)+s)+","+(Math.round((a-n)*r)+n)+","+(Math.round((a-o)*r)+o)+")"}},{key:"shadeHexColor",value:function(t,e){var i=parseInt(e.slice(1),16),a=t<0?0:255,r=t<0?-1*t:t,s=i>>16,n=i>>8&255,o=255&i;return"#"+(16777216+65536*(Math.round((a-s)*r)+s)+256*(Math.round((a-n)*r)+n)+(Math.round((a-o)*r)+o)).toString(16).slice(1)}},{key:"shadeColor",value:function(t,e){return i.isColorHex(e)?this.shadeHexColor(t,e):this.shadeRGBColor(t,e)}}])&&e(a.prototype,r),s&&e(a,s),i}();function s(t,e){for(var i=0;i-1||s.indexOf("NaN")>-1)&&(s=d()),(!n||n.indexOf("undefined")>-1||n.indexOf("NaN")>-1)&&(n=d()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,l).plot(s).animate(o,h.globals.easing,l).plot(n).afterAll((function(){r.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&c.animationCompleted(t):"none"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&c.animationCompleted(t),c.showDelayedElements()}))}}])&&s(e.prototype,i),t}();function o(t,e){for(var i=0;i3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(t,e);break;case"lighten":this.addLightenFilter(t,e,{intensity:a});break;case"darken":this.addDarkenFilter(t,e,{intensity:a})}}},{key:"addShadow",value:function(t,e,i){var a=i.blur,r=i.top,s=i.left,n=i.color,o=i.opacity,l=t.flood(Array.isArray(n)?n[e]:n,o).composite(t.sourceAlpha,"in").offset(s,r).gaussianBlur(a).merge(t.source);return t.blend(t.source,l)}},{key:"dropShadow",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.top,s=e.left,n=e.blur,o=e.color,l=e.opacity,c=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),r.isIE()&&"radialBar"===h.config.chart.type||(o=Array.isArray(o)?o[i]:o,t.filter((function(t){var e;e=r.isSafari()||r.isFirefox()||r.isIE()?t.flood(o,l).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(n):t.flood(o,l).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(n).merge(t.source),t.blend(t.source,e)})),c||t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)),t}},{key:"setSelectionFilter",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute("selected",!0);var r=a.config.states.active.filter;"none"!==r&&this.applyFilter(t,e,r.type,r.value)}}},{key:"_scaleFilterSize",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}],i&&o(e.prototype,i),t}();function c(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function h(t){for(var e=1;e2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function s(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf("NaN")>-1&&(t="");var n=t.split(/[,\s]/).reduce((function(t,e){var i=e.match("([a-zA-Z])(.+)");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),o=[];if(n.length>1){var l=s(n[0]),c=null;"Z"==n[n.length-1][0]&&n[0].length>2&&(c=["L",l.x,l.y],n[n.length-1]=c),o.push(n[0]);for(var h=1;h2&&"L"==u[0]&&g.length>2&&"L"==g[0]){var f,p,x=s(d),b=s(u),v=s(g);f=i(b,x,e),p=i(b,v,e),r(u,f),u.origPoint=b,o.push(u);var m=a(f,b,.5),y=a(b,p,.5),w=["C",m.x,m.y,y.x,y.y,p.x,p.y];w.origPoint=b,o.push(w)}else o.push(u)}if(c){var k=s(o[o.length-1]);o.push(["Z"]),r(o[0],k)}}else o=n;return o.reduce((function(t,e){return t+e.join(" ")+" "}),"")}},{key:"drawLine",value:function(t,e,i,a){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:r,"stroke-dasharray":s,"stroke-width":n,"stroke-linecap":o})}},{key:"drawRect",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#fefefe",n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,h=this.w.globals.dom.Paper.rect();return h.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:r,ry:r,opacity:n,"stroke-width":null!==o?o:0,stroke:null!==l?l:"none","stroke-dasharray":c}),h.node.setAttribute("fill",s),h}},{key:"drawPolygon",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,"stroke-width":i})}},{key:"drawCircle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:"drawPath",value:function(t){var e=t.d,i=void 0===e?"":e,a=t.stroke,r=void 0===a?"#a8a8a8":a,s=t.strokeWidth,n=void 0===s?1:s,o=t.fill,l=t.fillOpacity,c=void 0===l?1:l,h=t.strokeOpacity,d=void 0===h?1:h,u=t.classes,g=t.strokeLinecap,f=void 0===g?null:g,p=t.strokeDashArray,x=void 0===p?0:p,b=this.w;return null===f&&(f=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:o,"fill-opacity":c,stroke:r,"stroke-opacity":d,"stroke-linecap":f,"stroke-width":n,"stroke-dasharray":x,class:u})}},{key:"group",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:"move",value:function(t,e){return["M",t,e].join(" ")}},{key:"line",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[" L",t,e].join(" "):"H"===i?a=[" H",t].join(" "):"V"===i&&(a=[" V",e].join(" ")),a}},{key:"curve",value:function(t,e,i,a,r,s){return["C",t,e,i,a,r,s].join(" ")}},{key:"quadraticCurve",value:function(t,e,i,a){return["Q",t,e,i,a].join(" ")}},{key:"arc",value:function(t,e,i,a,r,s,n){var o="A";return arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(o="a"),[o,t,e,i,a,r,s,n].join(" ")}},{key:"renderPaths",value:function(t){var e,i=t.j,a=t.realIndex,r=t.pathFrom,s=t.pathTo,o=t.stroke,c=t.strokeWidth,d=t.strokeLinecap,u=t.fill,g=t.animationDelay,f=t.initialSpeed,p=t.dataChangeSpeed,x=t.className,b=t.shouldClipToGrid,v=void 0===b||b,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new l(this.ctx),C=new n(this.ctx),P=this.w.config.chart.animations.enabled,L=P&&this.w.config.chart.animations.dynamicAnimation.enabled,O=!!(P&&!A.globals.resized||L&&A.globals.dataChanged&&A.globals.shouldAnimate);O?e=r:(e=s,A.globals.animationEnded=!0);var T,I=A.config.stroke.dashArray;T=Array.isArray(I)?I[a]:A.config.stroke.dashArray;var E=this.drawPath({d:e,stroke:o,strokeWidth:c,fill:u,fillOpacity:1,classes:x,strokeLinecap:d,strokeDashArray:T});if(E.attr("index",a),v&&E.attr({"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")}),"none"!==A.config.states.normal.filter.type)S.getDefaultFilter(E,a);else if(A.config.chart.dropShadow.enabled&&k&&(!A.config.chart.dropShadow.enabledOnSeries||A.config.chart.dropShadow.enabledOnSeries&&-1!==A.config.chart.dropShadow.enabledOnSeries.indexOf(a))){var M=A.config.chart.dropShadow;S.dropShadow(E,M,a)}y&&(E.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,E)),E.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,E)),E.node.addEventListener("mousedown",this.pathMouseDown.bind(this,E))),E.attr({pathTo:s,pathFrom:r});var X={el:E,j:i,realIndex:a,pathFrom:r,pathTo:s,fill:u,strokeWidth:c,delay:g};return!P||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(h(h({},X),{},{speed:f})),A.globals.dataChanged&&L&&O&&C.animatePathsGradually(h(h({},X),{},{speed:p})),E}},{key:"drawPattern",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(s){"horizontalLines"===t?s.line(0,0,i,0).stroke({color:a,width:r+1}):"verticalLines"===t?s.line(0,0,0,e).stroke({color:a,width:r+1}):"slantedLines"===t?s.line(0,0,e,i).stroke({color:a,width:r}):"squares"===t?s.rect(e,i).fill("none").stroke({color:a,width:r}):"circles"===t&&s.circle(e).fill("none").stroke({color:a,width:r})}))}},{key:"drawGradient",value:function(t,e,i,a,s){var n,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,d=this.w;e.length<9&&0===e.indexOf("#")&&(e=r.hexToRgba(e,a)),i.length<9&&0===i.indexOf("#")&&(i=r.hexToRgba(i,s));var u=0,g=1,f=1,p=null;null!==l&&(u=void 0!==l[0]?l[0]/100:0,g=void 0!==l[1]?l[1]/100:1,f=void 0!==l[2]?l[2]/100:1,p=void 0!==l[3]?l[3]/100:null);var x=!("donut"!==d.config.chart.type&&"pie"!==d.config.chart.type&&"polarArea"!==d.config.chart.type&&"bubble"!==d.config.chart.type);if(n=null===c||0===c.length?d.globals.dom.Paper.gradient(x?"radial":"linear",(function(t){t.at(u,e,a),t.at(g,i,s),t.at(f,i,s),null!==p&&t.at(p,e,a)})):d.globals.dom.Paper.gradient(x?"radial":"linear",(function(t){(Array.isArray(c[h])?c[h]:c).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),x){var b=d.globals.gridWidth/2,v=d.globals.gridHeight/2;"bubble"!==d.config.chart.type?n.attr({gradientUnits:"userSpaceOnUse",cx:b,cy:v,r:o}):n.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else"vertical"===t?n.from(0,0).to(0,1):"diagonal"===t?n.from(0,0).to(1,1):"horizontal"===t?n.from(0,1).to(1,1):"diagonal2"===t&&n.from(1,0).to(0,1);return n}},{key:"getTextBasedOnMaxWidth",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,r=t.fontFamily,s=this.getTextRects(e,a,r),n=s.width/e.length,o=Math.floor(i/n);return i-1){var o=i.globals.selectedDataPoints[r].indexOf(s);i.globals.selectedDataPoints[r].splice(o,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var c=i.globals.dom.Paper.select(".apexcharts-series path").members,h=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,d=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute("selected","false"),a.getDefaultFilter(t,r)}))};d(c),d(h)}t.node.setAttribute("selected","true"),n="true",void 0===i.globals.selectedDataPoints[r]&&(i.globals.selectedDataPoints[r]=[]),i.globals.selectedDataPoints[r].push(s)}if("true"===n){var u=i.config.states.active.filter;if("none"!==u)a.applyFilter(t,r,u.type,u.value);else if("none"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,r,g.type,g.value)}}else"none"!==i.config.states.active.filter.type&&("none"===i.config.states.hover.filter.type||i.globals.isTouchDevice?a.getDefaultFilter(t,r):(g=i.config.states.hover.filter,a.applyFilter(t,r,g.type,g.value)));"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:r,dataPointIndex:s,w:i}),e&&this.ctx.events.fireEvent("dataPointSelection",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:r,dataPointIndex:s,w:i}])}},{key:"rotateAroundCenter",value:function(t){var e={};return t&&"function"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:"getTextRects",value:function(t,e,i,a){var r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=this.w,n=this.drawText({x:-200,y:-200,text:t,textAnchor:"start",fontSize:e,fontFamily:i,foreColor:"#fff",opacity:0});a&&n.attr("transform",a),s.globals.dom.Paper.add(n);var o=n.bbox();return r||(o=n.node.getBoundingClientRect()),n.remove(),{width:o.width,height:o.height}}},{key:"placeTextWithEllipsis",value:function(t,e,i){if("function"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+"...");t.textContent="."}}}],a=[{key:"setAttrs",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}],i&&u(e.prototype,i),a&&u(e,a),t}();function f(t,e){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:"isSeriesNull",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:"seriesHaveSameValues",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:"getCategoryLabels",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:"getLargestSeries",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:"getLargestMarkerSize",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:"getSeriesTotals",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[r][n]0&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:"extendArrayProps",value:function(t,e,i){return e.yaxis&&(e=t.extendYAxis(e,i)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}],i&&f(e.prototype,i),a&&f(e,a),t}();function x(t,e){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if("vertical"===t.label.orientation){var a=null!==e?e:0,r=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(null!==r){var s=r.getBoundingClientRect();r.setAttribute("x",parseFloat(r.getAttribute("x"))-s.height+4),"top"===t.label.position?r.setAttribute("y",parseFloat(r.getAttribute("y"))+s.width):r.setAttribute("y",parseFloat(r.getAttribute("y"))-s.width);var n=this.annoCtx.graphics.rotateAroundCenter(r),o=n.x,l=n.y;r.setAttribute("transform","rotate(-90 ".concat(o," ").concat(l,")"))}}}},{key:"addBackgroundToAnno",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),r=t.getBoundingClientRect(),s=e.label.style.padding.left,n=e.label.style.padding.right,o=e.label.style.padding.top,l=e.label.style.padding.bottom;"vertical"===e.label.orientation&&(o=e.label.style.padding.left,l=e.label.style.padding.right,s=e.label.style.padding.top,n=e.label.style.padding.bottom);var c=r.left-a.left-s,h=r.top-a.top-o,d=this.annoCtx.graphics.drawRect(c-i.globals.barPadForNumericAxis,h,r.width+s+n,r.height+o+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:"annotationsBackground",value:function(){var t=this,e=this.w,i=function(i,a,r){var s=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(r,"-annotations .apexcharts-").concat(r,"-annotation-label[rel='").concat(a,"']"));if(s){var n=s.parentNode,o=t.addBackgroundToAnno(s,i);o&&(n.insertBefore(o.node,s),i.label.mouseEnter&&o.node.addEventListener("mouseenter",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&o.node.addEventListener("mouseleave",i.label.mouseLeave.bind(t,i)),i.label.click&&o.node.addEventListener("click",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,"xaxis")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,"yaxis")})),e.config.annotations.points.map((function(t,e){i(t,e,"point")}))}},{key:"getY1Y2",value:function(t,e){var i,a="y1"===t?e.y:e.y2,r=this.w;if(this.annoCtx.invertAxis){var s=r.globals.labels.indexOf(a);r.config.xaxis.convertedCatToNumeric&&(s=r.globals.categoryLabels.indexOf(a));var n=r.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(s+1)+")");n&&(i=parseFloat(n.getAttribute("y")))}else{var o;o=r.config.yaxis[e.yAxisIndex].logarithmic?(a=new p(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/r.globals.yLogRatio[e.yAxisIndex]:(a-r.globals.minYArr[e.yAxisIndex])/(r.globals.yRange[e.yAxisIndex]/r.globals.gridHeight),i=r.globals.gridHeight-o,!e.marker||void 0!==e.y&&null!==e.y||(i=0),r.config.yaxis[e.yAxisIndex]&&r.config.yaxis[e.yAxisIndex].reversed&&(i=o)}return"string"==typeof a&&a.indexOf("px")>-1&&(i=parseFloat(a)),i}},{key:"getX1X2",value:function(t,e){var i=this.w,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,r=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,s=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,n=(e.x-a)/(s/i.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(n=(r-e.x)/(s/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(n=this.getStringX(e.x));var o=(e.x2-a)/(s/i.globals.gridWidth);return this.annoCtx.inversedReversedAxis&&(o=(r-e.x2)/(s/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(o=this.getStringX(e.x2)),void 0!==e.x&&null!==e.x||!e.marker||(n=i.globals.gridWidth),"x1"===t&&"string"==typeof e.x&&e.x.indexOf("px")>-1&&(n=parseFloat(e.x)),"x2"===t&&"string"==typeof e.x2&&e.x2.indexOf("px")>-1&&(o=parseFloat(e.x2)),"x1"===t?n:o}},{key:"getStringX",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),r=e.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(a+1)+")");return r&&(i=parseFloat(r.getAttribute("x"))),i}}],i&&x(e.prototype,i),t}();function v(t,e){for(var i=0;in){var c=n;n=a,a=c}var h=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),n-a,0,t.fillColor,t.opacity,1,t.borderColor,s);h.node.classList.add("apexcharts-annotation-rect"),h.attr("clip-path","url(#gridRectMask".concat(r.globals.cuid,")")),e.appendChild(h.node),t.id&&h.node.classList.add(t.id)}var d="right"===t.label.position?r.globals.gridWidth:"center"===t.label.position?r.globals.gridWidth/2:0,u=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(null!=a?a:n)+t.label.offsetY-3,text:o,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});u.attr({rel:i}),e.appendChild(u.node)}},{key:"_getYAxisAnnotationWidth",value:function(t){var e=this.w;return e.globals.gridWidth,(t.width.indexOf("%")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:"drawYAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}])&&y(e.prototype,i),t}();function k(t,e){for(var i=0;i1&&n[o].classList.add("apexcharts-element-hidden"),t.globals.delayedElements.push({el:n[o],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:"drawTextAnnos",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:"addXaxisAnnotation",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:"addYaxisAnnotation",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:"addPointAnnotation",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:"addText",value:function(t,e){var i=t.x,a=t.y,r=t.text,s=t.textAnchor,n=t.foreColor,o=t.fontSize,l=t.fontFamily,c=t.fontWeight,h=t.cssClass,d=t.backgroundColor,u=t.borderWidth,g=t.strokeDashArray,f=t.borderRadius,p=t.borderColor,x=t.appendTo,b=void 0===x?".apexcharts-annotations":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,P=this.w,L=this.graphics.drawText({x:i,y:a,text:r,textAnchor:s||"start",fontSize:o||"12px",fontWeight:c||"regular",fontFamily:l||P.config.chart.fontFamily,foreColor:n||P.config.chart.foreColor,cssClass:h}),O=P.globals.dom.baseEl.querySelector(b);O&&O.appendChild(L.node);var T=L.bbox();if(r){var I=this.graphics.drawRect(T.x-m,T.y-C,T.width+m+w,T.height+A+C,f,d||"transparent",1,u,p,g);O.insertBefore(I.node,L.node)}}},{key:"addImage",value:function(t,e){var i=this.w,a=t.path,r=t.x,s=void 0===r?0:r,n=t.y,o=void 0===n?0:n,l=t.width,c=void 0===l?20:l,h=t.height,d=void 0===h?20:h,u=t.appendTo,g=void 0===u?".apexcharts-annotations":u,f=i.globals.dom.Paper.image(a);f.size(c,d).move(s,o);var p=i.globals.dom.baseEl.querySelector(g);return p&&p.appendChild(f.node),f}},{key:"addXaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,n=t.contextMethod,o=a,l=o.w,c=l.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),h=c.childNodes.length+1,d=new P,u=Object.assign({},"xaxis"===s?d.xAxisAnnotation:"yaxis"===s?d.yAxisAnnotation:d.pointAnnotation),g=r.extend(u,e);switch(s){case"xaxis":this.addXaxisAnnotation(g,c,h);break;case"yaxis":this.addYaxisAnnotation(g,c,h);break;case"point":this.addPointAnnotation(g,c,h)}var f=l.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(h,"']")),p=this.helpers.addBackgroundToAnno(f,g);return p&&c.insertBefore(p.node,f),i&&l.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:r.randomId(),method:n,label:"addAnnotation",params:e}),a}},{key:"clearAnnotations",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations");e.globals.memory.methodsToExec.map((function(t,i){"addText"!==t.label&&"addAnnotation"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=r.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:"removeAnnotation",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}])&&L(e.prototype,i),t}();function T(t){return function(t){if(Array.isArray(t))return I(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return I(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?I(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i12?u-12:0===u?12:u;e=(e=(e=(e=e.replace(/(^|[^\\])HH+/g,"$1"+l(u))).replace(/(^|[^\\])H/g,"$1"+u)).replace(/(^|[^\\])hh+/g,"$1"+l(g))).replace(/(^|[^\\])h/g,"$1"+g);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\])mm+/g,"$1"+l(f))).replace(/(^|[^\\])m/g,"$1"+f);var p=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\])ss+/g,"$1"+l(p))).replace(/(^|[^\\])s/g,"$1"+p);var x=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\])fff+/g,"$1"+l(x,3)),x=Math.round(x/10),e=e.replace(/(^|[^\\])ff/g,"$1"+l(x)),x=Math.round(x/10);var b=u<12?"AM":"PM";e=(e=(e=e.replace(/(^|[^\\])f/g,"$1"+x)).replace(/(^|[^\\])TT+/g,"$1"+b)).replace(/(^|[^\\])T/g,"$1"+b.charAt(0));var v=b.toLowerCase();e=(e=e.replace(/(^|[^\\])tt+/g,"$1"+v)).replace(/(^|[^\\])t/g,"$1"+v.charAt(0));var m=-t.getTimezoneOffset(),y=a||!m?"Z":m>0?"+":"-";if(!a){var w=(m=Math.abs(m))%60;y+=l(Math.floor(m/60))+":"+l(w)}e=e.replace(/(^|[^\\])K/g,"$1"+y);var k=(a?t.getUTCDay():t.getDay())+1;return(e=(e=(e=(e=e.replace(new RegExp(n[0],"g"),n[k])).replace(new RegExp(o[0],"g"),o[k])).replace(new RegExp(r[0],"g"),r[h])).replace(new RegExp(s[0],"g"),s[h])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var r=this.getDate(t),s=this.getDate(e),n=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" "),o=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(o[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(o[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(o[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(o[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(o[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(o[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(o[0],10)}}},{key:"isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"calculcateLastDaysOfMonth",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:"determineDaysOfYear",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:"determineRemainingDaysOfYear",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(t,e){var i=30;switch(t=r.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}])&&E(e.prototype,i),t}();function X(t,e){for(var i=0;i0&&i<100?t.toFixed(1):t.toFixed(0)}return e.globals.isBarHorizontal&&e.globals.maxY-e.globals.minYArr<4?t.toFixed(1):t.toFixed(0)}return t},"function"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,"function"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(r){return e.globals.xyCharts?Array.isArray(r)?r.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(r,i,a):r}})),e.globals}},{key:"heatmapLabelFormatters",value:function(){var t=this.w;if("heatmap"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}])&&X(e.prototype,i),t}();function Y(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function D(t){for(var e=1;e\n '.concat(r,'\n - \n ').concat(s,"\n ");return'
'+(i||"")+'
'+a+": "+(t.w.globals.comboCharts?"rangeArea"===t.w.config.series[n].type||"rangeBar"===t.w.config.series[n].type?h:"".concat(c,""):h)+"
"},W=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.opts=e}var e,i;return e=t,(i=[{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(t){return this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0,r.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"candlestick",value:function(){var t=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,r=e.w;return t._getBoxTooltip(r,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,r=e.w;return t._getBoxTooltip(r,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:5,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,r=e.w,s=function(){var t=r.globals.seriesRangeStart[i][a];return r.globals.seriesRangeEnd[i][a]-t};return r.globals.comboCharts?"rangeBar"===r.config.series[i].type||"rangeArea"===r.config.series[i].type?s():t:s()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=H(D(D({},t),{},{isTimeline:!0})),i=e.color,a=e.seriesName,r=e.ylabel,s=e.startVal,n=e.endVal;return N(D(D({},t),{},{color:i,seriesName:a,ylabel:r,start:s,end:n}))}(t):function(t){var e=H(t),i=e.color,a=e.seriesName,r=e.ylabel,s=e.start,n=e.end;return N(D(D({},t),{},{color:i,seriesName:a,ylabel:r,start:s,end:n}))}(t)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var e=H(t),i=e.color,a=e.seriesName,r=e.ylabel,s=e.start,n=e.end;return N(D(D({},t),{},{color:i,seriesName:a,ylabel:r,start:s,end:n}))}(t)}}}}},{key:"brush",value:function(t){return r.extend(t,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),"bar"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return"number"==typeof t&&t?t.toFixed(0)+"%":t}),t}},{key:"stackedBars",value:function(){var t=this.bar();return D(D({},t),{},{plotOptions:D(D({},t.plotOptions),{},{bar:D(D({},t.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:"convertCatToNumericXaxis",value:function(t,e,i){t.xaxis.type="numeric",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return r.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return r.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||"dataPoints",t}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"polarArea",value:function(){return this.opts.yaxis[0].tickAmount=this.opts.yaxis[0].tickAmount?this.opts.yaxis[0].tickAmount:6,{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:"_getBoxTooltip",value:function(t,e,i,a,r){var s=t.globals.seriesCandleO[e][i],n=t.globals.seriesCandleH[e][i],o=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],c=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==r?'
\n '.concat(t.config.series[e].name?t.config.series[e].name:"series-"+(e+1),": ").concat(t.globals.series[e][i],"\n
"):'
')+"
".concat(a[0],': ')+s+"
"+"
".concat(a[1],': ')+n+"
"+(o?"
".concat(a[2],': ')+o+"
":"")+"
".concat(a[3],': ')+l+"
"+"
".concat(a[4],': ')+c+"
"}}])&&F(e.prototype,i),t}();function j(t){return j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},j(t)}function B(t,e){for(var i=0;i1&&s.length!==t.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both."),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new P;return t.annotations.yaxis=r.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new P;return t.annotations.xaxis=r.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new P;return t.annotations.points=r.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.chart.background||(t.chart.background="#424242"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if("bar"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&"barWidth"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width="tickWidth"),"candlestick"!==e.chart.type&&"boxPlot"!==e.chart.type||e.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(e.chart.type," chart is not supported.")),e.yaxis[0].reversed=!1),e}}])&&B(e.prototype,i),t}();function V(t,e){for(var i=0;ir?a:r,n=t.image,o=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(o=i.fill.image.width+1,l=i.fill.image.height):(o=s+1,l=s):(o=t.width,l=t.height);var c=document.createElementNS(e.globals.SVGNS,"pattern");g.setAttrs(c,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:"userSpaceOnUse",width:o+"px",height:l+"px"});var h=document.createElementNS(e.globals.SVGNS,"image");c.appendChild(h),h.setAttributeNS(window.SVG.xlink,"href",n),g.setAttrs(h,{x:0,y:0,preserveAspectRatio:"none",width:o+"px",height:l+"px"}),h.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(c)}},{key:"getSeriesIndex",value:function(t){var e=this.w;return("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||"heatmap"===e.config.chart.type||"treemap"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(t){var e=this.w;this.opts=t;var i,a,s,n=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),"function"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var l=t.fillType?t.fillType:this.getFillType(this.seriesIndex),c=Array.isArray(n.fill.opacity)?n.fill.opacity[this.seriesIndex]:n.fill.opacity;t.color&&(o=t.color);var h=o;if(-1===o.indexOf("rgb")?o.length<9&&(h=r.hexToRgba(o,c)):o.indexOf("rgba")>-1&&(c=r.getOpacityFromRGBA(o)),t.opacity&&(c=t.opacity),"pattern"===l&&(a=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:a,fillColor:o,fillOpacity:c,defaultColor:h})),"gradient"===l&&(s=this.handleGradientFill({fillConfig:t.fillConfig,fillColor:o,fillOpacity:c,i:this.seriesIndex})),"image"===l){var d=n.fill.image.src,u=t.patternID?t.patternID:"";this.clippedImgArea({opacity:c,image:Array.isArray(d)?t.seriesNumber-1&&(f=r.getOpacityFromRGBA(u));var p=void 0===n.gradient.opacityTo?i:Array.isArray(n.gradient.opacityTo)?n.gradient.opacityTo[s]:n.gradient.opacityTo;if(void 0===n.gradient.gradientToColors||0===n.gradient.gradientToColors.length)o="dark"===n.gradient.shade?h.shadeColor(-1*parseFloat(n.gradient.shadeIntensity),e.indexOf("rgb")>-1?r.rgb2hex(e):e):h.shadeColor(parseFloat(n.gradient.shadeIntensity),e.indexOf("rgb")>-1?r.rgb2hex(e):e);else if(n.gradient.gradientToColors[l.seriesNumber]){var x=n.gradient.gradientToColors[l.seriesNumber];o=x,x.indexOf("rgba")>-1&&(p=r.getOpacityFromRGBA(x))}else o=e;if(n.gradient.gradientFrom&&(u=n.gradient.gradientFrom),n.gradient.gradientTo&&(o=n.gradient.gradientTo),n.gradient.inverseColors){var b=u;u=o,o=b}return u.indexOf("rgb")>-1&&(u=r.rgb2hex(u)),o.indexOf("rgb")>-1&&(o=r.rgb2hex(o)),c.drawGradient(d,u,o,f,p,l.size,n.gradient.stops,n.gradient.colorStops,s)}}])&&Q(e.prototype,i),t}();function tt(t,e){for(var i=0;i0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,c=e,h=t,d=null,u=new g(this.ctx),f=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||n||f)&&(d=u.group({class:n||f?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(o.globals.cuid,")")),Array.isArray(h.x))for(var p=0;p0:o.config.markers.size>0)||n||f){r.isNumber(h.y[p])?b+=" w".concat(r.randomId()):b="apexcharts-nullpoint";var v=this.getMarkerConfig({cssClass:b,seriesIndex:e,dataPointIndex:x});o.config.series[c].data[x]&&(o.config.series[c].data[x].fillColor&&(v.pointFillColor=o.config.series[c].data[x].fillColor),o.config.series[c].data[x].strokeColor&&(v.pointStrokeColor=o.config.series[c].data[x].strokeColor)),a&&(v.pSize=a),(h.x[p]<0||h.x[p]>o.globals.gridWidth||h.y[p]<0||h.y[p]>o.globals.gridHeight)&&(v.pSize=0),(s=u.drawMarker(h.x[p],h.y[p],v)).attr("rel",x),s.attr("j",x),s.attr("index",e),s.node.setAttribute("default-marker-size",v.pSize),new l(this.ctx).setSelectionFilter(s,e,x),this.addEvents(s),d&&d.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([h.x[p],h.y[p]])}return d}},{key:"getMarkerConfig",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,r=void 0===a?null:a,s=t.finishRadius,n=void 0===s?null:s,o=this.w,l=this.getMarkerStyle(i),c=o.globals.markers.size[i],h=o.config.markers;return null!==r&&h.discrete.length&&h.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===r&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,c=t.size,l.pointShape=t.shape)})),{pSize:null===n?c:n,pRadius:h.radius,width:Array.isArray(h.width)?h.width[i]:h.width,height:Array.isArray(h.height)?h.height[i]:h.height,pointStrokeWidth:Array.isArray(h.strokeWidth)?h.strokeWidth[i]:h.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(h.shape)?h.shape[i]:h.shape),class:e,pointStrokeOpacity:Array.isArray(h.strokeOpacity)?h.strokeOpacity[i]:h.strokeOpacity,pointStrokeDashArray:Array.isArray(h.strokeDashArray)?h.strokeDashArray[i]:h.strokeDashArray,pointFillOpacity:Array.isArray(h.fillOpacity)?h.fillOpacity[i]:h.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(t){var e=this.w,i=new g(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener("click",e.config.markers.onClick),t.node.addEventListener("dblclick",e.config.markers.onDblClick),t.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:"getMarkerStyle",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}],i&&tt(e.prototype,i),t}();function it(t,e){for(var i=0;ix.maxBubbleRadius&&(p=x.maxBubbleRadius)}a.config.chart.animations.enabled||(f=p);var b=n.x[h],v=n.y[h];if(f=f||0,null!==v&&void 0!==a.globals.series[s][d]||(u=!1),u){var m=this.drawPoint(b,v,f,p,s,d,e);c.add(m)}l.add(c)}}},{key:"drawPoint",value:function(t,e,i,a,r,s,o){var c=this.w,h=r,d=new n(this.ctx),u=new l(this.ctx),f=new K(this.ctx),p=new et(this.ctx),x=new g(this.ctx),b=p.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:h,dataPointIndex:s,finishRadius:"bubble"===c.config.chart.type||c.globals.comboCharts&&c.config.series[r]&&"bubble"===c.config.series[r].type?a:null});a=b.pSize;var v,m=f.fillPath({seriesNumber:r,dataPointIndex:s,color:b.pointFillColor,patternUnits:"objectBoundingBox",value:c.globals.series[r][o]});if("circle"===b.shape?v=x.drawCircle(i):"square"!==b.shape&&"rect"!==b.shape||(v=x.drawRect(0,0,b.width-b.pointStrokeWidth/2,b.height-b.pointStrokeWidth/2,b.pRadius)),c.config.series[h].data[s]&&c.config.series[h].data[s].fillColor&&(m=c.config.series[h].data[s].fillColor),v.attr({x:t-b.width/2-b.pointStrokeWidth/2,y:e-b.height/2-b.pointStrokeWidth/2,cx:t,cy:e,fill:m,"fill-opacity":b.pointFillOpacity,stroke:b.pointStrokeColor,r:a,"stroke-width":b.pointStrokeWidth,"stroke-dasharray":b.pointStrokeDashArray,"stroke-opacity":b.pointStrokeOpacity}),c.config.chart.dropShadow.enabled){var y=c.config.chart.dropShadow;u.dropShadow(v,y,r)}if(!this.initialAnim||c.globals.dataChanged||c.globals.resized)c.globals.animationEnded=!0;else{var w=c.config.chart.animations.speed;d.animateMarker(v,0,"circle"===b.shape?a:{width:b.width,height:b.height},w,c.globals.easing,(function(){window.setTimeout((function(){d.animationCompleted(v)}),100)}))}if(c.globals.dataChanged&&"circle"===b.shape)if(this.dynamicAnim){var k,A,S,C,P=c.config.chart.animations.dynamicAnimation.speed;null!=(C=c.globals.previousPaths[r]&&c.globals.previousPaths[r][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var L=0;Lo.globals.gridHeight+d&&(e=o.globals.gridHeight+d/2),void 0===o.globals.dataLabelsRects[a]&&(o.globals.dataLabelsRects[a]=[]),o.globals.dataLabelsRects[a].push({x:t,y:e,width:h,height:d});var u=o.globals.dataLabelsRects[a].length-2,f=void 0!==o.globals.lastDrawnDataLabelsIndexes[a]?o.globals.lastDrawnDataLabelsIndexes[a][o.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==o.globals.dataLabelsRects[a][u]){var p=o.globals.dataLabelsRects[a][f];(t>p.x+p.width+2||e>p.y+p.height+2||t+he.globals.gridWidth+b.textRects.width+10)&&(o="");var v=e.globals.dataLabels.style.colors[s];(("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(v=e.globals.dataLabels.style.colors[n]),"function"==typeof v&&(v=v({series:e.globals.series,seriesIndex:s,dataPointIndex:n,w:e})),f&&(v=f);var m=u.offsetX,y=u.offsetY;if("bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||(m=0,y=0),b.drawnextLabel){var w=i.drawText({width:100,height:parseInt(u.style.fontSize,10),x:a+m,y:r+y,foreColor:v,textAnchor:c||u.textAnchor,text:o,fontSize:h||u.style.fontSize,fontFamily:u.style.fontFamily,fontWeight:u.style.fontWeight||"normal"});if(w.attr({class:"apexcharts-datalabel",cx:a,cy:r}),u.dropShadow.enabled){var k=u.dropShadow;new l(this.ctx).dropShadow(w,k)}d.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[s]&&(e.globals.lastDrawnDataLabelsIndexes[s]=[]),e.globals.lastDrawnDataLabelsIndexes[s].push(n)}}}},{key:"addBackgroundToDataLabel",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,r=a.padding,s=a.padding/2,n=e.width,o=e.height,c=new g(this.ctx).drawRect(e.x-r,e.y-s/2,n+2*r,o+s,a.borderRadius,"transparent"===i.config.chart.background?"#fff":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);return a.dropShadow.enabled&&new l(this.ctx).dropShadow(c,a.dropShadow),c}},{key:"dataLabelsBackground",value:function(){var t=this.w;if("bubble"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=r.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:"toggleSeriesOnHover",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels");if("mousemove"===t.type){var r=parseInt(e.getAttribute("rel"),10)-1,s=null,n=null;i.globals.axisCharts||"radialBar"===i.config.chart.type?i.globals.axisCharts?(s=i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(r,"']")),n=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(r,"']"))):s=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(r+1,"']")):s=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(r+1,"'] path"));for(var o=0;o=t.from&&a<=t.to&&r[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[n])}else"mouseout"===t.type&&s("remove")}},{key:"getActiveConfigSeriesIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"asc",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var r=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),s="asc"===t?0:r.length-1;"asc"===t?s=0;"asc"===t?s++:s--)if(-1!==r[s]){a=r[s];break}return a}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return"bar"===t.type||"column"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:"getPreviousPaths",value:function(){var t=this.w;function e(e,i,a){for(var r=e[i].childNodes,s={type:a,paths:[],realIndex:e[i].getAttribute("data:realIndex")},n=0;n0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(e,"'] rect")),a=[],r=function(t){var e=function(e){return i[t].getAttribute(e)},r={x:parseFloat(e("x")),y:parseFloat(e("y")),width:parseFloat(e("width")),height:parseFloat(e("height"))};a.push({rect:r,color:i[t].getAttribute("color")})},s=0;s0)for(var a=0;a0?t:[]}))}}],i&&nt(e.prototype,i),t}();function lt(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new ot(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s="boxPlot"===i.chart.type||"boxPlot"===i.series[e].type,n=0;n=5?this.twoDSeries.push(r.parseNumber(t[e].data[n][4])):this.twoDSeries.push(r.parseNumber(t[e].data[n][1])),a.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var o=new Date(t[e].data[n][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[n][0]);for(var l=0;l-1&&(n=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,n=this.w.config,o=this.w.globals,l=new M(s),c=n.labels.length>0?n.labels.slice():n.xaxis.categories.slice();if(o.isRangeBar="rangeBar"===n.chart.type&&o.isBarHorizontal,o.hasXaxisGroups="category"===n.xaxis.type&&n.xaxis.group.groups.length>0,o.hasXaxisGroups&&(o.groups=n.xaxis.group.groups),o.hasSeriesGroups=null===(e=t[0])||void 0===e?void 0:e.group,o.hasSeriesGroups){var h=[],d=function(t){if(Array.isArray(t))return lt(t)}(i=new Set(t.map((function(t){return t.group}))))||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(i)||function(t,e){if(t){if("string"==typeof t)return lt(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?lt(t,e):void 0}}(i)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();t.forEach((function(t,e){var i=d.indexOf(t.group);h[i]||(h[i]=[]),h[i].push(t.name)})),o.seriesGroups=h}for(var u=function(){for(var t=0;t0&&(this.twoDSeriesX=c,o.seriesX.push(this.twoDSeriesX))),o.labels.push(this.twoDSeriesX);var f=t[g].data.map((function(t){return r.parseNumber(t)}));o.series.push(f)}o.seriesZ.push(this.threeDSeries),void 0!==t[g].name?o.seriesNames.push(t[g].name):o.seriesNames.push("series-"+parseInt(g+1,10)),void 0!==t[g].color?o.seriesColors.push(t[g].color):o.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0?i.labels=e.xaxis.categories:e.labels.length>0?i.labels=e.labels.slice():this.fallbackToCategory?(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=i.labels.filter((function(t,e,i){return i.indexOf(t)===e}))),e.xaxis.convertedCatToNumeric&&(new W(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t))):this._generateExternalLabels(t)}},{key:"_generateExternalLabels",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var r=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),s=r.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),n=0;n4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",l=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],c=this.w,h=void 0===t[a]?"":t[a],d=h,u=c.globals.xLabelFormatter,f=c.config.xaxis.labels.formatter,p=!1,x=new z(this.ctx),b=h;l&&(d=x.xLabelFormat(u,h,b,{i:a,dateFormatter:new M(this.ctx).formatDate,w:c}),void 0!==f&&(d=f(h,t[a],{i:a,dateFormatter:new M(this.ctx).formatDate,w:c}))),e.length>0?(r=e[a].unit,s=null,e.forEach((function(t){"month"===t.unit?s="year":"day"===t.unit?s="month":"hour"===t.unit?s="day":"minute"===t.unit&&(s="hour")})),p=s===r,i=e[a].position,d=e[a].value):"datetime"===c.config.xaxis.type&&void 0===f&&(d=""),void 0===d&&(d=""),d=Array.isArray(d)?d:d.toString();var v,m=new g(this.ctx);v=c.globals.rotateXLabels&&l?m.getTextRects(d,parseInt(o,10),null,"rotate(".concat(c.config.xaxis.labels.rotate," 0 0)"),!1):m.getTextRects(d,parseInt(o,10));var y=!c.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(d)&&(0===d.indexOf("NaN")||0===d.toLowerCase().indexOf("invalid")||d.toLowerCase().indexOf("infinity")>=0||n.indexOf(d)>=0&&y)&&(d=""),{x:i,text:d,textRect:v,isBold:p}}},{key:"checkLabelBasedOnTickamount",value:function(t,e,i){var a=this.w,r=a.config.xaxis.tickAmount;return"dataPoints"===r&&(r=Math.round(a.globals.gridWidth/120)),r>i||t%Math.round(i/(r+1))==0||(e.text=""),e}},{key:"checkForOverflowingLabels",value:function(t,e,i,a,r){var s=this.w;if(0===t&&s.globals.skipFirstTimelinelabel&&(e.text=""),t===i-1&&s.globals.skipLastTimelinelabel&&(e.text=""),s.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var n=r[r.length-1];e.x0){!0===o.config.yaxis[r].opposite&&(t+=a.width);for(var h=e;h>=0;h--){var d=c+e/10+o.config.yaxis[r].labels.offsetY-1;o.globals.isBarHorizontal&&(d=s*h),"heatmap"===o.config.chart.type&&(d+=s/2);var u=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);n.add(u),c+=s}}}}],i&&dt(e.prototype,i),t}();function gt(t){return function(t){if(Array.isArray(t))return ft(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return ft(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?ft(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ft(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i=10?c.config.chart.toolbar.export.csv.dateFormatter(s):r.isNumber(s)?s:s.split(n).join("")));for(var o=0;o0&&!a.globals.isBarHorizontal&&(this.xaxisLabels=a.globals.timescaleLabels.slice()),a.config.xaxis.overwriteCategories&&(this.xaxisLabels=a.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],"top"===a.config.xaxis.position?this.offY=0:this.offY=a.globals.gridHeight+1,this.offY=this.offY+a.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===a.config.chart.type&&a.config.plotOptions.bar.horizontal,this.xaxisFontSize=a.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=a.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=a.config.xaxis.labels.style.colors,this.xaxisBorderWidth=a.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=a.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=a.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=a.config.xaxis.axisBorder.height,this.yaxis=a.config.yaxis[0]}var e,i;return e=t,i=[{key:"drawXaxis",value:function(){var t=this.w,e=new g(this.ctx),i=e.group({class:"apexcharts-xaxis",transform:"translate(".concat(t.config.xaxis.offsetX,", ").concat(t.config.xaxis.offsetY,")")}),a=e.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});i.add(a);for(var r=[],s=0;s6&&void 0!==arguments[6]?arguments[6]:{},c=[],h=[],d=this.w,u=l.xaxisFontSize||this.xaxisFontSize,g=l.xaxisFontFamily||this.xaxisFontFamily,f=l.xaxisForeColors||this.xaxisForeColors,p=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m="category"===d.config.xaxis.type?d.globals.dataPoints:v;if(0===m&&v>m&&(m=v),r){var y=m>1?m-1:m;n=d.globals.gridWidth/y,b=b+s(0,n)/2+d.config.xaxis.labels.offsetX}else n=d.globals.gridWidth/m,b=b+s(0,n)+d.config.xaxis.labels.offsetX;for(var w=function(r){var l=b-s(r,n)/2+d.config.xaxis.labels.offsetX;0===r&&1===v&&n/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=o.axesUtils.getLabel(a,d.globals.timescaleLabels,l,r,c,u,t),w=28;if(d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&"top"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(u)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&"dataPoints"!==d.config.xaxis.tickAmount&&"datetime"!==d.config.xaxis.type?o.axesUtils.checkLabelBasedOnTickamount(r,y,v):o.axesUtils.checkForOverflowingLabels(r,y,v,c,h),d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:o.offY+d.config.xaxis.labels.offsetY+w-("top"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:"middle",fontWeight:y.isBold?600:p,fontSize:u,fontFamily:g,foreColor:Array.isArray(f)?t&&d.config.xaxis.convertedCatToNumeric?f[d.globals.minX+r-1]:f[r]:f,isPlainText:!1,cssClass:(t?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+x});if(i.add(k),k.on("click",(function(t){if("function"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:r});d.config.chart.events.xAxisLabelClick(t,o.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,"title");A.textContent=Array.isArray(y.text)?y.text.join(" "):y.text,k.node.appendChild(A),""!==y.text&&(c.push(y.text),h.push(y))}}ra.globals.gridWidth)){var s=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+s+a.config.xaxis.axisTicks.height,"top"===a.config.xaxis.position&&(e=s-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var n=new g(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,s+a.config.xaxis.offsetY,r+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var r=0;r0){var c=r[r.length-1].getBBox(),h=r[0].getBBox();c.x<-20&&r[r.length-1].parentNode.removeChild(r[r.length-1]),h.x+h.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&r[0].parentNode.removeChild(r[0]);for(var d=0;d0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}var e,i;return e=t,i=[{key:"drawGridArea",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new g(this.ctx);null===t&&(t=i.group({class:"apexcharts-grid"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),r=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(r),t.add(a),t}},{key:"drawGrid",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new g(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var r=0;t.config.stroke.width.forEach((function(t){r=Math.max(r,t)})),a=r}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elForecastMask.setAttribute("id","forecastMask".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elNonForecastMask.setAttribute("id","nonForecastMask".concat(e.cuid));var s=t.config.chart.type,n=0,o=0;("bar"===s||"rangeBar"===s||"candlestick"===s||"boxPlot"===s||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(n=t.config.grid.padding.left,o=t.config.grid.padding.right,e.barPadForNumericAxis>n&&(n=e.barPadForNumericAxis,o=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-n-2,-a/2,e.gridWidth+a+o+n+4,e.gridHeight+a,0,"#fff");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var c=e.dom.baseEl.querySelector("defs");c.appendChild(e.dom.elGridRectMask),c.appendChild(e.dom.elForecastMask),c.appendChild(e.dom.elNonForecastMask),c.appendChild(e.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(t){var e=t.i,i=t.x1,a=t.y1,r=t.x2,s=t.y2,n=t.xCount,o=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===n-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||"radar"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:r,y2:s,xCount:n,parent:o});var c=0;if(l.globals.hasXaxisGroups&&"between"===l.config.xaxis.tickPlacement){var h=l.globals.groups;if(h){for(var d=0,u=0;d2));r++);return!t.globals.isBarHorizontal||this.isRangeBar?(i=this.xaxisLabels.length,this.isRangeBar&&(i--,a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount)),this._drawXYLines({xCount:i,tickAmount:a})):(i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a})),this.drawGridBands(i,a),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.globals.gridWidth/i}}},{key:"drawGridBands",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,r=i.globals.gridHeight/e,s=i.globals.gridWidth,n=0,o=0;n=i.config.grid.row.colors.length&&(o=0),this._drawGridBandRect({c:o,x1:0,y1:a,x2:s,y2:r,type:"row"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,c=i.globals.padHorizontal,h=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,u=0,g=0;u=i.config.grid.column.colors.length&&(g=0),this._drawGridBandRect({c:g,x1:c,y1:0,x2:h,y2:d,type:"column"}),c+=i.globals.gridWidth/l}}],i&&mt(e.prototype,i),t}();function wt(t,e){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,n=this.w,o=Math.abs(e-t);if("dataPoints"===(i=this._adjustTicksForSmallRange(i,a,o))&&(i=n.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!r.isNumber(t)&&!r.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)return t=0,e=i,this.linearScale(t,e,i);t>e?(console.warn("axis.min cannot be greater than axis.max"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var l=[];o<1&&s&&("candlestick"===n.config.chart.type||"candlestick"===n.config.series[a].type||"boxPlot"===n.config.chart.type||"boxPlot"===n.config.series[a].type||n.globals.isRangeData)&&(e*=1.01);var c=i+1;c<2?c=2:c>2&&(c-=2);var h=o/c,d=Math.floor(r.log10(h)),u=Math.pow(10,d),g=Math.round(h/u);g<1&&(g=1);var f=g*u,p=f*Math.floor(t/f),x=f*Math.ceil(e/f),b=p;if(s&&o>2){for(;l.push(b),!((b+=f)>x););return{result:l,niceMin:l[0],niceMax:l[l.length-1]}}var v=t;(l=[]).push(v);for(var m=Math.abs(e-t)/i,y=0;y<=i;y++)v+=m,l.push(v);return l[l.length-2]>=e&&l.pop(),{result:l,niceMin:l[0],niceMax:l[l.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3?arguments[3]:void 0,r=Math.abs(e-t);"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,r))&&(i=this.w.globals.dataPoints-1);var s=r/i;i===Number.MAX_VALUE&&(i=10,s=1);for(var n=[],o=t;i>=0;)n.push(o),o+=s,i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"logarithmicScaleNice",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],r=Math.ceil(Math.log(e)/Math.log(i)+1),s=Math.floor(Math.log(t)/Math.log(i));s5)a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.logarithmicScale(e,i,n.logBase),a.yAxisScale[t]=n.forceNiceScale?this.logarithmicScaleNice(e,i,n.logBase):this.logarithmicScale(e,i,n.logBase);else if(i!==-Number.MAX_VALUE&&r.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===n.min&&void 0===n.max||n.forceNiceScale){var l=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,n.tickAmount?n.tickAmount:o<5&&o>1?o+1:5,t,l)}else a.yAxisScale[t]=this.linearScale(e,i,n.tickAmount,t);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,n=Math.abs(e-t);return e!==-Number.MAX_VALUE&&r.isNumber(e)?a.xAxisScale=this.linearScale(t,e,s.tickAmount?s.tickAmount:n<5&&n>1?n+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:"setMultipleYScales",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),r=e.maxYArr.concat([]),s=[];i.yaxis.forEach((function(e,n){var o=n;i.series.forEach((function(t,i){t.name===e.seriesName&&(o=i,n!==i?s.push({index:i,similarIndex:n,alreadyExists:!0}):s.push({index:i}))}));var l=a[o],c=r[o];t.setYScaleForIndex(n,l,c)})),this.sameScaleInMultipleAxes(a,r,s)}},{key:"sameScaleInMultipleAxes",value:function(t,e,i){var a=this,r=this.w.config,s=this.w.globals,n=[];i.forEach((function(t){t.alreadyExists&&(void 0===n[t.index]&&(n[t.index]=[]),n[t.index].push(t.index),n[t.index].push(t.similarIndex))})),s.yAxisSameScaleIndices=n,n.forEach((function(t,e){n.forEach((function(i,a){var r,s;e!==a&&(r=t,s=i,r.filter((function(t){return-1!==s.indexOf(t)}))).length>0&&(n[e]=n[e].concat(n[a]))}))}));var o=n.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));n=n.filter((function(t){return!!t}));var l=o.slice(),c=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return c.indexOf(JSON.stringify(t))===e}));var h=[],d=[];t.forEach((function(t,i){l.forEach((function(a,r){a.indexOf(i)>-1&&(void 0===h[r]&&(h[r]=[],d[r]=[]),h[r].push({key:i,value:t}),d[r].push({key:i,value:e[i]}))}))}));var u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);h.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.min(t.value,u[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.max(t.value,g[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var n=u[i],o=g[i];r.chart.stacked&&(o=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(o+=t.value),n!==Number.MIN_VALUE&&(n+=h[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==r.yaxis[e].min&&(n="function"==typeof r.yaxis[e].min?r.yaxis[e].min(s.minY):r.yaxis[e].min),void 0!==r.yaxis[e].max&&(o="function"==typeof r.yaxis[e].max?r.yaxis[e].max(s.maxY):r.yaxis[e].max),a.setYScaleForIndex(e,n,o))}))}))}))}},{key:"autoScaleY",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn("autoScaleYaxis is not supported in a multi-yaxis chart."),e;var r=a.globals.seriesX[0],s=a.config.chart.stacked;return e.forEach((function(t,n){for(var o=0,l=0;l=i.xaxis.min){o=l;break}var c,h,d=a.globals.minYArr[n],u=a.globals.maxYArr[n],g=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(n,l){var f=n[o];s?(f=g[o],c=h=f,g.forEach((function(t,e){r[e]<=i.xaxis.max&&r[e]>=i.xaxis.min&&(t>h&&null!==t&&(h=t),n[e]=i.xaxis.min){var s=t,n=t;a.globals.series.forEach((function(i,a){null!==t&&(s=Math.min(i[e],s),n=Math.max(i[e],n))})),n>h&&null!==n&&(h=n),sd&&(c=d),e.length>1?(e[l].min=void 0===t.min?c:t.min,e[l].max=void 0===t.max?h:t.max):(e[0].min=void 0===t.min?c:t.min,e[0].max=void 0===t.max?h:t.max)}))})),e}}],i&&wt(e.prototype,i),t}();function At(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,n=this.w.globals,o=-Number.MAX_VALUE,l=Number.MIN_VALUE;null===a&&(a=t+1);var c=n.series,h=c,d=c;"candlestick"===s.chart.type?(h=n.seriesCandleL,d=n.seriesCandleH):"boxPlot"===s.chart.type?(h=n.seriesCandleO,d=n.seriesCandleC):n.isRangeData&&(h=n.seriesRangeStart,d=n.seriesRangeEnd);for(var u=t;uh[u][g]&&h[u][g]<0&&(l=h[u][g])):n.hasNullValues=!0}}return"rangeBar"===s.chart.type&&n.seriesRangeStart.length&&n.isBarHorizontal&&(l=e),"bar"===s.chart.type&&(l<0&&o<0&&(o=0),l===Number.MIN_VALUE&&(l=0)),{minY:l,maxY:o,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10||void 0!==e.yaxis[0].min||void 0!==e.yaxis[0].max)&&(n=0),t.minY=i-5*n/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*n/100}return e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal&&["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])})),t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):"dataPoints"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],n=t.minX-1;n0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var r=e-a[i-1];r>0&&(t.minXDiff=Math.min(r,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:"_setStackedMinMax",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.config.series.map((function(t){return t.name}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,e){return i.indexOf(t.name)>-1?e:null})).filter((function(t){return null!==t})).forEach((function(t){for(var n=0;n0?a[i][n]+=parseFloat(e.series[t][n])+1e-4:s[i][n]+=parseFloat(e.series[t][n]))}))})),Object.entries(a).forEach((function(t){var i,r,n=(i=t,r=1,function(t){if(Array.isArray(t))return t}(i)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var a,r,s=[],n=!0,o=!1;try{for(i=i.call(t);!(n=(a=i.next()).done)&&(s.push(a.value),!e||s.length!==e);n=!0);}catch(t){o=!0,r=t}finally{try{n||null==i.return||i.return()}finally{if(o)throw r}}return s}}(i,r)||function(t,e){if(t){if("string"==typeof t)return At(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?At(t,e):void 0}}(i,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];a[n].forEach((function(t,i){e.maxY=Math.max(e.maxY,a[n][i]),e.minY=Math.min(e.minY,s[n][i])}))}))}}}],i&&St(e.prototype,i),t}();function Pt(t,e){for(var i=0;i=0;v--)b(v);if(void 0!==i.config.yaxis[t].title.text){var m=a.group({class:"apexcharts-yaxis-title"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:"end",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+i.config.yaxis[t].title.style.cssClass});m.add(w),l.add(m)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,h,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new g(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),r=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});a.add(r);var s=e.globals.yAxisScale[t].result.length-1,n=e.globals.gridWidth/s+.1,o=n+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,c=e.globals.yAxisScale[t].result.slice(),h=e.globals.timescaleLabels;h.length>0&&(this.xaxisLabels=h.slice(),s=(c=h.slice()).length),c=this.axesUtils.checkForReversedLabels(t,c);var d=h.length;if(e.config.xaxis.labels.show)for(var u=d?0:s;d?u=0;d?u++:u--){var f=c[u];f=l(f,u,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(o-n+e.config.xaxis.labels.offsetX);if(h.length){var x=this.axesUtils.getLabel(c,h,p,u,this.drawnLabels,this.xaxisFontSize);p=x.x,f=x.text,this.drawnLabels.push(x.text),0===u&&e.globals.skipFirstTimelinelabel&&(f=""),u===c.length-1&&e.globals.skipLastTimelinelabel&&(f="")}var b=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-("top"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:f,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+e.config.xaxis.labels.style.cssClass});r.add(b),b.tspan(f);var v=document.createElementNS(e.globals.SVGNS,"title");v.textContent=f,b.node.appendChild(v),o+=n}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(t){var e=this.w,i=new g(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var r=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(r-=15);var s=i.drawLine(e.globals.padHorizontal+r+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(s):t.add(s)}}},{key:"inversedYAxisTitleText",value:function(t){var e=this.w,i=new g(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),r=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+e.config.xaxis.title.style.cssClass});a.add(r),t.add(a)}}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,a=new g(this.ctx),r={width:0,height:0},s={width:0,height:0},n=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g"));null!==n&&(r=n.getBoundingClientRect());var o=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text"));if(null!==o&&(s=o.getBoundingClientRect()),null!==o){var l=this.xPaddingForYAxisTitle(t,r,s,e);o.setAttribute("x",l.xPos-(e?10:0))}if(null!==o){var c=a.rotateAroundCenter(o);o.setAttribute("transform","rotate(".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate," ").concat(c.x," ").concat(c.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,a){var r=this.w,s=0,n=0,o=10;return void 0===r.config.yaxis[t].title.text||t<0?{xPos:n,padd:0}:(a?(n=e.width+r.config.yaxis[t].title.offsetX+i.width/2+o/2,0===(s+=1)&&(n-=o/2)):(n=-1*e.width+r.config.yaxis[t].title.offsetX+o/2+i.width/2,r.globals.isBarHorizontal&&(o=25,n=-1*e.width-r.config.yaxis[t].title.offsetX-o)),{xPos:n,padd:o})}},{key:"setYAxisXPosition",value:function(t,e){var i=this.w,a=0,r=0,s=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(o,l){var c=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!o.show||o.floating||0===t[l].width,h=t[l].width+e[l].width;o.opposite?i.globals.isBarHorizontal?(r=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=r-o.labels.offsetX):(r=i.globals.gridWidth+i.globals.translateX+n,c||(n=n+h+20),i.globals.translateYAxisX[l]=r-o.labels.offsetX+20):(a=i.globals.translateX-s,c||(s=s+h+20),i.globals.translateYAxisX[l]=a+o.labels.offsetX)}))}},{key:"setYAxisTextAlignments",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(e=r.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),n=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"));n=r.listToArray(n);var o=s.getBoundingClientRect();"left"===a.labels.align?(n.forEach((function(t,e){t.setAttribute("text-anchor","start")})),a.opposite||s.setAttribute("transform","translate(-".concat(o.width,", 0)"))):"center"===a.labels.align?(n.forEach((function(t,e){t.setAttribute("text-anchor","middle")})),s.setAttribute("transform","translate(".concat(o.width/2*(a.opposite?1:-1),", 0)"))):"right"===a.labels.align&&(n.forEach((function(t,e){t.setAttribute("text-anchor","end")})),a.opposite&&s.setAttribute("transform","translate(".concat(o.width,", 0)")))}}))}}])&&Pt(e.prototype,i),t}();function Ot(t,e){for(var i=0;i0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=r.extend(S,i);this.w.globals.locale=a.options}}])&&It(e.prototype,i),t}();function Mt(t,e){for(var i=0;ie.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var n=new G({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var l=p.extendArrayProps(n,i.globals.initialConfig,i);t=r.extend(l,t),t=r.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var c=0;c0&&"function"==typeof e.config.colors[0]&&(e.globals.colors=e.config.series.map((function(i,a){var r=e.config.colors[a];return r||(r=e.config.colors[0]),"function"==typeof r?(t.isColorFn=!0,r({value:e.globals.axisCharts?e.globals.series[a][0]?e.globals.series[a][0]:0:e.globals.series[a],seriesIndex:a,dataPointIndex:a,w:e})):r})))),e.globals.seriesColors.map((function(t,i){t&&(e.globals.colors[i]=t)})),e.config.theme.monochrome.enabled){var a=[],s=e.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(s=e.globals.series[0].length*e.globals.series.length);for(var n=e.config.theme.monochrome.color,o=1/(s/e.config.theme.monochrome.shadeIntensity),l=e.config.theme.monochrome.shadeTo,c=0,h=0;h2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,r=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(r=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.length)&&(e=t.length);for(var i=0,a=new Array(e);it.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getLargestStringFromMultiArr",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),r=Math.max.apply(Math,function(t){return function(t){if(Array.isArray(t))return jt(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return jt(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?jt(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(a));i=e[a.indexOf(r)]}return i}}])&&Bt(e.prototype,i),t}();function Vt(t,e){for(var i=0;i0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==e.config.legend.position&&"right"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,n=r.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(n,i);e.globals.isBarHorizontal&&(o=n=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var l=new z(this.dCtx.ctx),c=n;n=l.xLabelFormat(s,n,c,{i:void 0,dateFormatter:new M(this.dCtx.ctx).formatDate,w:e}),o=l.xLabelFormat(s,o,c,{i:void 0,dateFormatter:new M(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===n||""===String(n).trim())&&(o=n="1");var h=new g(this.dCtx.ctx),d=h.getTextRects(n,e.config.xaxis.labels.style.fontSize),u=d;if(n!==o&&(u=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:d.width>=u.width?d.width:u.width,height:d.height>=u.height?d.height:u.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var f=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1)};d=f(n),n!==o&&(u=f(o)),t.height=(d.height>u.height?d.height:u.height)/1.5,t.width=d.width>u.width?d.width:u.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),n=r.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(n,s),l=new g(this.dCtx.ctx),c=l.getTextRects(n,a),h=c;return n!==o&&(h=l.getTextRects(o,a)),i={width:c.width>=h.width?c.width:h.width,height:c.height>=h.height?c.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new g(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e}),0);return 1.05*(t=new g(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"additionalPaddingXLabels",value:function(t){var e=this,i=this.w,a=i.globals,r=i.config,s=r.xaxis.type,n=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var o=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal;r.yaxis.forEach((function(t,l){o?(e.dCtx.gridPad.left1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(o)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var o=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+n/1.75-e.dCtx.yAxisWidthRight,c=o.position-n/1.75+e.dCtx.yAxisWidthLeft,h="right"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-h&&(a.skipLastTimelinelabel=!0),c<-(t.show&&!t.floating||"bar"!==r.chart.type&&"candlestick"!==r.chart.type&&"rangeBar"!==r.chart.type&&"boxPlot"!==r.chart.type?10:n/1.75)&&(a.skipFirstTimelinelabel=!0)}else"datetime"===s?e.dCtx.gridPad.rightString(l.niceMax).length?d:l.niceMax,f=h(u,{seriesIndex:o,dataPointIndex:-1,w:e}),p=f;if(void 0!==f&&0!==f.length||(f=u),e.globals.isBarHorizontal){a=0;var x=e.globals.labels.slice();f=h(f=r.getLargestStringFromArr(x),{seriesIndex:o,dataPointIndex:-1,w:e}),p=t.dCtx.dimHelpers.getLargestStringFromMultiArr(f,x)}var b=new g(t.dCtx.ctx),v="rotate(".concat(n.labels.rotate," 0 0)"),m=b.getTextRects(f,n.labels.style.fontSize,n.labels.style.fontFamily,v,!1),y=m;f!==p&&(y=b.getTextRects(p,n.labels.style.fontSize,n.labels.style.fontFamily,v,!1)),i.push({width:(c>y.width||c>m.width?c:y.width>m.width?y.width:m.width)+a,height:y.height>m.height?y.height:m.height})}else i.push({width:0,height:0})})),i}},{key:"getyAxisTitleCoords",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var r=new g(t.dCtx.ctx),s="rotate(".concat(e.title.rotate," 0 0)"),n=r.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,s,!1);i.push({width:n.width,height:n.height})}else i.push({width:0,height:0})})),i}},{key:"getTotalYAxisWidth",value:function(){var t=this.w,e=0,i=0,a=0,r=t.globals.yAxisScale.length>1?10:0,s=new ut(this.dCtx.ctx),n=function(n,o){var l=t.config.yaxis[o].floating,c=0;n.width>0&&!l?(c=n.width+r,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(o)&&(c=c-n.width-r)):c=l||s.isYAxisHidden(o)?0:5,t.config.yaxis[o].opposite?a+=c:i+=c,e+=c};return t.globals.yLabelsCoords.map((function(t,e){n(t,e)})),t.globals.yTitleCoords.map((function(t,e){n(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}])&&Ut(e.prototype,i),t}();function Zt(t,e){for(var i=0;i0&&(s=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(s-=1)})),e.config.chart.stacked&&(s=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&s>0){var n,o,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),n=l/t,e.globals.minXDiff&&e.globals.minXDiff/n>0&&(o=e.globals.minXDiff/n),o>t/2&&(o/=2),(r=o/s*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(r=1),r=r/(s>1?1:1.5)+5,e.globals.barPadForNumericAxis=r}return r}},{key:"gridPadFortitleSubtitle",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;["title","subtitle"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||"bottom"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var r=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),s=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-r.height-s.height-a,i.translateY=i.translateY+r.height+s.height+a}},{key:"setGridXPosForDualYAxis",value:function(t,e){var i=this.w,a=new ut(this.dCtx.ctx);i.config.yaxis.map((function(r,s){-1!==i.globals.ignoreYAxisIndexes.indexOf(s)||r.floating||a.isYAxisHidden(s)||(r.opposite&&(i.globals.translateX=i.globals.translateX-(e[s].width+t[s].width)-parseInt(i.config.yaxis[s].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}])&&Zt(e.prototype,i),t}();function Jt(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i,a,r=(a=2,function(t){if(Array.isArray(t))return t}(i=e)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var a,r,s=[],n=!0,o=!1;try{for(i=i.call(t);!(n=(a=i.next()).done)&&(s.push(a.value),!e||s.length!==e);n=!0);}catch(t){o=!0,r=t}finally{try{n||null==i.return||i.return()}finally{if(o)throw r}}return s}}(i,a)||function(t,e){if(t){if("string"==typeof t)return Jt(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Jt(t,e):void 0}}(i,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=r[0],n=r[1];t.gridPad[s]=Math.max(n,t.w.globals.markers.largestSize/1.5)})),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a+4:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),r=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:r[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var s=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),o=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(s,o,n),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,c=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-o.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-s.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var h=10;("radar"===e.config.chart.type||this.isSparkline)&&(l=0,c=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||"treemap"===e.config.chart.type)&&(l=0,c=0,h=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(s);var d=function(){i.translateX=l,i.gridHeight=i.svgHeight-t.lgRect.height-c-(t.isSparkline||"treemap"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l};switch("top"===e.config.xaxis.position&&(h=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case"bottom":i.translateY=h,d();break;case"top":i.translateY=this.lgRect.height+h,d();break;case"left":i.translateY=h,i.translateX=this.lgRect.width+l,i.gridHeight=i.svgHeight-c-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case"right":i.translateY=h,i.translateX=l,i.gridHeight=i.svgHeight-c-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(r,a),new Lt(this.ctx).setYAxisXPosition(a,r)}},{key:"setDimensionsForNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var r="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",s=i.plotOptions[r].offsetY,n=i.plotOptions[r].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=s,void(e.translateX=n+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case"bottom":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=s-10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case"top":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+s+10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case"left":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=s,e.translateX=n+this.lgRect.width+a;break;case"right":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=s,e.translateX=n+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(t,e,i){var a=this.w,r=a.globals.hasXaxisGroups?2:1,s=i.height+t.height+e.height,n=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,o=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&"bottom"===a.config.legend.position?10:0;this.xAxisHeight=s*n+r*o+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeighth&&(this.yAxisWidth=h)}}])&&Qt(e.prototype,i),t}();function te(t,e){for(var i=0;i0){for(var n=0;n-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}])&&te(e.prototype,i),t}();function ie(t,e){for(var i=0;i1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),r.isIE11()?document.getElementsByTagName("head")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"drawLegends",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if("heatmap"===e.config.chart.type){var n=e.config.plotOptions.heatmap.colorScale.ranges;a=n.map((function(t){return t.name?t.name:t.from+" - "+t.to})),s=n.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,l=e.config.legend.inverseOrder,c=l?a.length-1:0;l?c>=0:c<=a.length-1;l?c--:c++){var h=o(a[c],{seriesIndex:c,w:e}),d=!1,u=!1;if(e.globals.collapsedSeries.length>0)for(var f=0;f0)for(var x=0;x0?l-10:0)+(c>0?c-10:0)}a.style.position="absolute",s=s+t+i.config.legend.offsetX,n=n+e+i.config.legend.offsetY,a.style.left=s+"px",a.style.top=n+"px","bottom"===i.config.legend.position?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):"right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px"),["width","height"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+"px")}))}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new Kt(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),r=i.dimHelpers.getTitleSubtitleCoords("subtitle"),s=0;"bottom"===t.config.legend.position?s=-e.clwh/1.8:"top"===t.config.legend.position&&(s=a.height+r.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,s)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new ot(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new ot(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:"onLegendClick",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(t.target.getAttribute("rel"),10)-1,a="true"===t.target.getAttribute("data:collapsed"),r=this.w.config.chart.events.legendClick;"function"==typeof r&&r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var s=this.w.config.legend.markers.onClick;"function"==typeof s&&t.target.classList.contains("apexcharts-legend-marker")&&(s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),"treemap"!==e.config.chart.type&&"heatmap"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}])&&ie(e.prototype,i),t}();var re=i(798),se=i.n(re),ne=i(688),oe=i.n(ne),le=i(149),ce=i.n(le),he=i(323),de=i.n(he),ue=i(686),ge=i.n(ue),fe=i(618),pe=i.n(fe),xe=i(355),be=i.n(xe);function ve(t,e){for(var i=0;i0&&e.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(a),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,a=t.width,r=t.height,s=t.translateX,n=void 0===s?0:s,o=t.translateY,l=void 0===o?0:o,c=this.w,h=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==c.globals.selection){var u={transform:"translate("+n+", "+l+")"};c.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),h.attr({x:e,y:i,width:a,height:r,fill:c.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":c.config.chart.zoom.zoomedArea.fill.opacity,stroke:c.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":c.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":c.config.chart.zoom.zoomedArea.stroke.opacity}),g.setAttrs(h.node,u)),c.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:r>0?r:0,fill:c.config.chart.selection.fill.color,"fill-opacity":c.config.chart.selection.fill.opacity,stroke:c.config.chart.selection.stroke.color,"stroke-width":c.config.chart.selection.stroke.width,"stroke-dasharray":c.config.chart.selection.stroke.dashArray,"stroke-opacity":c.config.chart.selection.stroke.opacity}),g.setAttrs(d.node,u))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e,i=t.context,a=t.zoomtype,r=this.w,s=i,n=this.gridRect.getBoundingClientRect(),o=s.startX-1,l=s.startY,c=!1,h=!1,d=s.clientX-n.left-o,u=s.clientY-n.top-l;return Math.abs(d+o)>r.globals.gridWidth?d=r.globals.gridWidth-o:s.clientX-n.left<0&&(d=o),o>s.clientX-n.left&&(c=!0,d=Math.abs(d)),l>s.clientY-n.top&&(h=!0,u=Math.abs(u)),e="x"===a?{x:c?o-d:o,y:0,width:d,height:r.globals.gridHeight}:"y"===a?{x:0,y:h?l-u:l,width:r.globals.gridWidth,height:u}:{x:c?o-d:o,y:h?l-u:l,width:d,height:u},s.drawSelectionRect(e),s.selectionDragging("resizing"),e}},{key:"selectionDragging",value:function(t,e){var i=this,a=this.w,r=this.xyRatios,s=this.selectionRect,n=0;"resizing"===t&&(n=30);var o=function(t){return parseFloat(s.node.getAttribute(t))},l={x:o("x"),y:o("y"),width:o("width"),height:o("height")};a.globals.selection=l,"function"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t=i.gridRect.getBoundingClientRect(),e=s.node.getBoundingClientRect(),n={xaxis:{min:a.globals.xAxisScale.niceMin+(e.left-t.left)*r.xRatio,max:a.globals.xAxisScale.niceMin+(e.right-t.left)*r.xRatio},yaxis:{min:a.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*r.yRatio[0],max:a.globals.yAxisScale[0].niceMax-(e.top-t.top)*r.yRatio[0]}};a.config.chart.events.selection(i.ctx,n),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,n)}),n))}},{key:"selectionDrawn",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,n=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var l=s.startX;s.startX=s.endX,s.endX=l}if(s.startY>s.endY){var c=s.startY;s.startY=s.endY,s.endY=c}var h=void 0,d=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*n.invertedYRatio,d=a.globals.yAxisScale[0].niceMin+s.endX*n.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*n.xRatio,d=a.globals.xAxisScale.niceMin+s.endX*n.xRatio);var u=[],g=[];if(a.config.yaxis.forEach((function(t,e){u.push(a.globals.yAxisScale[e].niceMax-n.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-n.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==d)if(a.globals.zoomEnabled){var f=r.clone(a.globals.initialConfig.yaxis),p=r.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),d=Math.floor(d),h<1&&(h=1,d=a.globals.dataPoints),d-h<2&&(d=h+1)),"xy"!==i&&"x"!==i||(p={min:h,max:d}),"xy"!==i&&"y"!==i||f.forEach((function(t,e){f[e].min=g[e],f[e].max=u[e]})),a.config.chart.zoom.autoScaleYaxis){var x=new kt(s.ctx);f=x.autoScaleY(s.ctx,f,{xaxis:p})}if(o){var b=o.getBeforeZoomRange(p,f);b&&(p=b.xaxis?b.xaxis:p,f=b.yaxis?b.yaxis:f)}var v={xaxis:p};a.config.chart.group||(v.yaxis=f),s.ctx.updateHelpers._updateOptions(v,!1,s.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof a.config.chart.events.zoomed&&o.zoomCallback(p,f)}else if(a.globals.selectionEnabled){var m,y=null;m={min:h,max:d},"xy"!==i&&"y"!==i||(y=r.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=u[e]})),a.globals.selection=s.selection,"function"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{key:"panDragging",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var r=i.globals.lastClientPosition.x-a.clientX,s=i.globals.lastClientPosition.y-a.clientY;Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection="left":Math.abs(r)>Math.abs(s)&&r<0?this.moveDirection="right":Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection="up":Math.abs(s)>Math.abs(r)&&s<0&&(this.moveDirection="down")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var n=i.globals.isRangeBar?i.globals.minY:i.globals.minX,o=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(n,o)}},{key:"delayedPanScrolled",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;"left"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):"right"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:"panScrolled",value:function(t,e){var i=this.w,a=this.xyRatios,s=r.clone(i.globals.initialConfig.yaxis),n=a.xRatio,o=i.globals.minX,l=i.globals.maxX;i.globals.isRangeBar&&(n=a.invertedYRatio,o=i.globals.minY,l=i.globals.maxY),"left"===this.moveDirection?(t=o+i.globals.gridWidth/15*n,e=l+i.globals.gridWidth/15*n):"right"===this.moveDirection&&(t=o-i.globals.gridWidth/15*n,e=l-i.globals.gridWidth/15*n),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=l);var c={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new kt(this.ctx).autoScaleY(this.ctx,s,{xaxis:c}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,t,e)}},{key:"updateScrolledChart",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}])&&we(e.prototype,i),o}(me);function Ce(t){return function(t){if(Array.isArray(t))return Pe(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Pe(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Pe(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pe(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);il||f>c?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):n.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):n.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var p=Math.round(g/h),x=Math.floor(f/d);u&&!n.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(g/h),p-=1);var b=null,v=null,m=[],y=[];if(n.globals.seriesXvalues.forEach((function(t){m.push([t[0]+1e-6].concat(t))})),n.globals.seriesYvalues.forEach((function(t){y.push([t[0]+1e-6].concat(t))})),m=m.map((function(t){return t.filter((function(t){return r.isNumber(t)}))})),y=y.map((function(t){return t.filter((function(t){return r.isNumber(t)}))})),n.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/l),A=f*(w.height/c);b=(v=this.closestInMultiArray(k,A,m,y)).index,p=v.j,null!==b&&(m=n.globals.seriesXvalues[b],p=(v=this.closestInArray(k,m)).index)}return n.globals.capturedSeriesIndex=null===b?-1:b,(!p||p<1)&&(p=0),n.globals.isBarHorizontal?n.globals.capturedDataPointIndex=x:n.globals.capturedDataPointIndex=p,{capturedSeries:b,j:n.globals.isBarHorizontal?x:p,hoverX:g,hoverY:f}}},{key:"closestInMultiArray",value:function(t,e,i,a){var r=this.w,s=0,n=null,o=-1;r.globals.series.length>1?s=this.getFirstActiveXArray(i):n=0;var l=i[s][0],c=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a0?e:-1})),r=0;r0)for(var a=0;a *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");(t=Ce(t)).sort((function(t,e){var i=Number(t.getAttribute("data:realIndex")),a=Number(e.getAttribute("data:realIndex"));return ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(".apexcharts-marker"))})),e}},{key:"hasMarkers",value:function(t){return this.getElMarkers(t).length>0}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,r=0;r ').concat(i.attrs.name,""),e+="
".concat(i.val,"
")})),v.innerHTML=t+"",m.innerHTML=e+""};n?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML="",m.innerHTML=""):y()}else v.innerHTML="",m.innerHTML="";null!==f&&(a[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=l.config.tooltip.z.title,a[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=void 0!==f?f:""),n&&p[0]&&(null==h||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?p[0].parentNode.style.display="none":p[0].parentNode.style.display=l.config.tooltip.items.display)}},{key:"toggleActiveInactiveSeries",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var i=e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");i&&(i.classList.add("apexcharts-active"),i.style.display=e.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,a=this.w,r=this.ctx.series.filteredSeriesX(),s="",n="",o=null,l=null,c={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},h=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&"treemap"!==a.config.chart.type?(s=r[e][i],0===r[e].length&&(s=r[this.tooltipUtil.getFirstActiveXArray(r)][i])):s=void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var d=s;return s=a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?new z(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new M(this.ctx).formatDate,w:this.w}):a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,c):a.globals.xLabelFormatter(d,c),void 0!==a.config.tooltip.x.formatter&&(s=a.globals.ttKeyFormatter(d,c)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(o=h(a.globals.seriesZ[e][i],a)),n="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,c):s,{val:Array.isArray(l)?l.join(" "):l,xVal:Array.isArray(s)?s.join(" "):s,xAxisTTVal:Array.isArray(n)?n.join(" "):n,zVal:o}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,a=t.y1,r=t.y2,s=t.w,n=this.ttCtx.getElTooltip(),o=s.config.tooltip.custom;Array.isArray(o)&&o[e]&&(o=o[e]),n.innerHTML=o({ctx:this.ctx,series:s.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:r,w:s})}}])&&Me(e.prototype,i),t}();function ze(t,e){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,r=i.getElXCrosshairs(),s=t-i.xcrosshairsWidth/2,n=a.globals.labels.slice().length;if(null!==e&&(s=a.globals.gridWidth/n*e),null===r||a.globals.isBarHorizontal||(r.setAttribute("x",s),r.setAttribute("x1",s),r.setAttribute("x2",s),r.setAttribute("y2",a.globals.gridHeight),r.classList.add("apexcharts-active")),s<0&&(s=0),s>a.globals.gridWidth&&(s=a.globals.gridWidth),i.isXAxisTooltipEnabled){var o=s;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(o=s+i.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&g.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&g.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add("apexcharts-active");var a,r=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;t-=i.xaxisTooltip.getBoundingClientRect().width/2,isNaN(t)||(t+=e.globals.translateX,a=new g(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=a.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=r+"px")}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),r=e.globals.translateY+a,s=i.yaxisTTEls[t].getBoundingClientRect().height,n=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(n-=26),r-=s/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add("apexcharts-active"),i.yaxisTTEls[t].style.top=r+"px",i.yaxisTTEls[t].style.left=n+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,r=this.ttCtx,s=r.getElTooltip(),n=r.tooltipRect,o=null!==i?parseFloat(i):1,l=parseFloat(t)+o+5,c=parseFloat(e)+o/2;if(l>a.globals.gridWidth/2&&(l=l-n.ttWidth-o-10),l>a.globals.gridWidth-n.ttWidth-10&&(l=a.globals.gridWidth-n.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var h=r.getElGrid().getBoundingClientRect();(l=r.e.clientX-h.left)>a.globals.gridWidth/2&&(l-=r.tooltipRect.ttWidth),(c=r.e.clientY+a.globals.translateY-h.top)>a.globals.gridHeight/2&&(c-=r.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||n.ttHeight/2+c>a.globals.gridHeight&&(c=a.globals.gridHeight-n.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,s.style.left=l+"px",s.style.top=c+"px")}},{key:"moveMarkers",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var r=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),s=0;s0&&(c.setAttribute("r",o),c.setAttribute("cx",i),c.setAttribute("cy",a)),this.moveXCrosshairs(i),s.fixedTooltip||this.moveTooltip(i,a,o)}}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,a=i.w,r=0,s=0,n=a.globals.pointsArray;e=new ot(this.ctx).getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var o=i.tooltipUtil.getHoverMarkerSize(e);n[e]&&(r=n[e][t][0],s=n[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var c=0;c0?(l[c]&&l[c].setAttribute("r",o),l[c]&&l[c].setAttribute("cy",d)):l[c]&&l[c].setAttribute("r",0)}}this.moveXCrosshairs(r),i.fixedTooltip||this.moveTooltip(r,s||a.globals.gridHeight,o)}},{key:"moveStickyTooltipOverBars",value:function(t,e){var i=this.w,a=this.ttCtx,r=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,s=r>=2&&r%2==0?Math.floor(r/2):Math.floor(r/2)+1;i.globals.isBarHorizontal&&(s=new ot(this.ctx).getActiveConfigSeriesIndex("desc")+1);var n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(s,"'] path[j='").concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"']"));n||"number"!=typeof e||(n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"']")));var o=n?parseFloat(n.getAttribute("cx")):0,l=n?parseFloat(n.getAttribute("cy")):0,c=n?parseFloat(n.getAttribute("barWidth")):0,h=a.getElGrid().getBoundingClientRect(),d=n&&(n.classList.contains("apexcharts-candlestick-area")||n.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(n&&!d&&(o-=r%2!=0?c/2:0),n&&d&&i.globals.comboCharts&&(o-=c/2)):i.globals.isBarHorizontal||(o=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(o)&&(o=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-h.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(o),a.fixedTooltip||this.moveTooltip(o,l||i.globals.gridHeight)}}],i&&ze(e.prototype,i),t}();function De(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,r=this.w;"bubble"!==r.config.chart.type&&this.newPointSize(t,e);var s=e.getAttribute("cx"),n=e.getAttribute("cy");if(null!==i&&null!==a&&(s=i,n=a),this.tooltipPosition.moveXCrosshairs(s),!this.fixedTooltip){if("radar"===r.config.chart.type){var o=this.ttCtx.getElGrid().getBoundingClientRect();s=this.ttCtx.e.clientX-o.left}this.tooltipPosition.moveTooltip(s,n,r.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,r=t,s=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),n=e.config.markers.hover.size,o=0;o=0?t[e].setAttribute("r",i):t[e].setAttribute("r",0)}}}],i&&Re(e.prototype,i),t}();function He(t,e){for(var i=0;io.globals.gridWidth/2&&(a=h-n.tooltipRect.ttWidth/2+u),n.w.config.tooltip.followCursor){var f=o.globals.dom.elWrap.getBoundingClientRect();a=o.globals.clientX-f.left-(a>o.globals.gridWidth/2?n.tooltipRect.ttWidth:0),r=o.globals.clientY-f.top-(r>o.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:a,y:r}}},{key:"handleMarkerTooltip",value:function(t){var e,i,a=t.e,s=t.opt,n=t.x,o=t.y,l=this.w,c=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var h=parseInt(s.paths.getAttribute("cx"),10),d=parseInt(s.paths.getAttribute("cy"),10),u=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,c.intersect){var g=r.findAncestor(s.paths,"apexcharts-series");g&&(e=parseInt(g.getAttribute("data:realIndex"),10))}if(c.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!c.showOnIntersect&&l.config.tooltip.shared,e:a}),"mouseup"===a.type&&c.markerClick(a,e,i),l.globals.capturedSeriesIndex=e,l.globals.capturedDataPointIndex=i,n=h,o=d+l.globals.translateY-1.4*c.tooltipRect.ttHeight,c.w.config.tooltip.followCursor){var f=c.getElGrid().getBoundingClientRect();o=c.e.clientY+l.globals.translateY-f.top}u<0&&(o=d),c.marker.enlargeCurrentPoint(i,s.paths,n,o)}return{x:n,y:o}}},{key:"handleBarTooltip",value:function(t){var e,i,a=t.e,r=t.opt,s=this.w,n=this.ttCtx,o=n.getElTooltip(),l=0,c=0,h=0,d=this.getBarTooltipXY({e:a,opt:r});e=d.i;var u=d.barHeight,g=d.j;s.globals.capturedSeriesIndex=e,s.globals.capturedDataPointIndex=g,s.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!s.config.tooltip.shared?(c=d.x,h=d.y,i=Array.isArray(s.config.stroke.width)?s.config.stroke.width[e]:s.config.stroke.width,l=c):s.globals.comboCharts||s.config.tooltip.shared||(l/=2),isNaN(h)&&(h=s.globals.svgHeight-n.tooltipRect.ttHeight);var f=parseInt(r.paths.parentNode.getAttribute("data:realIndex"),10),p=s.globals.isMultipleYAxis?s.config.yaxis[f]&&s.config.yaxis[f].reversed:s.config.yaxis[0].reversed;if(c+n.tooltipRect.ttWidth>s.globals.gridWidth&&!p?c-=n.tooltipRect.ttWidth:c<0&&(c=0),n.w.config.tooltip.followCursor){var x=n.getElGrid().getBoundingClientRect();h=n.e.clientY-x.top}null===n.tooltip&&(n.tooltip=s.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),s.config.tooltip.shared||(s.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(l+i/2):n.tooltipPosition.moveXCrosshairs(l)),!n.fixedTooltip&&(!s.config.tooltip.shared||s.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(p&&(c-=n.tooltipRect.ttWidth)<0&&(c=0),!p||s.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||(h=h+u-2*(s.globals.series[e][g]<0?u:0)),h=h+s.globals.translateY-n.tooltipRect.ttHeight/2,o.style.left=c+s.globals.translateX+"px",o.style.top=h+"px")}},{key:"getBarTooltipXY",value:function(t){var e=t.e,i=t.opt,a=this.w,r=null,s=this.ttCtx,n=0,o=0,l=0,c=0,h=0,d=e.target.classList;if(d.contains("apexcharts-bar-area")||d.contains("apexcharts-candlestick-area")||d.contains("apexcharts-boxPlot-area")||d.contains("apexcharts-rangebar-area")){var u=e.target,g=u.getBoundingClientRect(),f=i.elGrid.getBoundingClientRect(),p=g.height;h=g.height;var x=g.width,b=parseInt(u.getAttribute("cx"),10),v=parseInt(u.getAttribute("cy"),10);c=parseFloat(u.getAttribute("barWidth"));var m="touchmove"===e.type?e.touches[0].clientX:e.clientX;r=parseInt(u.getAttribute("j"),10),n=parseInt(u.parentNode.getAttribute("rel"),10)-1;var y=u.getAttribute("data-range-y1"),w=u.getAttribute("data-range-y2");a.globals.comboCharts&&(n=parseInt(u.parentNode.getAttribute("data:realIndex"),10)),s.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:n,j:r,y1:y?parseInt(y,10):null,y2:w?parseInt(w,10):null,shared:!s.showOnIntersect&&a.config.tooltip.shared,e}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(o=m-f.left+15,l=v-s.dataPointsDividedHeight+p/2-s.tooltipRect.ttHeight/2):(o=a.globals.isXNumeric?b-x/2:b-s.dataPointsDividedWidth+x/2,l=e.clientY-f.top-s.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((o=b)0&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(t,e,i){var a=this.ttCtx,r=this.w,s=r.globals.yLabelFormatters[t];if(a.yaxisTooltips[t]){var n=a.getElGrid().getBoundingClientRect(),o=(e-n.top)*i.yRatio[t],l=r.globals.maxYArr[t]-r.globals.minYArr[t],c=r.globals.minYArr[t]+(l-o);a.tooltipPosition.moveYCrosshairs(e-n.top),a.yaxisTooltipText[t].innerHTML=s(c),a.tooltipPosition.moveYAxisTooltip(t)}}}])&&We(e.prototype,i),t}();function Be(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function Ge(t){for(var e=1;e0&&this.addPathsEventListeners(g,h),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(h)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,r=i.height+10,s=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,o=this.tConfig.fixed.position.toLowerCase();return o.indexOf("right")>-1&&(s=s+t.globals.svgWidth-a+10),o.indexOf("bottom")>-1&&(n=n+t.globals.svgHeight-r-10),e.style.left=s+"px",e.style.top=n+"px",{x:s,y:n,ttWidth:a,ttHeight:r}}},{key:"addDatapointEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(t,e){for(var i=this,a=function(a){var r={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,r),{capture:!1,passive:!0})}))},r=0;r=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:"seriesHover",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],r=this.w;r.config.chart.group&&(a=this.ctx.getGroupedCharts()),r.globals.axisCharts&&(r.globals.minX===-1/0&&r.globals.maxX===1/0||0===r.globals.dataPoints)||(a.length?a.forEach((function(a){var r=i.getElTooltip(a),s={paths:t.paths,tooltipEl:r,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:s,e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e}))}},{key:"seriesHoverByContext",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,r=t.e,s=e.w,n=this.getElTooltip();n&&(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=r,!i.tooltipUtil.hasBars()||s.globals.comboCharts||i.isBarShared||this.tConfig.onDatasetHover.highlightDataSeries&&new ot(e).toggleSeriesOnHover(r,r.target.parentNode),i.fixedTooltip&&i.drawFixedTooltipRect(),s.globals.axisCharts?i.axisChartsTooltips({e:r,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:r,opt:a,tooltipRect:i.tooltipRect}))}},{key:"axisChartsTooltips",value:function(t){var e,i,a=t.e,r=t.opt,s=this.w,n=r.elGrid.getBoundingClientRect(),o="touchmove"===a.type?a.touches[0].clientX:a.clientX,l="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=o,s.globals.capturedSeriesIndex=-1,s.globals.capturedDataPointIndex=-1,ln.top+n.height)this.handleMouseOut(r);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!s.config.tooltip.shared){var c=parseInt(r.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(c)<0)return void this.handleMouseOut(r)}var h=this.getElTooltip(),d=this.getElXCrosshairs(),u=s.globals.xyCharts||"bar"===s.config.chart.type&&!s.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||s.globals.comboCharts&&this.tooltipUtil.hasBars();if("mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(s.globals.collapsedSeries.length+s.globals.ancillaryCollapsedSeries.length===s.globals.series.length)return;null!==d&&d.classList.add("apexcharts-active");var g=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&g.length&&this.ycrosshairs.classList.add("apexcharts-active"),u&&!this.showOnIntersect)this.handleStickyTooltip(a,o,l,r);else if("heatmap"===s.config.chart.type||"treemap"===s.config.chart.type){var f=this.intersect.handleHeatTreeTooltip({e:a,opt:r,x:e,y:i,type:s.config.chart.type});e=f.x,i=f.y,h.style.left=e+"px",h.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:r}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:r,x:e,y:i});if(this.yaxisTooltips.length)for(var p=0;pl.width)this.handleMouseOut(a);else if(null!==o)this.handleStickyCapturedSeries(t,o,a,n);else if(this.tooltipUtil.isXoverlap(n)||r.globals.isBarHorizontal){var c=r.globals.series.findIndex((function(t,e){return!r.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,c,n,a.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(t,e,i,a){var r=this.w;if(this.tConfig.shared||null!==r.globals.series[e][a]){if(void 0!==r.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var s=r.globals.series.findIndex((function(t,e){return!r.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,s,a,i.ttItems)}}else this.handleMouseOut(i)}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new g(this.ctx),i=t.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,A=this.w,S=e;"mouseup"===t.type&&this.markerClick(t,i,a),null===k&&(k=this.tConfig.shared);var C=this.tooltipUtil.hasMarkers(i),P=this.tooltipUtil.getElBars();if(A.config.legend.tooltipHoverFormatter){var L=A.config.legend.tooltipHoverFormatter,O=Array.from(this.legendLabels);O.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var T=0;T0?S.marker.enlargePoints(a):S.tooltipPosition.moveDynamicPointsOnHover(a);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(P),this.barSeriesHeight>0)){var Y=new g(this.ctx),D=A.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(a,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var R=0;Rr.globals.gridHeight&&(p=r.globals.gridHeight-m)),{bcx:h,bcy:c,dataLabelsX:e,dataLabelsY:p,totalDataLabelsX:a,totalDataLabelsY:i,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this.w,i=t.x,a=t.i,r=t.j,s=t.realIndex,n=t.groupIndex,o=t.bcy,l=t.barHeight,c=t.barWidth,h=t.textRects,d=t.dataLabelsX,u=t.strokeWidth,f=t.dataLabelsConfig,p=t.barDataLabelsConfig,x=t.barTotalDataLabelsConfig,b=t.offX,v=t.offY,m=e.globals.gridHeight/e.globals.dataPoints;c=Math.abs(c);var y,w,k=(o+=-1!==n?n*l:0)-(this.barCtx.isRangeBar?0:m)+l/2+h.height/2+v-3,A="start",S=this.barCtx.series[a][r]<0,C=i;switch(this.barCtx.isReversed&&(C=i+c-(S?2*c:0),i=e.globals.gridWidth-c),p.position){case"center":d=S?C+c/2-b:Math.max(h.width/2,C-c/2)+b;break;case"bottom":d=S?C+c-u-Math.round(h.width/2)-b:C-c+u+Math.round(h.width/2)+b;break;case"top":d=S?C-u+Math.round(h.width/2)-b:C-u-Math.round(h.width/2)+b}if(this.barCtx.lastActiveBarSerieIndex===s&&x.enabled){var P=new g(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:s,j:r}),f.fontSize);S?(y=C-u+Math.round(P.width/2)-b-x.offsetX-15,A="end"):y=C-u-Math.round(P.width/2)+b+x.offsetX+15,w=k+x.offsetY}return e.config.chart.stacked||(d<0?d=d+h.width+u:d+h.width/2>e.globals.gridWidth&&(d=e.globals.gridWidth-h.width-u)),{bcx:i,bcy:o,dataLabelsX:d,dataLabelsY:k,totalDataLabelsX:y,totalDataLabelsY:w,totalDataLabelsAnchor:A}}},{key:"drawCalculatedDataLabels",value:function(t){var e=t.x,i=t.y,a=t.val,r=t.i,s=t.j,n=t.textRects,o=t.barHeight,l=t.barWidth,c=t.dataLabelsConfig,h=this.w,d="rotate(0)";"vertical"===h.config.plotOptions.bar.dataLabels.orientation&&(d="rotate(-90, ".concat(e,", ").concat(i,")"));var u=new st(this.barCtx.ctx),f=new g(this.barCtx.ctx),p=c.formatter,x=null,b=h.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!b){x=f.group({class:"apexcharts-data-labels",transform:d});var v="";void 0!==a&&(v=p(a,Ze(Ze({},h),{},{seriesIndex:r,dataPointIndex:s,w:h}))),!a&&h.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v="");var m=h.globals.series[r][s]<0,y=h.config.plotOptions.bar.dataLabels.position;"vertical"===h.config.plotOptions.bar.dataLabels.orientation&&("top"===y&&(c.textAnchor=m?"end":"start"),"center"===y&&(c.textAnchor="middle"),"bottom"===y&&(c.textAnchor=m?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&lMath.abs(l)&&(v=""):n.height/1.6>Math.abs(o)&&(v=""));var w=Ze({},c);this.barCtx.isHorizontal&&a<0&&("start"===c.textAnchor?w.textAnchor="end":"end"===c.textAnchor&&(w.textAnchor="start")),u.plotDataLabelsText({x:e,y:i,text:v,i:r,j:s,parent:x,dataLabelsConfig:w,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:"drawTotalDataLabels",value:function(t){var e,i=t.x,a=t.y,r=t.val,s=t.realIndex,n=t.textAnchor,o=t.barTotalDataLabelsConfig,l=new g(this.barCtx.ctx);return o.enabled&&void 0!==i&&void 0!==a&&this.barCtx.lastActiveBarSerieIndex===s&&(e=l.drawText({x:i,y:a,foreColor:o.style.color,text:r,textAnchor:n,fontFamily:o.style.fontFamily,fontSize:o.style.fontSize,fontWeight:o.style.fontWeight})),e}}])&&Je(e.prototype,i),t}();function Ke(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function ti(t){for(var e=1;e0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(s=a/this.barCtx.seriesLen*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(s=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(s=parseInt(this.barCtx.barOptions.columnWidth,10)),n=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-s*this.barCtx.seriesLen)/2}return{x:t,y:e,yDivision:i,xDivision:a,barHeight:r,barWidth:s,zeroH:n,zeroW:o}}},{key:"initializeStackedPrevVars",value:function(t){var e=t.w;e.globals.hasSeriesGroups?e.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]})):(t.prevY=[],t.prevX=[],t.prevYF=[],t.prevXF=[],t.prevYVal=[],t.prevXVal=[])}},{key:"initializeStackedXYVars",value:function(t){var e=t.w;e.globals.hasSeriesGroups?e.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]})):(t.xArrj=[],t.xArrjF=[],t.xArrjVal=[],t.yArrj=[],t.yArrjF=[],t.yArrjVal=[])}},{key:"getPathFillColor",value:function(t,e,i,a){var r,s,n,o,l=this.w,c=new K(this.barCtx.ctx),h=null,d=this.barCtx.barOptions.distributed?i:e;return this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(h=a.color)})),l.config.series[e].data[i]&&l.config.series[e].data[i].fillColor&&(h=l.config.series[e].data[i].fillColor),c.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:h,value:t[e][i],fillConfig:null===(r=l.config.series[e].data[i])||void 0===r?void 0:r.fill,fillType:null!==(s=l.config.series[e].data[i])&&void 0!==s&&null!==(n=s.fill)&&void 0!==n&&n.type?null===(o=l.config.series[e].data[i])||void 0===o?void 0:o.fill.type:l.config.fill.type})}},{key:"getStrokeWidth",value:function(t,e,i){var a=0,r=this.w;return this.barCtx.series[t][e]?this.barCtx.isNullValue=!1:this.barCtx.isNullValue=!0,r.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"shouldApplyRadius",value:function(t){var e=this.w,i=!1;return e.config.plotOptions.bar.borderRadius>0&&(e.config.chart.stacked&&"last"===e.config.plotOptions.bar.borderRadiusWhenStacked?this.barCtx.lastActiveBarSerieIndex===t&&(i=!0):i=!0),i}},{key:"barBackground",value:function(t){var e=t.j,i=t.i,a=t.x1,r=t.x2,s=t.y1,n=t.y2,o=t.elSeries,l=this.w,c=new g(this.barCtx.ctx),h=new ot(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&h===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],u=c.drawRect(void 0!==a?a:0,void 0!==s?s:0,void 0!==r?r:l.globals.gridWidth,void 0!==n?n:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(u),u.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(t){var e,i=t.barWidth,a=t.barXPosition,r=t.y1,s=t.y2,n=t.strokeWidth,o=t.seriesGroup,l=t.realIndex,c=t.i,h=t.j,d=t.w,u=new g(this.barCtx.ctx);(n=Array.isArray(n)?n[l]:n)||(n=0);var f=i,p=a;null!==(e=d.config.series[l].data[h])&&void 0!==e&&e.columnWidthOffset&&(p=a-d.config.series[l].data[h].columnWidthOffset/2,f=i+d.config.series[l].data[h].columnWidthOffset);var x=p,b=p+f;r+=.001,s+=.001;var v=u.move(x,r),m=u.move(x,r),y=u.line(b-n,r);if(d.globals.previousPaths.length>0&&(m=this.barCtx.getPreviousPath(l,h,!1)),v=v+u.line(x,s)+u.line(b-n,s)+u.line(b-n,r)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),m=m+u.line(x,r)+y+y+y+y+y+u.line(x,r)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(v=u.roundPathCorners(v,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&o&&(w=this.barCtx[o]),w.yArrj.push(s),w.yArrjF.push(Math.abs(r-s)),w.yArrjVal.push(this.barCtx.series[c][h])}return{pathTo:v,pathFrom:m}}},{key:"getBarpaths",value:function(t){var e,i=t.barYPosition,a=t.barHeight,r=t.x1,s=t.x2,n=t.strokeWidth,o=t.seriesGroup,l=t.realIndex,c=t.i,h=t.j,d=t.w,u=new g(this.barCtx.ctx);(n=Array.isArray(n)?n[l]:n)||(n=0);var f=i,p=a;null!==(e=d.config.series[l].data[h])&&void 0!==e&&e.barHeightOffset&&(f=i-d.config.series[l].data[h].barHeightOffset/2,p=a+d.config.series[l].data[h].barHeightOffset);var x=f,b=f+p;r+=.001,s+=.001;var v=u.move(r,x),m=u.move(r,x);d.globals.previousPaths.length>0&&(m=this.barCtx.getPreviousPath(l,h,!1));var y=u.line(r,b-n);if(v=v+u.line(s,x)+u.line(s,b-n)+y+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),m=m+u.line(r,x)+y+y+y+y+y+u.line(r,x)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(v=u.roundPathCorners(v,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&o&&(w=this.barCtx[o]),w.xArrj.push(s),w.xArrjF.push(Math.abs(r-s)),w.xArrjVal.push(this.barCtx.series[c][h])}return{pathTo:v,pathFrom:m}}},{key:"checkZeroSeries",value:function(t){for(var e=t.series,i=this.w,a=0;a2&&void 0!==arguments[2]&&!arguments[2]?null:e;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&!arguments[2]?null:e;return null!=t&&(i=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),i}},{key:"getGoalValues",value:function(t,e,i,a,r){var s=this,n=this.w,o=[],l=function(a,r){var n;o.push((ei(n={},t,"x"===t?s.getXForValue(a,e,!1):s.getYForValue(a,i,!1)),ei(n,"attrs",r),n))};if(n.globals.seriesGoals[a]&&n.globals.seriesGoals[a][r]&&Array.isArray(n.globals.seriesGoals[a][r])&&n.globals.seriesGoals[a][r].forEach((function(t){l(t.value,t)})),this.barCtx.barOptions.isDumbbell&&n.globals.seriesRange.length){var c=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:n.globals.colors,h={strokeHeight:"x"===t?0:n.globals.markers.size[a],strokeWidth:"x"===t?n.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(c[a])?c[a][0]:c[a]};l(n.globals.seriesRangeStart[a][r],h),l(n.globals.seriesRangeEnd[a][r],ti(ti({},h),{},{strokeColor:Array.isArray(c[a])?c[a][1]:c[a]}))}return o}},{key:"drawGoalLine",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,r=t.goalY,s=t.barWidth,n=t.barHeight,o=new g(this.barCtx.ctx),l=o.group({className:"apexcharts-bar-goals-groups"});l.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var c=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:n/2,a=i+e+n/2;c=o.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(c)})):Array.isArray(r)&&r.forEach((function(t){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:s/2,a=e+i+s/2;c=o.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(c)})),l}}],i&&ii(e.prototype,i),t}();function ri(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function si(t){for(var e=1;ethis.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.");for(var o=0,l=0;o0&&(this.visibleI=this.visibleI+1);var w=0,k=0;this.yRatio.length>1&&(this.yaxisIndex=m),this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var A=this.barHelpers.initialPositions();x=A.y,w=A.barHeight,h=A.yDivision,u=A.zeroW,f=A.x,k=A.barWidth,c=A.xDivision,d=A.zeroH,this.horizontal||v.push(f+k/2);for(var S=a.group({class:"apexcharts-datalabels","data:realIndex":m}),C=a.group({class:"apexcharts-bar-goals-markers",style:"pointer-events: none"}),P=0;P0&&v.push(f+k/2),b.push(x);var E=this.barHelpers.getPathFillColor(t,o,P,m);this.renderSeries({realIndex:m,pathFill:E,j:P,i:o,pathFrom:O.pathFrom,pathTo:O.pathTo,strokeWidth:L,elSeries:y,x:f,y:x,series:t,barHeight:O.barHeight?O.barHeight:w,barWidth:O.barWidth?O.barWidth:k,elDataLabelsWrap:S,elGoalsMarkers:C,visibleSeries:this.visibleI,type:"bar"})}i.globals.seriesXvalues[m]=v,i.globals.seriesYvalues[m]=b,n.add(y)}return n}},{key:"renderSeries",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,r=t.j,s=t.i,n=t.groupIndex,o=t.pathFrom,c=t.pathTo,h=t.strokeWidth,d=t.elSeries,u=t.x,f=t.y,p=t.y1,x=t.y2,b=t.series,v=t.barHeight,m=t.barWidth,y=t.barYPosition,w=t.elDataLabelsWrap,k=t.elGoalsMarkers,A=t.visibleSeries,S=t.type,C=this.w,P=new g(this.ctx);a||(a=this.barOptions.distributed?C.globals.stroke.colors[r]:C.globals.stroke.colors[e]),C.config.series[s].data[r]&&C.config.series[s].data[r].strokeColor&&(a=C.config.series[s].data[r].strokeColor),this.isNullValue&&(i="none");var L=r/C.config.chart.animations.animateGradually.delay*(C.config.chart.animations.speed/C.globals.dataPoints)/2.4,O=P.renderPaths({i:s,j:r,realIndex:e,pathFrom:o,pathTo:c,stroke:a,strokeWidth:h,strokeLineCap:C.config.stroke.lineCap,fill:i,animationDelay:L,initialSpeed:C.config.chart.animations.speed,dataChangeSpeed:C.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(S,"-area")});O.attr("clip-path","url(#gridRectMask".concat(C.globals.cuid,")"));var T=C.config.forecastDataPoints;T.count>0&&r>=C.globals.dataPoints-T.count&&(O.node.setAttribute("stroke-dasharray",T.dashArray),O.node.setAttribute("stroke-width",T.strokeWidth),O.node.setAttribute("fill-opacity",T.fillOpacity)),void 0!==p&&void 0!==x&&(O.attr("data-range-y1",p),O.attr("data-range-y2",x)),new l(this.ctx).setSelectionFilter(O,e,r),d.add(O);var I=new Qe(this).handleBarDataLabels({x:u,y:f,y1:p,y2:x,i:s,j:r,series:b,realIndex:e,groupIndex:n,barHeight:v,barWidth:m,barYPosition:y,renderedPath:O,visibleSeries:A});return null!==I.dataLabels&&w.add(I.dataLabels),I.totalDataLabels&&w.add(I.totalDataLabels),d.add(w),k&&d.add(k),d}},{key:"drawBarPaths",value:function(t){var e,i=t.indexes,a=t.barHeight,r=t.strokeWidth,s=t.zeroW,n=t.x,o=t.y,l=t.yDivision,c=t.elSeries,h=this.w,d=i.i,u=i.j;if(h.globals.isXNumeric)e=(o=(h.globals.seriesX[d][u]-h.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(h.config.plotOptions.bar.hideZeroBarsWhenGrouped){var g=0,f=0;h.globals.seriesPercent.forEach((function(t,e){t[u]&&g++,e0&&(a=this.seriesLen*a/g),e=o+a*this.visibleI,e-=a*f}else e=o+a*this.visibleI;n=this.barHelpers.getXForValue(this.series[d][u],s);var p=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:s,x2:n,strokeWidth:r,series:this.series,realIndex:i.realIndex,i:d,j:u,w:h});return h.globals.isXNumeric||(o+=l),this.barHelpers.barBackground({j:u,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:c}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x:n,y:o,goalX:this.barHelpers.getGoalValues("x",s,null,d,u),barYPosition:e,barHeight:a}}},{key:"drawColumnPaths",value:function(t){var e,i=t.indexes,a=t.x,r=t.y,s=t.xDivision,n=t.barWidth,o=t.zeroH,l=t.strokeWidth,c=t.elSeries,h=this.w,d=i.realIndex,u=i.i,g=i.j,f=i.bc;if(h.globals.isXNumeric){var p=d;h.globals.seriesX[d].length||(p=h.globals.maxValsInArrayIndex),h.globals.seriesX[p][g]&&(a=(h.globals.seriesX[p][g]-h.globals.minX)/this.xRatio-n*this.seriesLen/2),e=a+n*this.visibleI}else if(h.config.plotOptions.bar.hideZeroBarsWhenGrouped){var x=0,b=0;h.globals.seriesPercent.forEach((function(t,e){t[g]&&x++,e0&&(n=this.seriesLen*n/x),e=a+n*this.visibleI,e-=n*b}else e=a+n*this.visibleI;r=this.barHelpers.getYForValue(this.series[u][g],o);var v=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:n,y1:o,y2:r,strokeWidth:l,series:this.series,realIndex:i.realIndex,i:u,j:g,w:h});return h.globals.isXNumeric||(a+=s),this.barHelpers.barBackground({bc:f,j:g,i:u,x1:e-l/2-n*this.visibleI,x2:n*this.seriesLen+l/2,elSeries:c}),{pathTo:v.pathTo,pathFrom:v.pathFrom,x:a,y:r,goalY:this.barHelpers.getGoalValues("y",null,o,u,g),barXPosition:e,barWidth:n}}},{key:"getPreviousPath",value:function(t,e){for(var i,a=this.w,r=0;r0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[r].paths[e]&&(i=a.globals.previousPaths[r].paths[e].d)}return i}}])&&oi(e.prototype,i),t}();function ci(t){return ci="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ci(t)}function hi(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function di(t){for(var e=1;e-1&&(f=e)})),-1!==f&&(i.groupCtx=i[a.globals.seriesGroups[f]]);var p=[],x=[],b=a.globals.comboCharts?e[s]:s;i.yRatio.length>1&&(i.yaxisIndex=b),i.isReversed=a.config.yaxis[i.yaxisIndex]&&a.config.yaxis[i.yaxisIndex].reversed;var v=i.graphics.group({class:"apexcharts-series",seriesName:r.escapeString(a.globals.seriesNames[b]),rel:s+1,"data:realIndex":b});i.ctx.series.addCollapsedClassToSeries(v,b);var m=i.graphics.group({class:"apexcharts-datalabels","data:realIndex":b}),y=i.graphics.group({class:"apexcharts-bar-goals-markers",style:"pointer-events: none"}),w=0,k=0,A=i.initialPositions(o,l,h,d,u,g);l=A.y,w=A.barHeight,d=A.yDivision,g=A.zeroW,o=A.x,k=A.barWidth,h=A.xDivision,u=A.zeroH,i.barHelpers.initializeStackedXYVars(i),1===i.groupCtx.prevY.length&&i.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(i.groupCtx.prevY[0]=i.groupCtx.prevY[0].map((function(t){return u})),i.groupCtx.prevYF[0]=i.groupCtx.prevYF[0].map((function(t){return 0})));for(var S=0;S1?(i=h.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:o*parseInt(h.config.plotOptions.bar.columnWidth,10)/100,null!==(c=h.globals.seriesGroups)&&void 0!==c&&c.length&&(o/=h.globals.seriesGroups.length),-1===String(h.config.plotOptions.bar.columnWidth).indexOf("%")&&(o=parseInt(h.config.plotOptions.bar.columnWidth,10)),r=h.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?h.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=h.globals.padHorizontal+(i-o)/2),{x:t,y:e,yDivision:a,xDivision:i,barHeight:n,barWidth:o,zeroH:r,zeroW:s}}},{key:"drawStackedBarPaths",value:function(t){for(var e,i=t.indexes,a=t.barHeight,r=t.strokeWidth,s=t.zeroW,n=t.x,o=t.y,l=t.groupIndex,c=t.seriesGroup,h=t.yDivision,d=t.elSeries,u=this.w,g=o+(-1!==l?l*a:0),f=i.i,p=i.j,x=0,b=0;b0){var m=s;this.groupCtx.prevXVal[v-1][p]<0?m=this.series[f][p]>=0?this.groupCtx.prevX[v-1][p]+x-2*(this.isReversed?x:0):this.groupCtx.prevX[v-1][p]:this.groupCtx.prevXVal[v-1][p]>=0&&(m=this.series[f][p]>=0?this.groupCtx.prevX[v-1][p]:this.groupCtx.prevX[v-1][p]-x+2*(this.isReversed?x:0)),e=m}else e=s;n=null===this.series[f][p]?e:e+this.series[f][p]/this.invertedYRatio-2*(this.isReversed?this.series[f][p]/this.invertedYRatio:0);var y=this.barHelpers.getBarpaths({barYPosition:g,barHeight:a,x1:e,x2:n,strokeWidth:r,series:this.series,realIndex:i.realIndex,seriesGroup:c,i:f,j:p,w:u});return this.barHelpers.barBackground({j:p,i:f,y1:g,y2:a,elSeries:d}),o+=h,{pathTo:y.pathTo,pathFrom:y.pathFrom,goalX:this.barHelpers.getGoalValues("x",s,null,f,p),barYPosition:g,x:n,y:o}}},{key:"drawStackedColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,r=t.xDivision,s=t.barWidth,n=t.zeroH,o=t.groupIndex,l=t.seriesGroup,c=t.elSeries,h=this.w,d=e.i,u=e.j,g=e.bc;if(h.globals.isXNumeric){var f=h.globals.seriesX[d][u];f||(f=0),i=(f-h.globals.minX)/this.xRatio-s/2,h.globals.seriesGroups.length&&(i=(f-h.globals.minX)/this.xRatio-s/2*h.globals.seriesGroups.length)}for(var p,x=i+(-1!==o?o*s:0),b=0,v=0;v0&&!h.globals.isXNumeric||m>0&&h.globals.isXNumeric&&h.globals.seriesX[d-1][u]===h.globals.seriesX[d][u]){var y,w,k,A=Math.min(this.yRatio.length+1,d+1);if(void 0!==this.groupCtx.prevY[m-1]&&this.groupCtx.prevY[m-1].length)for(var S=1;S=0?k-b+2*(this.isReversed?b:0):k;break}if((null===(O=this.groupCtx.prevYVal[m-P])||void 0===O?void 0:O[u])>=0){w=this.series[d][u]>=0?k:k+b-2*(this.isReversed?b:0);break}}void 0===w&&(w=h.globals.gridHeight),p=null!==(y=this.groupCtx.prevYF[0])&&void 0!==y&&y.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,m).every((function(t){return t.every((function(t){return isNaN(t)}))}))?n:w}else p=n;a=this.series[d][u]?p-this.series[d][u]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[d][u]/this.yRatio[this.yaxisIndex]:0):p;var T=this.barHelpers.getColumnPaths({barXPosition:x,barWidth:s,y1:p,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:u,w:h});return this.barHelpers.barBackground({bc:g,j:u,i:d,x1:x,x2:s,elSeries:c}),i+=r,{pathTo:T.pathTo,pathFrom:T.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,n,d,u),barXPosition:x,x:h.globals.isXNumeric?i-r:i,y:a}}}])&&gi(e.prototype,i),o}(li);function bi(t){return bi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bi(t)}function vi(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function mi(t){for(var e=1;e0&&(a.visibleI=a.visibleI+1),a.yRatio.length>1&&(a.yaxisIndex=m);var w=a.barHelpers.initialPositions();x=w.y,g=w.barHeight,c=w.yDivision,u=w.zeroW,p=w.x,f=w.barWidth,o=w.xDivision,d=w.zeroH,v.push(p+f/2);for(var k=n.group({class:"apexcharts-datalabels","data:realIndex":m}),A=function(i){var r=a.barHelpers.getStrokeWidth(e,i,m),n=null,h={indexes:{i:e,j:i,realIndex:m},x:p,y:x,strokeWidth:r,elSeries:y};n=a.isHorizontal?a.drawHorizontalBoxPaths(mi(mi({},h),{},{yDivision:c,barHeight:g,zeroW:u})):a.drawVerticalBoxPaths(mi(mi({},h),{},{xDivision:o,barWidth:f,zeroH:d})),x=n.y,p=n.x,i>0&&v.push(p+f/2),b.push(x),n.pathTo.forEach((function(o,c){var h=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?n.color[c]:s.globals.stroke.colors[e],d=l.fillPath({seriesNumber:m,dataPointIndex:i,color:n.color[c],value:t[e][i]});a.renderSeries({realIndex:m,pathFill:d,lineFill:h,j:i,i:e,pathFrom:n.pathFrom,pathTo:o,strokeWidth:r,elSeries:y,x:p,y:x,series:t,barHeight:g,barWidth:f,elDataLabelsWrap:k,visibleSeries:a.visibleI,type:s.config.chart.type})}))},S=0;Sv.c&&(d=!1);var w=Math.min(v.o,v.c),k=Math.max(v.o,v.c),A=v.m;o.globals.isXNumeric&&(i=(o.globals.seriesX[b][h]-o.globals.minX)/this.xRatio-r/2);var S=i+r*this.visibleI;void 0===this.series[c][h]||null===this.series[c][h]?(w=s,k=s):(w=s-w/x,k=s-k/x,m=s-v.h/x,y=s-v.l/x,A=s-v.m/x);var C=l.move(S,s),P=l.move(S+r/2,w);return o.globals.previousPaths.length>0&&(P=this.getPreviousPath(b,h,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+r/2,w)+l.line(S+r/2,m)+l.line(S+r/4,m)+l.line(S+r-r/4,m)+l.line(S+r/2,m)+l.line(S+r/2,w)+l.line(S+r,w)+l.line(S+r,A)+l.line(S,A)+l.line(S,w+n/2),l.move(S,A)+l.line(S+r,A)+l.line(S+r,k)+l.line(S+r/2,k)+l.line(S+r/2,y)+l.line(S+r-r/4,y)+l.line(S+r/4,y)+l.line(S+r/2,y)+l.line(S+r/2,k)+l.line(S,k)+l.line(S,A)+"z"]:[l.move(S,k)+l.line(S+r/2,k)+l.line(S+r/2,m)+l.line(S+r/2,k)+l.line(S+r,k)+l.line(S+r,w)+l.line(S+r/2,w)+l.line(S+r/2,y)+l.line(S+r/2,w)+l.line(S,w)+l.line(S,k-n/2)],P+=l.move(S,w),o.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:P,x:i,y:k,barXPosition:S,color:this.isBoxPlot?p:d?[u]:[f]}}},{key:"drawHorizontalBoxPaths",value:function(t){var e=t.indexes,i=(t.x,t.y),a=t.yDivision,r=t.barHeight,s=t.zeroW,n=t.strokeWidth,o=this.w,l=new g(this.ctx),c=e.i,h=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var u=this.invertedYRatio,f=e.realIndex,p=this.getOHLCValue(f,h),x=s,b=s,v=Math.min(p.o,p.c),m=Math.max(p.o,p.c),y=p.m;o.globals.isXNumeric&&(i=(o.globals.seriesX[f][h]-o.globals.minX)/this.invertedXRatio-r/2);var w=i+r*this.visibleI;void 0===this.series[c][h]||null===this.series[c][h]?(v=s,m=s):(v=s+v/u,m=s+m/u,x=s+p.h/u,b=s+p.l/u,y=s+p.m/u);var k=l.move(s,w),A=l.move(v,w+r/2);return o.globals.previousPaths.length>0&&(A=this.getPreviousPath(f,h,!0)),k=[l.move(v,w)+l.line(v,w+r/2)+l.line(x,w+r/2)+l.line(x,w+r/2-r/4)+l.line(x,w+r/2+r/4)+l.line(x,w+r/2)+l.line(v,w+r/2)+l.line(v,w+r)+l.line(y,w+r)+l.line(y,w)+l.line(v+n/2,w),l.move(y,w)+l.line(y,w+r)+l.line(m,w+r)+l.line(m,w+r/2)+l.line(b,w+r/2)+l.line(b,w+r-r/4)+l.line(b,w+r/4)+l.line(b,w+r/2)+l.line(m,w+r/2)+l.line(m,w)+l.line(y,w)+"z"],A+=l.move(v,w),o.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:m,y:i,barYPosition:w,color:d}}},{key:"getOHLCValue",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}])&&wi(e.prototype,i),o}(li);function Ci(t){return function(t){if(Array.isArray(t))return Pi(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Pi(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Pi(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pi(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:"getShadeColor",value:function(t,e,i,a){var s=this.w,n=1,o=s.config.plotOptions[t].shadeIntensity,l=this.determineColor(t,e,i);s.globals.hasNegs||a?n=s.config.plotOptions[t].reverseNegativeShade?l.percent<0?l.percent/100*(1.25*o):(1-l.percent/100)*(1.25*o):l.percent<=0?1-(1+l.percent/100)*o:(1-l.percent/100)*o:(n=1-l.percent/100,"treemap"===t&&(n=(1-l.percent/100)*(1.25*o)));var c=l.color,h=new r;return s.config.plotOptions[t].enableShades&&(c="dark"===this.w.config.theme.mode?r.hexToRgba(h.shadeColor(-1*n,l.color),s.config.fill.opacity):r.hexToRgba(h.shadeColor(n,l.color),s.config.fill.opacity)),{color:c,colorProps:l}}},{key:"determineColor",value:function(t,e,i){var a=this.w,r=a.globals.series[e][i],s=a.config.plotOptions[t],n=s.colorScale.inverse?i:e;s.distributed&&"treemap"===a.config.chart.type&&(n=i);var o=a.globals.colors[n],l=null,c=Math.min.apply(Math,Ci(a.globals.series[e])),h=Math.max.apply(Math,Ci(a.globals.series[e]));s.distributed||"heatmap"!==t||(c=a.globals.minY,h=a.globals.maxY),void 0!==s.colorScale.min&&(c=s.colorScale.mina.globals.maxY?s.colorScale.max:a.globals.maxY);var d=Math.abs(h)+Math.abs(c),u=100*r/(0===d?d-1e-6:d);return s.colorScale.ranges.length>0&&s.colorScale.ranges.map((function(t,e){if(r>=t.from&&r<=t.to){o=t.color,l=t.foreColor?t.foreColor:null,c=t.from,h=t.to;var i=Math.abs(h)+Math.abs(c);u=100*r/(0===i?i-1e-6:i)}})),{color:o,foreColor:l,percent:u}}},{key:"calculateDataLabels",value:function(t){var e=t.text,i=t.x,a=t.y,r=t.i,s=t.j,n=t.colorProps,o=t.fontSize,l=this.w.config.dataLabels,c=new g(this.ctx),h=new st(this.ctx),d=null;if(l.enabled){d=c.group({class:"apexcharts-data-labels"});var u=l.offsetX,f=l.offsetY,p=i+u,x=a+parseFloat(l.style.fontSize)/3+f;h.plotDataLabelsText({x:p,y:x,text:e,i:r,j:s,color:n.foreColor,parent:d,fontSize:o,dataLabelsConfig:l})}return d}},{key:"addListeners",value:function(t){var e=new g(this.ctx);t.node.addEventListener("mouseenter",e.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",e.pathMouseLeave.bind(this,t)),t.node.addEventListener("mousedown",e.pathMouseDown.bind(this,t))}}])&&Li(e.prototype,i),t}();function Ti(t,e){for(var i=0;i=0;c?d++:d--){var u=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:r.escapeString(e.globals.seriesNames[d]),rel:d+1,"data:realIndex":d});if(this.ctx.series.addCollapsedClassToSeries(u,d),e.config.chart.dropShadow.enabled){var f=e.config.chart.dropShadow;new l(this.ctx).dropShadow(u,f,d)}for(var p=0,x=e.config.plotOptions.heatmap.shadeIntensity,b=0;b-1&&this.pieClicked(f),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*x/this.fullAngle+"%";if(0!==x&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+n):a+n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(l=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(l)>this.fullAngle&&(l-=this.fullAngle);var c=Math.PI*(l-90)/180,h=e.centerX+s*Math.cos(o),d=e.centerY+s*Math.sin(o),u=e.centerX+s*Math.cos(c),g=e.centerY+s*Math.sin(c),f=r.polarToCartesian(e.centerX,e.centerY,e.donutSize,l),p=r.polarToCartesian(e.centerX,e.centerY,e.donutSize,n),x=a>180?1:0,b=["M",h,d,"A",s,s,0,x,1,u,g];return"donut"===e.chartType?[].concat(b,["L",f.x,f.y,"A",e.donutSize,e.donutSize,0,x,0,p.x,p.y,"L",h,d,"z"]).join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[].concat(b,["L",e.centerX,e.centerY,"L",h,d]).join(" "):[].concat(b).join(" ")}},{key:"drawPolarElements",value:function(t){var e=this.w,i=new kt(this.ctx),a=new g(this.ctx),r=new Mi(this.ctx),s=a.group(),n=a.group(),o=i.niceScale(0,Math.ceil(this.maxY),e.config.yaxis[0].tickAmount,0,!0),l=o.result.reverse(),c=o.result.length;this.maxY=o.niceMax;for(var h=e.globals.radialSize,d=h/(c-1),u=0;u1&&t.total.show&&(r=t.total.color);var n=s.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),o=s.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,s),a||"function"!=typeof t.total.formatter||(i=t.total.formatter(s));var l=e===t.total.label;e=t.name.formatter(e,l,s),null!==n&&(n.textContent=e),null!==o&&(o.textContent=i),null!==n&&(n.style.fill=r)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,a=t.getAttribute("data:value"),r=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,r,a,t);var s=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==s&&(s.style.opacity=1)}},{key:"drawSpokes",value:function(t){var e=this,i=this.w,a=new g(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var n=[],o=360/i.globals.series.length,l=0;l1)n&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(r));else if(l({makeSliceOut:!1,printLabel:!0}),!n)if(r.globals.selectedDataPoints.length&&r.globals.series.length>1)if(r.globals.selectedDataPoints[0].length>0){var c=r.globals.selectedDataPoints[0],h=r.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(c));this.printDataLabelsInner(h,e)}else s&&r.globals.selectedDataPoints.length&&0===r.globals.selectedDataPoints[0].length&&(s.style.opacity=0);else s&&r.globals.series.length>1&&(s.style.opacity=0)}}])&&Xi(e.prototype,i),t}();function Yi(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function Di(t){for(var e=1;e0&&(x=e.getPreviousPath(o));for(var b=0;b=10?t.x>0?(i="start",a+=10):t.x<0&&(i="end",a-=10):i="middle",Math.abs(t.y)>=e-10&&(t.y<0?r-=10:t.y>0&&(r+=10)),{textAnchor:i,newX:a,newY:r}}},{key:"getPreviousPath",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],r=0;r=360&&(f=360-Math.abs(this.startAngle)-.1);var p=i.drawPath({d:"",stroke:d,strokeWidth:n*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var x=h.dropShadow;r.dropShadow(p,x)}c.add(p),p.attr("id","apexcharts-radialbarTrack-"+o),this.animatePaths(p,{centerX:t.centerX,centerY:t.centerY,endAngle:f,startAngle:u,size:t.size,i:o,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:"drawArcs",value:function(t){var e=this.w,i=new g(this.ctx),a=new K(this.ctx),s=new l(this.ctx),n=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var c=e.config.plotOptions.radialBar.hollow.background,h=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,d=h-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(c=this.drawHollowImage(t,n,h,c));var u=this.drawHollow({size:d,centerX:t.centerX,centerY:t.centerY,fill:c||"transparent"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var f=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(u,f)}var p=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(p=0);var x=null;this.radialDataLabels.show&&(x=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:h,centerX:t.centerX,centerY:t.centerY,opacity:p})),"back"===e.config.plotOptions.radialBar.hollow.position&&(n.add(u),x&&n.add(x));var b=!1;e.config.plotOptions.radialBar.inverseOrder&&(b=!0);for(var v=b?t.series.length-1:0;b?v>=0:v100?100:t.series[v])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*r.negToZero(e.globals.previousPaths[v])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var P=S-w,L=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[v]:e.config.stroke.dashArray,O=i.drawPath({d:"",stroke:y,strokeWidth:o,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+v,strokeDashArray:L});if(g.setAttrs(O.node,{"data:angle":P,"data:value":t.series[v]}),e.config.chart.dropShadow.enabled){var T=e.config.chart.dropShadow;s.dropShadow(O,T,v)}s.setSelectionFilter(O,0,v),this.addListeners(O,this.radialDataLabels),m.add(O),O.attr({index:0,j:v});var I=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(I=e.config.chart.animations.speed),e.globals.dataChanged&&(I=e.config.chart.animations.dynamicAnimation.speed),this.animDur=I/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(O,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:v,totalItems:2,animBeginArr:this.animBeginArr,dur:I,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:n,elHollow:u,dataLabels:x}}},{key:"drawHollow",value:function(t){var e=new g(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(t,e,i,a){var s=this.w,n=new K(this.ctx),o=r.randomId(),l=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)n.clippedImgArea({width:i,height:i,image:l,patternID:"pattern".concat(s.globals.cuid).concat(o)}),a="url(#pattern".concat(s.globals.cuid).concat(o,")");else{var c=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===c&&void 0===h){var d=s.globals.dom.Paper.image(l).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(d)}else{var u=s.globals.dom.Paper.image(l).loaded((function(e){this.move(t.centerX-c/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(c,h)}));e.add(u)}}return a}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}}])&&Wi(e.prototype,i),o}(zi);function Vi(t){return Vi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vi(t)}function _i(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function Ui(t){for(var e=1;e0&&(this.visibleI=this.visibleI+1);var x=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=f);var v=this.barHelpers.initialPositions();d=v.y,c=v.zeroW,h=v.x,b=v.barWidth,o=v.xDivision,l=v.zeroH;for(var m=a.group({class:"apexcharts-datalabels","data:realIndex":f}),y=a.group({class:"apexcharts-rangebar-goals-markers",style:"pointer-events: none"}),w=0;w0}));return a=l.config.plotOptions.bar.rangeBarGroupRows?r+n*u:r+s*this.visibleI+n*u,g>-1&&!l.config.plotOptions.bar.rangeBarOverlap&&(c=l.globals.seriesRange[e][g].overlaps).indexOf(h)>-1&&(a=(s=o.barHeight/c.length)*this.visibleI+n*(100-parseInt(this.barOptions.barHeight,10))/100/2+s*(this.visibleI+c.indexOf(h))+n*u),{barYPosition:a,barHeight:s}}},{key:"drawRangeColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=(t.strokeWidth,t.xDivision),r=t.barWidth,s=t.zeroH,n=this.w,o=e.i,l=e.j,c=this.yRatio[this.yaxisIndex],h=e.realIndex,d=this.getRangeValue(h,l),u=Math.min(d.start,d.end),g=Math.max(d.start,d.end);n.globals.isXNumeric&&(i=(n.globals.seriesX[o][l]-n.globals.minX)/this.xRatio-r/2);var f=i+r*this.visibleI;void 0===this.series[o][l]||null===this.series[o][l]?u=s:(u=s-u/c,g=s-g/c);var p=Math.abs(g-u),x=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:r,y1:u,y2:g,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:h,j:l,w:n});return n.globals.isXNumeric||(i+=a),{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:p,x:i,y:g,goalY:this.barHelpers.getGoalValues("y",null,s,o,l),barXPosition:f}}},{key:"drawRangeBarPaths",value:function(t){var e=t.indexes,i=t.y,a=t.y1,r=t.y2,s=t.yDivision,n=t.barHeight,o=t.barYPosition,l=t.zeroW,c=this.w,h=l+a/this.invertedYRatio,d=l+r/this.invertedYRatio,u=Math.abs(d-h),g=this.barHelpers.getBarpaths({barYPosition:o,barHeight:n,x1:h,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:c});return c.globals.isXNumeric||(i+=s),{pathTo:g.pathTo,pathFrom:g.pathFrom,barWidth:u,x:d,goalX:this.barHelpers.getGoalValues("x",l,null,e.realIndex,e.j),y:i}}},{key:"getRangeValue",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}])&&Zi(e.prototype,i),o}(li);function Ki(t,e){for(var i=0;i0&&parseInt(n.realIndex,10)===parseInt(a,10)&&("line"===n.type?(this.lineCtx.appendPathFrom=!1,e=r.globals.previousPaths[s].paths[0].d):"area"===n.type&&(this.lineCtx.appendPathFrom=!1,i=r.globals.previousPaths[s].paths[0].d,r.config.stroke.show&&r.globals.previousPaths[s].paths[1]&&(e=r.globals.previousPaths[s].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e,i=t.i,a=t.series,r=t.prevY,s=t.lineYPosition,n=this.w;if(void 0!==(null===(e=a[i])||void 0===e?void 0:e[0]))r=(s=n.config.chart.stacked&&i>0?this.lineCtx.prevSeriesY[i-1][0]:this.lineCtx.zeroY)-a[i][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?a[i][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(n.config.chart.stacked&&i>0&&void 0===a[i][0])for(var o=i-1;o>=0;o--)if(null!==a[o][0]&&void 0!==a[o][0]){r=s=this.lineCtx.prevSeriesY[o][0];break}return{prevY:r,lineYPosition:s}}}])&&Ki(e.prototype,i),t}();function ea(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function ia(t){for(var e=1;e0&&(x=(r.globals.seriesX[d][0]-r.globals.minX)/this.xRatio),f.push(x);var b,v=x,m=void 0,y=v,w=this.zeroY,k=this.zeroY;w=this.lineHelpers.determineFirstPrevY({i:h,series:t,prevY:w,lineYPosition:0}).prevY,u.push(w),b=w,"rangeArea"===n&&(m=k=this.lineHelpers.determineFirstPrevY({i:h,series:a,prevY:k,lineYPosition:0}).prevY);var A={type:n,series:t,realIndex:d,i:h,x,y:1,pX:v,pY:b,pathsFrom:this._calculatePathsFrom({type:n,series:t,i:h,realIndex:d,prevX:y,prevY:w,prevY2:k}),linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:f,yArrj:u,seriesRangeEnd:a},S=this._iterateOverDataPoints(ia(ia({},A),{},{iterations:"rangeArea"===n?t[h].length-1:void 0,isRangeStart:!0}));if("rangeArea"===n){var C=this._calculatePathsFrom({series:a,i:h,realIndex:d,prevX:y,prevY:k}),P=this._iterateOverDataPoints(ia(ia({},A),{},{series:a,pY:m,pathsFrom:C,iterations:a[h].length-1,isRangeStart:!1}));S.linePaths[0]=P.linePath+S.linePath,S.pathFromLine=P.pathFromLine+S.pathFromLine}this._handlePaths({type:n,realIndex:d,i:h,paths:S}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),c.push(this.elSeries)}if(r.config.chart.stacked)for(var L=c.length;L>0;L--)o.add(c[L-1]);else for(var O=0;O1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||"end"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",seriesName:r.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var n=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":n,rel:e+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(t){var e,i,a,r,s=t.type,n=t.series,o=t.i,l=t.realIndex,c=t.prevX,h=t.prevY,d=t.prevY2,u=this.w,f=new g(this.ctx);if(null===n[o][0]){for(var p=0;p0){var x=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:r,realIndex:l});a=x.pathFromLine,r=x.pathFromArea}return{prevX:c,prevY:h,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:r}}},{key:"_handlePaths",value:function(t){var e=t.type,i=t.realIndex,a=t.i,r=t.paths,s=this.w,n=new g(this.ctx),o=new K(this.ctx);this.prevSeriesY.push(r.yArrj),s.globals.seriesXvalues[i]=r.xArrj,s.globals.seriesYvalues[i]=r.yArrj;var l=s.config.forecastDataPoints;if(l.count>0&&"rangeArea"!==e){var c=s.globals.seriesXvalues[i][s.globals.seriesXvalues[i].length-l.count-1],h=n.drawRect(c,0,s.globals.gridWidth,s.globals.gridHeight,0);s.globals.dom.elForecastMask.appendChild(h.node);var d=n.drawRect(0,0,c,s.globals.gridHeight,0);s.globals.dom.elNonForecastMask.appendChild(d.node)}this.pointsChart||s.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var u={i:a,realIndex:i,animationDelay:a,initialSpeed:s.config.chart.animations.speed,dataChangeSpeed:s.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(e)};if("area"===e)for(var f=o.fillPath({seriesNumber:i}),p=0;p0&&"rangeArea"!==e){var A=n.renderPaths(w);A.node.setAttribute("stroke-dasharray",l.dashArray),l.strokeWidth&&A.node.setAttribute("stroke-width",l.strokeWidth),this.elSeries.add(A),A.attr("clip-path","url(#forecastMask".concat(s.globals.cuid,")")),k.attr("clip-path","url(#nonForecastMask".concat(s.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(t){var e=t.type,i=t.series,a=t.iterations,s=t.realIndex,n=t.i,o=t.x,l=t.y,c=t.pX,h=t.pY,d=t.pathsFrom,u=t.linePaths,f=t.areaPaths,p=t.seriesIndex,x=t.lineYPosition,b=t.xArrj,v=t.yArrj,m=t.isRangeStart,y=t.seriesRangeEnd,w=this.w,k=new g(this.ctx),A=this.yRatio,S=d.prevY,C=d.linePath,P=d.areaPath,L=d.pathFromLine,O=d.pathFromArea,T=r.isNumber(w.globals.minYArr[s])?w.globals.minYArr[s]:w.globals.minY;a||(a=w.globals.dataPoints>1?w.globals.dataPoints-1:w.globals.dataPoints);for(var I=l,E=0;E0&&w.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(n-1)][E+1]:this.zeroY,M?l=x-T/A[this.yaxisIndex]+2*(this.isReversed?T/A[this.yaxisIndex]:0):(l=x-i[n][E+1]/A[this.yaxisIndex]+2*(this.isReversed?i[n][E+1]/A[this.yaxisIndex]:0),"rangeArea"===e&&(I=x-y[n][E+1]/A[this.yaxisIndex]+2*(this.isReversed?y[n][E+1]/A[this.yaxisIndex]:0))),b.push(o),v.push(l);var z=this.lineHelpers.calculatePoints({series:i,x:o,y:l,realIndex:s,i:n,j:E,prevY:S}),Y=this._createPaths({type:e,series:i,i:n,realIndex:s,j:E,x:o,y:l,y2:I,pX:c,pY:h,linePath:C,areaPath:P,linePaths:u,areaPaths:f,seriesIndex:p,isRangeStart:m});f=Y.areaPaths,u=Y.linePaths,c=Y.pX,h=Y.pY,P=Y.areaPath,C=Y.linePath,this.appendPathFrom&&(L+=k.line(o,this.zeroY),O+=k.line(o,this.zeroY)),this.handleNullDataPoints(i,z,n,E,s),this._handleMarkersAndLabels({type:e,pointsPos:z,i:n,j:E,realIndex:s,isRangeStart:m})}return{yArrj:v,xArrj:b,pathFromArea:O,areaPaths:f,pathFromLine:L,linePaths:u,linePath:C,areaPath:P}}},{key:"_handleMarkersAndLabels",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,r=t.i,s=t.j,n=t.realIndex,o=this.w,l=new st(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,s,{realIndex:n,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{o.globals.series[r].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var c=this.markers.plotChartMarkers(i,n,s+1);null!==c&&this.elPointsMain.add(c)}var h=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:n,j:s+1});null!==h&&this.elDataLabelsWrap.add(h)}},{key:"_createPaths",value:function(t){var e=t.type,i=t.series,a=t.i,r=t.realIndex,s=t.j,n=t.x,o=t.y,l=t.y2,c=t.pX,h=t.pY,d=t.linePath,u=t.areaPath,f=t.linePaths,p=t.areaPaths,x=t.seriesIndex,b=t.isRangeStart,v=this.w,m=new g(this.ctx),y=v.config.stroke.curve,w=this.areaBottomY;if(Array.isArray(v.config.stroke.curve)&&(y=Array.isArray(x)?v.config.stroke.curve[x[a]]:v.config.stroke.curve[a]),"smooth"===y){var k=.35*(n-c);v.globals.hasNullValues?(null!==i[a][s]&&(null!==i[a][s+1]?(d=m.move(c,h)+m.curve(c+k,h,n-k,o,n+1,o),u=m.move(c+1,h)+m.curve(c+k,h,n-k,o,n+1,o)+m.line(n,w)+m.line(c,w)+"z"):(d=m.move(c,h),u=m.move(c,h)+"z")),f.push(d),p.push(u)):(d+=m.curve(c+k,h,n-k,o,n,o),u+=m.curve(c+k,h,n-k,o,n,o)),c=n,h=o,s===i[a].length-2&&(u=u+m.curve(c,h,n,o,n,w)+m.move(n,o)+"z","rangeArea"===e&&b?d=d+m.curve(c,h,n,o,n,l)+m.move(n,l)+"z":v.globals.hasNullValues||(f.push(d),p.push(u)))}else{if(null===i[a][s+1]){d+=m.move(n,o);var A=v.globals.isXNumeric?(v.globals.seriesX[r][s]-v.globals.minX)/this.xRatio:n-this.xDivision;u=u+m.line(A,w)+m.move(n,o)+"z"}null===i[a][s]&&(d+=m.move(n,o),u+=m.move(n,w)),"stepline"===y?(d=d+m.line(n,null,"H")+m.line(null,o,"V"),u=u+m.line(n,null,"H")+m.line(null,o,"V")):"straight"===y&&(d+=m.line(n,o),u+=m.line(n,o)),s===i[a].length-2&&(u=u+m.line(n,w)+m.move(n,o)+"z","rangeArea"===e&&b?d=d+m.line(n,l)+m.move(n,l)+"z":(f.push(d),p.push(u)))}return{linePaths:f,areaPaths:p,pX:c,pY:h,linePath:d,areaPath:u}}},{key:"handleNullDataPoints",value:function(t,e,i,a,r){var s=this.w;if(null===t[i][a]&&s.config.markers.showNullDataPoints||1===t[i].length){var n=this.markers.plotChartMarkers(e,r,a+1,this.strokeWidth-s.config.markers.strokeWidth/2,!0);null!==n&&this.elPointsMain.add(n)}}}])&&ra(e.prototype,i),t}();function na(t,e){for(var i=0;is-a&&l.width<=n-r){var c=o.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(-90 ".concat(c.x," ").concat(c.y,")"))}}},{key:"animateTreemap",value:function(t,e,i,a){var r=new n(this.ctx);r.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){r.animationCompleted(t)}))}}])&&na(e.prototype,i),t}();function la(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function ca(t){for(var e=1;e5e4&&(a.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,e,this.utc),o=a.globals.gridWidth/s,l=o/24,c=l/60,h=c/60,d=Math.floor(24*s),u=Math.floor(1440*s),g=Math.floor(86400*s),f=Math.floor(s),p=Math.floor(s/30),x=Math.floor(s/365),b={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},v={firstVal:b,currentMillisecond:b.minMillisecond,currentSecond:b.minSecond,currentMinute:b.minMinute,currentHour:b.minHour,currentMonthDate:b.minDate,currentDate:b.minDate,currentMonth:b.minMonth,currentYear:b.minYear,daysWidthOnXAxis:o,hoursWidthOnXAxis:l,minutesWidthOnXAxis:c,secondsWidthOnXAxis:h,numberOfSeconds:g,numberOfMinutes:u,numberOfHours:d,numberOfDays:f,numberOfMonths:p,numberOfYears:x};switch(this.tickInterval){case"years":this.generateYearScale(v);break;case"months":case"half_year":this.generateMonthScale(v);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(v);break;case"hours":this.generateHourScale(v);break;case"minutes_fives":case"minutes":this.generateMinuteScale(v);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(v)}var m=this.timeScaleArray.map((function(t){var e={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?ca(ca({},e),{},{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?ca(ca({},e),{},{value:t.value}):"minute"===t.unit?ca(ca({},e),{},{value:t.value,minute:t.value}):"second"===t.unit?ca(ca({},e),{},{value:t.value,minute:t.minute,second:t.second}):t}));return m.filter((function(t){var e=1,r=Math.ceil(a.globals.gridWidth/120),s=t.value;void 0!==a.config.xaxis.tickAmount&&(r=a.config.xaxis.tickAmount),m.length>r&&(e=Math.floor(m.length/r));var n=!1,o=!1;switch(i.tickInterval){case"years":"year"===t.unit&&(n=!0);break;case"half_year":e=7,"year"===t.unit&&(n=!0);break;case"months":e=1,"year"===t.unit&&(n=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(n=!0),30===s&&(o=!0);break;case"months_days":e=10,"month"===t.unit&&(n=!0),30===s&&(o=!0);break;case"week_days":e=8,"month"===t.unit&&(n=!0);break;case"days":e=1,"month"===t.unit&&(n=!0);break;case"hours":"day"===t.unit&&(n=!0);break;case"minutes_fives":case"seconds_fives":s%5!=0&&(o=!0);break;case"seconds_tens":s%10!=0&&(o=!0)}if("hours"===i.tickInterval||"minutes_fives"===i.tickInterval||"seconds_tens"===i.tickInterval||"seconds_fives"===i.tickInterval){if(!o)return!0}else if((s%e==0||n)&&!o)return!0}))}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,a=this.formatDates(t),r=this.removeOverlappingTS(a);i.globals.timescaleLabels=r.slice(),new Kt(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval="years";break;case t>800:this.tickInterval="half_year";break;case t>180:this.tickInterval="months";break;case t>90:this.tickInterval="months_fortnight";break;case t>60:this.tickInterval="months_days";break;case t>30:this.tickInterval="week_days";break;case t>2:this.tickInterval="days";break;case e>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,n=t.numberOfYears,o=e.minYear,l=0,c=new M(this.ctx),h="year";if(e.minDate>1||e.minMonth>0){var d=c.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);l=(c.determineDaysOfYear(e.minYear)-d+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:l,value:o,unit:h,year:o,month:r.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:l,value:o,unit:h,year:a,month:r.monthMod(i+1)});for(var u=o,g=l,f=0;f1){c=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*n,l=r.monthMod(a+1);var g=s+u,f=r.monthMod(l),p=l;0===l&&(d="year",p=g,f=1,g+=u+=1),this.timeScaleArray.push({position:c,value:p,unit:d,year:g,month:f})}else this.timeScaleArray.push({position:c,value:l,unit:d,year:s,month:r.monthMod(a)});for(var x=l+1,b=c,v=0,m=1;vo.determineDaysOfMonths(e+1,i)?(h=1,l="month",g=e+=1,e):e},u=(24-e.minHour)*s,g=c,f=d(h,i,a);0===e.minHour&&1===e.minDate?(u=0,g=r.monthMod(e.minMonth),l="month",h=e.minDate,n++):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(u=0,c=e.minDate,g=c,f=d(h=c,i,a)),this.timeScaleArray.push({position:u,value:g,unit:l,year:this._getYear(a,f,0),month:r.monthMod(f),day:h});for(var p=u,x=0;xl.determineDaysOfMonths(e+1,s)&&(x=1,e+=1),{month:e,date:x}},d=function(t,e){return t>l.determineDaysOfMonths(e+1,s)?e+=1:e},u=60-(e.minMinute+e.minSecond/60),g=u*n,f=e.minHour+1,p=f+1;60===u&&(g=0,p=(f=e.minHour)+1);var x=i,b=d(x,a);this.timeScaleArray.push({position:g,value:f,unit:c,day:x,hour:p,year:s,month:r.monthMod(b)});for(var v=g,m=0;m=24&&(p=0,c="day",b=h(x+=1,b).month,b=d(x,b));var y=this._getYear(s,b,0);v=60*n+v;var w=0===p?x:p;this.timeScaleArray.push({position:v,value:w,unit:c,hour:p,day:x,year:y,month:r.monthMod(b)}),p++}}},{key:"generateMinuteScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,n=t.currentDate,o=t.currentMonth,l=t.currentYear,c=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,d=t.numberOfMinutes,u=a+1,g=n,f=o,p=l,x=s,b=(60-i-e/1e3)*h,v=0;v=60&&(u=0,24===(x+=1)&&(x=0)),this.timeScaleArray.push({position:b,value:u,unit:"minute",hour:x,minute:u,day:g,year:this._getYear(p,f,0),month:r.monthMod(f)}),b+=c,u++}},{key:"generateSecondScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,n=t.currentDate,o=t.currentMonth,l=t.currentYear,c=t.secondsWidthOnXAxis,h=t.numberOfSeconds,d=i+1,u=a,g=n,f=o,p=l,x=s,b=(1e3-e)/1e3*c,v=0;v=60&&(d=0,++u>=60&&(u=0,24==++x&&(x=0))),this.timeScaleArray.push({position:b,value:d,unit:"second",hour:x,minute:u,second:d,day:g,year:this._getYear(p,f,0),month:r.monthMod(f)}),b+=c,d++}},{key:"createRawDateString",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),"minute"===t.unit?i+=":"+("0"+e).slice(-2):i+=":"+(t.minute?("0"+t.minute).slice(-2):"00"),"second"===t.unit?i+=":"+("0"+e).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),r=new M(e.ctx),s=e.createRawDateString(t,a),n=r.getDate(r.parseDate(s));if(e.utc||(n=r.getDate(r.parseDateWithTimezone(s))),void 0===i.config.xaxis.labels.format){var o="dd MMM",l=i.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(o=l.year),"month"===t.unit&&(o=l.month),"day"===t.unit&&(o=l.day),"hour"===t.unit&&(o=l.hour),"minute"===t.unit&&(o=l.minute),"second"===t.unit&&(o=l.second),a=r.formatDate(n,o)}else a=r.formatDate(n,i.config.xaxis.labels.format);return{dateString:s,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:"removeOverlappingTS",value:function(t){var e,i=this,a=new g(this.ctx),r=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(r=!0,e=a.getTextRects(t[0].value).width);var s=0,n=t.map((function(n,o){if(o>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=r?e:a.getTextRects(t[s].value).width,c=t[s].position;return n.position>c+l+10?(s=o,n):null}return n}));return n.filter((function(t){return null!==t}))}},{key:"_getYear",value:function(t,e,i){return t+Math.floor(e/12)+i}}])&&da(e.prototype,i),t}();function ga(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function fa(t){for(var e=1;et.length)&&(e=t.length);for(var i=0,a=new Array(e);i-1,t.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].indexOf(i)>-1,t.isBarHorizontal=("bar"===e.chart.type||"rangeBar"===e.chart.type||"boxPlot"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=".apexcharts"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),g.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas "+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(e.chart.offsetX,", ").concat(e.chart.offsetY,")")}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject"),g.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(t,e){var i=this.w,a=i.config,r=i.globals,s={series:[],i:[]},n={series:[],i:[]},o={series:[],i:[]},l={series:[],i:[]},c={series:[],i:[]},h={series:[],i:[]},d={series:[],i:[]},u={series:[],i:[]},g={series:[],seriesRangeEnd:[],i:[]};r.series.map((function(e,f){var p=0;void 0!==t[f].type?("column"===t[f].type||"bar"===t[f].type?(r.series.length>1&&a.plotOptions.bar.horizontal&&console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"),c.series.push(e),c.i.push(f),p++,i.globals.columnSeries=c.series):"area"===t[f].type?(n.series.push(e),n.i.push(f),p++):"line"===t[f].type?(s.series.push(e),s.i.push(f),p++):"scatter"===t[f].type?(o.series.push(e),o.i.push(f)):"bubble"===t[f].type?(l.series.push(e),l.i.push(f),p++):"candlestick"===t[f].type?(h.series.push(e),h.i.push(f),p++):"boxPlot"===t[f].type?(d.series.push(e),d.i.push(f),p++):"rangeBar"===t[f].type?(u.series.push(e),u.i.push(f),p++):"rangeArea"===t[f].type?(g.series.push(r.seriesRangeStart[f]),g.seriesRangeEnd.push(r.seriesRangeEnd[f]),g.i.push(f),p++):console.warn("You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble/candlestick/boxPlot/rangeBar/rangeArea"),p>1&&(r.comboCharts=!0)):(s.series.push(e),s.i.push(f))}));var f=new sa(this.ctx,e),p=new Si(this.ctx,e);this.ctx.pie=new zi(this.ctx);var x=new Gi(this.ctx);this.ctx.rangeBar=new Qi(this.ctx,e);var b=new Hi(this.ctx),v=[];if(r.comboCharts){if(n.series.length>0&&v.push(f.draw(n.series,"area",n.i)),c.series.length>0)if(i.config.chart.stacked){var m=new xi(this.ctx,e);v.push(m.draw(c.series,c.i))}else this.ctx.bar=new li(this.ctx,e),v.push(this.ctx.bar.draw(c.series,c.i));if(g.series.length>0&&v.push(f.draw(g.series,"rangeArea",g.i,g.seriesRangeEnd)),s.series.length>0&&v.push(f.draw(s.series,"line",s.i)),h.series.length>0&&v.push(p.draw(h.series,"candlestick",h.i)),d.series.length>0&&v.push(p.draw(d.series,"boxPlot",d.i)),u.series.length>0&&v.push(this.ctx.rangeBar.draw(u.series,u.i)),o.series.length>0){var y=new sa(this.ctx,e,!0);v.push(y.draw(o.series,"scatter",o.i))}if(l.series.length>0){var w=new sa(this.ctx,e,!0);v.push(w.draw(l.series,"bubble",l.i))}}else switch(a.chart.type){case"line":v=f.draw(r.series,"line");break;case"area":v=f.draw(r.series,"area");break;case"bar":a.chart.stacked?v=new xi(this.ctx,e).draw(r.series):(this.ctx.bar=new li(this.ctx,e),v=this.ctx.bar.draw(r.series));break;case"candlestick":v=new Si(this.ctx,e).draw(r.series,"candlestick");break;case"boxPlot":v=new Si(this.ctx,e).draw(r.series,"boxPlot");break;case"rangeBar":v=this.ctx.rangeBar.draw(r.series);break;case"rangeArea":v=f.draw(r.seriesRangeStart,"rangeArea",void 0,r.seriesRangeEnd);break;case"heatmap":v=new Ii(this.ctx,e).draw(r.series);break;case"treemap":v=new oa(this.ctx,e).draw(r.series);break;case"pie":case"donut":case"polarArea":v=this.ctx.pie.draw(r.series);break;case"radialBar":v=x.draw(r.series);break;case"radar":v=b.draw(r.series);break;default:v=f.draw(r.series)}return v}},{key:"setSVGDimensions",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=r.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();"%"===a?r.isNumber(i[0])&&(0===i[0].width&&(i=r.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):"px"!==a&&""!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if("auto"!==t.svgHeight&&""!==t.svgHeight)if("%"===s){var n=r.getDimensions(this.el.parentNode);t.svgHeight=n[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),g.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),"%"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+"px"}t.dom.elWrap.style.width=t.svgWidth+"px",t.dom.elWrap.style.height=t.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i={transform:"translate("+t.translateX+", "+e+")"};g.setAttrs(t.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new ae(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),n=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=r.getBoundingClientRect(s);n=o.bottom;var l=o.bottom-o.top;n=Math.max(2.05*t.globals.radialSize,l)}var c=n+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",c),t.config.chart.height&&String(t.config.chart.height).indexOf("%")>0||(e.dom.elWrap.style.height=c+"px",g.setAttrs(e.dom.Paper.node,{height:c}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=c+"px")}},{key:"coreCalculations",value:function(){new Ct(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new _,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if("back"===e.config.xaxis.crosshairs.position&&new Yt(this.ctx).drawXCrosshairs(),"back"===e.config.yaxis[0].crosshairs.position&&new Yt(this.ctx).drawYCrosshairs(),"datetime"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new ua(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new p(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&"function"!=typeof e.config.chart.events.selection){var i=e.config.chart.brush.targets||[e.config.chart.brush.target];i.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,"function"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),"function"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),e.config.chart.events.selection=function(t,a){i.forEach((function(t){var i=ApexCharts.getChartByID(t),s=r.clone(e.config.yaxis);if(e.config.chart.brush.autoScaleYaxis&&1===i.w.globals.series.length){var n=new kt(i);s=n.autoScaleY(i,s,a)}var o=i.w.config.yaxis.reduce((function(t,e,a){return[].concat(function(t){if(Array.isArray(t))return xa(t)}(r=t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||function(t,e){if(t){if("string"==typeof t)return xa(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?xa(t,e):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[fa(fa({},i.w.config.yaxis[a]),{},{min:s[0].min,max:s[0].max})]);var r}),[]);i.ctx.updateHelpers._updateOptions({xaxis:{min:a.xaxis.min,max:a.xaxis.max},yaxis:o},!1,!1,!1,!1)}))}}}}])&&ba(e.prototype,i),t}();function ma(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function ya(t){for(var e=1;e1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(o){var l=[e.ctx];s&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(s,c){var h=s.w;if(h.globals.shouldAnimate=a,i||(h.globals.resized=!0,h.globals.dataChanged=!0,a&&s.series.getPreviousPaths()),t&&"object"===ka(t)&&(s.config=new G(t),t=p.extendArrayProps(s.config,t,h),s.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,h.config=r.extend(h.config,t),n&&(h.globals.lastXAxis=t.xaxis?r.clone(t.xaxis):[],h.globals.lastYAxis=t.yaxis?r.clone(t.yaxis):[],h.globals.initialConfig=r.extend({},h.config),h.globals.initialSeries=r.clone(h.config.series),t.series))){for(var d=0;d2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var n,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(n=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(n=[{data:[]}]),o.config.series=n):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=r.clone(o.config.series),o.globals.initialSeries=r.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:"_extendSeries",value:function(t,e){var i=this.w,a=i.config.series[e];return ya(ya({},i.config.series[e]),{},{name:t.name?t.name:a&&a.name,color:t.color?t.color:a&&a.color,type:t.type?t.type:a&&a.type,data:t.data?t.data:a&&a.data})}},{key:"toggleDataPointSelection",value:function(t,e){var i=this.w,a=null,r=".apexcharts-series[data\\:realIndex='".concat(t,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(r," path[j='").concat(e,"'], ").concat(r," circle[j='").concat(e,"'], ").concat(r," rect[j='").concat(e,"']")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select("".concat(r," path[j='").concat(t,"']")).members[0],"pie"!==i.config.chart.type&&"polarArea"!==i.config.chart.type&&"donut"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new g(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;if(["min","max"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new W(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:"forceYAxisUpdate",value:function(t){return t.chart&&t.chart.stacked&&"100%"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:"revertDefaultAxisMinMax",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,r=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(r=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==r[a]?function(t){void 0!==r[t]&&(i.config.yaxis[t].min=r[t].min,i.config.yaxis[t].max=r[t].max)}(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}],i&&Aa(e.prototype,i),t}();function Ca(t,e){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(r,s){if(null===i.el)return s(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new yt(i);var n=i.grid.drawGrid();if(i.annotations=new O(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position&&n&&a.globals.dom.elGraphical.add(n.el),Array.isArray(e.elGraph))for(var o=0;o0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),r(i)}))}},{key:"destroy",value:function(){var t,e;window.removeEventListener("resize",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=Ta.get(t))&&(e.disconnect(),Ta.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===r.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Oa(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=this.w;return n.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,r,s)}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Ct(this.ctx).getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Ct(this.ctx).getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(t){return new xt(this.ctx).dataURI(t)}},{key:"exportToCSV",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new xt(this.ctx).exportToCSV(t)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:"_windowResizeHandler",value:function(){var t=this.w.config.chart.redrawOnWindowResize;"function"==typeof t&&(t=t()),t&&this._windowResize()}}],a=[{key:"getChartByID",value:function(t){var e=r.escapeString(t),i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i2?r-2:0),n=2;nt.length)&&(e=t.length);for(var i=0,a=new Array(e);i>16,o=i>>8&255,n=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:"bind",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:"isObject",value:function(t){return t&&"object"===i(t)&&!Array.isArray(t)&&null!=t}},{key:"is",value:function(t,e){return Object.prototype.toString.call(e)==="[object "+t+"]"}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;ee.length?t:e}))),t.length>e.length?t:e}),0)}},{key:"hexToRgba",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==t.substring(0,1)&&(t="#999999");var i=t.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"x",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,e)}},{key:"negToZero",value:function(t){return t<0?0:t}},{key:"moveIndexInArray",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:"extractNumber",value:function(t){return parseFloat(t.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:"setELstyles",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:"isNumber",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:"isFloat",value:function(t){return Number(t)===t&&t%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var a=t.indexOf("Edge/");return a>0&&parseInt(t.substring(a+5,t.indexOf(".",a)),10)}}]),t}(),b=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return r(t,[{key:"setEasingFunctions",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case"linear":t="-";break;case"easein":t="<";break;case"easeout":t=">";break;case"easeinout":default:t="<>";break;case"swing":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case"bounce":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case"elastic":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=t}}},{key:"animateLine",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:"animateMarker",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:"animateCircle",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:"animateRect",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:"animatePathsGradually",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&"bar"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,"line"!==h.config.chart.type||h.globals.comboCharts?s:"stroke",r,o,n,l*c)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach((function(t){t.el.classList.remove("apexcharts-element-hidden")}))}},{key:"animationCompleted",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),"function"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:"morphSVG",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr("pathFrom")),r||(r=t.attr("pathTo"));var c=function(t){return"radar"===h.config.chart.type&&(o=1),"M 0 ".concat(h.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=c()),(!r||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){x.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):"none"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),v=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getDefaultFilter",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size("120%","180%","-5%","-40%"),"none"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addNormalFilter",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains("apexcharts-marker")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addLightenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"addDarkenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"applyFilter",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(t,e);break;case"lighten":this.addLightenFilter(t,e,{intensity:a});break;case"darken":this.addDarkenFilter(t,e,{intensity:a})}}},{key:"addShadow",value:function(t,e,i){var a=i.blur,s=i.top,r=i.left,o=i.color,n=i.opacity,l=t.flood(Array.isArray(o)?o[e]:o,n).composite(t.sourceAlpha,"in").offset(r,s).gaussianBlur(a).merge(t.source);return t.blend(t.source,l)}},{key:"dropShadow",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.top,s=e.left,r=e.blur,o=e.color,n=e.opacity,l=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),x.isIE()&&"radialBar"===h.config.chart.type||(o=Array.isArray(o)?o[i]:o,t.filter((function(t){var e=null;e=x.isSafari()||x.isFirefox()||x.isIE()?t.flood(o,n).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r):t.flood(o,n).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r).merge(t.source),t.blend(t.source,e)})),l||t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)),t}},{key:"setSelectionFilter",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute("selected",!0);var s=a.config.states.active.filter;"none"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:"_scaleFilterSize",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),t}(),m=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"roundPathCorners",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,o=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/o))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf("NaN")>-1&&(t="");var o=t.split(/[,\s]/).reduce((function(t,e){var i=e.match("([a-zA-Z])(.+)");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),n=[];if(o.length>1){var l=r(o[0]),h=null;"Z"==o[o.length-1][0]&&o[0].length>2&&(h=["L",l.x,l.y],o[o.length-1]=h),n.push(o[0]);for(var c=1;c2&&"L"==g[0]&&u.length>2&&"L"==u[0]){var p,f,x=r(d),b=r(g),v=r(u);p=i(b,x,e),f=i(b,v,e),s(g,p),g.origPoint=b,n.push(g);var m=a(p,b,.5),y=a(b,f,.5),w=["C",m.x,m.y,y.x,y.y,f.x,f.y];w.origPoint=b,n.push(w)}else n.push(g)}if(h){var k=r(n[n.length-1]);n.push(["Z"]),s(n[0],k)}}else n=o;return n.reduce((function(t,e){return t+e.join(" ")+" "}),"")}},{key:"drawLine",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":o,"stroke-linecap":n})}},{key:"drawRect",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#fefefe",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,"stroke-width":null!==n?n:0,stroke:null!==l?l:"none","stroke-dasharray":h}),c.node.setAttribute("fill",r),c}},{key:"drawPolygon",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,"stroke-width":i})}},{key:"drawCircle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:"drawPath",value:function(t){var e=t.d,i=void 0===e?"":e,a=t.stroke,s=void 0===a?"#a8a8a8":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,p=void 0===u?null:u,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,"fill-opacity":h,stroke:s,"stroke-opacity":d,"stroke-linecap":p,"stroke-width":o,"stroke-dasharray":x,class:g})}},{key:"group",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:"move",value:function(t,e){var i=["M",t,e].join(" ");return i}},{key:"line",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[" L",t,e].join(" "):"H"===i?a=[" H",t].join(" "):"V"===i&&(a=[" V",e].join(" ")),a}},{key:"curve",value:function(t,e,i,a,s,r){var o=["C",t,e,i,a,s,r].join(" ");return o}},{key:"quadraticCurve",value:function(t,e,i,a){return["Q",t,e,i,a].join(" ")}},{key:"arc",value:function(t,e,i,a,s,r,o){var n="A";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(n="a");var l=[n,t,e,i,a,s,r,o].join(" ");return l}},{key:"renderPaths",value:function(t){var i,a=t.j,s=t.realIndex,r=t.pathFrom,o=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,p=t.className,f=t.shouldClipToGrid,x=void 0===f||f,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new v(this.ctx),C=new b(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,I=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);I?i=r:(i=o,A.globals.animationEnded=!0);var T=A.config.stroke.dashArray,M=0;M=Array.isArray(T)?T[s]:A.config.stroke.dashArray;var X=this.drawPath({d:i,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:M});if(X.attr("index",s),x&&X.attr({"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")}),"none"!==A.config.states.normal.filter.type)S.getDefaultFilter(X,s);else if(A.config.chart.dropShadow.enabled&&k&&(!A.config.chart.dropShadow.enabledOnSeries||A.config.chart.dropShadow.enabledOnSeries&&-1!==A.config.chart.dropShadow.enabledOnSeries.indexOf(s))){var z=A.config.chart.dropShadow;S.dropShadow(X,z,s)}y&&(X.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,X)),X.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,X)),X.node.addEventListener("mousedown",this.pathMouseDown.bind(this,X))),X.attr({pathTo:o,pathFrom:r});var E={el:X,j:a,realIndex:s,pathFrom:r,pathTo:o,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(e(e({},E),{},{speed:g})),A.globals.dataChanged&&P&&I&&C.animatePathsGradually(e(e({},E),{},{speed:u})),X}},{key:"drawPattern",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){"horizontalLines"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):"verticalLines"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):"slantedLines"===t?r.line(0,0,e,i).stroke({color:a,width:s}):"squares"===t?r.rect(e,i).fill("none").stroke({color:a,width:s}):"circles"===t&&r.circle(e).fill("none").stroke({color:a,width:s})}))}},{key:"drawGradient",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf("#")&&(e=x.hexToRgba(e,a)),i.length<9&&0===i.indexOf("#")&&(i=x.hexToRgba(i,s));var d=0,g=1,u=1,p=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,p=void 0!==n[3]?n[3]/100:null);var f=!("donut"!==c.config.chart.type&&"pie"!==c.config.chart.type&&"polarArea"!==c.config.chart.type&&"bubble"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==p&&t.at(p,e,a)})):c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),f){var b=c.globals.gridWidth/2,v=c.globals.gridHeight/2;"bubble"!==c.config.chart.type?r.attr({gradientUnits:"userSpaceOnUse",cx:b,cy:v,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else"vertical"===t?r.from(0,0).to(0,1):"diagonal"===t?r.from(0,0).to(1,1):"horizontal"===t?r.from(0,1).to(1,1):"diagonal2"===t&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(".apexcharts-series path").members,h=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute("selected","false"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute("selected","true"),o="true",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if("true"===o){var d=i.config.states.active.filter;if("none"!==d)a.applyFilter(t,s,d.type,d.value);else if("none"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if("none"!==i.config.states.active.filter.type)if("none"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent("dataPointSelection",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(t){var e={};return t&&"function"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:"getTextRects",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:"start",fontSize:e,fontFamily:i,foreColor:"#fff",opacity:0});a&&o.attr("transform",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:"placeTextWithEllipsis",value:function(t,e,i){if("function"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+"...");t.textContent="."}}}],[{key:"setAttrs",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),y=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getStackedSeriesTotals",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:"isSeriesNull",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:"seriesHaveSameValues",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:"getCategoryLabels",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:"getLargestSeries",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:"getLargestMarkerSize",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:"getSeriesTotals",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]0&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:"extendArrayProps",value:function(t,e,i){return e.yaxis&&(e=t.extendYAxis(e,i)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}]),t}(),w=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e}return r(t,[{key:"setOrientations",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if("vertical"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4),"top"===t.label.position?s.setAttribute("y",parseFloat(s.getAttribute("y"))+r.width):s.setAttribute("y",parseFloat(s.getAttribute("y"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute("transform","rotate(-90 ".concat(n," ").concat(l,")"))}}}},{key:"addBackgroundToAnno",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;"vertical"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:"annotationsBackground",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(a,"']"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener("mouseenter",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener("mouseleave",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener("click",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,"xaxis")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,"yaxis")})),e.config.annotations.points.map((function(t,e){i(t,e,"point")}))}},{key:"getY1Y2",value:function(t,e){var i,a="y1"===t?e.y:e.y2,s=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels.indexOf(a);s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels.indexOf(a));var o=s.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(r+1)+")");o&&(i=parseFloat(o.getAttribute("y")))}else{var n;if(s.config.yaxis[e.yAxisIndex].logarithmic)n=(a=new y(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex];else n=(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight);i=s.globals.gridHeight-n,!e.marker||void 0!==e.y&&null!==e.y||(i=0),s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=n)}return"string"==typeof a&&a.indexOf("px")>-1&&(i=parseFloat(a)),i}},{key:"getX1X2",value:function(t,e){var i=this.w,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,s=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,r=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=(e.x-a)/(r/i.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(o=(s-e.x)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(o=this.getStringX(e.x));var n=(e.x2-a)/(r/i.globals.gridWidth);return this.annoCtx.inversedReversedAxis&&(n=(s-e.x2)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(n=this.getStringX(e.x2)),void 0!==e.x&&null!==e.x||!e.marker||(o=i.globals.gridWidth),"x1"===t&&"string"==typeof e.x&&e.x.indexOf("px")>-1&&(o=parseFloat(e.x)),"x2"===t&&"string"==typeof e.x2&&e.x2.indexOf("px")>-1&&(n=parseFloat(e.x2)),"x1"===t?o:n}},{key:"getStringX",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(a+1)+")");return s&&(i=parseFloat(s.getAttribute("x"))),i}}]),t}(),k=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addXaxisAnnotation",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2("x1",t),o=t.label.text,n=t.strokeDashArray;if(x.isNumber(r)){if(null===t.x2||void 0===t.x2){var l=this.annoCtx.graphics.drawLine(r+t.offsetX,0+t.offsetY,r+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,n,t.borderWidth);e.appendChild(l.node),t.id&&l.node.classList.add(t.id)}else{if((a=this.helpers.getX1X2("x2",t))o){var h=o;o=a,a=h}var c=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);c.node.classList.add("apexcharts-annotation-rect"),c.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d="right"===t.label.position?s.globals.gridWidth:"center"===t.label.position?s.globals.gridWidth/2:0,g=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});g.attr({rel:i}),e.appendChild(g.node)}},{key:"_getYAxisAnnotationWidth",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf("%")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:"drawYAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),S=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addPointAnnotation",value:function(t,e,i){this.w;var a=this.helpers.getX1X2("x1",t),s=this.helpers.getY1Y2("y1",t);if(x.isNumber(a)){var r={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:"apexcharts-point-annotation-marker ".concat(t.marker.cssClass," ").concat(t.id?t.id:"")},o=this.annoCtx.graphics.drawMarker(a+t.marker.offsetX,s+t.marker.offsetY,r);e.appendChild(o.node);var n=t.label.text?t.label.text:"",l=this.annoCtx.graphics.drawText({x:a+t.label.offsetX,y:s+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});if(l.attr({rel:i}),e.appendChild(l.node),t.customSVG.SVG){var h=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+t.customSVG.cssClass});h.attr({transform:"translate(".concat(a+t.customSVG.offsetX,", ").concat(s+t.customSVG.offsetY,")")}),h.node.innerHTML=t.customSVG.SVG,e.appendChild(h.node)}if(t.image.path){var c=t.image.width?t.image.width:20,d=t.image.height?t.image.height:20;o=this.annoCtx.addImage({x:a+t.image.offsetX-c/2,y:s+t.image.offsetY-d/2,width:c,height:d,path:t.image.path,appendTo:".apexcharts-point-annotations"})}t.mouseEnter&&o.node.addEventListener("mouseenter",t.mouseEnter.bind(this,t)),t.mouseLeave&&o.node.addEventListener("mouseleave",t.mouseLeave.bind(this,t)),t.click&&o.node.addEventListener("click",t.click.bind(this,t))}}},{key:"drawPointAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var C={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},L=function(){function t(){a(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,radius:2,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return r(t,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:"easeinout",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"transparent",locales:[C],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0},stacked:!1,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",dateFormatter:function(t){return new Date(t).toDateString()}},png:{filename:void 0},svg:{filename:void 0}},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+"%"}}}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:"#fff",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:2},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",width:8,height:8,radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:"none",value:0}},hover:{filter:{type:"lighten",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken",value:.5}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"light",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),t}(),P=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.graphics=new m(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new w(this),this.xAxisAnnotations=new k(this),this.yAxisAnnotations=new A(this),this.pointsAnnotations=new S(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return r(t,[{key:"drawAxesAnnotations",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||"scatter"!==t.config.chart.type&&"bubble"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add("apexcharts-element-hidden"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:"drawTextAnnos",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:"addXaxisAnnotation",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:"addYaxisAnnotation",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:"addPointAnnotation",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:"addText",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?".apexcharts-annotations":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:n||"12px",fontWeight:h||"regular",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),I=L.globals.dom.baseEl.querySelector(b);I&&I.appendChild(P.node);var T=P.bbox();if(s){var M=this.graphics.drawRect(T.x-m,T.y-C,T.width+m+w,T.height+A+C,p,d||"transparent",1,g,f,u);I.insertBefore(M.node,P.node)}}},{key:"addImage",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?".apexcharts-annotations":g,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,n);var f=i.globals.dom.baseEl.querySelector(u);return f&&f.appendChild(p.node),p}},{key:"addXaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),h=l.childNodes.length+1,c=new L,d=Object.assign({},"xaxis"===s?c.xAxisAnnotation:"yaxis"===s?c.yAxisAnnotation:c.pointAnnotation),g=x.extend(d,e);switch(s){case"xaxis":this.addXaxisAnnotation(g,l,h);break;case"yaxis":this.addYaxisAnnotation(g,l,h);break;case"point":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(h,"']")),p=this.helpers.addBackgroundToAnno(u,g);return p&&l.insertBefore(p.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:x.randomId(),method:r,label:"addAnnotation",params:e}),a}},{key:"clearAnnotations",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations");e.globals.memory.methodsToExec.map((function(t,i){"addText"!==t.label&&"addAnnotation"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=x.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:"removeAnnotation",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),I=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return r(t,[{key:"isValidDate",value:function(t){return!isNaN(this.parseDate(t))}},{key:"getTimeStamp",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:"getDate",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:"parseDate",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "));return i=this.getTimeStamp(i)}},{key:"parseDateWithTimezone",value:function(t){return Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "))}},{key:"formatDate",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=["\0"].concat(u(i.months)),r=["\x01"].concat(u(i.shortMonths)),o=["\x02"].concat(u(i.days)),n=["\x03"].concat(u(i.shortDays));function l(t,e){var i=t+"";for(e=e||2;i.length12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\])HH+/g,"$1"+l(g))).replace(/(^|[^\\])H/g,"$1"+g)).replace(/(^|[^\\])hh+/g,"$1"+l(p))).replace(/(^|[^\\])h/g,"$1"+p);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\])mm+/g,"$1"+l(f))).replace(/(^|[^\\])m/g,"$1"+f);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\])ss+/g,"$1"+l(x))).replace(/(^|[^\\])s/g,"$1"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\])fff+/g,"$1"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\])ff/g,"$1"+l(b)),b=Math.round(b/10);var v=g<12?"AM":"PM";e=(e=(e=e.replace(/(^|[^\\])f/g,"$1"+b)).replace(/(^|[^\\])TT+/g,"$1"+v)).replace(/(^|[^\\])T/g,"$1"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\])tt+/g,"$1"+m)).replace(/(^|[^\\])t/g,"$1"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?"Z":y>0?"+":"-";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+":"+l(k)}e=e.replace(/(^|[^\\])K/g,"$1"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],"g"),o[A])).replace(new RegExp(n[0],"g"),n[A])).replace(new RegExp(s[0],"g"),s[c])).replace(new RegExp(r[0],"g"),r[c])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" "),n=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:"isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"calculcateLastDaysOfMonth",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:"determineDaysOfYear",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:"determineRemainingDaysOfYear",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(t,e){var i=30;switch(t=x.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),T=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return r(t,[{key:"xLabelFormat",value:function(t,e,i,a){var s=this.w;if("datetime"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new I(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:"defaultGeneralFormatter",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:"defaultYFormatter",value:function(t,e,i){var a=this.w;return x.isNumber(t)&&(t=0!==a.globals.yValueDecimal?t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal):a.globals.maxYArr[i]-a.globals.minYArr[i]<5?t.toFixed(1):t.toFixed(0)),t}},{key:"setLabelFormatters",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(x.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&"numeric"===e.config.xaxis.type){if(x.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},"function"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,"function"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:"heatmapLabelFormatters",value:function(){var t=this.w;if("heatmap"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),M=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,o=t.y1,n=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],g=l.config.series[s].name?l.config.series[s].name:"",u=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};("function"==typeof p&&(g=p(g,f)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||"datetime"===l.config.xaxis.type&&(d=new T(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new I(a).formatDate,w:l}));"function"==typeof u&&(d=u(d,f)),Number.isFinite(o)&&Number.isFinite(n)&&(h=o,c=n);var x="",b="",v=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if("datetime"===l.config.xaxis.type){var m=new I(a);x=m.formatDate(m.getDate(h),l.config.tooltip.x.format),b=m.formatDate(m.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:v,seriesName:g}},X=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,o=t.seriesIndex,n=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(o);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[o][n]),c='\n '.concat(s,'\n - \n ').concat(r,"\n ");return'
'+(i||"")+'
'+a+": "+(t.w.globals.comboCharts?"rangeArea"===t.w.config.series[o].type||"rangeBar"===t.w.config.series[o].type?c:"".concat(h,""):c)+"
"},z=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(t){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0;return x.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"candlestick",value:function(){var t=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:5,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?"rangeBar"===s.config.series[i].type||"rangeArea"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var i=M(e(e({},t),{},{isTimeline:!0})),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t):function(t){var i=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var i=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}}}}},{key:"brush",value:function(t){return x.extend(t,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),"bar"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return"number"==typeof t&&t?t.toFixed(0)+"%":t}),t}},{key:"stackedBars",value:function(){var t=this.bar();return e(e({},t),{},{plotOptions:e(e({},t.plotOptions),{},{bar:e(e({},t.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:"convertCatToNumericXaxis",value:function(t,e,i){t.xaxis.type="numeric",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return x.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return x.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||"dataPoints",t}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"polarArea",value:function(){return this.opts.yaxis[0].tickAmount=this.opts.yaxis[0].tickAmount?this.opts.yaxis[0].tickAmount:6,{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:"_getBoxTooltip",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\n '.concat(t.config.series[e].name?t.config.series[e].name:"series-"+(e+1),": ").concat(t.globals.series[e][i],"\n
"):'
')+"
".concat(a[0],': ')+r+"
"+"
".concat(a[1],': ')+o+"
"+(n?"
".concat(a[2],': ')+n+"
":"")+"
".concat(a[3],': ')+l+"
"+"
".concat(a[4],': ')+h+"
"}}]),t}(),E=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(t){var e=t.responsiveOverride,a=this.opts,s=new L,r=new z(a);this.chartType=a.chart.type,a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&"object"===i(a)){var l,h,c,d,g,u,p={};p=-1!==["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),a.chart.stacked&&"bar"===a.chart.type&&(p=r.stackedBars()),null!==(l=a.chart.brush)&&void 0!==l&&l.enabled&&(p=r.brush(p)),a.chart.stacked&&"100%"===a.chart.stackType&&(a=r.stacked100(a)),null!==(h=a.plotOptions)&&void 0!==h&&null!==(c=h.bar)&&void 0!==c&&c.isDumbbell&&(a=r.dumbbell(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},e||(a.xaxis.convertedCatToNumeric=!1),(null!==(d=(a=this.checkForCatToNumericXAxis(this.chartType,p,a)).chart.sparkline)&&void 0!==d&&d.enabled||null!==(g=window.Apex.chart)&&void 0!==g&&null!==(u=g.sparkline)&&void 0!==u&&u.enabled)&&(p=r.sparkline(p)),n=x.extend(o,p)}var f=x.extend(n,window.Apex);return o=x.extend(f,a),o=this.handleUserInputErrors(o)}},{key:"checkForCatToNumericXAxis",value:function(t,e,i){var a,s,r=new z(i),o=("bar"===t||"boxPlot"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),n="pie"===t||"polarArea"===t||"donut"===t||"radar"===t||"radialBar"===t||"heatmap"===t,l="datetime"!==i.xaxis.type&&"numeric"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return o||n||!l||"between"===h||(i=r.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(t,e){var i=new L;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=x.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[x.extend(i.yAxis,t.yaxis)]:t.yaxis=x.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name="series-".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=x.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both."),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new L;return t.annotations.yaxis=x.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new L;return t.annotations.xaxis=x.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new L;return t.annotations.points=x.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.chart.background||(t.chart.background="#424242"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if("bar"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&"barWidth"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width="tickWidth"),"candlestick"!==e.chart.type&&"boxPlot"!==e.chart.type||e.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(e.chart.type," chart is not supported.")),e.yaxis[0].reversed=!1),e}}]),t}(),Y=function(){function t(){a(this,t)}return r(t,[{key:"initGlobalVars",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0}},{key:"globalVars",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],yAxisSameScaleIndices:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:"zoom"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:"pan"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:"selection"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null}}},{key:"init",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=x.extend({},t),e.initialSeries=x.clone(t.series),e.lastXAxis=x.clone(e.initialConfig.xaxis),e.lastYAxis=x.clone(e.initialConfig.yaxis),e}}]),t}(),F=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(){var t=new E(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new Y).init(t)}}}]),t}(),R=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return r(t,[{key:"clippedImgArea",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,"pattern");m.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:"userSpaceOnUse",width:n+"px",height:l+"px"});var c=document.createElementNS(e.globals.SVGNS,"image");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,"href",o),m.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:n+"px",height:l+"px"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:"getSeriesIndex",value:function(t){var e=this.w;return("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||"heatmap"===e.config.chart.type||"treemap"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),"function"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=t.fillType?t.fillType:this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color);var h=o;if(-1===o.indexOf("rgb")?o.length<9&&(h=x.hexToRgba(o,l)):o.indexOf("rgba")>-1&&(l=x.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),"pattern"===n&&(a=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:a,fillColor:o,fillOpacity:l,defaultColor:h})),"gradient"===n&&(s=this.handleGradientFill({fillConfig:t.fillConfig,fillColor:o,fillOpacity:l,i:this.seriesIndex})),"image"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:"";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(u=x.getOpacityFromRGBA(g));var p=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[r]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)n="dark"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?x.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?x.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var f=o.gradient.gradientToColors[l.seriesNumber];n=f,f.indexOf("rgba")>-1&&(p=x.getOpacityFromRGBA(f))}else n=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(n=o.gradient.gradientTo),o.gradient.inverseColors){var b=g;g=n,n=b}return g.indexOf("rgb")>-1&&(g=x.rgb2hex(g)),n.indexOf("rgb")>-1&&(n=x.rgb2hex(n)),h.drawGradient(d,g,n,u,p,l.size,o.gradient.stops,o.gradient.colorStops,r)}}]),t}(),D=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"setGlobalMarkerSize",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new m(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(o.globals.cuid,")")),Array.isArray(l.x))for(var g=0;g0:o.config.markers.size>0)||r||d){x.isNumber(l.y[g])?p+=" w".concat(x.randomId()):p="apexcharts-nullpoint";var f=this.getMarkerConfig({cssClass:p,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(f.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(f.pointStrokeColor=o.config.series[n].data[u].strokeColor)),a&&(f.pSize=a),(l.x[g]<0||l.x[g]>o.globals.gridWidth||l.y[g]<0||l.y[g]>o.globals.gridHeight)&&(f.pSize=0),(s=c.drawMarker(l.x[g],l.y[g],f)).attr("rel",u),s.attr("j",u),s.attr("index",e),s.node.setAttribute("default-marker-size",f.pSize),new v(this.ctx).setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:"getMarkerConfig",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.finishRadius,o=void 0===r?null:r,n=this.w,l=this.getMarkerStyle(i),h=n.globals.markers.size[i],c=n.config.markers;return null!==s&&c.discrete.length&&c.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,h=t.size,l.pointShape=t.shape)})),{pSize:null===o?h:o,pRadius:c.radius,width:Array.isArray(c.width)?c.width[i]:c.width,height:Array.isArray(c.height)?c.height[i]:c.height,pointStrokeWidth:Array.isArray(c.strokeWidth)?c.strokeWidth[i]:c.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(c.shape)?c.shape[i]:c.shape),class:e,pointStrokeOpacity:Array.isArray(c.strokeOpacity)?c.strokeOpacity[i]:c.strokeOpacity,pointStrokeDashArray:Array.isArray(c.strokeDashArray)?c.strokeDashArray[i]:c.strokeDashArray,pointFillOpacity:Array.isArray(c.fillOpacity)?c.fillOpacity[i]:c.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(t){var e=this.w,i=new m(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener("click",e.config.markers.onClick),t.node.addEventListener("dblclick",e.config.markers.onDblClick),t.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:"getMarkerStyle",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),H=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled}return r(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(h.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),Array.isArray(o.x))for(var c=0;cf.maxBubbleRadius&&(p=f.maxBubbleRadius)}a.config.chart.animations.enabled||(u=p);var x=o.x[c],b=o.y[c];if(u=u||0,null!==b&&void 0!==a.globals.series[r][d]||(g=!1),g){var v=this.drawPoint(x,b,u,p,r,d,e);h.add(v)}l.add(h)}}},{key:"drawPoint",value:function(t,e,i,a,s,r,o){var n=this.w,l=s,h=new b(this.ctx),c=new v(this.ctx),d=new R(this.ctx),g=new D(this.ctx),u=new m(this.ctx),p=g.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:l,dataPointIndex:r,finishRadius:"bubble"===n.config.chart.type||n.globals.comboCharts&&n.config.series[s]&&"bubble"===n.config.series[s].type?a:null});a=p.pSize;var f,x=d.fillPath({seriesNumber:s,dataPointIndex:r,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[s][o]});if("circle"===p.shape?f=u.drawCircle(i):"square"!==p.shape&&"rect"!==p.shape||(f=u.drawRect(0,0,p.width-p.pointStrokeWidth/2,p.height-p.pointStrokeWidth/2,p.pRadius)),n.config.series[l].data[r]&&n.config.series[l].data[r].fillColor&&(x=n.config.series[l].data[r].fillColor),f.attr({x:t-p.width/2-p.pointStrokeWidth/2,y:e-p.height/2-p.pointStrokeWidth/2,cx:t,cy:e,fill:x,"fill-opacity":p.pointFillOpacity,stroke:p.pointStrokeColor,r:a,"stroke-width":p.pointStrokeWidth,"stroke-dasharray":p.pointStrokeDashArray,"stroke-opacity":p.pointStrokeOpacity}),n.config.chart.dropShadow.enabled){var y=n.config.chart.dropShadow;c.dropShadow(f,y,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var w=n.config.chart.animations.speed;h.animateMarker(f,0,"circle"===p.shape?a:{width:p.width,height:p.height},w,n.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(f)}),100)}))}if(n.globals.dataChanged&&"circle"===p.shape)if(this.dynamicAnim){var k,A,S,C,L=n.config.chart.animations.dynamicAnimation.speed;null!=(C=n.globals.previousPaths[s]&&n.globals.previousPaths[s][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var P=0;Pn.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var p=n.globals.dataLabelsRects[a][u];(t>p.x+p.width+2||e>p.y+p.height+2||t+ce.globals.gridWidth+f.textRects.width+10)&&(n="");var x=e.globals.dataLabels.style.colors[r];(("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(x=e.globals.dataLabels.style.colors[o]),"function"==typeof x&&(x=x({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(x=g);var b=d.offsetX,y=d.offsetY;if("bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||(b=0,y=0),f.drawnextLabel){var w=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+b,y:s+y,foreColor:x,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||"normal"});if(w.attr({class:"apexcharts-datalabel",cx:a,cy:s}),d.dropShadow.enabled){var k=d.dropShadow;new v(this.ctx).dropShadow(w,k)}c.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}}}},{key:"addBackgroundToDataLabel",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new m(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,"transparent"===i.config.chart.background?"#fff":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new v(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:"dataLabelsBackground",value:function(){var t=this.w;if("bubble"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=x.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:"toggleSeriesOnHover",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels");if("mousemove"===t.type){var s=parseInt(e.getAttribute("rel"),10)-1,r=null,o=null;i.globals.axisCharts||"radialBar"===i.config.chart.type?i.globals.axisCharts?(r=i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(s,"']")),o=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(s,"']"))):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']")):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var n=0;n=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[o])}else"mouseout"===t.type&&r("remove")}},{key:"getActiveConfigSeriesIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"asc",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r="asc"===t?0:s.length-1;"asc"===t?r=0;"asc"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return"bar"===t.type||"column"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:"getPreviousPaths",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute("data:realIndex")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(e,"'] rect")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e("x")),y:parseFloat(e("y")),width:parseFloat(e("width")),height:parseFloat(e("height"))};a.push({rect:s,color:i[t].getAttribute("color")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),W=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new y(this.ctx)}return r(t,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var t=this.w.config.series.slice(),e=new N(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new N(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s="boxPlot"===i.chart.type||"boxPlot"===i.series[e].type,r=0;r=5?this.twoDSeries.push(x.parseNumber(t[e].data[r][4])):this.twoDSeries.push(x.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,s=this.w.config,r=this.w.globals,o=new I(a),n=s.labels.length>0?s.labels.slice():s.xaxis.categories.slice();if(r.isRangeBar="rangeBar"===s.chart.type&&r.isBarHorizontal,r.hasXaxisGroups="category"===s.xaxis.type&&s.xaxis.group.groups.length>0,r.hasXaxisGroups&&(r.groups=s.xaxis.group.groups),r.hasSeriesGroups=null===(e=t[0])||void 0===e?void 0:e.group,r.hasSeriesGroups){var l=[],h=u(new Set(t.map((function(t){return t.group}))));t.forEach((function(t,e){var i=h.indexOf(t.group);l[i]||(l[i]=[]),l[i].push(t.name)})),r.seriesGroups=l}for(var c=function(){for(var t=0;t0&&(this.twoDSeriesX=n,r.seriesX.push(this.twoDSeriesX))),r.labels.push(this.twoDSeriesX);var g=t[d].data.map((function(t){return x.parseNumber(t)}));r.series.push(g)}r.seriesZ.push(this.threeDSeries),void 0!==t[d].name?r.seriesNames.push(t[d].name):r.seriesNames.push("series-"+parseInt(d+1,10)),void 0!==t[d].color?r.seriesColors.push(t[d].color):r.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=i.labels.filter((function(t,e,i){return i.indexOf(t)===e}))),e.xaxis.convertedCatToNumeric)new z(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:"_generateExternalLabels",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?"":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new T(this.ctx),p=l;o&&(h=u.xLabelFormat(c,l,p,{i:a,dateFormatter:new I(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new I(this.ctx).formatDate,w:n})));var f,x;e.length>0?(f=e[a].unit,x=null,e.forEach((function(t){"month"===t.unit?x="year":"day"===t.unit?x="month":"hour"===t.unit?x="day":"minute"===t.unit&&(x="hour")})),g=x===f,i=e[a].position,h=e[a].value):"datetime"===n.config.xaxis.type&&void 0===d&&(h=""),void 0===h&&(h=""),h=Array.isArray(h)?h:h.toString();var b=new m(this.ctx),v={};v=n.globals.rotateXLabels&&o?b.getTextRects(h,parseInt(r,10),null,"rotate(".concat(n.config.xaxis.labels.rotate," 0 0)"),!1):b.getTextRects(h,parseInt(r,10));var y=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(0===h.indexOf("NaN")||0===h.toLowerCase().indexOf("invalid")||h.toLowerCase().indexOf("infinity")>=0||s.indexOf(h)>=0&&y)&&(h=""),{x:i,text:h,textRect:v,isBold:g}}},{key:"checkLabelBasedOnTickamount",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return"dataPoints"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=""),e}},{key:"checkForOverflowingLabels",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=""),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.x0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+n.config.yaxis[s].labels.offsetY-1;n.globals.isBarHorizontal&&(d=r*c),"heatmap"===n.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);o.add(g),h+=r}}}}]),t}(),G=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"scaleSvgNode",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,"width")),a=parseFloat(t.getAttributeNS(null,"height"));t.setAttributeNS(null,"width",i*e),t.setAttributeNS(null,"height",a*e),t.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"fixSvgStringForIe11",value:function(t){if(!x.isIE11())return t.replace(/ /g," ");var e=0,i=t.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g,(function(t){return 2===++e?'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev"':t}));return i=(i=i.replace(/xmlns:NS\d+=""/g,"")).replace(/NS\d+:(\w+:\w+=")/g,"$1")}},{key:"getSvgString",value:function(t){null==t&&(t=1);var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:"cleanup",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=t.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(a,(function(t){t.setAttribute("width",0)})),e&&e[0]&&(e[0].setAttribute("x",-500),e[0].setAttribute("x1",-500),e[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(e)}},{key:"dataURI",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement("canvas");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o="transparent"===a.config.chart.background?"#fff":a.config.chart.background,n=r.getContext("2d");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&x.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d="data:image/svg+xml,"+encodeURIComponent(l),g=new Image;g.crossOrigin="anonymous",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL("image/png");i({imgURI:e})}},g.src=d}}))}},{key:"exportToSVG",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,".svg")}},{key:"exportToPng",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+".png"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,".png")}))}},{key:"exportToCSV",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?",":s,o=t.lineDelimiter,n=void 0===o?"\n":o,l=this.w;i||(i=l.config.series);var h=[],c=[],d="",g=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),p=Math.max.apply(Math,u(i.map((function(t){return t.data?t.data.length:0})))),f=new W(this.ctx),b=new B(this.ctx),v=function(t){var i="";if(l.globals.axisCharts){if("category"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new N(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=b.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;"datetime"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return Array.isArray(i)&&(i=i.join(" ")),x.isNumber(i)?i:i.split(r).join("")},m=function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data){t.data=t.data.length&&t.data||u(Array(p)).map((function(){return""}));for(var a=0;a=10?l.config.chart.toolbar.export.csv.dateFormatter(s):x.isNumber(s)?s:s.split(r).join("")));for(var o=0;o0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],"top"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight+1,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return r(t,[{key:"drawXaxis",value:function(){var t=this.w,e=new m(this.ctx),i=e.group({class:"apexcharts-xaxis",transform:"translate(".concat(t.config.xaxis.offsetX,", ").concat(t.config.xaxis.offsetY,")")}),a=e.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m="category"===d.config.xaxis.type?d.globals.dataPoints:v;if(0===m&&v>m&&(m=v),s){var y=m>1?m-1:m;o=d.globals.gridWidth/y,b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&"top"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&"dataPoints"!==d.config.xaxis.tickAmount&&"datetime"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-("top"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:"middle",fontWeight:y.isBold?600:f,fontSize:g,fontFamily:u,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+x});if(i.add(k),k.on("click",(function(t){if("function"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,n.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,"title");A.textContent=Array.isArray(y.text)?y.text.join(" "):y.text,k.node.appendChild(A),""!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,"top"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new m(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}return r(t,[{key:"drawGridArea",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new m(this.ctx);null===t&&(t=i.group({class:"apexcharts-grid"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(s),t.add(a),t}},{key:"drawGrid",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new m(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elForecastMask.setAttribute("id","forecastMask".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elNonForecastMask.setAttribute("id","nonForecastMask".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;("bar"===r||"rangeBar"===r||"candlestick"===r||"boxPlot"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2,e.gridWidth+a+n+o+4,e.gridHeight+a,0,"#fff");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector("defs");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||"radar"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:o,parent:n});var h=0;if(l.globals.hasXaxisGroups&&"between"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d2));s++);return!t.globals.isBarHorizontal||this.isRangeBar?(i=this.xaxisLabels.length,this.isRangeBar&&(i--,a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount)),this._drawXYLines({xCount:i,tickAmount:a})):(i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a})),this.drawGridBands(i,a),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.globals.gridWidth/i}}},{key:"drawGridBands",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:"row"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:"column"}),h+=i.globals.gridWidth/l}}]),t}(),_=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"niceScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,r=this.w,o=Math.abs(e-t);if("dataPoints"===(i=this._adjustTicksForSmallRange(i,a,o))&&(i=r.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!x.isNumber(t)&&!x.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)return t=0,e=i,this.linearScale(t,e,i);t>e?(console.warn("axis.min cannot be greater than axis.max"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var n=[];o<1&&s&&("candlestick"===r.config.chart.type||"candlestick"===r.config.series[a].type||"boxPlot"===r.config.chart.type||"boxPlot"===r.config.series[a].type||r.globals.isRangeData)&&(e*=1.01);var l=i+1;l<2?l=2:l>2&&(l-=2);var h=o/l,c=Math.floor(x.log10(h)),d=Math.pow(10,c),g=Math.round(h/d);g<1&&(g=1);var u=g*d,p=u*Math.floor(t/u),f=u*Math.ceil(e/u),b=p;if(s&&o>2){for(;n.push(b),!((b+=u)>f););return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}var v=t;(n=[]).push(v);for(var m=Math.abs(e-t)/i,y=0;y<=i;y++)v+=m,n.push(v);return n[n.length-2]>=e&&n.pop(),{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3?arguments[3]:void 0,s=Math.abs(e-t);"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,s))&&(i=this.w.globals.dataPoints-1);var r=s/i;i===Number.MAX_VALUE&&(i=10,r=1);for(var o=[],n=t;i>=0;)o.push(n),n+=r,i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:"logarithmicScaleNice",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5)a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.logarithmicScale(e,i,r.logBase),a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase);else if(i!==-Number.MAX_VALUE&&x.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===r.min&&void 0===r.max||r.forceNiceScale){var n=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,r.tickAmount?r.tickAmount:o<5&&o>1?o+1:5,t,n)}else a.yAxisScale[t]=this.linearScale(e,i,r.tickAmount,t);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,r=Math.abs(e-t);return e!==-Number.MAX_VALUE&&x.isNumber(e)?a.xAxisScale=this.linearScale(t,e,s.tickAmount?s.tickAmount:r<5&&r>1?r+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:"setMultipleYScales",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,o){var n=o;i.series.forEach((function(t,i){t.name===e.seriesName&&(n=i,o!==i?r.push({index:i,similarIndex:o,alreadyExists:!0}):r.push({index:i}))}));var l=a[n],h=s[n];t.setYScaleForIndex(o,l,h)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:"sameScaleInMultipleAxes",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,o=[];i.forEach((function(t){t.alreadyExists&&(void 0===o[t.index]&&(o[t.index]=[]),o[t.index].push(t.index),o[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=o,o.forEach((function(t,e){o.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(o[e]=o[e].concat(o[a]))}))}));var n=o.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));o=o.filter((function(t){return!!t}));var l=n.slice(),h=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return h.indexOf(JSON.stringify(t))===e}));var c=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===c[s]&&(c[s]=[],d[s]=[]),c[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.min(t.value,g[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.max(t.value,u[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var o=g[i],n=u[i];s.chart.stacked&&(n=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(n+=t.value),o!==Number.MIN_VALUE&&(o+=c[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(o="function"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(n="function"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,o,n))}))}))}))}},{key:"autoScaleY",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn("autoScaleYaxis is not supported in a multi-yaxis chart."),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,o){for(var n=0,l=0;l=i.xaxis.min){n=l;break}var h,c,d=a.globals.minYArr[o],g=a.globals.maxYArr[o],u=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(o,l){var p=o[n];r?(p=u[n],h=c=p,u.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>c&&null!==t&&(c=t),o[e]=i.xaxis.min){var r=t,o=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),o=Math.max(i[e],o))})),o>c&&null!==o&&(c=o),rd&&(h=d),e.length>1?(e[l].min=void 0===t.min?h:t.min,e[l].max=void 0===t.max?c:t.max):(e[0].min=void 0===t.min?h:t.min,e[0].max=void 0===t.max?c:t.max)}))})),e}}]),t}(),U=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.scales=new _(e)}return r(t,[{key:"init",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:"getMinYMaxY",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;"candlestick"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):"boxPlot"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);for(var d=t;dh[d][g]&&h[d][g]<0&&(n=h[d][g])):r.hasNullValues=!0}}return"rangeBar"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),"bar"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10||void 0!==e.yaxis[0].min||void 0!==e.yaxis[0].max)&&(o=0),t.minY=i-5*o/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*o/100}if(e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):"dataPoints"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:"_setStackedMinMax",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.config.series.map((function(t){return t.name}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,e){return i.indexOf(t.name)>-1?e:null})).filter((function(t){return null!==t})).forEach((function(t){for(var r=0;r0?a[i][r]+=parseFloat(e.series[t][r])+1e-4:s[i][r]+=parseFloat(e.series[t][r]))}))})),Object.entries(a).forEach((function(t){var i=g(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),q=function(){function t(e,i){a(this,t),this.ctx=e,this.elgrid=i,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX=0,"bottom"===s.config.xaxis.position&&(this.xAxisoffX=s.globals.gridHeight),this.drawnLabels=[],this.axesUtils=new B(e)}return r(t,[{key:"drawYaxis",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.yaxis[t].labels.style,r=s.fontSize,o=s.fontFamily,n=s.fontWeight,l=a.group({class:"apexcharts-yaxis",rel:t,transform:"translate("+i.globals.translateYAxisX[t]+", 0)"});if(this.axesUtils.isYAxisHidden(t))return l;var h=a.group({class:"apexcharts-yaxis-texts-g"});l.add(h);var c=i.globals.yAxisScale[t].result.length-1,d=i.globals.gridHeight/c,g=i.globals.translateY,u=i.globals.yLabelFormatters[t],p=i.globals.yAxisScale[t].result.slice();p=this.axesUtils.checkForReversedLabels(t,p);var f="";if(i.config.yaxis[t].labels.show)for(var x=function(l){var x=p[l];x=u(x,l,i);var b=i.config.yaxis[t].labels.padding;i.config.yaxis[t].opposite&&0!==i.config.yaxis.length&&(b*=-1);var v="end";i.config.yaxis[t].opposite&&(v="start"),"left"===i.config.yaxis[t].labels.align?v="start":"center"===i.config.yaxis[t].labels.align?v="middle":"right"===i.config.yaxis[t].labels.align&&(v="end");var m=e.axesUtils.getYAxisForeColor(s.colors,t),y=a.drawText({x:b,y:g+c/10+i.config.yaxis[t].labels.offsetY+1,text:x,textAnchor:v,fontSize:r,fontFamily:o,fontWeight:n,maxWidth:i.config.yaxis[t].labels.maxWidth,foreColor:Array.isArray(m)?m[l]:m,isPlainText:!1,cssClass:"apexcharts-yaxis-label "+s.cssClass});l===c&&(f=y),h.add(y);var w=document.createElementNS(i.globals.SVGNS,"title");if(w.textContent=Array.isArray(x)?x.join(" "):x,y.node.appendChild(w),0!==i.config.yaxis[t].labels.rotate){var k=a.rotateAroundCenter(f.node),A=a.rotateAroundCenter(y.node);y.node.setAttribute("transform","rotate(".concat(i.config.yaxis[t].labels.rotate," ").concat(k.x," ").concat(A.y,")"))}g+=d},b=c;b>=0;b--)x(b);if(void 0!==i.config.yaxis[t].title.text){var v=a.group({class:"apexcharts-yaxis-title"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:"end",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+i.config.yaxis[t].title.style.cssClass});v.add(w),l.add(v)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(h,c,p,g,this.drawnLabels,this.xaxisFontSize);p=f.x,u=f.text,this.drawnLabels.push(f.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=""),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u="")}var x=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-("top"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,"title");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(t){var e=this.w,i=new m(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:"inversedYAxisTitleText",value:function(t){var e=this.w,i=new m(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,a=new m(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute("x",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate," ").concat(h.x," ").concat(h.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:"setYAxisXPosition",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:"setYAxisTextAlignments",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(e=x.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"));r=x.listToArray(r);var o=s.getBoundingClientRect();"left"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","start")})),a.opposite||s.setAttribute("transform","translate(-".concat(o.width,", 0)"))):"center"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","middle")})),s.setAttribute("transform","translate(".concat(o.width/2*(a.opposite?1:-1),", 0)"))):"right"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute("text-anchor","end")})),a.opposite&&s.setAttribute("transform","translate(".concat(o.width,", 0)")))}}))}}]),t}(),Z=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.documentEvent=x.bind(this.documentEvent,this)}return r(t,[{key:"addEventListener",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:"removeEventListener",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:"fireEvent",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=x.extend(C,i);this.w.globals.locale=a.options}}]),t}(),J=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawAxis",value:function(t,e){var i,a,s=this,r=this.w.globals,o=this.w.config,n=new V(this.ctx,e),l=new q(this.ctx,e);r.axisCharts&&"radar"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=n.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=n.drawXaxis(),r.dom.elGraphical.add(i),o.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),"back"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),Q=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawXCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=new v(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,p=s.blur,f=s.color,b=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){"gradient"===r&&(y=e.drawGradient("vertical",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!x.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!x.isNumber(A)||A<0)&&(A=0),w.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:k,width:A,height:k,fill:y,filter:"none","fill-opacity":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,"stroke-width":t.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:p,color:f,opacity:b})),t.globals.dom.elGraphical.add(w)}}},{key:"drawYCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),t.globals.dom.elGraphical.add(r)}}]),t}(),K=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkResponsiveConfig",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new E({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=y.extendArrayProps(r,i.globals.initialConfig,i);t=x.extend(n,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l0&&"function"==typeof e.config.colors[0]&&(e.globals.colors=e.config.series.map((function(i,a){var s=e.config.colors[a];return s||(s=e.config.colors[0]),"function"==typeof s?(t.isColorFn=!0,s({value:e.globals.axisCharts?e.globals.series[a][0]?e.globals.series[a][0]:0:e.globals.series[a],seriesIndex:a,dataPointIndex:a,w:e})):s})))),e.globals.seriesColors.map((function(t,i){t&&(e.globals.colors[i]=t)})),e.config.theme.monochrome.enabled){var a=[],s=e.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(s=e.globals.series[0].length*e.globals.series.length);for(var r=e.config.theme.monochrome.color,o=1/(s/e.config.theme.monochrome.shadeIntensity),n=e.config.theme.monochrome.shadeTo,l=0,h=0;h2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getLargestStringFromMultiArr",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,u(a));i=e[a.indexOf(s)]}return i}}]),t}(),at=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"getxAxisLabelsCoords",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==e.config.legend.position&&"right"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=x.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new T(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new I(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new I(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||""===String(r).trim())&&(o=r="1");var h=new m(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=x.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new m(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new m(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e}),0);return 1.05*(t=new m(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"additionalPaddingXLabels",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c="right"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||"bar"!==s.chart.type&&"candlestick"!==s.chart.type&&"rangeBar"!==s.chart.type&&"boxPlot"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else"datetime"===r?e.dCtx.gridPad.rightString(n.niceMax).length?c:n.niceMax,g=h(d,{seriesIndex:o,dataPointIndex:-1,w:e}),u=g;if(void 0!==g&&0!==g.length||(g=d),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();g=h(g=x.getLargestStringFromArr(p),{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,p)}var f=new m(t.dCtx.ctx),b="rotate(".concat(r.labels.rotate," 0 0)"),v=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1),y=v;g!==u&&(y=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1)),i.push({width:(l>y.width||l>v.width?l:y.width>v.width?y.width:v.width)+a,height:y.height>v.height?y.height:v.height})}else i.push({width:0,height:0})})),i}},{key:"getyAxisTitleCoords",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new m(t.dCtx.ctx),r="rotate(".concat(e.title.rotate," 0 0)"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:"getTotalYAxisWidth",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new B(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),rt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"gridPadForColumnsInNumericAxis",value:function(t){var e=this.w;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=function(t){return"bar"===t||"rangeBar"===t||"candlestick"===t||"boxPlot"===t},a=e.config.chart.type,s=0,r=i(a)?e.config.series.length:1;if(e.globals.comboBarCount>0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var o,n,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),o=l/t,e.globals.minXDiff&&e.globals.minXDiff/o>0&&(n=e.globals.minXDiff/o),n>t/2&&(n/=2),(s=n/r*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),s=s/(r>1?1:1.5)+5,e.globals.barPadForNumericAxis=s}return s}},{key:"gridPadFortitleSubtitle",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;["title","subtitle"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||"bottom"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(t,e){var i=this.w,a=new B(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),ot=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new it(this),this.dimYAxis=new st(this),this.dimXAxis=new at(this),this.dimGrid=new rt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return r(t,[{key:"plotCoords",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.isSparkline&&(e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=g(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a+4:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;("radar"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||"treemap"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||"treemap"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l};switch("top"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case"bottom":i.translateY=c,d();break;case"top":i.translateY=this.lgRect.height+c,d();break;case"left":i.translateY=c,i.translateX=this.lgRect.width+l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case"right":i.translateY=c,i.translateX=l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new q(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case"bottom":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"top":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"left":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case"right":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&"bottom"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),nt=function(){function t(e){a(this,t),this.w=e.w,this.lgCtx=e}return r(t,[{key:"getLegendStyles",value:function(){var t=document.createElement("style");t.setAttribute("type","text/css");var e=document.createTextNode("\t\n \t\n .apexcharts-legend {\t\n display: flex;\t\n overflow: auto;\t\n padding: 0 10px;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\t\n flex-wrap: wrap\t\n }\t\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n flex-direction: column;\t\n bottom: 0;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n justify-content: flex-start;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\t\n justify-content: center; \t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\t\n justify-content: flex-end;\t\n }\t\n .apexcharts-legend-series {\t\n cursor: pointer;\t\n line-height: normal;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\t\n display: flex;\t\n align-items: center;\t\n }\t\n .apexcharts-legend-text {\t\n position: relative;\t\n font-size: 14px;\t\n }\t\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\t\n pointer-events: none;\t\n }\t\n .apexcharts-legend-marker {\t\n position: relative;\t\n display: inline-block;\t\n cursor: pointer;\t\n margin-right: 3px;\t\n border-style: solid;\n }\t\n \t\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\t\n display: inline-block;\t\n }\t\n .apexcharts-legend-series.apexcharts-no-click {\t\n cursor: auto;\t\n }\t\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\t\n display: none !important;\t\n }\t\n .apexcharts-inactive-legend {\t\n opacity: 0.45;\t\n }");return t.appendChild(e),t}},{key:"getLegendBBox",value:function(){var t=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||"radialBar"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(t,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(t+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(t+1,"'] path")),n=a.config.chart.type;if("pie"===n||"polarArea"===n||"donut"===n){var l=a.config.plotOptions.pie.donut.labels;new m(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire("click")}}},{key:"hideSeries",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=x.clone(a.config.series);if(a.globals.axisCharts){var r=!1;if(a.config.yaxis[i]&&a.config.yaxis[i].show&&a.config.yaxis[i].showAlways&&(r=!0,a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i))),!r){a.globals.collapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.collapsedSeriesIndices.push(i);var o=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(o,1)}}else a.globals.collapsedSeries.push({index:i,data:s[i]}),a.globals.collapsedSeriesIndices.push(i);for(var n=e.childNodes,l=0;l0){for(var r=0;r-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}]),t}(),lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed="bar"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new nt(this)}return r(t,[{key:"init",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),x.isIE11()?document.getElementsByTagName("head")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"drawLegends",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if("heatmap"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+" - "+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h=o(a[l],{seriesIndex:l,w:e}),c=!1,d=!1;if(e.globals.collapsedSeries.length>0)for(var g=0;g0)for(var u=0;u0?l-10:0)+(h>0?h-10:0)}a.style.position="absolute",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=o+"px","bottom"===i.config.legend.position?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):"right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px");["width","height"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+"px")}))}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new ot(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),s=i.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;"bottom"===t.config.legend.position?r=-e.clwh/1.8:"top"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new N(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new N(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:"onLegendClick",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(t.target.getAttribute("rel"),10)-1,a="true"===t.target.getAttribute("data:collapsed"),s=this.w.config.chart.events.legendClick;"function"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;"function"==typeof r&&t.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),"treemap"!==e.config.chart.type&&"heatmap"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=i.globals.minX,this.maxX=i.globals.maxX}return r(t,[{key:"createToolbar",value:function(){var t=this,e=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=e.config.chart.toolbar.offsetY+"px",a.style.right=3-e.config.chart.toolbar.offsetX+"px",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\n \n \n\n'),o("zoomOut",this.elZoomOut,'\n \n \n\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:"zoom"===i?t.elZoom:t.elSelection,icon:"string"==typeof t.t[i]?t.t[i]:"zoom"===i?'\n \n \n \n':'\n \n \n',title:t.localeValues["zoom"===i?"selectionZoom":"selection"],class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(i,"-icon")})};n("zoom"),n("selection"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:"string"==typeof this.t.pan?this.t.pan:'\n \n \n \n \n \n \n \n',title:this.localeValues.pan,class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),o("reset",this.elZoomReset,'\n \n \n'),this.t.download&&r.push({el:this.elMenuIcon,icon:"string"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var l=0;l0&&e.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(a),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:"translate("+o+", "+l+")"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":h.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":h.config.chart.zoom.zoomedArea.stroke.opacity}),m.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,"fill-opacity":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,"stroke-width":h.config.chart.selection.stroke.width,"stroke-dasharray":h.config.chart.selection.stroke.dashArray,"stroke-opacity":h.config.chart.selection.stroke.opacity}),m.setAttrs(d.node,g))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g="x"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:"y"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging("resizing"),g}},{key:"selectionDragging",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;"resizing"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n("x"),y:n("y"),width:n("width"),height:n("height")};a.globals.selection=l,"function"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t=i.gridRect.getBoundingClientRect(),e=r.node.getBoundingClientRect(),o={xaxis:{min:a.globals.xAxisScale.niceMin+(e.left-t.left)*s.xRatio,max:a.globals.xAxisScale.niceMin+(e.right-t.left)*s.xRatio},yaxis:{min:a.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*s.yRatio[0],max:a.globals.yAxisScale[0].niceMax-(e.top-t.top)*s.yRatio[0]}};a.config.chart.events.selection(i.ctx,o),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,o)}),o))}},{key:"selectionDrawn",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=x.clone(a.globals.initialConfig.yaxis),p=x.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),"xy"!==i&&"x"!==i||(p={min:h,max:c}),"xy"!==i&&"y"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),a.config.chart.zoom.autoScaleYaxis){var f=new _(s.ctx);u=f.autoScaleY(s.ctx,u,{xaxis:p})}if(o){var b=o.getBeforeZoomRange(p,u);b&&(p=b.xaxis?b.xaxis:p,u=b.yaxis?b.yaxis:u)}var v={xaxis:p};a.config.chart.group||(v.yaxis=u),s.ctx.updateHelpers._updateOptions(v,!1,s.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof a.config.chart.events.zoomed&&o.zoomCallback(p,u)}else if(a.globals.selectionEnabled){var m,y=null;m={min:h,max:c},"xy"!==i&&"y"!==i||(y=x.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=d[e]})),a.globals.selection=s.selection,"function"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{key:"panDragging",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection="left":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection="right":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection="up":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection="down")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:"delayedPanScrolled",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;"left"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):"right"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:"panScrolled",value:function(t,e){var i=this.w,a=this.xyRatios,s=x.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),"left"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):"right"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new _(this.ctx).autoScaleY(this.ctx,s,{xaxis:l}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,t,e)}},{key:"updateScrolledChart",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(),dt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return r(t,[{key:"getNearestValues",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):r.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):r.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var p=Math.round(g/h),f=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(g/h),p-=1);var b=null,v=null,m=[],y=[];if(r.globals.seriesXvalues.forEach((function(t){m.push([t[0]+1e-6].concat(t))})),r.globals.seriesYvalues.forEach((function(t){y.push([t[0]+1e-6].concat(t))})),m=m.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),y=y.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);b=(v=this.closestInMultiArray(k,A,m,y)).index,p=v.j,null!==b&&(m=r.globals.seriesXvalues[b],p=(v=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===b?-1:b,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:b,j:r.globals.isBarHorizontal?f:p,hoverX:g,hoverY:u}}},{key:"closestInMultiArray",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a0?e:-1})),s=0;s0)for(var a=0;a *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");(t=u(t)).sort((function(t,e){var i=Number(t.getAttribute("data:realIndex")),a=Number(e.getAttribute("data:realIndex"));return ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(".apexcharts-marker"))})),e}},{key:"hasMarkers",value:function(t){return this.getElMarkers(t).length>0}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s ').concat(i.attrs.name,""),e+="
".concat(i.val,"
")})),v.innerHTML=t+"",m.innerHTML=e+""};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML="",m.innerHTML=""):y()}else v.innerHTML="",m.innerHTML="";null!==p&&(a[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=l.config.tooltip.z.title,a[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=void 0!==p?p:"");o&&f[0]&&(null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?f[0].parentNode.style.display="none":f[0].parentNode.style.display=l.config.tooltip.items.display)}},{key:"toggleActiveInactiveSeries",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var i=e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");i&&(i.classList.add("apexcharts-active"),i.style.display=e.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",o="",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&"treemap"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var d=r;a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?r=new T(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new I(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(" "):l,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(o)?o.join(" "):o,zVal:n}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),ut=function(){function t(e){a(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return r(t,[{key:"moveXCrosshairs",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&m.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&m.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new m(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add("apexcharts-active"),i.yaxisTTEls[t].style.top=s+"px",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+"px",r.style.top=h+"px")}},{key:"moveMarkers",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),r=0;r0&&(h.setAttribute("r",n),h.setAttribute("cx",i),h.setAttribute("cy",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,n)}}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray;e=new N(this.ctx).getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var n=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var h=0;h0?(l[h]&&l[h].setAttribute("r",n),l[h]&&l[h].setAttribute("cy",d)):l[h]&&l[h].setAttribute("r",0)}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,n)}},{key:"moveStickyTooltipOverBars",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new N(this.ctx).getActiveConfigSeriesIndex("desc")+1);var o=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"']"));o||"number"!=typeof e||(o=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"']")));var n=o?parseFloat(o.getAttribute("cx")):0,l=o?parseFloat(o.getAttribute("cy")):0,h=o?parseFloat(o.getAttribute("barWidth")):0,c=a.getElGrid().getBoundingClientRect(),d=o&&(o.classList.contains("apexcharts-candlestick-area")||o.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(o&&!d&&(n-=s%2!=0?h/2:0),o&&d&&i.globals.comboCharts&&(n-=h/2)):i.globals.isBarHorizontal||(n=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(n)&&(n=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(n),a.fixedTooltip||this.moveTooltip(n,l||i.globals.gridHeight)}}]),t}(),pt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new ut(e)}return r(t,[{key:"drawDynamicPoints",value:function(){var t=this.w,e=new m(this.ctx),i=new D(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=u(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute("data:realIndex"))-parseFloat(e.getAttribute("data:realIndex"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;"bubble"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute("cx"),o=e.getAttribute("cy");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if("radar"===s.config.chart.type){var n=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-n.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),o=e.config.markers.hover.size,n=0;n=0?t[e].setAttribute("r",i):t[e].setAttribute("r",0)}}}]),t}(),ft=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e}return r(t,[{key:"getAttr",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:"handleHeatTreeTooltip",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains("apexcharts-".concat(r,"-rect"))){var l=this.getAttr(e,"i"),h=this.getAttr(e,"j"),c=this.getAttr(e,"cx"),d=this.getAttr(e,"cy"),g=this.getAttr(e,"width"),u=this.getAttr(e,"height");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var p=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-p.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-p.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var h=parseInt(s.paths.getAttribute("cx"),10),c=parseInt(s.paths.getAttribute("cy"),10),d=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,l.intersect){var g=x.findAncestor(s.paths,"apexcharts-series");g&&(e=parseInt(g.getAttribute("data:realIndex"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),"mouseup"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:"handleBarTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.barHeight,u=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-o.tooltipRect.ttHeight);var p=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10),f=r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed;if(h+o.tooltipRect.ttWidth>r.globals.gridWidth&&!f?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var x=o.getElGrid().getBoundingClientRect();c=o.e.clientY-x.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(f&&(h-=o.tooltipRect.ttWidth)<0&&(h=0),!f||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),c=c+r.globals.translateY-o.tooltipRect.ttHeight/2,n.style.left=h+r.globals.translateX+"px",n.style.top=c+"px")}},{key:"getBarTooltipXY",value:function(t){var e=t.e,i=t.opt,a=this.w,s=null,r=this.ttCtx,o=0,n=0,l=0,h=0,c=0,d=e.target.classList;if(d.contains("apexcharts-bar-area")||d.contains("apexcharts-candlestick-area")||d.contains("apexcharts-boxPlot-area")||d.contains("apexcharts-rangebar-area")){var g=e.target,u=g.getBoundingClientRect(),p=i.elGrid.getBoundingClientRect(),f=u.height;c=u.height;var x=u.width,b=parseInt(g.getAttribute("cx"),10),v=parseInt(g.getAttribute("cy"),10);h=parseFloat(g.getAttribute("barWidth"));var m="touchmove"===e.type?e.touches[0].clientX:e.clientX;s=parseInt(g.getAttribute("j"),10),o=parseInt(g.parentNode.getAttribute("rel"),10)-1;var y=g.getAttribute("data-range-y1"),w=g.getAttribute("data-range-y2");a.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute("data:realIndex"),10)),r.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:o,j:s,y1:y?parseInt(y,10):null,y2:w?parseInt(w,10):null,shared:!r.showOnIntersect&&a.config.tooltip.shared,e:e}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(n=m-p.left+15,l=v-r.dataPointsDividedHeight+f/2-r.tooltipRect.ttHeight/2):(n=a.globals.isXNumeric?b-x/2:b-r.dataPointsDividedWidth+x/2,l=e.clientY-p.top-r.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((n=b)0&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals.yLabelFormatters[t];if(a.yaxisTooltips[t]){var o=a.getElGrid().getBoundingClientRect(),n=(e-o.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],h=s.globals.minYArr[t]+(l-n);a.tooltipPosition.moveYCrosshairs(e-o.top),a.yaxisTooltipText[t].innerHTML=r(h),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),bt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.tConfig=i.config.tooltip,this.tooltipUtil=new dt(this),this.tooltipLabels=new gt(this),this.tooltipPosition=new ut(this),this.marker=new pt(this),this.intersect=new ft(this),this.axesTooltip=new xt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!i.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return r(t,[{key:"getElTooltip",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new V(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&"rangeBar"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement("div");o.classList.add("apexcharts-tooltip-series-group"),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1,e.tConfig.shared&&e.tConfig.enabledOnSeries&&Array.isArray(e.tConfig.enabledOnSeries)&&e.tConfig.enabledOnSeries.indexOf(r)<0&&o.classList.add("apexcharts-tooltip-series-group-hidden");var n=document.createElement("span");n.classList.add("apexcharts-tooltip-marker"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement("div");l.classList.add("apexcharts-tooltip-text"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,["y","goals","z"].forEach((function(t){var e=document.createElement("div");e.classList.add("apexcharts-tooltip-".concat(t,"-group"));var i=document.createElement("span");i.classList.add("apexcharts-tooltip-text-".concat(t,"-label")),e.appendChild(i);var a=document.createElement("span");a.classList.add("apexcharts-tooltip-text-".concat(t,"-value")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf("right")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf("bottom")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+"px",e.style.top=o+"px",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:"seriesHover",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:"seriesHoverByContext",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip();if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new N(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:"axisChartsTooltips",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n="touchmove"===a.type?a.touches[0].clientX:a.clientX,l="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||"bar"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if("mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add("apexcharts-active");var u=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&u.length&&this.ycrosshairs.classList.add("apexcharts-active"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,n,l,s);else if("heatmap"===r.config.chart.type||"treemap"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var f=0;fl.width)this.handleMouseOut(a);else if(null!==n)this.handleStickyCapturedSeries(t,n,a,o);else if(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,o,a.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new m(this.ctx),i=t.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,S=this.w,C=i;"mouseup"===t.type&&this.markerClick(t,a,s),null===A&&(A=this.tConfig.shared);var L=this.tooltipUtil.hasMarkers(a),P=this.tooltipUtil.getElBars();if(S.config.legend.tooltipHoverFormatter){var I=S.config.legend.tooltipHoverFormatter,T=Array.from(this.legendLabels);T.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var M=0;M0?C.marker.enlargePoints(s):C.tooltipPosition.moveDynamicPointsOnHover(s);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(P),this.barSeriesHeight>0)){var R=new m(this.ctx),D=S.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(s,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(s,a);for(var H=0;Hs.globals.gridHeight&&(p=s.globals.gridHeight-v)),{bcx:c,bcy:h,dataLabelsX:e,dataLabelsY:p,totalDataLabelsX:a,totalDataLabelsY:i,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,o=t.groupIndex,n=t.bcy,l=t.barHeight,h=t.barWidth,c=t.textRects,d=t.dataLabelsX,g=t.strokeWidth,u=t.dataLabelsConfig,p=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,x=t.offX,b=t.offY,v=e.globals.gridHeight/e.globals.dataPoints;h=Math.abs(h);var y,w,k=(n+=-1!==o?o*l:0)-(this.barCtx.isRangeBar?0:v)+l/2+c.height/2+b-3,A="start",S=this.barCtx.series[a][s]<0,C=i;switch(this.barCtx.isReversed&&(C=i+h-(S?2*h:0),i=e.globals.gridWidth-h),p.position){case"center":d=S?C+h/2-x:Math.max(c.width/2,C-h/2)+x;break;case"bottom":d=S?C+h-g-Math.round(c.width/2)-x:C-h+g+Math.round(c.width/2)+x;break;case"top":d=S?C-g+Math.round(c.width/2)-x:C-g-Math.round(c.width/2)+x}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var L=new m(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),u.fontSize);S?(y=C-g+Math.round(L.width/2)-x-f.offsetX-15,A="end"):y=C-g-Math.round(L.width/2)+x+f.offsetX+15,w=k+f.offsetY}return e.config.chart.stacked||(d<0?d=d+c.width+g:d+c.width/2>e.globals.gridWidth&&(d=e.globals.gridWidth-c.width-g)),{bcx:i,bcy:n,dataLabelsX:d,dataLabelsY:k,totalDataLabelsX:y,totalDataLabelsY:w,totalDataLabelsAnchor:A}}},{key:"drawCalculatedDataLabels",value:function(t){var i=t.x,a=t.y,s=t.val,r=t.i,o=t.j,n=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g="rotate(0)";"vertical"===d.config.plotOptions.bar.dataLabels.orientation&&(g="rotate(-90, ".concat(i,", ").concat(a,")"));var u=new O(this.barCtx.ctx),p=new m(this.barCtx.ctx),f=c.formatter,x=null,b=d.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!b){x=p.group({class:"apexcharts-data-labels",transform:g});var v="";void 0!==s&&(v=f(s,e(e({},d),{},{seriesIndex:r,dataPointIndex:o,w:d}))),!s&&d.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v="");var y=d.globals.series[r][o]<0,w=d.config.plotOptions.bar.dataLabels.position;if("vertical"===d.config.plotOptions.bar.dataLabels.orientation&&("top"===w&&(c.textAnchor=y?"end":"start"),"center"===w&&(c.textAnchor="middle"),"bottom"===w&&(c.textAnchor=y?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)hMath.abs(h)&&(v=""):n.height/1.6>Math.abs(l)&&(v=""));var k=e({},c);this.barCtx.isHorizontal&&s<0&&("start"===c.textAnchor?k.textAnchor="end":"end"===c.textAnchor&&(k.textAnchor="start")),u.plotDataLabelsText({x:i,y:a,text:v,i:r,j:o,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:"drawTotalDataLabels",value:function(t){var e,i=t.x,a=t.y,s=t.val,r=t.realIndex,o=t.textAnchor,n=t.barTotalDataLabelsConfig,l=new m(this.barCtx.ctx);return n.enabled&&void 0!==i&&void 0!==a&&this.barCtx.lastActiveBarSerieIndex===r&&(e=l.drawText({x:i,y:a,foreColor:n.style.color,text:s,textAnchor:o,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),e}}]),t}(),mt=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e}return r(t,[{key:"initVariables",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/this.barCtx.seriesLen*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:"initializeStackedPrevVars",value:function(t){var e=t.w;e.globals.hasSeriesGroups?e.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]})):(t.prevY=[],t.prevX=[],t.prevYF=[],t.prevXF=[],t.prevYVal=[],t.prevXVal=[])}},{key:"initializeStackedXYVars",value:function(t){var e=t.w;e.globals.hasSeriesGroups?e.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]})):(t.xArrj=[],t.xArrjF=[],t.xArrjVal=[],t.yArrj=[],t.yArrjF=[],t.yArrjVal=[])}},{key:"getPathFillColor",value:function(t,e,i,a){var s,r,o,n,l=this.w,h=new R(this.barCtx.ctx),c=null,d=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(c=a.color)}));return l.config.series[e].data[i]&&l.config.series[e].data[i].fillColor&&(c=l.config.series[e].data[i].fillColor),h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:c,value:t[e][i],fillConfig:null===(s=l.config.series[e].data[i])||void 0===s?void 0:s.fill,fillType:null!==(r=l.config.series[e].data[i])&&void 0!==r&&null!==(o=r.fill)&&void 0!==o&&o.type?null===(n=l.config.series[e].data[i])||void 0===n?void 0:n.fill.type:l.config.fill.type})}},{key:"getStrokeWidth",value:function(t,e,i){var a=0,s=this.w;return this.barCtx.series[t][e]?this.barCtx.isNullValue=!1:this.barCtx.isNullValue=!0,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"shouldApplyRadius",value:function(t){var e=this.w,i=!1;return e.config.plotOptions.bar.borderRadius>0&&(e.config.chart.stacked&&"last"===e.config.plotOptions.bar.borderRadiusWhenStacked?this.barCtx.lastActiveBarSerieIndex===t&&(i=!0):i=!0),i}},{key:"barBackground",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new m(this.barCtx.ctx),c=new N(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.columnWidthOffset&&(p=a-d.config.series[l].data[c].columnWidthOffset/2,u=i+d.config.series[l].data[c].columnWidthOffset);var f=p,x=p+u;s+=.001,r+=.001;var b=g.move(f,s),v=g.move(f,s),y=g.line(x-o,s);if(d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1)),b=b+g.line(f,r)+g.line(x-o,r)+g.line(x-o,s)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),v=v+g.line(f,s)+y+y+y+y+y+g.line(f,s)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(b=g.roundPathCorners(b,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&n&&(w=this.barCtx[n]),w.yArrj.push(r),w.yArrjF.push(Math.abs(s-r)),w.yArrjVal.push(this.barCtx.series[h][c])}return{pathTo:b,pathFrom:v}}},{key:"getBarpaths",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.barHeightOffset&&(u=i-d.config.series[l].data[c].barHeightOffset/2,p=a+d.config.series[l].data[c].barHeightOffset);var f=u,x=u+p;s+=.001,r+=.001;var b=g.move(s,f),v=g.move(s,f);d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1));var y=g.line(s,x-o);if(b=b+g.line(r,f)+g.line(r,x-o)+y+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),v=v+g.line(s,f)+y+y+y+y+y+g.line(s,f)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(b=g.roundPathCorners(b,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&n&&(w=this.barCtx[n]),w.xArrj.push(r),w.xArrjF.push(Math.abs(s-r)),w.xArrjVal.push(this.barCtx.series[h][c])}return{pathTo:b,pathFrom:v}}},{key:"checkZeroSeries",value:function(t){for(var e=t.series,i=this.w,a=0;a2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),i}},{key:"getGoalValues",value:function(t,i,a,s,r){var n=this,l=this.w,h=[],c=function(e,s){var r;h.push((o(r={},t,"x"===t?n.getXForValue(e,i,!1):n.getYForValue(e,a,!1)),o(r,"attrs",s),r))};if(l.globals.seriesGoals[s]&&l.globals.seriesGoals[s][r]&&Array.isArray(l.globals.seriesGoals[s][r])&&l.globals.seriesGoals[s][r].forEach((function(t){c(t.value,t)})),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,g={strokeHeight:"x"===t?0:l.globals.markers.size[s],strokeWidth:"x"===t?l.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(d[s])?d[s][0]:d[s]};c(l.globals.seriesRangeStart[s][r],g),c(l.globals.seriesRangeEnd[s][r],e(e({},g),{},{strokeColor:Array.isArray(d[s])?d[s][1]:d[s]}))}return h}},{key:"drawGoalLine",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new m(this.barCtx.ctx),l=n.group({className:"apexcharts-bar-goals-groups"});l.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)})):Array.isArray(s)&&s.forEach((function(t){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)})),l}}]),t}(),yt=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.xyRatios=i,null!==this.xyRatios&&(this.xRatio=i.xRatio,this.initialXRatio=i.initialXRatio,this.yRatio=i.yRatio,this.invertedXRatio=i.invertedXRatio,this.invertedYRatio=i.invertedYRatio,this.baseLineY=i.baseLineY,this.baseLineInvertedY=i.baseLineInvertedY),this.yaxisIndex=0,this.seriesLen=0;var r=new N(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex("desc",["bar","column"]);var o=r.getBarSeriesIndices(),n=new y(this.ctx);this.stackedSeriesTotals=n.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===o.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new mt(this)}return r(t,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx),r=new y(this.ctx,a);t=r.getLogSeries(t),this.series=t,this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var o=s.group({class:"apexcharts-bar-series apexcharts-plot-series"});a.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var k=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=v),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed;var S=this.barHelpers.initialPositions();p=S.y,k=S.barHeight,c=S.yDivision,g=S.zeroW,u=S.x,A=S.barWidth,h=S.xDivision,d=S.zeroH,this.horizontal||b.push(u+A/2);for(var C=s.group({class:"apexcharts-datalabels","data:realIndex":v}),L=s.group({class:"apexcharts-bar-goals-markers",style:"pointer-events: none"}),P=0;P0&&b.push(u+A/2),f.push(p);var z=this.barHelpers.getPathFillColor(t,n,P,v);this.renderSeries({realIndex:v,pathFill:z,j:P,i:n,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:I,elSeries:w,x:u,y:p,series:t,barHeight:T.barHeight?T.barHeight:k,barWidth:T.barWidth?T.barWidth:A,elDataLabelsWrap:C,elGoalsMarkers:L,visibleSeries:this.visibleI,type:"bar"})}a.globals.seriesXvalues[v]=b,a.globals.seriesYvalues[v]=f,o.add(w)}return o}},{key:"renderSeries",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.groupIndex,n=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,g=t.y,u=t.y1,p=t.y2,f=t.series,x=t.barHeight,b=t.barWidth,y=t.barYPosition,w=t.elDataLabelsWrap,k=t.elGoalsMarkers,A=t.visibleSeries,S=t.type,C=this.w,L=new m(this.ctx);a||(a=this.barOptions.distributed?C.globals.stroke.colors[s]:C.globals.stroke.colors[e]),C.config.series[r].data[s]&&C.config.series[r].data[s].strokeColor&&(a=C.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var P=s/C.config.chart.animations.animateGradually.delay*(C.config.chart.animations.speed/C.globals.dataPoints)/2.4,I=L.renderPaths({i:r,j:s,realIndex:e,pathFrom:n,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:C.config.stroke.lineCap,fill:i,animationDelay:P,initialSpeed:C.config.chart.animations.speed,dataChangeSpeed:C.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(S,"-area")});I.attr("clip-path","url(#gridRectMask".concat(C.globals.cuid,")"));var T=C.config.forecastDataPoints;T.count>0&&s>=C.globals.dataPoints-T.count&&(I.node.setAttribute("stroke-dasharray",T.dashArray),I.node.setAttribute("stroke-width",T.strokeWidth),I.node.setAttribute("fill-opacity",T.fillOpacity)),void 0!==u&&void 0!==p&&(I.attr("data-range-y1",u),I.attr("data-range-y2",p)),new v(this.ctx).setSelectionFilter(I,e,s),c.add(I);var M=new vt(this).handleBarDataLabels({x:d,y:g,y1:u,y2:p,i:r,j:s,series:f,realIndex:e,groupIndex:o,barHeight:x,barWidth:b,barYPosition:y,renderedPath:I,visibleSeries:A});return null!==M.dataLabels&&w.add(M.dataLabels),M.totalDataLabels&&w.add(M.totalDataLabels),c.add(w),k&&c.add(k),c}},{key:"drawBarPaths",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,g=i.j;if(c.globals.isXNumeric)e=(n=(c.globals.seriesX[d][g]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var u=0,p=0;c.globals.seriesPercent.forEach((function(t,e){t[g]&&u++,e0&&(a=this.seriesLen*a/u),e=n+a*this.visibleI,e-=a*p}else e=n+a*this.visibleI;o=this.barHelpers.getXForValue(this.series[d][g],r);var f=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:d,j:g,w:c});return c.globals.isXNumeric||(n+=l),this.barHelpers.barBackground({j:g,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:f.pathTo,pathFrom:f.pathFrom,x:o,y:n,goalX:this.barHelpers.getGoalValues("x",r,null,d,g),barYPosition:e,barHeight:a}}},{key:"drawColumnPaths",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,o=t.barWidth,n=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,g=i.i,u=i.j,p=i.bc;if(c.globals.isXNumeric){var f=d;c.globals.seriesX[d].length||(f=c.globals.maxValsInArrayIndex),c.globals.seriesX[f][u]&&(a=(c.globals.seriesX[f][u]-c.globals.minX)/this.xRatio-o*this.seriesLen/2),e=a+o*this.visibleI}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var x=0,b=0;c.globals.seriesPercent.forEach((function(t,e){t[u]&&x++,e0&&(o=this.seriesLen*o/x),e=a+o*this.visibleI,e-=o*b}else e=a+o*this.visibleI;s=this.barHelpers.getYForValue(this.series[g][u],n);var v=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:o,y1:n,y2:s,strokeWidth:l,series:this.series,realIndex:i.realIndex,i:g,j:u,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:p,j:u,i:g,x1:e-l/2-o*this.visibleI,x2:o*this.seriesLen+l/2,elSeries:h}),{pathTo:v.pathTo,pathFrom:v.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues("y",null,n,g,u),barXPosition:e,barWidth:o}}},{key:"getPreviousPath",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),wt=function(t){n(s,yt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this,s=this.w;this.graphics=new m(this.ctx),this.bar=new yt(this.ctx,this.xyRatios);var r=new y(this.ctx,s);t=r.getLogSeries(t),this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),"100%"===s.config.chart.stackType&&(t=s.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var o=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),n=0,l=0,h=function(r,h){var c=void 0,d=void 0,g=void 0,u=void 0,p=-1;a.groupCtx=a,s.globals.seriesGroups.forEach((function(t,e){t.indexOf(s.config.series[r].name)>-1&&(p=e)})),-1!==p&&(a.groupCtx=a[s.globals.seriesGroups[p]]);var f=[],b=[],v=s.globals.comboCharts?i[r]:r;a.yRatio.length>1&&(a.yaxisIndex=v),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var m=a.graphics.group({class:"apexcharts-series",seriesName:x.escapeString(s.globals.seriesNames[v]),rel:r+1,"data:realIndex":v});a.ctx.series.addCollapsedClassToSeries(m,v);var y=a.graphics.group({class:"apexcharts-datalabels","data:realIndex":v}),w=a.graphics.group({class:"apexcharts-bar-goals-markers",style:"pointer-events: none"}),k=0,A=0,S=a.initialPositions(n,l,c,d,g,u);l=S.y,k=S.barHeight,d=S.yDivision,u=S.zeroW,n=S.x,A=S.barWidth,c=S.xDivision,g=S.zeroH,a.barHelpers.initializeStackedXYVars(a),1===a.groupCtx.prevY.length&&a.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(a.groupCtx.prevY[0]=a.groupCtx.prevY[0].map((function(t){return g})),a.groupCtx.prevYF[0]=a.groupCtx.prevYF[0].map((function(t){return 0})));for(var C=0;C1?(i=c.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:n*parseInt(c.config.plotOptions.bar.columnWidth,10)/100,null!==(h=c.globals.seriesGroups)&&void 0!==h&&h.length&&(n/=c.globals.seriesGroups.length),-1===String(c.config.plotOptions.bar.columnWidth).indexOf("%")&&(n=parseInt(c.config.plotOptions.bar.columnWidth,10)),s=c.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?c.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=c.globals.padHorizontal+(i-n)/2);return{x:t,y:e,yDivision:a,xDivision:i,barHeight:o,barWidth:n,zeroH:s,zeroW:r}}},{key:"drawStackedBarPaths",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.groupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,g=this.w,u=n+(-1!==l?l*a:0),p=i.i,f=i.j,x=0,b=0;b0){var m=r;this.groupCtx.prevXVal[v-1][f]<0?m=this.series[p][f]>=0?this.groupCtx.prevX[v-1][f]+x-2*(this.isReversed?x:0):this.groupCtx.prevX[v-1][f]:this.groupCtx.prevXVal[v-1][f]>=0&&(m=this.series[p][f]>=0?this.groupCtx.prevX[v-1][f]:this.groupCtx.prevX[v-1][f]-x+2*(this.isReversed?x:0)),e=m}else e=r;o=null===this.series[p][f]?e:e+this.series[p][f]/this.invertedYRatio-2*(this.isReversed?this.series[p][f]/this.invertedYRatio:0);var y=this.barHelpers.getBarpaths({barYPosition:u,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:p,j:f,w:g});return this.barHelpers.barBackground({j:f,i:p,y1:u,y2:a,elSeries:d}),n+=c,{pathTo:y.pathTo,pathFrom:y.pathFrom,goalX:this.barHelpers.getGoalValues("x",r,null,p,f),barYPosition:u,x:o,y:n}}},{key:"drawStackedColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.groupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,g=e.j,u=e.bc;if(c.globals.isXNumeric){var p=c.globals.seriesX[d][g];p||(p=0),i=(p-c.globals.minX)/this.xRatio-r/2,c.globals.seriesGroups.length&&(i=(p-c.globals.minX)/this.xRatio-r/2*c.globals.seriesGroups.length)}for(var f,x=i+(-1!==n?n*r:0),b=0,v=0;v0&&!c.globals.isXNumeric||m>0&&c.globals.isXNumeric&&c.globals.seriesX[d-1][g]===c.globals.seriesX[d][g]){var y,w,k,A=Math.min(this.yRatio.length+1,d+1);if(void 0!==this.groupCtx.prevY[m-1]&&this.groupCtx.prevY[m-1].length)for(var S=1;S=0?k-b+2*(this.isReversed?b:0):k;break}if((null===(I=this.groupCtx.prevYVal[m-L])||void 0===I?void 0:I[g])>=0){w=this.series[d][g]>=0?k:k+b-2*(this.isReversed?b:0);break}}void 0===w&&(w=c.globals.gridHeight),f=null!==(y=this.groupCtx.prevYF[0])&&void 0!==y&&y.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,m).every((function(t){return t.every((function(t){return isNaN(t)}))}))?o:w}else f=o;a=this.series[d][g]?f-this.series[d][g]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[d][g]/this.yRatio[this.yaxisIndex]:0):f;var T=this.barHelpers.getColumnPaths({barXPosition:x,barWidth:r,y1:f,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:g,w:c});return this.barHelpers.barBackground({bc:u,j:g,i:d,x1:x,x2:r,elSeries:h}),i+=s,{pathTo:T.pathTo,pathFrom:T.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,o,d,g),barXPosition:x,x:c.globals.isXNumeric?i-s:i,y:a}}}]),s}(),kt=function(t){n(s,yt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i,a){var s=this,r=this.w,o=new m(this.ctx),n=r.globals.comboCharts?i:r.config.chart.type,l=new R(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=r.config.plotOptions.bar.horizontal;var h=new y(this.ctx,r);t=h.getLogSeries(t),this.series=t,this.yRatio=h.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var c=o.group({class:"apexcharts-".concat(n,"-series apexcharts-plot-series")}),d=function(i){s.isBoxPlot="boxPlot"===r.config.chart.type||"boxPlot"===r.config.series[i].type;var n,h,d,g,u=void 0,p=void 0,f=[],b=[],v=r.globals.comboCharts?a[i]:i,m=o.group({class:"apexcharts-series",seriesName:x.escapeString(r.globals.seriesNames[v]),rel:i+1,"data:realIndex":v});s.ctx.series.addCollapsedClassToSeries(m,v),t[i].length>0&&(s.visibleI=s.visibleI+1);var y,w;s.yRatio.length>1&&(s.yaxisIndex=v);var k=s.barHelpers.initialPositions();p=k.y,y=k.barHeight,h=k.yDivision,g=k.zeroW,u=k.x,w=k.barWidth,n=k.xDivision,d=k.zeroH,b.push(u+w/2);for(var A=o.group({class:"apexcharts-datalabels","data:realIndex":v}),S=function(a){var o=s.barHelpers.getStrokeWidth(i,a,v),c=null,x={indexes:{i:i,j:a,realIndex:v},x:u,y:p,strokeWidth:o,elSeries:m};c=s.isHorizontal?s.drawHorizontalBoxPaths(e(e({},x),{},{yDivision:h,barHeight:y,zeroW:g})):s.drawVerticalBoxPaths(e(e({},x),{},{xDivision:n,barWidth:w,zeroH:d})),p=c.y,u=c.x,a>0&&b.push(u+w/2),f.push(p),c.pathTo.forEach((function(e,n){var h=!s.isBoxPlot&&s.candlestickOptions.wick.useFillColor?c.color[n]:r.globals.stroke.colors[i],d=l.fillPath({seriesNumber:v,dataPointIndex:a,color:c.color[n],value:t[i][a]});s.renderSeries({realIndex:v,pathFill:d,lineFill:h,j:a,i:i,pathFrom:c.pathFrom,pathTo:e,strokeWidth:o,elSeries:m,x:u,y:p,series:t,barHeight:y,barWidth:w,elDataLabelsWrap:A,visibleSeries:s.visibleI,type:r.config.chart.type})}))},C=0;Cb.c&&(d=!1);var w=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(w=r,k=r):(w=r-w/f,k=r-k/f,v=r-b.h/f,y=r-b.l/f,A=r-b.m/f);var C=l.move(S,r),L=l.move(S+s/2,w);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+"z"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,y)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-o/2)],L+=l.move(S,w),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?p:d?[g]:[u]}}},{key:"drawHorizontalBoxPaths",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,p=this.getOHLCValue(u,c),f=r,x=r,b=Math.min(p.o,p.c),v=Math.max(p.o,p.c),y=p.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,f=r+p.h/g,x=r+p.l/g,y=r+p.m/g);var k=l.move(r,w),A=l.move(b,w+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,w)+l.line(b,w+s/2)+l.line(f,w+s/2)+l.line(f,w+s/2-s/4)+l.line(f,w+s/2+s/4)+l.line(f,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s)+l.line(y,w+s)+l.line(y,w)+l.line(b+o/2,w),l.move(y,w)+l.line(y,w+s)+l.line(v,w+s)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s-s/4)+l.line(x,w+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w)+l.line(y,w)+"z"],A+=l.move(b,w),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:w,color:d}}},{key:"getOHLCValue",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),s}(),At=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkColorRange",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:"getShadeColor",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,"treemap"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new x;return s.config.plotOptions[t].enableShades&&(l="dark"===this.w.config.theme.mode?x.hexToRgba(h.shadeColor(-1*r,n.color),s.config.fill.opacity):x.hexToRgba(h.shadeColor(r,n.color),s.config.fill.opacity)),{color:l,colorProps:n}}},{key:"determineColor",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&"treemap"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,u(a.globals.series[e])),c=Math.max.apply(Math,u(a.globals.series[e]));r.distributed||"heatmap"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:"calculateDataLabels",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new m(this.ctx),c=new O(this.ctx),d=null;if(l.enabled){d=h.group({class:"apexcharts-data-labels"});var g=l.offsetX,u=l.offsetY,p=i+g,f=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:"addListeners",value:function(t){var e=new m(this.ctx);t.node.addEventListener("mouseenter",e.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",e.pathMouseLeave.bind(this,t)),t.node.addEventListener("mousedown",e.pathMouseDown.bind(this,t))}}]),t}(),St=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new At(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return r(t,[{key:"draw",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(e.globals.cuid,")"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:x.escapeString(e.globals.seriesNames[h]),rel:h+1,"data:realIndex":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new v(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,p=0;p-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*u/this.fullAngle+"%";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(n)>this.fullAngle&&(n-=this.fullAngle);var l=Math.PI*(n-90)/180,h=e.centerX+s*Math.cos(o),c=e.centerY+s*Math.sin(o),d=e.centerX+s*Math.cos(l),g=e.centerY+s*Math.sin(l),u=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,n),p=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,r),f=a>180?1:0,b=["M",h,c,"A",s,s,0,f,1,d,g];return"donut"===e.chartType?[].concat(b,["L",u.x,u.y,"A",e.donutSize,e.donutSize,0,f,0,p.x,p.y,"L",h,c,"z"]).join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[].concat(b,["L",e.centerX,e.centerY,"L",h,c]).join(" "):[].concat(b).join(" ")}},{key:"drawPolarElements",value:function(t){var e=this.w,i=new _(this.ctx),a=new m(this.ctx),s=new Ct(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),e.config.yaxis[0].tickAmount,0,!0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,r),a||"function"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,a=t.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==r&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n1)o&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!o)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),Pt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var i=this.w;this.graphics=new m(this.ctx),this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=i.globals.svgHeight0&&(f=i.getPreviousPath(n));for(var b=0;b=10?t.x>0?(i="start",a+=10):t.x<0&&(i="end",a-=10):i="middle",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:"",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(u,p)}l.add(u),u.attr("id","apexcharts-radialbarTrack-"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:"drawArcs",value:function(t){var e=this.w,i=new m(this.ctx),a=new R(this.ctx),s=new v(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||"transparent"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;this.radialDataLabels.show&&(u=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})),"back"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var p=!1;e.config.plotOptions.radialBar.inverseOrder&&(p=!0);for(var f=p?t.series.length-1:0;p?f>=0:f100?100:t.series[f])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*x.negToZero(e.globals.previousPaths[f])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var L=S-w,P=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[f]:e.config.stroke.dashArray,I=i.drawPath({d:"",stroke:y,strokeWidth:o,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+f,strokeDashArray:P});if(m.setAttrs(I.node,{"data:angle":L,"data:value":t.series[f]}),e.config.chart.dropShadow.enabled){var T=e.config.chart.dropShadow;s.dropShadow(I,T,f)}s.setSelectionFilter(I,0,f),this.addListeners(I,this.radialDataLabels),b.add(I),I.attr({index:0,j:f});var M=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(M=e.config.chart.animations.speed),e.globals.dataChanged&&(M=e.config.chart.animations.dynamicAnimation.speed),this.animDur=M/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(I,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:f,totalItems:2,animBeginArr:this.animBeginArr,dur:M,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:"drawHollow",value:function(t){var e=new m(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(t,e,i,a){var s=this.w,r=new R(this.ctx),o=x.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:"pattern".concat(s.globals.cuid).concat(o)}),a="url(#pattern".concat(s.globals.cuid).concat(o,")");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}}]),i}(),Tt=function(t){n(s,yt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var r=s.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),o=0;o0&&(this.visibleI=this.visibleI+1);var f=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=u);var v=this.barHelpers.initialPositions();d=v.y,h=v.zeroW,c=v.x,b=v.barWidth,n=v.xDivision,l=v.zeroH;for(var y=s.group({class:"apexcharts-datalabels","data:realIndex":u}),w=s.group({class:"apexcharts-rangebar-goals-markers",style:"pointer-events: none"}),k=0;k0}));return a=l.config.plotOptions.bar.rangeBarGroupRows?s+o*g:s+r*this.visibleI+o*g,u>-1&&!l.config.plotOptions.bar.rangeBarOverlap&&(h=l.globals.seriesRange[e][u].overlaps).indexOf(c)>-1&&(a=(r=n.barHeight/h.length)*this.visibleI+o*(100-parseInt(this.barOptions.barHeight,10))/100/2+r*(this.visibleI+h.indexOf(c))+o*g),{barYPosition:a,barHeight:r}}},{key:"drawRangeColumnPaths",value:function(t){var e=t.indexes,i=t.x;t.strokeWidth;var a=t.xDivision,s=t.barWidth,r=t.zeroH,o=this.w,n=e.i,l=e.j,h=this.yRatio[this.yaxisIndex],c=e.realIndex,d=this.getRangeValue(c,l),g=Math.min(d.start,d.end),u=Math.max(d.start,d.end);o.globals.isXNumeric&&(i=(o.globals.seriesX[n][l]-o.globals.minX)/this.xRatio-s/2);var p=i+s*this.visibleI;void 0===this.series[n][l]||null===this.series[n][l]?g=r:(g=r-g/h,u=r-u/h);var f=Math.abs(u-g),x=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:s,y1:g,y2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:c,j:l,w:o});return o.globals.isXNumeric||(i+=a),{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:f,x:i,y:u,goalY:this.barHelpers.getGoalValues("y",null,r,n,l),barXPosition:p}}},{key:"drawRangeBarPaths",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,g=Math.abs(d-c),u=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:c,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:u.pathTo,pathFrom:u.pathFrom,barWidth:g,x:d,goalX:this.barHelpers.getGoalValues("x",l,null,e.realIndex,e.j),y:i}}},{key:"getRangeValue",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),s}(),Mt=function(){function t(e){a(this,t),this.w=e.w,this.lineCtx=e}return r(t,[{key:"sameValueSeriesFix",value:function(t,e){var i=this.w;if(("gradient"===i.config.fill.type||"gradient"===i.config.fill.type[t])&&new y(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:"calculatePoints",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(x.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:"checkPreviousPaths",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&("line"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):"area"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e,i=t.i,a=t.series,s=t.prevY,r=t.lineYPosition,o=this.w;if(void 0!==(null===(e=a[i])||void 0===e?void 0:e[0]))s=(r=o.config.chart.stacked&&i>0?this.lineCtx.prevSeriesY[i-1][0]:this.lineCtx.zeroY)-a[i][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?a[i][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(o.config.chart.stacked&&i>0&&void 0===a[i][0])for(var n=i-1;n>=0;n--)if(null!==a[n][0]&&void 0!==a[n][0]){s=r=this.lineCtx.prevSeriesY[n][0];break}return{prevY:s,lineYPosition:r}}}]),t}(),Xt=function(){function t(e,i,s){a(this,t),this.ctx=e,this.w=e.w,this.xyRatios=i,this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||s,this.scatter=new H(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Mt(this),this.markers=new D(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return r(t,[{key:"draw",value:function(t,i,a,s){var r=this.w,o=new m(this.ctx),n=r.globals.comboCharts?i:r.config.chart.type,l=o.group({class:"apexcharts-".concat(n,"-series apexcharts-plot-series")}),h=new y(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=h.getLogSeries(t),this.yRatio=h.getLogYRatios(this.yRatio);for(var c=[],d=0;d0&&(f=(r.globals.seriesX[g][0]-r.globals.minX)/this.xRatio),p.push(f);var x,b=f,v=void 0,w=b,k=this.zeroY,A=this.zeroY;k=this.lineHelpers.determineFirstPrevY({i:d,series:t,prevY:k,lineYPosition:0}).prevY,u.push(k),x=k;"rangeArea"===n&&(v=A=this.lineHelpers.determineFirstPrevY({i:d,series:s,prevY:A,lineYPosition:0}).prevY);var S={type:n,series:t,realIndex:g,i:d,x:f,y:1,pX:b,pY:x,pathsFrom:this._calculatePathsFrom({type:n,series:t,i:d,realIndex:g,prevX:w,prevY:k,prevY2:A}),linePaths:[],areaPaths:[],seriesIndex:a,lineYPosition:0,xArrj:p,yArrj:u,seriesRangeEnd:s},C=this._iterateOverDataPoints(e(e({},S),{},{iterations:"rangeArea"===n?t[d].length-1:void 0,isRangeStart:!0}));if("rangeArea"===n){var L=this._calculatePathsFrom({series:s,i:d,realIndex:g,prevX:w,prevY:A}),P=this._iterateOverDataPoints(e(e({},S),{},{series:s,pY:v,pathsFrom:L,iterations:s[d].length-1,isRangeStart:!1}));C.linePaths[0]=P.linePath+C.linePath,C.pathFromLine=P.pathFromLine+C.pathFromLine}this._handlePaths({type:n,realIndex:g,i:d,paths:C}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),c.push(this.elSeries)}if(r.config.chart.stacked)for(var I=c.length;I>0;I--)l.add(c[I-1]);else for(var T=0;T1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||"end"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",seriesName:x.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var r=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":r,rel:e+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(t){var e,i,a,s,r=t.type,o=t.series,n=t.i,l=t.realIndex,h=t.prevX,c=t.prevY,d=t.prevY2,g=this.w,u=new m(this.ctx);if(null===o[n][0]){for(var p=0;p0){var f=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=f.pathFromLine,s=f.pathFromArea}return{prevX:h,prevY:c,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(t){var i=t.type,a=t.realIndex,s=t.i,r=t.paths,o=this.w,n=new m(this.ctx),l=new R(this.ctx);this.prevSeriesY.push(r.yArrj),o.globals.seriesXvalues[a]=r.xArrj,o.globals.seriesYvalues[a]=r.yArrj;var h=o.config.forecastDataPoints;if(h.count>0&&"rangeArea"!==i){var c=o.globals.seriesXvalues[a][o.globals.seriesXvalues[a].length-h.count-1],d=n.drawRect(c,0,o.globals.gridWidth,o.globals.gridHeight,0);o.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,o.globals.gridHeight,0);o.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||o.globals.delayedElements.push({el:this.elPointsMain.node,index:a});var u={i:s,realIndex:a,animationDelay:s,initialSpeed:o.config.chart.animations.speed,dataChangeSpeed:o.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(i)};if("area"===i)for(var p=l.fillPath({seriesNumber:a}),f=0;f0&&"rangeArea"!==i){var S=n.renderPaths(k);S.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&S.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(S),S.attr("clip-path","url(#forecastMask".concat(o.globals.cuid,")")),A.attr("clip-path","url(#nonForecastMask".concat(o.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(t){var e=t.type,i=t.series,a=t.iterations,s=t.realIndex,r=t.i,o=t.x,n=t.y,l=t.pX,h=t.pY,c=t.pathsFrom,d=t.linePaths,g=t.areaPaths,u=t.seriesIndex,p=t.lineYPosition,f=t.xArrj,b=t.yArrj,v=t.isRangeStart,y=t.seriesRangeEnd,w=this.w,k=new m(this.ctx),A=this.yRatio,S=c.prevY,C=c.linePath,L=c.areaPath,P=c.pathFromLine,I=c.pathFromArea,T=x.isNumber(w.globals.minYArr[s])?w.globals.minYArr[s]:w.globals.minY;a||(a=w.globals.dataPoints>1?w.globals.dataPoints-1:w.globals.dataPoints);for(var M=n,X=0;X0&&w.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(r-1)][X+1]}else p=this.zeroY;else p=this.zeroY;z?n=p-T/A[this.yaxisIndex]+2*(this.isReversed?T/A[this.yaxisIndex]:0):(n=p-i[r][X+1]/A[this.yaxisIndex]+2*(this.isReversed?i[r][X+1]/A[this.yaxisIndex]:0),"rangeArea"===e&&(M=p-y[r][X+1]/A[this.yaxisIndex]+2*(this.isReversed?y[r][X+1]/A[this.yaxisIndex]:0))),f.push(o),b.push(n);var Y=this.lineHelpers.calculatePoints({series:i,x:o,y:n,realIndex:s,i:r,j:X,prevY:S}),F=this._createPaths({type:e,series:i,i:r,realIndex:s,j:X,x:o,y:n,y2:M,pX:l,pY:h,linePath:C,areaPath:L,linePaths:d,areaPaths:g,seriesIndex:u,isRangeStart:v});g=F.areaPaths,d=F.linePaths,l=F.pX,h=F.pY,L=F.areaPath,C=F.linePath,this.appendPathFrom&&(P+=k.line(o,this.zeroY),I+=k.line(o,this.zeroY)),this.handleNullDataPoints(i,Y,r,X,s),this._handleMarkersAndLabels({type:e,pointsPos:Y,i:r,j:X,realIndex:s,isRangeStart:v})}return{yArrj:b,xArrj:f,pathFromArea:I,areaPaths:g,pathFromLine:P,linePaths:d,linePath:C,areaPath:L}}},{key:"_handleMarkersAndLabels",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,o=t.realIndex,n=this.w,l=new O(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:o,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{n.globals.series[s].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var h=this.markers.plotChartMarkers(i,o,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:o,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:"_createPaths",value:function(t){var e=t.type,i=t.series,a=t.i,s=t.realIndex,r=t.j,o=t.x,n=t.y,l=t.y2,h=t.pX,c=t.pY,d=t.linePath,g=t.areaPath,u=t.linePaths,p=t.areaPaths,f=t.seriesIndex,x=t.isRangeStart,b=this.w,v=new m(this.ctx),y=b.config.stroke.curve,w=this.areaBottomY;if(Array.isArray(b.config.stroke.curve)&&(y=Array.isArray(f)?b.config.stroke.curve[f[a]]:b.config.stroke.curve[a]),"smooth"===y){var k=.35*(o-h);b.globals.hasNullValues?(null!==i[a][r]&&(null!==i[a][r+1]?(d=v.move(h,c)+v.curve(h+k,c,o-k,n,o+1,n),g=v.move(h+1,c)+v.curve(h+k,c,o-k,n,o+1,n)+v.line(o,w)+v.line(h,w)+"z"):(d=v.move(h,c),g=v.move(h,c)+"z")),u.push(d),p.push(g)):(d+=v.curve(h+k,c,o-k,n,o,n),g+=v.curve(h+k,c,o-k,n,o,n)),h=o,c=n,r===i[a].length-2&&(g=g+v.curve(h,c,o,n,o,w)+v.move(o,n)+"z","rangeArea"===e&&x?d=d+v.curve(h,c,o,n,o,l)+v.move(o,l)+"z":b.globals.hasNullValues||(u.push(d),p.push(g)))}else{if(null===i[a][r+1]){d+=v.move(o,n);var A=b.globals.isXNumeric?(b.globals.seriesX[s][r]-b.globals.minX)/this.xRatio:o-this.xDivision;g=g+v.line(A,w)+v.move(o,n)+"z"}null===i[a][r]&&(d+=v.move(o,n),g+=v.move(o,w)),"stepline"===y?(d=d+v.line(o,null,"H")+v.line(null,n,"V"),g=g+v.line(o,null,"H")+v.line(null,n,"V")):"straight"===y&&(d+=v.line(o,n),g+=v.line(o,n)),r===i[a].length-2&&(g=g+v.line(o,w)+v.move(o,n)+"z","rangeArea"===e&&x?d=d+v.line(o,l)+v.move(o,l)+"z":(u.push(d),p.push(g)))}return{linePaths:u,areaPaths:p,pX:h,pY:c,linePath:d,areaPath:g}}},{key:"handleNullDataPoints",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){o=void 0===o?0:o,n=void 0===n?0:n;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(-90 ".concat(h.x," ").concat(h.y,")"))}}},{key:"animateTreemap",value:function(t,e,i,a){var s=new b(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Ft=86400,Rt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return r(t,[{key:"calculateTimeScaleTicks",value:function(t,i){var a=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var r=new I(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o<.00011574074074074075?s.globals.disableZoomIn=!0:o>5e4&&(s.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,i,this.utc),l=s.globals.gridWidth/o,h=l/24,c=h/60,d=c/60,g=Math.floor(24*o),u=Math.floor(1440*o),p=Math.floor(o*Ft),f=Math.floor(o),x=Math.floor(o/30),b=Math.floor(o/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:u,numberOfHours:g,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case"years":this.generateYearScale(m);break;case"months":case"half_year":this.generateMonthScale(m);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(m);break;case"hours":this.generateHourScale(m);break;case"minutes_fives":case"minutes":this.generateMinuteScale(m);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var i={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?e(e({},i),{},{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?e(e({},i),{},{value:t.value}):"minute"===t.unit?e(e({},i),{},{value:t.value,minute:t.value}):"second"===t.unit?e(e({},i),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,i=Math.ceil(s.globals.gridWidth/120),r=t.value;void 0!==s.config.xaxis.tickAmount&&(i=s.config.xaxis.tickAmount),y.length>i&&(e=Math.floor(y.length/i));var o=!1,n=!1;switch(a.tickInterval){case"years":"year"===t.unit&&(o=!0);break;case"half_year":e=7,"year"===t.unit&&(o=!0);break;case"months":e=1,"year"===t.unit&&(o=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(o=!0),30===r&&(n=!0);break;case"months_days":e=10,"month"===t.unit&&(o=!0),30===r&&(n=!0);break;case"week_days":e=8,"month"===t.unit&&(o=!0);break;case"days":e=1,"month"===t.unit&&(o=!0);break;case"hours":"day"===t.unit&&(o=!0);break;case"minutes_fives":case"seconds_fives":r%5!=0&&(n=!0);break;case"seconds_tens":r%10!=0&&(n=!0)}if("hours"===a.tickInterval||"minutes_fives"===a.tickInterval||"seconds_tens"===a.tickInterval||"seconds_fives"===a.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new ot(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval="years";break;case t>800:this.tickInterval="half_year";break;case t>180:this.tickInterval="months";break;case t>90:this.tickInterval="months_fortnight";break;case t>60:this.tickInterval="months_days";break;case t>30:this.tickInterval="week_days";break;case t>2:this.tickInterval="days";break;case e>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new I(this.ctx),h="year";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:x.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:x.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=x.monthMod(a+1);var g=s+d,u=x.monthMod(n),p=n;0===n&&(c="year",p=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:x.monthMod(a)});for(var f=n+1,b=l,v=0,m=1;vo.determineDaysOfMonths(e+1,i)?(h=1,n="month",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=x.monthMod(e.minMonth),n="month",h=e.minDate,r++):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:x.monthMod(u),day:h});for(var p=d,f=0;fn.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,p=u+1;60===d&&(g=0,p=(u=e.minHour)+1);var f=i,b=c(f,a);this.timeScaleArray.push({position:g,value:u,unit:l,day:f,hour:p,year:s,month:x.monthMod(b)});for(var v=g,m=0;m=24)p=0,l="day",b=h(f+=1,b).month,b=c(f,b);var y=this._getYear(s,b,0);v=60*r+v;var w=0===p?f:p;this.timeScaleArray.push({position:v,value:w,unit:l,hour:p,day:f,year:y,month:x.monthMod(b)}),p++}}},{key:"generateMinuteScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,p=n,f=s,b=(60-i-e/1e3)*h,v=0;v=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:b,value:d,unit:"minute",hour:f,minute:d,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,d++}},{key:"generateSecondScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,p=n,f=s,b=(1e3-e)/1e3*l,v=0;v=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:b,value:c,unit:"second",hour:f,minute:d,second:c,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,c++}},{key:"createRawDateString",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),"minute"===t.unit?i+=":"+("0"+e).slice(-2):i+=":"+(t.minute?("0"+t.minute).slice(-2):"00"),"second"===t.unit?i+=":"+("0"+e).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new I(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n="dd MMM",l=i.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(n=l.year),"month"===t.unit&&(n=l.month),"day"===t.unit&&(n=l.day),"hour"===t.unit&&(n=l.hour),"minute"===t.unit&&(n=l.minute),"second"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:"removeOverlappingTS",value:function(t){var e,i=this,a=new m(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:"_getYear",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Dt=function(){function t(e,i){a(this,t),this.ctx=i,this.w=i.w,this.el=e}return r(t,[{key:"setupElements",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].indexOf(i)>-1,t.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].indexOf(i)>-1,t.isBarHorizontal=("bar"===e.chart.type||"rangeBar"===e.chart.type||"boxPlot"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=".apexcharts"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),m.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas "+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(e.chart.offsetX,", ").concat(e.chart.offsetY,")")}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject"),m.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},g={series:[],i:[]},u={series:[],seriesRangeEnd:[],i:[]};s.series.map((function(e,p){var f=0;void 0!==t[p].type?("column"===t[p].type||"bar"===t[p].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"),h.series.push(e),h.i.push(p),f++,i.globals.columnSeries=h.series):"area"===t[p].type?(o.series.push(e),o.i.push(p),f++):"line"===t[p].type?(r.series.push(e),r.i.push(p),f++):"scatter"===t[p].type?(n.series.push(e),n.i.push(p)):"bubble"===t[p].type?(l.series.push(e),l.i.push(p),f++):"candlestick"===t[p].type?(c.series.push(e),c.i.push(p),f++):"boxPlot"===t[p].type?(d.series.push(e),d.i.push(p),f++):"rangeBar"===t[p].type?(g.series.push(e),g.i.push(p),f++):"rangeArea"===t[p].type?(u.series.push(s.seriesRangeStart[p]),u.seriesRangeEnd.push(s.seriesRangeEnd[p]),u.i.push(p),f++):console.warn("You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble/candlestick/boxPlot/rangeBar/rangeArea"),f>1&&(s.comboCharts=!0)):(r.series.push(e),r.i.push(p))}));var p=new Xt(this.ctx,e),f=new kt(this.ctx,e);this.ctx.pie=new Lt(this.ctx);var x=new It(this.ctx);this.ctx.rangeBar=new Tt(this.ctx,e);var b=new Pt(this.ctx),v=[];if(s.comboCharts){if(o.series.length>0&&v.push(p.draw(o.series,"area",o.i)),h.series.length>0)if(i.config.chart.stacked){var m=new wt(this.ctx,e);v.push(m.draw(h.series,h.i))}else this.ctx.bar=new yt(this.ctx,e),v.push(this.ctx.bar.draw(h.series,h.i));if(u.series.length>0&&v.push(p.draw(u.series,"rangeArea",u.i,u.seriesRangeEnd)),r.series.length>0&&v.push(p.draw(r.series,"line",r.i)),c.series.length>0&&v.push(f.draw(c.series,"candlestick",c.i)),d.series.length>0&&v.push(f.draw(d.series,"boxPlot",d.i)),g.series.length>0&&v.push(this.ctx.rangeBar.draw(g.series,g.i)),n.series.length>0){var y=new Xt(this.ctx,e,!0);v.push(y.draw(n.series,"scatter",n.i))}if(l.series.length>0){var w=new Xt(this.ctx,e,!0);v.push(w.draw(l.series,"bubble",l.i))}}else switch(a.chart.type){case"line":v=p.draw(s.series,"line");break;case"area":v=p.draw(s.series,"area");break;case"bar":if(a.chart.stacked)v=new wt(this.ctx,e).draw(s.series);else this.ctx.bar=new yt(this.ctx,e),v=this.ctx.bar.draw(s.series);break;case"candlestick":v=new kt(this.ctx,e).draw(s.series,"candlestick");break;case"boxPlot":v=new kt(this.ctx,e).draw(s.series,"boxPlot");break;case"rangeBar":v=this.ctx.rangeBar.draw(s.series);break;case"rangeArea":v=p.draw(s.seriesRangeStart,"rangeArea",void 0,s.seriesRangeEnd);break;case"heatmap":v=new St(this.ctx,e).draw(s.series);break;case"treemap":v=new Yt(this.ctx,e).draw(s.series);break;case"pie":case"donut":case"polarArea":v=this.ctx.pie.draw(s.series);break;case"radialBar":v=x.draw(s.series);break;case"radar":v=b.draw(s.series);break;default:v=p.draw(s.series)}return v}},{key:"setSVGDimensions",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=x.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();"%"===a?x.isNumber(i[0])&&(0===i[0].width&&(i=x.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):"px"!==a&&""!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if("auto"!==t.svgHeight&&""!==t.svgHeight)if("%"===s){var r=x.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),m.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),"%"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+"px"}t.dom.elWrap.style.width=t.svgWidth+"px",t.dom.elWrap.style.height=t.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i={transform:"translate("+t.translateX+", "+e+")"};m.setAttrs(t.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new lt(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=x.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",l),t.config.chart.height&&String(t.config.chart.height).indexOf("%")>0||(e.dom.elWrap.style.height=l+"px",m.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+"px")}},{key:"coreCalculations",value:function(){new U(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new Y,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if("back"===e.config.xaxis.crosshairs.position)new Q(this.ctx).drawXCrosshairs();if("back"===e.config.yaxis[0].crosshairs.position)new Q(this.ctx).drawYCrosshairs();if("datetime"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Rt(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new y(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var t=this,i=this.w;if(i.config.chart.brush.enabled&&"function"!=typeof i.config.chart.events.selection){var a=i.config.chart.brush.targets||[i.config.chart.brush.target];a.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,"function"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),"function"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),i.config.chart.events.selection=function(t,s){a.forEach((function(t){var a=ApexCharts.getChartByID(t),r=x.clone(i.config.yaxis);if(i.config.chart.brush.autoScaleYaxis&&1===a.w.globals.series.length){var o=new _(a);r=o.autoScaleY(a,r,s)}var n=a.w.config.yaxis.reduce((function(t,i,s){return[].concat(u(t),[e(e({},a.w.config.yaxis[s]),{},{min:r[0].min,max:r[0].max})])}),[]);a.ctx.updateHelpers._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max},yaxis:n},!1,!1,!1,!1)}))}}}}]),t}(),Ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"_updateOptions",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var l=[e.ctx];r&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(r,h){var c=r.w;if(c.globals.shouldAnimate=s,a||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),t&&"object"===i(t)&&(r.config=new E(t),t=y.extendArrayProps(r.config,t,c),r.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,c.config=x.extend(c.config,t),o&&(c.globals.lastXAxis=t.xaxis?x.clone(t.xaxis):[],c.globals.lastYAxis=t.yaxis?x.clone(t.yaxis):[],c.globals.initialConfig=x.extend({},c.config),c.globals.initialSeries=x.clone(c.config.series),t.series))){for(var d=0;d2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=x.clone(o.config.series),o.globals.initialSeries=x.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:"_extendSeries",value:function(t,i){var a=this.w,s=a.config.series[i];return e(e({},a.config.series[i]),{},{name:t.name?t.name:s&&s.name,color:t.color?t.color:s&&s.color,type:t.type?t.type:s&&s.type,data:t.data?t.data:s&&s.data})}},{key:"toggleDataPointSelection",value:function(t,e){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(t,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(e,"'], ").concat(s," circle[j='").concat(e,"'], ").concat(s," rect[j='").concat(e,"']")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(t,"']")).members[0],"pie"!==i.config.chart.type&&"polarArea"!==i.config.chart.type&&"donut"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new m(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;if(["min","max"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new z(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:"forceYAxisUpdate",value:function(t){return t.chart&&t.chart.stacked&&"100%"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:"revertDefaultAxisMinMax",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();zt="undefined"!=typeof window?window:void 0,Et=function(t,e){var a=(void 0!==this?this:t).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns="http://www.w3.org/2000/svg",a.xmlns="http://www.w3.org/2000/xmlns/",a.xlink="http://www.w3.org/1999/xlink",a.svgjs="http://svgjs.dev",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return"Svgjs"+d(t)+a.did++},a.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute("id",this.eid(t)),i},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e="function"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(e){return e?e.instance?e.instance:((i="svg"==e.nodeName?e.parentNode instanceof t.SVGElement?new a.Nested:new a.Doc:"linearGradient"==e.nodeName?new a.Gradient("linear"):"radialGradient"==e.nodeName?new a.Gradient("radial"):a[d(e.nodeName)]?new(a[d(e.nodeName)]):new a.Element(e)).type=e.nodeName,i.node=e,e.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute("svgjs:data"))||{}),i):null;var i},a.prepare=function(){var t=e.getElementsByTagName("body")[0],i=(t?new a.Doc(t):a.adopt(e.documentElement).nested()).size(2,0);a.parser={body:t||e.documentElement,draw:i.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:i.polyline().node,path:i.path().node,native:a.create("svg")}},a.parser={native:a.create("svg")},e.addEventListener("DOMContentLoaded",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+="",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]}},r="mlhvqtcsaz".split(""),o=0,n=r.length;ol);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute("d",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),"%"==e[5]?this.value/=100:"s"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return"string"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute("stroke")||this._stroke)},extend:{x:function(t){return this.attr("x",t)},y:function(t){return this.attr("y",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr("width",t)},height:function(t){return this.attr("height",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr("id",t)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return"none"!=this.style("display")},toString:function(){return this.attr("id")},classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr("class",this.classes().filter((function(e){return e!=t})).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(e){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!e)return i;for(;i&&i.node instanceof t.SVGElement;){if("string"==typeof e?i.matches(e):i instanceof e)return i;if(!i.node.parentNode||"#document"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var i=e.createElement("svg");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElement("svg")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),i.innerHTML.replace(/^/,"").replace(/<\/svg>$/,"");i.innerHTML=""+t.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2>")+"";for(var s=0,r=i.firstChild.childNodes.length;s":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,s){"object"===i(t)&&(e=t.ease,s=t.delay,t=t.duration);var r=new a.Situation({duration:t||1e3,delay:s||0,ease:a.easing[e||"-"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return("function"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on("finished.fx",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off("finished.fx",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off("during.fx",i).on("during.fx",i),this.after((function(){this.off("during.fx",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off("allfinished.fx",e)};return this.target().off("allfinished.fx",e).on("allfinished.fx",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||"animations"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire("during",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--s)this[v[s]]=null!=t[v[s]]?t[v[s]]:e[v[s]]},extend:{extract:function(){var t=p(this,0,1);p(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=v.length-1;e>=0;e--)t[v[e]]=this[v[e]];return t},toString:function(){return"matrix("+b(this.a)+","+b(this.b)+","+b(this.c)+","+b(this.d)+","+b(this.e)+","+b(this.f)+")"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(t,e){var a;a=Array.isArray(t)?{x:t[0],y:t[1]}:"object"===i(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(t,e,s){if(null==t){for(t={},s=(e=this.node.attributes).length-1;s>=0;s--)t[e[s].nodeName]=a.regex.isNumber.test(e[s].nodeValue)?parseFloat(e[s].nodeValue):e[s].nodeValue;return t}if("object"===i(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?a.defaults.attrs[t]:a.regex.isNumber.test(e)?parseFloat(e):e;"stroke-width"==t?this.attr("stroke",parseFloat(e)>0?this._stroke:null):"stroke"==t&&(this._stroke=e),"fill"!=t&&"stroke"!=t||(a.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof a.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),"number"==typeof e?e=new a.Number(e):a.Color.isColor(e)?e=new a.Color(e):Array.isArray(e)&&(e=new a.Array(e)),"leading"==t?this.leading&&this.leading(e):"string"==typeof s?this.node.setAttributeNS(s,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!=t&&"x"!=t||this.rebuild(t,e)}return this}}),a.extend(a.Element,{transform:function(t,e){var s;return"object"!==i(t)?(s=new a.Matrix(this).extract(),"string"==typeof t?s[t]:s):(s=new a.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(s=e?s.multiply(new a.Matrix(t)):new a.Matrix(t)),this.attr("transform",s))}}),a.extend(a.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split("(");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return"matrix"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(t,e){if(arguments.length>1&&"boolean"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var a=0,s=this.arguments.length;a=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return a.adopt(e).id(a.eid(e.nodeName))}function b(t){return Math.abs(t)>1e-37?t:0}["fill","stroke"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if("string"==typeof e||a.Color.isRgb(e)||e&&"function"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr("transform",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)"function"==typeof a.Shape.prototype[e]&&"function"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var i=e.getElementById(function(t){var e=(t||"").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(i)},a.select=function(t,i){return new a.Set(a.utils.map((i||e).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var v="abcdef".split("");if("function"!=typeof t.CustomEvent){var m=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent("CustomEvent");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};m.prototype=t.Event.prototype,a.CustomEvent=m}else a.CustomEvent=t.CustomEvent;return a},"function"==typeof define&&define.amd?define((function(){return Et(zt,zt.document)})):"object"===("undefined"==typeof exports?"undefined":i(exports))&&"undefined"!=typeof module?module.exports=zt.document?Et(zt,zt.document):function(t){return Et(t,t.document)}:zt.SVG=Et(zt,zt.document), +/*! svg.filter.js - v2.0.2 - 2016-02-24 +* https://github.com/wout/svg.filter.js +* Copyright (c) 2016 Wout Fierens; Licensed MIT */ +function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr("in")&&this.autoSetIn&&t.attr("in",this.source),t.attr("result")||t.attr("result",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return"function"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr("in",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||"normal"})},colorMatrix:function(t,e){"matrix"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr("flood-color",t),null!=e&&this.attr("flood-opacity",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr("href",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr("stdDeviation",function(t){if(!Array.isArray(t))return t;for(var e=0,i=t.length,a=[];e1&&(I*=a=Math.sqrt(a),T*=a);s=(new SVG.Matrix).rotate(M).scale(1/I,1/T).rotate(-M),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,X===z&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);z&&g>u&&(u+=2*Math.PI);!z&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire("dragend",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(e,i){"function"!=typeof e&&"object"!=typeof e||(i=e,e=!0);var a=this.remember("_draggable")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,e,i){var a="string"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,"t"===t||"b"===t),y:this.pointCoord(i[1],e,"r"===t||"l"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=["points","pointsExclude"];for(var s in r){var o=this.options[r[s]];"string"==typeof o?o=o.length>0?o.split(/\s*,\s*/i):[]:"boolean"==typeof o&&"points"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==["line","polyline","polygon"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case"rt":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case"rb":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case"lb":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case"t":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case"r":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case"b":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case"l":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case"rot":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,"touchmove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"touchend.resize",(function(){e.done()})),SVG.on(window,"mousemove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"mouseup.resize",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire("resizing",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var Ot=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new b(this.ctx),this.ctx.axes=new J(this.ctx),this.ctx.core=new Dt(this.ctx.el,this.ctx),this.ctx.config=new E({}),this.ctx.data=new W(this.ctx),this.ctx.grid=new j(this.ctx),this.ctx.graphics=new m(this.ctx),this.ctx.coreUtils=new y(this.ctx),this.ctx.crosshairs=new Q(this.ctx),this.ctx.events=new Z(this.ctx),this.ctx.exports=new G(this.ctx),this.ctx.localization=new $(this.ctx),this.ctx.options=new L,this.ctx.responsive=new K(this.ctx),this.ctx.series=new N(this.ctx),this.ctx.theme=new tt(this.ctx),this.ctx.formatters=new T(this.ctx),this.ctx.titleSubtitle=new et(this.ctx),this.ctx.legend=new lt(this.ctx),this.ctx.toolbar=new ht(this.ctx),this.ctx.tooltip=new bt(this.ctx),this.ctx.dimensions=new ot(this.ctx),this.ctx.updateHelpers=new Ht(this.ctx),this.ctx.zoomPanSelection=new ct(this.ctx),this.ctx.w.globals.tooltip=new bt(this.ctx)}}]),t}(),Nt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"clear",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:"killSVG",value:function(t){t.each((function(t,e){this.removeClass("*"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:"clearDomElements",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight="unset");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),Wt=new WeakMap;var Bt=function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new F(i).init(),this.el=e,this.w.globals.cuid=x.randomId(),this.w.globals.chartID=this.w.config.chart.id?x.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Ot(this).initModules(),this.create=x.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return r(t,[{key:"render",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;if("function"==typeof a&&a(t,t.w),t.events.fireEvent("beforeMount",[t,t.w]),window.addEventListener("resize",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();"none"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),Wt.set(e,s)}(t.el.parentNode,t.parentResizeHandler),!t.css){var s=t.el.getRootNode&&t.el.getRootNode(),r=x.is("ShadowRoot",s),o=t.el.ownerDocument,n=o.getElementById("apexcharts-css");!r&&n||(t.css=document.createElement("style"),t.css.id="apexcharts-css",t.css.textContent='@keyframes opaque {\n 0% {\n opacity: 0\n }\n\n to {\n opacity: 1\n }\n}\n\n@keyframes resizeanim {\n 0%,to {\n opacity: 0\n }\n}\n\n.apexcharts-canvas {\n position: relative;\n user-select: none\n}\n\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0,0,0,.5);\n box-shadow: 0 0 1px rgba(255,255,255,.5);\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5)\n}\n\n.apexcharts-inner {\n position: relative\n}\n\n.apexcharts-text tspan {\n font-family: inherit\n}\n\n.legend-mouseover-inactive {\n transition: .15s ease all;\n opacity: .2\n}\n\n.apexcharts-legend-text {\n padding-left: 15px;\n margin-left: -15px;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255,255,255,.96)\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30,30,30,.8)\n}\n\n.apexcharts-tooltip * {\n font-family: inherit\n}\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #eceff1;\n border-bottom: 1px solid #ddd\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0,0,0,.7);\n border-bottom: 1px solid #333\n}\n\n.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value {\n display: inline-block;\n margin-left: 5px;\n font-weight: 600\n}\n\n.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty {\n display: none\n}\n\n.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px\n}\n\n.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n display: flex\n}\n\n.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0;\n margin-right: 10px;\n border-radius: 50%\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0!important\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px\n}\n\n.apexcharts-custom-tooltip,.apexcharts-tooltip-box {\n padding: 4px 8px\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: 700\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: 700;\n display: block;\n margin-bottom: 5px\n}\n\n.apexcharts-xaxistooltip,.apexcharts-yaxistooltip {\n opacity: 0;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #eceff1;\n border: 1px solid #90a4ae\n}\n\n.apexcharts-xaxistooltip {\n padding: 9px 10px;\n transition: .15s ease all\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-left: -6px\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-left: -7px\n}\n\n.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%\n}\n\n.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before {\n top: 100%\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-yaxistooltip {\n padding: 4px 10px\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-top: -6px\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-top: -7px\n}\n\n.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before {\n left: 100%\n}\n\n.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before {\n right: 100%\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none\n}\n\n.apexcharts-xcrosshairs,.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: .15s ease all\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0\n}\n\n.apexcharts-selection-rect {\n cursor: move\n}\n\n.svg_select_boundingRect,.svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6e8192;\n text-align: center\n}\n\n.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg {\n fill: #6e8192\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(.76)\n}\n\n.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\n fill: #f3f4f5\n}\n\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\n fill: #008ffb\n}\n\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\n fill: #333\n}\n\n.apexcharts-menu-icon,.apexcharts-selection-icon {\n position: relative\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px\n}\n\n.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon {\n transform: scale(.85)\n}\n\n.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n transform: scale(.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px\n}\n\n.apexcharts-pan-icon {\n transform: scale(.62);\n position: relative;\n left: 1px;\n top: 0\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6e8192;\n stroke-width: 2\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008ffb\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0 6px 2px;\n display: flex;\n justify-content: space-between;\n align-items: center\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: .15s ease all;\n pointer-events: none\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: .15s ease all\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0,0,0,.7);\n color: #fff\n}\n\n@media screen and (min-width:768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1\n }\n}\n\n.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points {\n opacity: 0\n}\n\n.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label {\n cursor: default;\n pointer-events: none\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: .3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease\n}\n\n.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect {\n pointer-events: none\n}\n\n.apexcharts-marker {\n transition: .15s ease all\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n height: 100%;\n width: 100%;\n overflow: hidden\n}\n\n.contract-trigger:before,.resize-triggers,.resize-triggers>div {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0\n}\n\n.resize-triggers>div {\n height: 100%;\n width: 100%;\n background: #eee;\n overflow: auto\n}\n\n.contract-trigger:before {\n overflow: hidden;\n width: 200%;\n height: 200%\n}\n',r?s.prepend(t.css):o.head.appendChild(t.css))}var l=t.create(t.w.config.series,{});if(!l)return e(t);t.mount(l).then((function(){"function"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent("mounted",[t,t.w]),e(l)})).catch((function(t){i(t)}))}else i(new Error("Element not found"))}))}},{key:"create",value:function(t,e){var i=this.w;new Ot(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new z(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),"treemap"===i.config.chart.type&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),0===a.svgWidth)return a.animationEnded=!0,null;var s=y.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=t.every((function(t){return t.data&&0===t.data.length}));(0===t.length||r)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new D(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),"category"!==i.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new y(this).getLargestMarkerSize(),this.dimensions.plotCoords();var o=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,o),l=new O(this);return l.bringForward(),i.config.dataLabels.background.enabled&&l.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:n,xyRatios:o,dimensions:{plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}}}}},{key:"mount",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new j(i);var o=i.grid.drawGrid();if(i.annotations=new P(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position&&o&&a.globals.dom.elGraphical.add(o.el),Array.isArray(e.elGraph))for(var n=0;n0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){var t,e;window.removeEventListener("resize",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=Wt.get(t))&&(e.disconnect(),Wt.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===x.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Nt(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new U(this.ctx).getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new U(this.ctx).getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(t){return new G(this.ctx).dataURI(t)}},{key:"exportToCSV",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new G(this.ctx).exportToCSV(t)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:"_windowResizeHandler",value:function(){var t=this.w.config.chart.redrawOnWindowResize;"function"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:"getChartByID",value:function(t){var e=x.escapeString(t),i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i2?s-2:0),o=2;odiv { + margin: 4px 0 +} + +.apexcharts-tooltip-box span.value { + font-weight: 700 +} + +.apexcharts-tooltip-rangebar { + padding: 5px 8px +} + +.apexcharts-tooltip-rangebar .category { + font-weight: 600; + color: #777 +} + +.apexcharts-tooltip-rangebar .series-name { + font-weight: 700; + display: block; + margin-bottom: 5px +} + +.apexcharts-xaxistooltip,.apexcharts-yaxistooltip { + opacity: 0; + pointer-events: none; + color: #373d3f; + font-size: 13px; + text-align: center; + border-radius: 2px; + position: absolute; + z-index: 10; + background: #eceff1; + border: 1px solid #90a4ae +} + +.apexcharts-xaxistooltip { + padding: 9px 10px; + transition: .15s ease all +} + +.apexcharts-xaxistooltip.apexcharts-theme-dark { + background: rgba(0,0,0,.7); + border: 1px solid rgba(0,0,0,.5); + color: #fff +} + +.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before { + left: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none +} + +.apexcharts-xaxistooltip:after { + border-color: transparent; + border-width: 6px; + margin-left: -6px +} + +.apexcharts-xaxistooltip:before { + border-color: transparent; + border-width: 7px; + margin-left: -7px +} + +.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before { + bottom: 100% +} + +.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before { + top: 100% +} + +.apexcharts-xaxistooltip-bottom:after { + border-bottom-color: #eceff1 +} + +.apexcharts-xaxistooltip-bottom:before { + border-bottom-color: #90a4ae +} + +.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before { + border-bottom-color: rgba(0,0,0,.5) +} + +.apexcharts-xaxistooltip-top:after { + border-top-color: #eceff1 +} + +.apexcharts-xaxistooltip-top:before { + border-top-color: #90a4ae +} + +.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before { + border-top-color: rgba(0,0,0,.5) +} + +.apexcharts-xaxistooltip.apexcharts-active { + opacity: 1; + transition: .15s ease all +} + +.apexcharts-yaxistooltip { + padding: 4px 10px +} + +.apexcharts-yaxistooltip.apexcharts-theme-dark { + background: rgba(0,0,0,.7); + border: 1px solid rgba(0,0,0,.5); + color: #fff +} + +.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before { + top: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none +} + +.apexcharts-yaxistooltip:after { + border-color: transparent; + border-width: 6px; + margin-top: -6px +} + +.apexcharts-yaxistooltip:before { + border-color: transparent; + border-width: 7px; + margin-top: -7px +} + +.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before { + left: 100% +} + +.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before { + right: 100% +} + +.apexcharts-yaxistooltip-left:after { + border-left-color: #eceff1 +} + +.apexcharts-yaxistooltip-left:before { + border-left-color: #90a4ae +} + +.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before { + border-left-color: rgba(0,0,0,.5) +} + +.apexcharts-yaxistooltip-right:after { + border-right-color: #eceff1 +} + +.apexcharts-yaxistooltip-right:before { + border-right-color: #90a4ae +} + +.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before { + border-right-color: rgba(0,0,0,.5) +} + +.apexcharts-yaxistooltip.apexcharts-active { + opacity: 1 +} + +.apexcharts-yaxistooltip-hidden { + display: none +} + +.apexcharts-xcrosshairs,.apexcharts-ycrosshairs { + pointer-events: none; + opacity: 0; + transition: .15s ease all +} + +.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active { + opacity: 1; + transition: .15s ease all +} + +.apexcharts-ycrosshairs-hidden { + opacity: 0 +} + +.apexcharts-selection-rect { + cursor: move +} + +.svg_select_boundingRect,.svg_select_points_rot { + pointer-events: none; + opacity: 0; + visibility: hidden +} + +.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot { + opacity: 0; + visibility: hidden +} + +.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r { + cursor: ew-resize; + opacity: 1; + visibility: visible +} + +.svg_select_points { + fill: #efefef; + stroke: #333; + rx: 2 +} + +.apexcharts-svg.apexcharts-zoomable.hovering-zoom { + cursor: crosshair +} + +.apexcharts-svg.apexcharts-zoomable.hovering-pan { + cursor: move +} + +.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon { + cursor: pointer; + width: 20px; + height: 20px; + line-height: 24px; + color: #6e8192; + text-align: center +} + +.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg { + fill: #6e8192 +} + +.apexcharts-selection-icon svg { + fill: #444; + transform: scale(.76) +} + +.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg { + fill: #f3f4f5 +} + +.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg { + fill: #008ffb +} + +.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg { + fill: #333 +} + +.apexcharts-menu-icon,.apexcharts-selection-icon { + position: relative +} + +.apexcharts-reset-icon { + margin-left: 5px +} + +.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon { + transform: scale(.85) +} + +.apexcharts-zoomin-icon,.apexcharts-zoomout-icon { + transform: scale(.7) +} + +.apexcharts-zoomout-icon { + margin-right: 3px +} + +.apexcharts-pan-icon { + transform: scale(.62); + position: relative; + left: 1px; + top: 0 +} + +.apexcharts-pan-icon svg { + fill: #fff; + stroke: #6e8192; + stroke-width: 2 +} + +.apexcharts-pan-icon.apexcharts-selected svg { + stroke: #008ffb +} + +.apexcharts-pan-icon:not(.apexcharts-selected):hover svg { + stroke: #333 +} + +.apexcharts-toolbar { + position: absolute; + z-index: 11; + max-width: 176px; + text-align: right; + border-radius: 3px; + padding: 0 6px 2px; + display: flex; + justify-content: space-between; + align-items: center +} + +.apexcharts-menu { + background: #fff; + position: absolute; + top: 100%; + border: 1px solid #ddd; + border-radius: 3px; + padding: 3px; + right: 10px; + opacity: 0; + min-width: 110px; + transition: .15s ease all; + pointer-events: none +} + +.apexcharts-menu.apexcharts-menu-open { + opacity: 1; + pointer-events: all; + transition: .15s ease all +} + +.apexcharts-menu-item { + padding: 6px 7px; + font-size: 12px; + cursor: pointer +} + +.apexcharts-theme-light .apexcharts-menu-item:hover { + background: #eee +} + +.apexcharts-theme-dark .apexcharts-menu { + background: rgba(0,0,0,.7); + color: #fff +} + +@media screen and (min-width:768px) { + .apexcharts-canvas:hover .apexcharts-toolbar { + opacity: 1 + } +} + +.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points { + opacity: 0 +} + +.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label { + cursor: default; + pointer-events: none +} + +.apexcharts-pie-label-delay { + opacity: 0; + animation-name: opaque; + animation-duration: .3s; + animation-fill-mode: forwards; + animation-timing-function: ease +} + +.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect { + pointer-events: none +} + +.apexcharts-marker { + transition: .15s ease all +} + +.resize-triggers { + animation: 1ms resizeanim; + visibility: hidden; + opacity: 0; + height: 100%; + width: 100%; + overflow: hidden +} + +.contract-trigger:before,.resize-triggers,.resize-triggers>div { + content: " "; + display: block; + position: absolute; + top: 0; + left: 0 +} + +.resize-triggers>div { + height: 100%; + width: 100%; + background: #eee; + overflow: auto +} + +.contract-trigger:before { + overflow: hidden; + width: 200%; + height: 200% +} diff --git a/bin/main/static/tabler/dist/libs/apexcharts/dist/apexcharts.esm.js b/bin/main/static/tabler/dist/libs/apexcharts/dist/apexcharts.esm.js new file mode 100644 index 0000000..2d84b22 --- /dev/null +++ b/bin/main/static/tabler/dist/libs/apexcharts/dist/apexcharts.esm.js @@ -0,0 +1,14 @@ +/*! + * ApexCharts v3.40.0 + * (c) 2018-2023 ApexCharts + * Released under the MIT License. + */ +function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function e(e){for(var i=1;it.length)&&(e=t.length);for(var i=0,a=new Array(e);i>16,o=i>>8&255,n=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:"bind",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:"isObject",value:function(t){return t&&"object"===i(t)&&!Array.isArray(t)&&null!=t}},{key:"is",value:function(t,e){return Object.prototype.toString.call(e)==="[object "+t+"]"}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;ee.length?t:e}))),t.length>e.length?t:e}),0)}},{key:"hexToRgba",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==t.substring(0,1)&&(t="#999999");var i=t.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"x",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,e)}},{key:"negToZero",value:function(t){return t<0?0:t}},{key:"moveIndexInArray",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:"extractNumber",value:function(t){return parseFloat(t.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:"setELstyles",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:"isNumber",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:"isFloat",value:function(t){return Number(t)===t&&t%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var a=t.indexOf("Edge/");return a>0&&parseInt(t.substring(a+5,t.indexOf(".",a)),10)}}]),t}(),b=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return r(t,[{key:"setEasingFunctions",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case"linear":t="-";break;case"easein":t="<";break;case"easeout":t=">";break;case"easeinout":default:t="<>";break;case"swing":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case"bounce":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case"elastic":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=t}}},{key:"animateLine",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:"animateMarker",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:"animateCircle",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:"animateRect",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:"animatePathsGradually",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&"bar"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,"line"!==h.config.chart.type||h.globals.comboCharts?s:"stroke",r,o,n,l*c)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach((function(t){t.el.classList.remove("apexcharts-element-hidden")}))}},{key:"animationCompleted",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),"function"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:"morphSVG",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr("pathFrom")),r||(r=t.attr("pathTo"));var c=function(t){return"radar"===h.config.chart.type&&(o=1),"M 0 ".concat(h.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=c()),(!r||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){x.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):"none"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),v=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getDefaultFilter",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size("120%","180%","-5%","-40%"),"none"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addNormalFilter",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains("apexcharts-marker")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addLightenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"addDarkenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"applyFilter",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(t,e);break;case"lighten":this.addLightenFilter(t,e,{intensity:a});break;case"darken":this.addDarkenFilter(t,e,{intensity:a})}}},{key:"addShadow",value:function(t,e,i){var a=i.blur,s=i.top,r=i.left,o=i.color,n=i.opacity,l=t.flood(Array.isArray(o)?o[e]:o,n).composite(t.sourceAlpha,"in").offset(r,s).gaussianBlur(a).merge(t.source);return t.blend(t.source,l)}},{key:"dropShadow",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.top,s=e.left,r=e.blur,o=e.color,n=e.opacity,l=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),x.isIE()&&"radialBar"===h.config.chart.type||(o=Array.isArray(o)?o[i]:o,t.filter((function(t){var e=null;e=x.isSafari()||x.isFirefox()||x.isIE()?t.flood(o,n).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r):t.flood(o,n).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r).merge(t.source),t.blend(t.source,e)})),l||t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)),t}},{key:"setSelectionFilter",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute("selected",!0);var s=a.config.states.active.filter;"none"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:"_scaleFilterSize",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),t}(),m=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"roundPathCorners",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,o=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/o))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf("NaN")>-1&&(t="");var o=t.split(/[,\s]/).reduce((function(t,e){var i=e.match("([a-zA-Z])(.+)");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),n=[];if(o.length>1){var l=r(o[0]),h=null;"Z"==o[o.length-1][0]&&o[0].length>2&&(h=["L",l.x,l.y],o[o.length-1]=h),n.push(o[0]);for(var c=1;c2&&"L"==g[0]&&u.length>2&&"L"==u[0]){var p,f,x=r(d),b=r(g),v=r(u);p=i(b,x,e),f=i(b,v,e),s(g,p),g.origPoint=b,n.push(g);var m=a(p,b,.5),y=a(b,f,.5),w=["C",m.x,m.y,y.x,y.y,f.x,f.y];w.origPoint=b,n.push(w)}else n.push(g)}if(h){var k=r(n[n.length-1]);n.push(["Z"]),s(n[0],k)}}else n=o;return n.reduce((function(t,e){return t+e.join(" ")+" "}),"")}},{key:"drawLine",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":o,"stroke-linecap":n})}},{key:"drawRect",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#fefefe",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,"stroke-width":null!==n?n:0,stroke:null!==l?l:"none","stroke-dasharray":h}),c.node.setAttribute("fill",r),c}},{key:"drawPolygon",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,"stroke-width":i})}},{key:"drawCircle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:"drawPath",value:function(t){var e=t.d,i=void 0===e?"":e,a=t.stroke,s=void 0===a?"#a8a8a8":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,p=void 0===u?null:u,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,"fill-opacity":h,stroke:s,"stroke-opacity":d,"stroke-linecap":p,"stroke-width":o,"stroke-dasharray":x,class:g})}},{key:"group",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:"move",value:function(t,e){var i=["M",t,e].join(" ");return i}},{key:"line",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[" L",t,e].join(" "):"H"===i?a=[" H",t].join(" "):"V"===i&&(a=[" V",e].join(" ")),a}},{key:"curve",value:function(t,e,i,a,s,r){var o=["C",t,e,i,a,s,r].join(" ");return o}},{key:"quadraticCurve",value:function(t,e,i,a){return["Q",t,e,i,a].join(" ")}},{key:"arc",value:function(t,e,i,a,s,r,o){var n="A";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(n="a");var l=[n,t,e,i,a,s,r,o].join(" ");return l}},{key:"renderPaths",value:function(t){var i,a=t.j,s=t.realIndex,r=t.pathFrom,o=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,p=t.className,f=t.shouldClipToGrid,x=void 0===f||f,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new v(this.ctx),C=new b(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,I=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);I?i=r:(i=o,A.globals.animationEnded=!0);var T=A.config.stroke.dashArray,M=0;M=Array.isArray(T)?T[s]:A.config.stroke.dashArray;var X=this.drawPath({d:i,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:M});if(X.attr("index",s),x&&X.attr({"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")}),"none"!==A.config.states.normal.filter.type)S.getDefaultFilter(X,s);else if(A.config.chart.dropShadow.enabled&&k&&(!A.config.chart.dropShadow.enabledOnSeries||A.config.chart.dropShadow.enabledOnSeries&&-1!==A.config.chart.dropShadow.enabledOnSeries.indexOf(s))){var z=A.config.chart.dropShadow;S.dropShadow(X,z,s)}y&&(X.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,X)),X.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,X)),X.node.addEventListener("mousedown",this.pathMouseDown.bind(this,X))),X.attr({pathTo:o,pathFrom:r});var E={el:X,j:a,realIndex:s,pathFrom:r,pathTo:o,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(e(e({},E),{},{speed:g})),A.globals.dataChanged&&P&&I&&C.animatePathsGradually(e(e({},E),{},{speed:u})),X}},{key:"drawPattern",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){"horizontalLines"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):"verticalLines"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):"slantedLines"===t?r.line(0,0,e,i).stroke({color:a,width:s}):"squares"===t?r.rect(e,i).fill("none").stroke({color:a,width:s}):"circles"===t&&r.circle(e).fill("none").stroke({color:a,width:s})}))}},{key:"drawGradient",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf("#")&&(e=x.hexToRgba(e,a)),i.length<9&&0===i.indexOf("#")&&(i=x.hexToRgba(i,s));var d=0,g=1,u=1,p=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,p=void 0!==n[3]?n[3]/100:null);var f=!("donut"!==c.config.chart.type&&"pie"!==c.config.chart.type&&"polarArea"!==c.config.chart.type&&"bubble"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==p&&t.at(p,e,a)})):c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),f){var b=c.globals.gridWidth/2,v=c.globals.gridHeight/2;"bubble"!==c.config.chart.type?r.attr({gradientUnits:"userSpaceOnUse",cx:b,cy:v,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else"vertical"===t?r.from(0,0).to(0,1):"diagonal"===t?r.from(0,0).to(1,1):"horizontal"===t?r.from(0,1).to(1,1):"diagonal2"===t&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(".apexcharts-series path").members,h=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute("selected","false"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute("selected","true"),o="true",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if("true"===o){var d=i.config.states.active.filter;if("none"!==d)a.applyFilter(t,s,d.type,d.value);else if("none"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if("none"!==i.config.states.active.filter.type)if("none"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent("dataPointSelection",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(t){var e={};return t&&"function"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:"getTextRects",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:"start",fontSize:e,fontFamily:i,foreColor:"#fff",opacity:0});a&&o.attr("transform",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:"placeTextWithEllipsis",value:function(t,e,i){if("function"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+"...");t.textContent="."}}}],[{key:"setAttrs",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),y=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getStackedSeriesTotals",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:"isSeriesNull",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:"seriesHaveSameValues",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:"getCategoryLabels",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:"getLargestSeries",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:"getLargestMarkerSize",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:"getSeriesTotals",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]0&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:"extendArrayProps",value:function(t,e,i){return e.yaxis&&(e=t.extendYAxis(e,i)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}]),t}(),w=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e}return r(t,[{key:"setOrientations",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if("vertical"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4),"top"===t.label.position?s.setAttribute("y",parseFloat(s.getAttribute("y"))+r.width):s.setAttribute("y",parseFloat(s.getAttribute("y"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute("transform","rotate(-90 ".concat(n," ").concat(l,")"))}}}},{key:"addBackgroundToAnno",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;"vertical"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:"annotationsBackground",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(a,"']"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener("mouseenter",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener("mouseleave",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener("click",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,"xaxis")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,"yaxis")})),e.config.annotations.points.map((function(t,e){i(t,e,"point")}))}},{key:"getY1Y2",value:function(t,e){var i,a="y1"===t?e.y:e.y2,s=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels.indexOf(a);s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels.indexOf(a));var o=s.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(r+1)+")");o&&(i=parseFloat(o.getAttribute("y")))}else{var n;if(s.config.yaxis[e.yAxisIndex].logarithmic)n=(a=new y(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex];else n=(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight);i=s.globals.gridHeight-n,!e.marker||void 0!==e.y&&null!==e.y||(i=0),s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=n)}return"string"==typeof a&&a.indexOf("px")>-1&&(i=parseFloat(a)),i}},{key:"getX1X2",value:function(t,e){var i=this.w,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,s=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,r=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=(e.x-a)/(r/i.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(o=(s-e.x)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(o=this.getStringX(e.x));var n=(e.x2-a)/(r/i.globals.gridWidth);return this.annoCtx.inversedReversedAxis&&(n=(s-e.x2)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(n=this.getStringX(e.x2)),void 0!==e.x&&null!==e.x||!e.marker||(o=i.globals.gridWidth),"x1"===t&&"string"==typeof e.x&&e.x.indexOf("px")>-1&&(o=parseFloat(e.x)),"x2"===t&&"string"==typeof e.x2&&e.x2.indexOf("px")>-1&&(n=parseFloat(e.x2)),"x1"===t?o:n}},{key:"getStringX",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(a+1)+")");return s&&(i=parseFloat(s.getAttribute("x"))),i}}]),t}(),k=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addXaxisAnnotation",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2("x1",t),o=t.label.text,n=t.strokeDashArray;if(x.isNumber(r)){if(null===t.x2||void 0===t.x2){var l=this.annoCtx.graphics.drawLine(r+t.offsetX,0+t.offsetY,r+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,n,t.borderWidth);e.appendChild(l.node),t.id&&l.node.classList.add(t.id)}else{if((a=this.helpers.getX1X2("x2",t))o){var h=o;o=a,a=h}var c=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);c.node.classList.add("apexcharts-annotation-rect"),c.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d="right"===t.label.position?s.globals.gridWidth:"center"===t.label.position?s.globals.gridWidth/2:0,g=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});g.attr({rel:i}),e.appendChild(g.node)}},{key:"_getYAxisAnnotationWidth",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf("%")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:"drawYAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),S=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addPointAnnotation",value:function(t,e,i){this.w;var a=this.helpers.getX1X2("x1",t),s=this.helpers.getY1Y2("y1",t);if(x.isNumber(a)){var r={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:"apexcharts-point-annotation-marker ".concat(t.marker.cssClass," ").concat(t.id?t.id:"")},o=this.annoCtx.graphics.drawMarker(a+t.marker.offsetX,s+t.marker.offsetY,r);e.appendChild(o.node);var n=t.label.text?t.label.text:"",l=this.annoCtx.graphics.drawText({x:a+t.label.offsetX,y:s+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});if(l.attr({rel:i}),e.appendChild(l.node),t.customSVG.SVG){var h=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+t.customSVG.cssClass});h.attr({transform:"translate(".concat(a+t.customSVG.offsetX,", ").concat(s+t.customSVG.offsetY,")")}),h.node.innerHTML=t.customSVG.SVG,e.appendChild(h.node)}if(t.image.path){var c=t.image.width?t.image.width:20,d=t.image.height?t.image.height:20;o=this.annoCtx.addImage({x:a+t.image.offsetX-c/2,y:s+t.image.offsetY-d/2,width:c,height:d,path:t.image.path,appendTo:".apexcharts-point-annotations"})}t.mouseEnter&&o.node.addEventListener("mouseenter",t.mouseEnter.bind(this,t)),t.mouseLeave&&o.node.addEventListener("mouseleave",t.mouseLeave.bind(this,t)),t.click&&o.node.addEventListener("click",t.click.bind(this,t))}}},{key:"drawPointAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var C={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},L=function(){function t(){a(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,radius:2,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return r(t,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:"easeinout",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"transparent",locales:[C],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0},stacked:!1,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",dateFormatter:function(t){return new Date(t).toDateString()}},png:{filename:void 0},svg:{filename:void 0}},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+"%"}}}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:"#fff",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:2},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",width:8,height:8,radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:"none",value:0}},hover:{filter:{type:"lighten",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken",value:.5}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"light",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),t}(),P=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.graphics=new m(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new w(this),this.xAxisAnnotations=new k(this),this.yAxisAnnotations=new A(this),this.pointsAnnotations=new S(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return r(t,[{key:"drawAxesAnnotations",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||"scatter"!==t.config.chart.type&&"bubble"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add("apexcharts-element-hidden"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:"drawTextAnnos",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:"addXaxisAnnotation",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:"addYaxisAnnotation",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:"addPointAnnotation",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:"addText",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?".apexcharts-annotations":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:n||"12px",fontWeight:h||"regular",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),I=L.globals.dom.baseEl.querySelector(b);I&&I.appendChild(P.node);var T=P.bbox();if(s){var M=this.graphics.drawRect(T.x-m,T.y-C,T.width+m+w,T.height+A+C,p,d||"transparent",1,g,f,u);I.insertBefore(M.node,P.node)}}},{key:"addImage",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?".apexcharts-annotations":g,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,n);var f=i.globals.dom.baseEl.querySelector(u);return f&&f.appendChild(p.node),p}},{key:"addXaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),h=l.childNodes.length+1,c=new L,d=Object.assign({},"xaxis"===s?c.xAxisAnnotation:"yaxis"===s?c.yAxisAnnotation:c.pointAnnotation),g=x.extend(d,e);switch(s){case"xaxis":this.addXaxisAnnotation(g,l,h);break;case"yaxis":this.addYaxisAnnotation(g,l,h);break;case"point":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(h,"']")),p=this.helpers.addBackgroundToAnno(u,g);return p&&l.insertBefore(p.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:x.randomId(),method:r,label:"addAnnotation",params:e}),a}},{key:"clearAnnotations",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations");e.globals.memory.methodsToExec.map((function(t,i){"addText"!==t.label&&"addAnnotation"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=x.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:"removeAnnotation",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),I=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return r(t,[{key:"isValidDate",value:function(t){return!isNaN(this.parseDate(t))}},{key:"getTimeStamp",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:"getDate",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:"parseDate",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "));return i=this.getTimeStamp(i)}},{key:"parseDateWithTimezone",value:function(t){return Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "))}},{key:"formatDate",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=["\0"].concat(u(i.months)),r=["\x01"].concat(u(i.shortMonths)),o=["\x02"].concat(u(i.days)),n=["\x03"].concat(u(i.shortDays));function l(t,e){var i=t+"";for(e=e||2;i.length12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\])HH+/g,"$1"+l(g))).replace(/(^|[^\\])H/g,"$1"+g)).replace(/(^|[^\\])hh+/g,"$1"+l(p))).replace(/(^|[^\\])h/g,"$1"+p);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\])mm+/g,"$1"+l(f))).replace(/(^|[^\\])m/g,"$1"+f);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\])ss+/g,"$1"+l(x))).replace(/(^|[^\\])s/g,"$1"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\])fff+/g,"$1"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\])ff/g,"$1"+l(b)),b=Math.round(b/10);var v=g<12?"AM":"PM";e=(e=(e=e.replace(/(^|[^\\])f/g,"$1"+b)).replace(/(^|[^\\])TT+/g,"$1"+v)).replace(/(^|[^\\])T/g,"$1"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\])tt+/g,"$1"+m)).replace(/(^|[^\\])t/g,"$1"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?"Z":y>0?"+":"-";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+":"+l(k)}e=e.replace(/(^|[^\\])K/g,"$1"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],"g"),o[A])).replace(new RegExp(n[0],"g"),n[A])).replace(new RegExp(s[0],"g"),s[c])).replace(new RegExp(r[0],"g"),r[c])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" "),n=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:"isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"calculcateLastDaysOfMonth",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:"determineDaysOfYear",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:"determineRemainingDaysOfYear",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(t,e){var i=30;switch(t=x.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),T=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return r(t,[{key:"xLabelFormat",value:function(t,e,i,a){var s=this.w;if("datetime"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new I(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:"defaultGeneralFormatter",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:"defaultYFormatter",value:function(t,e,i){var a=this.w;return x.isNumber(t)&&(t=0!==a.globals.yValueDecimal?t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal):a.globals.maxYArr[i]-a.globals.minYArr[i]<5?t.toFixed(1):t.toFixed(0)),t}},{key:"setLabelFormatters",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(x.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&"numeric"===e.config.xaxis.type){if(x.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},"function"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,"function"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:"heatmapLabelFormatters",value:function(){var t=this.w;if("heatmap"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),M=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,o=t.y1,n=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],g=l.config.series[s].name?l.config.series[s].name:"",u=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};("function"==typeof p&&(g=p(g,f)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||"datetime"===l.config.xaxis.type&&(d=new T(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new I(a).formatDate,w:l}));"function"==typeof u&&(d=u(d,f)),Number.isFinite(o)&&Number.isFinite(n)&&(h=o,c=n);var x="",b="",v=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if("datetime"===l.config.xaxis.type){var m=new I(a);x=m.formatDate(m.getDate(h),l.config.tooltip.x.format),b=m.formatDate(m.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:v,seriesName:g}},X=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,o=t.seriesIndex,n=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(o);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[o][n]),c='\n '.concat(s,'\n - \n ').concat(r,"\n ");return'
'+(i||"")+'
'+a+": "+(t.w.globals.comboCharts?"rangeArea"===t.w.config.series[o].type||"rangeBar"===t.w.config.series[o].type?c:"".concat(h,""):c)+"
"},z=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(t){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0;return x.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"candlestick",value:function(){var t=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:5,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?"rangeBar"===s.config.series[i].type||"rangeArea"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var i=M(e(e({},t),{},{isTimeline:!0})),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t):function(t){var i=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var i=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}}}}},{key:"brush",value:function(t){return x.extend(t,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),"bar"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return"number"==typeof t&&t?t.toFixed(0)+"%":t}),t}},{key:"stackedBars",value:function(){var t=this.bar();return e(e({},t),{},{plotOptions:e(e({},t.plotOptions),{},{bar:e(e({},t.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:"convertCatToNumericXaxis",value:function(t,e,i){t.xaxis.type="numeric",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return x.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return x.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||"dataPoints",t}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"polarArea",value:function(){return this.opts.yaxis[0].tickAmount=this.opts.yaxis[0].tickAmount?this.opts.yaxis[0].tickAmount:6,{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:"_getBoxTooltip",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\n '.concat(t.config.series[e].name?t.config.series[e].name:"series-"+(e+1),": ").concat(t.globals.series[e][i],"\n
"):'
')+"
".concat(a[0],': ')+r+"
"+"
".concat(a[1],': ')+o+"
"+(n?"
".concat(a[2],': ')+n+"
":"")+"
".concat(a[3],': ')+l+"
"+"
".concat(a[4],': ')+h+"
"}}]),t}(),E=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(t){var e=t.responsiveOverride,a=this.opts,s=new L,r=new z(a);this.chartType=a.chart.type,a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&"object"===i(a)){var l,h,c,d,g,u,p={};p=-1!==["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),a.chart.stacked&&"bar"===a.chart.type&&(p=r.stackedBars()),null!==(l=a.chart.brush)&&void 0!==l&&l.enabled&&(p=r.brush(p)),a.chart.stacked&&"100%"===a.chart.stackType&&(a=r.stacked100(a)),null!==(h=a.plotOptions)&&void 0!==h&&null!==(c=h.bar)&&void 0!==c&&c.isDumbbell&&(a=r.dumbbell(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},e||(a.xaxis.convertedCatToNumeric=!1),(null!==(d=(a=this.checkForCatToNumericXAxis(this.chartType,p,a)).chart.sparkline)&&void 0!==d&&d.enabled||null!==(g=window.Apex.chart)&&void 0!==g&&null!==(u=g.sparkline)&&void 0!==u&&u.enabled)&&(p=r.sparkline(p)),n=x.extend(o,p)}var f=x.extend(n,window.Apex);return o=x.extend(f,a),o=this.handleUserInputErrors(o)}},{key:"checkForCatToNumericXAxis",value:function(t,e,i){var a,s,r=new z(i),o=("bar"===t||"boxPlot"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),n="pie"===t||"polarArea"===t||"donut"===t||"radar"===t||"radialBar"===t||"heatmap"===t,l="datetime"!==i.xaxis.type&&"numeric"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return o||n||!l||"between"===h||(i=r.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(t,e){var i=new L;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=x.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[x.extend(i.yAxis,t.yaxis)]:t.yaxis=x.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name="series-".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=x.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both."),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new L;return t.annotations.yaxis=x.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new L;return t.annotations.xaxis=x.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new L;return t.annotations.points=x.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.chart.background||(t.chart.background="#424242"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if("bar"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&"barWidth"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width="tickWidth"),"candlestick"!==e.chart.type&&"boxPlot"!==e.chart.type||e.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(e.chart.type," chart is not supported.")),e.yaxis[0].reversed=!1),e}}]),t}(),Y=function(){function t(){a(this,t)}return r(t,[{key:"initGlobalVars",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0}},{key:"globalVars",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],yAxisSameScaleIndices:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:"zoom"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:"pan"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:"selection"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null}}},{key:"init",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=x.extend({},t),e.initialSeries=x.clone(t.series),e.lastXAxis=x.clone(e.initialConfig.xaxis),e.lastYAxis=x.clone(e.initialConfig.yaxis),e}}]),t}(),F=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(){var t=new E(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new Y).init(t)}}}]),t}(),R=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return r(t,[{key:"clippedImgArea",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,"pattern");m.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:"userSpaceOnUse",width:n+"px",height:l+"px"});var c=document.createElementNS(e.globals.SVGNS,"image");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,"href",o),m.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:n+"px",height:l+"px"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:"getSeriesIndex",value:function(t){var e=this.w;return("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||"heatmap"===e.config.chart.type||"treemap"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),"function"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=t.fillType?t.fillType:this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color);var h=o;if(-1===o.indexOf("rgb")?o.length<9&&(h=x.hexToRgba(o,l)):o.indexOf("rgba")>-1&&(l=x.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),"pattern"===n&&(a=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:a,fillColor:o,fillOpacity:l,defaultColor:h})),"gradient"===n&&(s=this.handleGradientFill({fillConfig:t.fillConfig,fillColor:o,fillOpacity:l,i:this.seriesIndex})),"image"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:"";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(u=x.getOpacityFromRGBA(g));var p=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[r]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)n="dark"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?x.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?x.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var f=o.gradient.gradientToColors[l.seriesNumber];n=f,f.indexOf("rgba")>-1&&(p=x.getOpacityFromRGBA(f))}else n=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(n=o.gradient.gradientTo),o.gradient.inverseColors){var b=g;g=n,n=b}return g.indexOf("rgb")>-1&&(g=x.rgb2hex(g)),n.indexOf("rgb")>-1&&(n=x.rgb2hex(n)),h.drawGradient(d,g,n,u,p,l.size,o.gradient.stops,o.gradient.colorStops,r)}}]),t}(),D=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"setGlobalMarkerSize",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new m(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(o.globals.cuid,")")),Array.isArray(l.x))for(var g=0;g0:o.config.markers.size>0)||r||d){x.isNumber(l.y[g])?p+=" w".concat(x.randomId()):p="apexcharts-nullpoint";var f=this.getMarkerConfig({cssClass:p,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(f.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(f.pointStrokeColor=o.config.series[n].data[u].strokeColor)),a&&(f.pSize=a),(l.x[g]<0||l.x[g]>o.globals.gridWidth||l.y[g]<0||l.y[g]>o.globals.gridHeight)&&(f.pSize=0),(s=c.drawMarker(l.x[g],l.y[g],f)).attr("rel",u),s.attr("j",u),s.attr("index",e),s.node.setAttribute("default-marker-size",f.pSize),new v(this.ctx).setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:"getMarkerConfig",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.finishRadius,o=void 0===r?null:r,n=this.w,l=this.getMarkerStyle(i),h=n.globals.markers.size[i],c=n.config.markers;return null!==s&&c.discrete.length&&c.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,h=t.size,l.pointShape=t.shape)})),{pSize:null===o?h:o,pRadius:c.radius,width:Array.isArray(c.width)?c.width[i]:c.width,height:Array.isArray(c.height)?c.height[i]:c.height,pointStrokeWidth:Array.isArray(c.strokeWidth)?c.strokeWidth[i]:c.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(c.shape)?c.shape[i]:c.shape),class:e,pointStrokeOpacity:Array.isArray(c.strokeOpacity)?c.strokeOpacity[i]:c.strokeOpacity,pointStrokeDashArray:Array.isArray(c.strokeDashArray)?c.strokeDashArray[i]:c.strokeDashArray,pointFillOpacity:Array.isArray(c.fillOpacity)?c.fillOpacity[i]:c.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(t){var e=this.w,i=new m(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener("click",e.config.markers.onClick),t.node.addEventListener("dblclick",e.config.markers.onDblClick),t.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:"getMarkerStyle",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),H=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled}return r(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(h.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),Array.isArray(o.x))for(var c=0;cf.maxBubbleRadius&&(p=f.maxBubbleRadius)}a.config.chart.animations.enabled||(u=p);var x=o.x[c],b=o.y[c];if(u=u||0,null!==b&&void 0!==a.globals.series[r][d]||(g=!1),g){var v=this.drawPoint(x,b,u,p,r,d,e);h.add(v)}l.add(h)}}},{key:"drawPoint",value:function(t,e,i,a,s,r,o){var n=this.w,l=s,h=new b(this.ctx),c=new v(this.ctx),d=new R(this.ctx),g=new D(this.ctx),u=new m(this.ctx),p=g.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:l,dataPointIndex:r,finishRadius:"bubble"===n.config.chart.type||n.globals.comboCharts&&n.config.series[s]&&"bubble"===n.config.series[s].type?a:null});a=p.pSize;var f,x=d.fillPath({seriesNumber:s,dataPointIndex:r,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[s][o]});if("circle"===p.shape?f=u.drawCircle(i):"square"!==p.shape&&"rect"!==p.shape||(f=u.drawRect(0,0,p.width-p.pointStrokeWidth/2,p.height-p.pointStrokeWidth/2,p.pRadius)),n.config.series[l].data[r]&&n.config.series[l].data[r].fillColor&&(x=n.config.series[l].data[r].fillColor),f.attr({x:t-p.width/2-p.pointStrokeWidth/2,y:e-p.height/2-p.pointStrokeWidth/2,cx:t,cy:e,fill:x,"fill-opacity":p.pointFillOpacity,stroke:p.pointStrokeColor,r:a,"stroke-width":p.pointStrokeWidth,"stroke-dasharray":p.pointStrokeDashArray,"stroke-opacity":p.pointStrokeOpacity}),n.config.chart.dropShadow.enabled){var y=n.config.chart.dropShadow;c.dropShadow(f,y,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var w=n.config.chart.animations.speed;h.animateMarker(f,0,"circle"===p.shape?a:{width:p.width,height:p.height},w,n.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(f)}),100)}))}if(n.globals.dataChanged&&"circle"===p.shape)if(this.dynamicAnim){var k,A,S,C,L=n.config.chart.animations.dynamicAnimation.speed;null!=(C=n.globals.previousPaths[s]&&n.globals.previousPaths[s][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var P=0;Pn.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var p=n.globals.dataLabelsRects[a][u];(t>p.x+p.width+2||e>p.y+p.height+2||t+ce.globals.gridWidth+f.textRects.width+10)&&(n="");var x=e.globals.dataLabels.style.colors[r];(("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(x=e.globals.dataLabels.style.colors[o]),"function"==typeof x&&(x=x({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(x=g);var b=d.offsetX,y=d.offsetY;if("bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||(b=0,y=0),f.drawnextLabel){var w=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+b,y:s+y,foreColor:x,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||"normal"});if(w.attr({class:"apexcharts-datalabel",cx:a,cy:s}),d.dropShadow.enabled){var k=d.dropShadow;new v(this.ctx).dropShadow(w,k)}c.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}}}},{key:"addBackgroundToDataLabel",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new m(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,"transparent"===i.config.chart.background?"#fff":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new v(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:"dataLabelsBackground",value:function(){var t=this.w;if("bubble"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=x.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:"toggleSeriesOnHover",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels");if("mousemove"===t.type){var s=parseInt(e.getAttribute("rel"),10)-1,r=null,o=null;i.globals.axisCharts||"radialBar"===i.config.chart.type?i.globals.axisCharts?(r=i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(s,"']")),o=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(s,"']"))):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']")):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var n=0;n=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[o])}else"mouseout"===t.type&&r("remove")}},{key:"getActiveConfigSeriesIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"asc",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r="asc"===t?0:s.length-1;"asc"===t?r=0;"asc"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return"bar"===t.type||"column"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:"getPreviousPaths",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute("data:realIndex")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(e,"'] rect")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e("x")),y:parseFloat(e("y")),width:parseFloat(e("width")),height:parseFloat(e("height"))};a.push({rect:s,color:i[t].getAttribute("color")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),W=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new y(this.ctx)}return r(t,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var t=this.w.config.series.slice(),e=new N(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new N(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s="boxPlot"===i.chart.type||"boxPlot"===i.series[e].type,r=0;r=5?this.twoDSeries.push(x.parseNumber(t[e].data[r][4])):this.twoDSeries.push(x.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,s=this.w.config,r=this.w.globals,o=new I(a),n=s.labels.length>0?s.labels.slice():s.xaxis.categories.slice();if(r.isRangeBar="rangeBar"===s.chart.type&&r.isBarHorizontal,r.hasXaxisGroups="category"===s.xaxis.type&&s.xaxis.group.groups.length>0,r.hasXaxisGroups&&(r.groups=s.xaxis.group.groups),r.hasSeriesGroups=null===(e=t[0])||void 0===e?void 0:e.group,r.hasSeriesGroups){var l=[],h=u(new Set(t.map((function(t){return t.group}))));t.forEach((function(t,e){var i=h.indexOf(t.group);l[i]||(l[i]=[]),l[i].push(t.name)})),r.seriesGroups=l}for(var c=function(){for(var t=0;t0&&(this.twoDSeriesX=n,r.seriesX.push(this.twoDSeriesX))),r.labels.push(this.twoDSeriesX);var g=t[d].data.map((function(t){return x.parseNumber(t)}));r.series.push(g)}r.seriesZ.push(this.threeDSeries),void 0!==t[d].name?r.seriesNames.push(t[d].name):r.seriesNames.push("series-"+parseInt(d+1,10)),void 0!==t[d].color?r.seriesColors.push(t[d].color):r.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=i.labels.filter((function(t,e,i){return i.indexOf(t)===e}))),e.xaxis.convertedCatToNumeric)new z(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:"_generateExternalLabels",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?"":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new T(this.ctx),p=l;o&&(h=u.xLabelFormat(c,l,p,{i:a,dateFormatter:new I(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new I(this.ctx).formatDate,w:n})));var f,x;e.length>0?(f=e[a].unit,x=null,e.forEach((function(t){"month"===t.unit?x="year":"day"===t.unit?x="month":"hour"===t.unit?x="day":"minute"===t.unit&&(x="hour")})),g=x===f,i=e[a].position,h=e[a].value):"datetime"===n.config.xaxis.type&&void 0===d&&(h=""),void 0===h&&(h=""),h=Array.isArray(h)?h:h.toString();var b=new m(this.ctx),v={};v=n.globals.rotateXLabels&&o?b.getTextRects(h,parseInt(r,10),null,"rotate(".concat(n.config.xaxis.labels.rotate," 0 0)"),!1):b.getTextRects(h,parseInt(r,10));var y=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(0===h.indexOf("NaN")||0===h.toLowerCase().indexOf("invalid")||h.toLowerCase().indexOf("infinity")>=0||s.indexOf(h)>=0&&y)&&(h=""),{x:i,text:h,textRect:v,isBold:g}}},{key:"checkLabelBasedOnTickamount",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return"dataPoints"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=""),e}},{key:"checkForOverflowingLabels",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=""),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.x0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+n.config.yaxis[s].labels.offsetY-1;n.globals.isBarHorizontal&&(d=r*c),"heatmap"===n.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);o.add(g),h+=r}}}}]),t}(),G=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"scaleSvgNode",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,"width")),a=parseFloat(t.getAttributeNS(null,"height"));t.setAttributeNS(null,"width",i*e),t.setAttributeNS(null,"height",a*e),t.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"fixSvgStringForIe11",value:function(t){if(!x.isIE11())return t.replace(/ /g," ");var e=0,i=t.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g,(function(t){return 2===++e?'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev"':t}));return i=(i=i.replace(/xmlns:NS\d+=""/g,"")).replace(/NS\d+:(\w+:\w+=")/g,"$1")}},{key:"getSvgString",value:function(t){null==t&&(t=1);var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:"cleanup",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=t.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(a,(function(t){t.setAttribute("width",0)})),e&&e[0]&&(e[0].setAttribute("x",-500),e[0].setAttribute("x1",-500),e[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(e)}},{key:"dataURI",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement("canvas");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o="transparent"===a.config.chart.background?"#fff":a.config.chart.background,n=r.getContext("2d");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&x.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d="data:image/svg+xml,"+encodeURIComponent(l),g=new Image;g.crossOrigin="anonymous",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL("image/png");i({imgURI:e})}},g.src=d}}))}},{key:"exportToSVG",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,".svg")}},{key:"exportToPng",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+".png"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,".png")}))}},{key:"exportToCSV",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?",":s,o=t.lineDelimiter,n=void 0===o?"\n":o,l=this.w;i||(i=l.config.series);var h=[],c=[],d="",g=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),p=Math.max.apply(Math,u(i.map((function(t){return t.data?t.data.length:0})))),f=new W(this.ctx),b=new B(this.ctx),v=function(t){var i="";if(l.globals.axisCharts){if("category"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new N(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=b.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;"datetime"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return Array.isArray(i)&&(i=i.join(" ")),x.isNumber(i)?i:i.split(r).join("")},m=function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data){t.data=t.data.length&&t.data||u(Array(p)).map((function(){return""}));for(var a=0;a=10?l.config.chart.toolbar.export.csv.dateFormatter(s):x.isNumber(s)?s:s.split(r).join("")));for(var o=0;o0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],"top"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight+1,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return r(t,[{key:"drawXaxis",value:function(){var t=this.w,e=new m(this.ctx),i=e.group({class:"apexcharts-xaxis",transform:"translate(".concat(t.config.xaxis.offsetX,", ").concat(t.config.xaxis.offsetY,")")}),a=e.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m="category"===d.config.xaxis.type?d.globals.dataPoints:v;if(0===m&&v>m&&(m=v),s){var y=m>1?m-1:m;o=d.globals.gridWidth/y,b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&"top"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&"dataPoints"!==d.config.xaxis.tickAmount&&"datetime"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-("top"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:"middle",fontWeight:y.isBold?600:f,fontSize:g,fontFamily:u,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+x});if(i.add(k),k.on("click",(function(t){if("function"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,n.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,"title");A.textContent=Array.isArray(y.text)?y.text.join(" "):y.text,k.node.appendChild(A),""!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,"top"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new m(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}return r(t,[{key:"drawGridArea",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new m(this.ctx);null===t&&(t=i.group({class:"apexcharts-grid"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(s),t.add(a),t}},{key:"drawGrid",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new m(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elForecastMask.setAttribute("id","forecastMask".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elNonForecastMask.setAttribute("id","nonForecastMask".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;("bar"===r||"rangeBar"===r||"candlestick"===r||"boxPlot"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2,e.gridWidth+a+n+o+4,e.gridHeight+a,0,"#fff");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector("defs");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||"radar"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:o,parent:n});var h=0;if(l.globals.hasXaxisGroups&&"between"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d2));s++);return!t.globals.isBarHorizontal||this.isRangeBar?(i=this.xaxisLabels.length,this.isRangeBar&&(i--,a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount)),this._drawXYLines({xCount:i,tickAmount:a})):(i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a})),this.drawGridBands(i,a),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.globals.gridWidth/i}}},{key:"drawGridBands",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:"row"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:"column"}),h+=i.globals.gridWidth/l}}]),t}(),_=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"niceScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,r=this.w,o=Math.abs(e-t);if("dataPoints"===(i=this._adjustTicksForSmallRange(i,a,o))&&(i=r.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!x.isNumber(t)&&!x.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)return t=0,e=i,this.linearScale(t,e,i);t>e?(console.warn("axis.min cannot be greater than axis.max"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var n=[];o<1&&s&&("candlestick"===r.config.chart.type||"candlestick"===r.config.series[a].type||"boxPlot"===r.config.chart.type||"boxPlot"===r.config.series[a].type||r.globals.isRangeData)&&(e*=1.01);var l=i+1;l<2?l=2:l>2&&(l-=2);var h=o/l,c=Math.floor(x.log10(h)),d=Math.pow(10,c),g=Math.round(h/d);g<1&&(g=1);var u=g*d,p=u*Math.floor(t/u),f=u*Math.ceil(e/u),b=p;if(s&&o>2){for(;n.push(b),!((b+=u)>f););return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}var v=t;(n=[]).push(v);for(var m=Math.abs(e-t)/i,y=0;y<=i;y++)v+=m,n.push(v);return n[n.length-2]>=e&&n.pop(),{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3?arguments[3]:void 0,s=Math.abs(e-t);"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,s))&&(i=this.w.globals.dataPoints-1);var r=s/i;i===Number.MAX_VALUE&&(i=10,r=1);for(var o=[],n=t;i>=0;)o.push(n),n+=r,i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:"logarithmicScaleNice",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5)a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.logarithmicScale(e,i,r.logBase),a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase);else if(i!==-Number.MAX_VALUE&&x.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===r.min&&void 0===r.max||r.forceNiceScale){var n=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,r.tickAmount?r.tickAmount:o<5&&o>1?o+1:5,t,n)}else a.yAxisScale[t]=this.linearScale(e,i,r.tickAmount,t);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,r=Math.abs(e-t);return e!==-Number.MAX_VALUE&&x.isNumber(e)?a.xAxisScale=this.linearScale(t,e,s.tickAmount?s.tickAmount:r<5&&r>1?r+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:"setMultipleYScales",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,o){var n=o;i.series.forEach((function(t,i){t.name===e.seriesName&&(n=i,o!==i?r.push({index:i,similarIndex:o,alreadyExists:!0}):r.push({index:i}))}));var l=a[n],h=s[n];t.setYScaleForIndex(o,l,h)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:"sameScaleInMultipleAxes",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,o=[];i.forEach((function(t){t.alreadyExists&&(void 0===o[t.index]&&(o[t.index]=[]),o[t.index].push(t.index),o[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=o,o.forEach((function(t,e){o.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(o[e]=o[e].concat(o[a]))}))}));var n=o.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));o=o.filter((function(t){return!!t}));var l=n.slice(),h=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return h.indexOf(JSON.stringify(t))===e}));var c=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===c[s]&&(c[s]=[],d[s]=[]),c[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.min(t.value,g[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.max(t.value,u[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var o=g[i],n=u[i];s.chart.stacked&&(n=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(n+=t.value),o!==Number.MIN_VALUE&&(o+=c[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(o="function"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(n="function"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,o,n))}))}))}))}},{key:"autoScaleY",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn("autoScaleYaxis is not supported in a multi-yaxis chart."),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,o){for(var n=0,l=0;l=i.xaxis.min){n=l;break}var h,c,d=a.globals.minYArr[o],g=a.globals.maxYArr[o],u=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(o,l){var p=o[n];r?(p=u[n],h=c=p,u.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>c&&null!==t&&(c=t),o[e]=i.xaxis.min){var r=t,o=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),o=Math.max(i[e],o))})),o>c&&null!==o&&(c=o),rd&&(h=d),e.length>1?(e[l].min=void 0===t.min?h:t.min,e[l].max=void 0===t.max?c:t.max):(e[0].min=void 0===t.min?h:t.min,e[0].max=void 0===t.max?c:t.max)}))})),e}}]),t}(),U=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.scales=new _(e)}return r(t,[{key:"init",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:"getMinYMaxY",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;"candlestick"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):"boxPlot"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);for(var d=t;dh[d][g]&&h[d][g]<0&&(n=h[d][g])):r.hasNullValues=!0}}return"rangeBar"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),"bar"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10||void 0!==e.yaxis[0].min||void 0!==e.yaxis[0].max)&&(o=0),t.minY=i-5*o/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*o/100}if(e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):"dataPoints"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:"_setStackedMinMax",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.config.series.map((function(t){return t.name}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,e){return i.indexOf(t.name)>-1?e:null})).filter((function(t){return null!==t})).forEach((function(t){for(var r=0;r0?a[i][r]+=parseFloat(e.series[t][r])+1e-4:s[i][r]+=parseFloat(e.series[t][r]))}))})),Object.entries(a).forEach((function(t){var i=g(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),q=function(){function t(e,i){a(this,t),this.ctx=e,this.elgrid=i,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX=0,"bottom"===s.config.xaxis.position&&(this.xAxisoffX=s.globals.gridHeight),this.drawnLabels=[],this.axesUtils=new B(e)}return r(t,[{key:"drawYaxis",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.yaxis[t].labels.style,r=s.fontSize,o=s.fontFamily,n=s.fontWeight,l=a.group({class:"apexcharts-yaxis",rel:t,transform:"translate("+i.globals.translateYAxisX[t]+", 0)"});if(this.axesUtils.isYAxisHidden(t))return l;var h=a.group({class:"apexcharts-yaxis-texts-g"});l.add(h);var c=i.globals.yAxisScale[t].result.length-1,d=i.globals.gridHeight/c,g=i.globals.translateY,u=i.globals.yLabelFormatters[t],p=i.globals.yAxisScale[t].result.slice();p=this.axesUtils.checkForReversedLabels(t,p);var f="";if(i.config.yaxis[t].labels.show)for(var x=function(l){var x=p[l];x=u(x,l,i);var b=i.config.yaxis[t].labels.padding;i.config.yaxis[t].opposite&&0!==i.config.yaxis.length&&(b*=-1);var v="end";i.config.yaxis[t].opposite&&(v="start"),"left"===i.config.yaxis[t].labels.align?v="start":"center"===i.config.yaxis[t].labels.align?v="middle":"right"===i.config.yaxis[t].labels.align&&(v="end");var m=e.axesUtils.getYAxisForeColor(s.colors,t),y=a.drawText({x:b,y:g+c/10+i.config.yaxis[t].labels.offsetY+1,text:x,textAnchor:v,fontSize:r,fontFamily:o,fontWeight:n,maxWidth:i.config.yaxis[t].labels.maxWidth,foreColor:Array.isArray(m)?m[l]:m,isPlainText:!1,cssClass:"apexcharts-yaxis-label "+s.cssClass});l===c&&(f=y),h.add(y);var w=document.createElementNS(i.globals.SVGNS,"title");if(w.textContent=Array.isArray(x)?x.join(" "):x,y.node.appendChild(w),0!==i.config.yaxis[t].labels.rotate){var k=a.rotateAroundCenter(f.node),A=a.rotateAroundCenter(y.node);y.node.setAttribute("transform","rotate(".concat(i.config.yaxis[t].labels.rotate," ").concat(k.x," ").concat(A.y,")"))}g+=d},b=c;b>=0;b--)x(b);if(void 0!==i.config.yaxis[t].title.text){var v=a.group({class:"apexcharts-yaxis-title"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:"end",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+i.config.yaxis[t].title.style.cssClass});v.add(w),l.add(v)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(h,c,p,g,this.drawnLabels,this.xaxisFontSize);p=f.x,u=f.text,this.drawnLabels.push(f.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=""),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u="")}var x=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-("top"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,"title");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(t){var e=this.w,i=new m(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:"inversedYAxisTitleText",value:function(t){var e=this.w,i=new m(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,a=new m(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute("x",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate," ").concat(h.x," ").concat(h.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:"setYAxisXPosition",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:"setYAxisTextAlignments",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(e=x.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"));r=x.listToArray(r);var o=s.getBoundingClientRect();"left"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","start")})),a.opposite||s.setAttribute("transform","translate(-".concat(o.width,", 0)"))):"center"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","middle")})),s.setAttribute("transform","translate(".concat(o.width/2*(a.opposite?1:-1),", 0)"))):"right"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute("text-anchor","end")})),a.opposite&&s.setAttribute("transform","translate(".concat(o.width,", 0)")))}}))}}]),t}(),Z=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.documentEvent=x.bind(this.documentEvent,this)}return r(t,[{key:"addEventListener",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:"removeEventListener",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:"fireEvent",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=x.extend(C,i);this.w.globals.locale=a.options}}]),t}(),J=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawAxis",value:function(t,e){var i,a,s=this,r=this.w.globals,o=this.w.config,n=new V(this.ctx,e),l=new q(this.ctx,e);r.axisCharts&&"radar"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=n.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=n.drawXaxis(),r.dom.elGraphical.add(i),o.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),"back"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),Q=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawXCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=new v(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,p=s.blur,f=s.color,b=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){"gradient"===r&&(y=e.drawGradient("vertical",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!x.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!x.isNumber(A)||A<0)&&(A=0),w.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:k,width:A,height:k,fill:y,filter:"none","fill-opacity":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,"stroke-width":t.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:p,color:f,opacity:b})),t.globals.dom.elGraphical.add(w)}}},{key:"drawYCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),t.globals.dom.elGraphical.add(r)}}]),t}(),K=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkResponsiveConfig",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new E({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=y.extendArrayProps(r,i.globals.initialConfig,i);t=x.extend(n,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l0&&"function"==typeof e.config.colors[0]&&(e.globals.colors=e.config.series.map((function(i,a){var s=e.config.colors[a];return s||(s=e.config.colors[0]),"function"==typeof s?(t.isColorFn=!0,s({value:e.globals.axisCharts?e.globals.series[a][0]?e.globals.series[a][0]:0:e.globals.series[a],seriesIndex:a,dataPointIndex:a,w:e})):s})))),e.globals.seriesColors.map((function(t,i){t&&(e.globals.colors[i]=t)})),e.config.theme.monochrome.enabled){var a=[],s=e.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(s=e.globals.series[0].length*e.globals.series.length);for(var r=e.config.theme.monochrome.color,o=1/(s/e.config.theme.monochrome.shadeIntensity),n=e.config.theme.monochrome.shadeTo,l=0,h=0;h2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getLargestStringFromMultiArr",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,u(a));i=e[a.indexOf(s)]}return i}}]),t}(),at=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"getxAxisLabelsCoords",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==e.config.legend.position&&"right"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=x.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new T(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new I(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new I(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||""===String(r).trim())&&(o=r="1");var h=new m(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=x.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new m(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new m(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e}),0);return 1.05*(t=new m(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"additionalPaddingXLabels",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c="right"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||"bar"!==s.chart.type&&"candlestick"!==s.chart.type&&"rangeBar"!==s.chart.type&&"boxPlot"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else"datetime"===r?e.dCtx.gridPad.rightString(n.niceMax).length?c:n.niceMax,g=h(d,{seriesIndex:o,dataPointIndex:-1,w:e}),u=g;if(void 0!==g&&0!==g.length||(g=d),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();g=h(g=x.getLargestStringFromArr(p),{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,p)}var f=new m(t.dCtx.ctx),b="rotate(".concat(r.labels.rotate," 0 0)"),v=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1),y=v;g!==u&&(y=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1)),i.push({width:(l>y.width||l>v.width?l:y.width>v.width?y.width:v.width)+a,height:y.height>v.height?y.height:v.height})}else i.push({width:0,height:0})})),i}},{key:"getyAxisTitleCoords",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new m(t.dCtx.ctx),r="rotate(".concat(e.title.rotate," 0 0)"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:"getTotalYAxisWidth",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new B(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),rt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"gridPadForColumnsInNumericAxis",value:function(t){var e=this.w;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=function(t){return"bar"===t||"rangeBar"===t||"candlestick"===t||"boxPlot"===t},a=e.config.chart.type,s=0,r=i(a)?e.config.series.length:1;if(e.globals.comboBarCount>0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var o,n,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),o=l/t,e.globals.minXDiff&&e.globals.minXDiff/o>0&&(n=e.globals.minXDiff/o),n>t/2&&(n/=2),(s=n/r*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),s=s/(r>1?1:1.5)+5,e.globals.barPadForNumericAxis=s}return s}},{key:"gridPadFortitleSubtitle",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;["title","subtitle"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||"bottom"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(t,e){var i=this.w,a=new B(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),ot=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new it(this),this.dimYAxis=new st(this),this.dimXAxis=new at(this),this.dimGrid=new rt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return r(t,[{key:"plotCoords",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.isSparkline&&(e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=g(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a+4:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;("radar"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||"treemap"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||"treemap"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l};switch("top"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case"bottom":i.translateY=c,d();break;case"top":i.translateY=this.lgRect.height+c,d();break;case"left":i.translateY=c,i.translateX=this.lgRect.width+l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case"right":i.translateY=c,i.translateX=l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new q(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case"bottom":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"top":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"left":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case"right":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&"bottom"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),nt=function(){function t(e){a(this,t),this.w=e.w,this.lgCtx=e}return r(t,[{key:"getLegendStyles",value:function(){var t=document.createElement("style");t.setAttribute("type","text/css");var e=document.createTextNode("\t\n \t\n .apexcharts-legend {\t\n display: flex;\t\n overflow: auto;\t\n padding: 0 10px;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\t\n flex-wrap: wrap\t\n }\t\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n flex-direction: column;\t\n bottom: 0;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n justify-content: flex-start;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\t\n justify-content: center; \t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\t\n justify-content: flex-end;\t\n }\t\n .apexcharts-legend-series {\t\n cursor: pointer;\t\n line-height: normal;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\t\n display: flex;\t\n align-items: center;\t\n }\t\n .apexcharts-legend-text {\t\n position: relative;\t\n font-size: 14px;\t\n }\t\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\t\n pointer-events: none;\t\n }\t\n .apexcharts-legend-marker {\t\n position: relative;\t\n display: inline-block;\t\n cursor: pointer;\t\n margin-right: 3px;\t\n border-style: solid;\n }\t\n \t\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\t\n display: inline-block;\t\n }\t\n .apexcharts-legend-series.apexcharts-no-click {\t\n cursor: auto;\t\n }\t\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\t\n display: none !important;\t\n }\t\n .apexcharts-inactive-legend {\t\n opacity: 0.45;\t\n }");return t.appendChild(e),t}},{key:"getLegendBBox",value:function(){var t=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||"radialBar"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(t,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(t+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(t+1,"'] path")),n=a.config.chart.type;if("pie"===n||"polarArea"===n||"donut"===n){var l=a.config.plotOptions.pie.donut.labels;new m(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire("click")}}},{key:"hideSeries",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=x.clone(a.config.series);if(a.globals.axisCharts){var r=!1;if(a.config.yaxis[i]&&a.config.yaxis[i].show&&a.config.yaxis[i].showAlways&&(r=!0,a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i))),!r){a.globals.collapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.collapsedSeriesIndices.push(i);var o=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(o,1)}}else a.globals.collapsedSeries.push({index:i,data:s[i]}),a.globals.collapsedSeriesIndices.push(i);for(var n=e.childNodes,l=0;l0){for(var r=0;r-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}]),t}(),lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed="bar"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new nt(this)}return r(t,[{key:"init",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),x.isIE11()?document.getElementsByTagName("head")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"drawLegends",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if("heatmap"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+" - "+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h=o(a[l],{seriesIndex:l,w:e}),c=!1,d=!1;if(e.globals.collapsedSeries.length>0)for(var g=0;g0)for(var u=0;u0?l-10:0)+(h>0?h-10:0)}a.style.position="absolute",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=o+"px","bottom"===i.config.legend.position?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):"right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px");["width","height"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+"px")}))}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new ot(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),s=i.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;"bottom"===t.config.legend.position?r=-e.clwh/1.8:"top"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new N(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new N(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:"onLegendClick",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(t.target.getAttribute("rel"),10)-1,a="true"===t.target.getAttribute("data:collapsed"),s=this.w.config.chart.events.legendClick;"function"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;"function"==typeof r&&t.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),"treemap"!==e.config.chart.type&&"heatmap"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=i.globals.minX,this.maxX=i.globals.maxX}return r(t,[{key:"createToolbar",value:function(){var t=this,e=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=e.config.chart.toolbar.offsetY+"px",a.style.right=3-e.config.chart.toolbar.offsetX+"px",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\n \n \n\n'),o("zoomOut",this.elZoomOut,'\n \n \n\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:"zoom"===i?t.elZoom:t.elSelection,icon:"string"==typeof t.t[i]?t.t[i]:"zoom"===i?'\n \n \n \n':'\n \n \n',title:t.localeValues["zoom"===i?"selectionZoom":"selection"],class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(i,"-icon")})};n("zoom"),n("selection"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:"string"==typeof this.t.pan?this.t.pan:'\n \n \n \n \n \n \n \n',title:this.localeValues.pan,class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),o("reset",this.elZoomReset,'\n \n \n'),this.t.download&&r.push({el:this.elMenuIcon,icon:"string"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var l=0;l0&&e.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(a),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:"translate("+o+", "+l+")"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":h.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":h.config.chart.zoom.zoomedArea.stroke.opacity}),m.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,"fill-opacity":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,"stroke-width":h.config.chart.selection.stroke.width,"stroke-dasharray":h.config.chart.selection.stroke.dashArray,"stroke-opacity":h.config.chart.selection.stroke.opacity}),m.setAttrs(d.node,g))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g="x"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:"y"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging("resizing"),g}},{key:"selectionDragging",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;"resizing"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n("x"),y:n("y"),width:n("width"),height:n("height")};a.globals.selection=l,"function"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t=i.gridRect.getBoundingClientRect(),e=r.node.getBoundingClientRect(),o={xaxis:{min:a.globals.xAxisScale.niceMin+(e.left-t.left)*s.xRatio,max:a.globals.xAxisScale.niceMin+(e.right-t.left)*s.xRatio},yaxis:{min:a.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*s.yRatio[0],max:a.globals.yAxisScale[0].niceMax-(e.top-t.top)*s.yRatio[0]}};a.config.chart.events.selection(i.ctx,o),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,o)}),o))}},{key:"selectionDrawn",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=x.clone(a.globals.initialConfig.yaxis),p=x.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),"xy"!==i&&"x"!==i||(p={min:h,max:c}),"xy"!==i&&"y"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),a.config.chart.zoom.autoScaleYaxis){var f=new _(s.ctx);u=f.autoScaleY(s.ctx,u,{xaxis:p})}if(o){var b=o.getBeforeZoomRange(p,u);b&&(p=b.xaxis?b.xaxis:p,u=b.yaxis?b.yaxis:u)}var v={xaxis:p};a.config.chart.group||(v.yaxis=u),s.ctx.updateHelpers._updateOptions(v,!1,s.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof a.config.chart.events.zoomed&&o.zoomCallback(p,u)}else if(a.globals.selectionEnabled){var m,y=null;m={min:h,max:c},"xy"!==i&&"y"!==i||(y=x.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=d[e]})),a.globals.selection=s.selection,"function"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{key:"panDragging",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection="left":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection="right":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection="up":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection="down")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:"delayedPanScrolled",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;"left"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):"right"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:"panScrolled",value:function(t,e){var i=this.w,a=this.xyRatios,s=x.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),"left"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):"right"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new _(this.ctx).autoScaleY(this.ctx,s,{xaxis:l}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,t,e)}},{key:"updateScrolledChart",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(),dt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return r(t,[{key:"getNearestValues",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):r.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):r.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var p=Math.round(g/h),f=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(g/h),p-=1);var b=null,v=null,m=[],y=[];if(r.globals.seriesXvalues.forEach((function(t){m.push([t[0]+1e-6].concat(t))})),r.globals.seriesYvalues.forEach((function(t){y.push([t[0]+1e-6].concat(t))})),m=m.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),y=y.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);b=(v=this.closestInMultiArray(k,A,m,y)).index,p=v.j,null!==b&&(m=r.globals.seriesXvalues[b],p=(v=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===b?-1:b,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:b,j:r.globals.isBarHorizontal?f:p,hoverX:g,hoverY:u}}},{key:"closestInMultiArray",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a0?e:-1})),s=0;s0)for(var a=0;a *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");(t=u(t)).sort((function(t,e){var i=Number(t.getAttribute("data:realIndex")),a=Number(e.getAttribute("data:realIndex"));return ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(".apexcharts-marker"))})),e}},{key:"hasMarkers",value:function(t){return this.getElMarkers(t).length>0}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s ').concat(i.attrs.name,""),e+="
".concat(i.val,"
")})),v.innerHTML=t+"",m.innerHTML=e+""};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML="",m.innerHTML=""):y()}else v.innerHTML="",m.innerHTML="";null!==p&&(a[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=l.config.tooltip.z.title,a[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=void 0!==p?p:"");o&&f[0]&&(null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?f[0].parentNode.style.display="none":f[0].parentNode.style.display=l.config.tooltip.items.display)}},{key:"toggleActiveInactiveSeries",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var i=e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");i&&(i.classList.add("apexcharts-active"),i.style.display=e.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",o="",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&"treemap"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var d=r;a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?r=new T(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new I(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(" "):l,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(o)?o.join(" "):o,zVal:n}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),ut=function(){function t(e){a(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return r(t,[{key:"moveXCrosshairs",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&m.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&m.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new m(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add("apexcharts-active"),i.yaxisTTEls[t].style.top=s+"px",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+"px",r.style.top=h+"px")}},{key:"moveMarkers",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),r=0;r0&&(h.setAttribute("r",n),h.setAttribute("cx",i),h.setAttribute("cy",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,n)}}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray;e=new N(this.ctx).getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var n=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var h=0;h0?(l[h]&&l[h].setAttribute("r",n),l[h]&&l[h].setAttribute("cy",d)):l[h]&&l[h].setAttribute("r",0)}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,n)}},{key:"moveStickyTooltipOverBars",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new N(this.ctx).getActiveConfigSeriesIndex("desc")+1);var o=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"']"));o||"number"!=typeof e||(o=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"']")));var n=o?parseFloat(o.getAttribute("cx")):0,l=o?parseFloat(o.getAttribute("cy")):0,h=o?parseFloat(o.getAttribute("barWidth")):0,c=a.getElGrid().getBoundingClientRect(),d=o&&(o.classList.contains("apexcharts-candlestick-area")||o.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(o&&!d&&(n-=s%2!=0?h/2:0),o&&d&&i.globals.comboCharts&&(n-=h/2)):i.globals.isBarHorizontal||(n=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(n)&&(n=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(n),a.fixedTooltip||this.moveTooltip(n,l||i.globals.gridHeight)}}]),t}(),pt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new ut(e)}return r(t,[{key:"drawDynamicPoints",value:function(){var t=this.w,e=new m(this.ctx),i=new D(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=u(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute("data:realIndex"))-parseFloat(e.getAttribute("data:realIndex"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;"bubble"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute("cx"),o=e.getAttribute("cy");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if("radar"===s.config.chart.type){var n=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-n.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),o=e.config.markers.hover.size,n=0;n=0?t[e].setAttribute("r",i):t[e].setAttribute("r",0)}}}]),t}(),ft=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e}return r(t,[{key:"getAttr",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:"handleHeatTreeTooltip",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains("apexcharts-".concat(r,"-rect"))){var l=this.getAttr(e,"i"),h=this.getAttr(e,"j"),c=this.getAttr(e,"cx"),d=this.getAttr(e,"cy"),g=this.getAttr(e,"width"),u=this.getAttr(e,"height");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var p=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-p.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-p.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var h=parseInt(s.paths.getAttribute("cx"),10),c=parseInt(s.paths.getAttribute("cy"),10),d=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,l.intersect){var g=x.findAncestor(s.paths,"apexcharts-series");g&&(e=parseInt(g.getAttribute("data:realIndex"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),"mouseup"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:"handleBarTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.barHeight,u=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-o.tooltipRect.ttHeight);var p=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10),f=r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed;if(h+o.tooltipRect.ttWidth>r.globals.gridWidth&&!f?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var x=o.getElGrid().getBoundingClientRect();c=o.e.clientY-x.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(f&&(h-=o.tooltipRect.ttWidth)<0&&(h=0),!f||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),c=c+r.globals.translateY-o.tooltipRect.ttHeight/2,n.style.left=h+r.globals.translateX+"px",n.style.top=c+"px")}},{key:"getBarTooltipXY",value:function(t){var e=t.e,i=t.opt,a=this.w,s=null,r=this.ttCtx,o=0,n=0,l=0,h=0,c=0,d=e.target.classList;if(d.contains("apexcharts-bar-area")||d.contains("apexcharts-candlestick-area")||d.contains("apexcharts-boxPlot-area")||d.contains("apexcharts-rangebar-area")){var g=e.target,u=g.getBoundingClientRect(),p=i.elGrid.getBoundingClientRect(),f=u.height;c=u.height;var x=u.width,b=parseInt(g.getAttribute("cx"),10),v=parseInt(g.getAttribute("cy"),10);h=parseFloat(g.getAttribute("barWidth"));var m="touchmove"===e.type?e.touches[0].clientX:e.clientX;s=parseInt(g.getAttribute("j"),10),o=parseInt(g.parentNode.getAttribute("rel"),10)-1;var y=g.getAttribute("data-range-y1"),w=g.getAttribute("data-range-y2");a.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute("data:realIndex"),10)),r.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:o,j:s,y1:y?parseInt(y,10):null,y2:w?parseInt(w,10):null,shared:!r.showOnIntersect&&a.config.tooltip.shared,e:e}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(n=m-p.left+15,l=v-r.dataPointsDividedHeight+f/2-r.tooltipRect.ttHeight/2):(n=a.globals.isXNumeric?b-x/2:b-r.dataPointsDividedWidth+x/2,l=e.clientY-p.top-r.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((n=b)0&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals.yLabelFormatters[t];if(a.yaxisTooltips[t]){var o=a.getElGrid().getBoundingClientRect(),n=(e-o.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],h=s.globals.minYArr[t]+(l-n);a.tooltipPosition.moveYCrosshairs(e-o.top),a.yaxisTooltipText[t].innerHTML=r(h),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),bt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.tConfig=i.config.tooltip,this.tooltipUtil=new dt(this),this.tooltipLabels=new gt(this),this.tooltipPosition=new ut(this),this.marker=new pt(this),this.intersect=new ft(this),this.axesTooltip=new xt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!i.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return r(t,[{key:"getElTooltip",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new V(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&"rangeBar"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement("div");o.classList.add("apexcharts-tooltip-series-group"),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1,e.tConfig.shared&&e.tConfig.enabledOnSeries&&Array.isArray(e.tConfig.enabledOnSeries)&&e.tConfig.enabledOnSeries.indexOf(r)<0&&o.classList.add("apexcharts-tooltip-series-group-hidden");var n=document.createElement("span");n.classList.add("apexcharts-tooltip-marker"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement("div");l.classList.add("apexcharts-tooltip-text"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,["y","goals","z"].forEach((function(t){var e=document.createElement("div");e.classList.add("apexcharts-tooltip-".concat(t,"-group"));var i=document.createElement("span");i.classList.add("apexcharts-tooltip-text-".concat(t,"-label")),e.appendChild(i);var a=document.createElement("span");a.classList.add("apexcharts-tooltip-text-".concat(t,"-value")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf("right")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf("bottom")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+"px",e.style.top=o+"px",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:"seriesHover",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:"seriesHoverByContext",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip();if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new N(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:"axisChartsTooltips",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n="touchmove"===a.type?a.touches[0].clientX:a.clientX,l="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||"bar"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if("mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add("apexcharts-active");var u=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&u.length&&this.ycrosshairs.classList.add("apexcharts-active"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,n,l,s);else if("heatmap"===r.config.chart.type||"treemap"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var f=0;fl.width)this.handleMouseOut(a);else if(null!==n)this.handleStickyCapturedSeries(t,n,a,o);else if(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,o,a.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new m(this.ctx),i=t.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,S=this.w,C=i;"mouseup"===t.type&&this.markerClick(t,a,s),null===A&&(A=this.tConfig.shared);var L=this.tooltipUtil.hasMarkers(a),P=this.tooltipUtil.getElBars();if(S.config.legend.tooltipHoverFormatter){var I=S.config.legend.tooltipHoverFormatter,T=Array.from(this.legendLabels);T.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var M=0;M0?C.marker.enlargePoints(s):C.tooltipPosition.moveDynamicPointsOnHover(s);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(P),this.barSeriesHeight>0)){var R=new m(this.ctx),D=S.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(s,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(s,a);for(var H=0;Hs.globals.gridHeight&&(p=s.globals.gridHeight-v)),{bcx:c,bcy:h,dataLabelsX:e,dataLabelsY:p,totalDataLabelsX:a,totalDataLabelsY:i,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,o=t.groupIndex,n=t.bcy,l=t.barHeight,h=t.barWidth,c=t.textRects,d=t.dataLabelsX,g=t.strokeWidth,u=t.dataLabelsConfig,p=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,x=t.offX,b=t.offY,v=e.globals.gridHeight/e.globals.dataPoints;h=Math.abs(h);var y,w,k=(n+=-1!==o?o*l:0)-(this.barCtx.isRangeBar?0:v)+l/2+c.height/2+b-3,A="start",S=this.barCtx.series[a][s]<0,C=i;switch(this.barCtx.isReversed&&(C=i+h-(S?2*h:0),i=e.globals.gridWidth-h),p.position){case"center":d=S?C+h/2-x:Math.max(c.width/2,C-h/2)+x;break;case"bottom":d=S?C+h-g-Math.round(c.width/2)-x:C-h+g+Math.round(c.width/2)+x;break;case"top":d=S?C-g+Math.round(c.width/2)-x:C-g-Math.round(c.width/2)+x}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var L=new m(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),u.fontSize);S?(y=C-g+Math.round(L.width/2)-x-f.offsetX-15,A="end"):y=C-g-Math.round(L.width/2)+x+f.offsetX+15,w=k+f.offsetY}return e.config.chart.stacked||(d<0?d=d+c.width+g:d+c.width/2>e.globals.gridWidth&&(d=e.globals.gridWidth-c.width-g)),{bcx:i,bcy:n,dataLabelsX:d,dataLabelsY:k,totalDataLabelsX:y,totalDataLabelsY:w,totalDataLabelsAnchor:A}}},{key:"drawCalculatedDataLabels",value:function(t){var i=t.x,a=t.y,s=t.val,r=t.i,o=t.j,n=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g="rotate(0)";"vertical"===d.config.plotOptions.bar.dataLabels.orientation&&(g="rotate(-90, ".concat(i,", ").concat(a,")"));var u=new O(this.barCtx.ctx),p=new m(this.barCtx.ctx),f=c.formatter,x=null,b=d.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!b){x=p.group({class:"apexcharts-data-labels",transform:g});var v="";void 0!==s&&(v=f(s,e(e({},d),{},{seriesIndex:r,dataPointIndex:o,w:d}))),!s&&d.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v="");var y=d.globals.series[r][o]<0,w=d.config.plotOptions.bar.dataLabels.position;if("vertical"===d.config.plotOptions.bar.dataLabels.orientation&&("top"===w&&(c.textAnchor=y?"end":"start"),"center"===w&&(c.textAnchor="middle"),"bottom"===w&&(c.textAnchor=y?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)hMath.abs(h)&&(v=""):n.height/1.6>Math.abs(l)&&(v=""));var k=e({},c);this.barCtx.isHorizontal&&s<0&&("start"===c.textAnchor?k.textAnchor="end":"end"===c.textAnchor&&(k.textAnchor="start")),u.plotDataLabelsText({x:i,y:a,text:v,i:r,j:o,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:"drawTotalDataLabels",value:function(t){var e,i=t.x,a=t.y,s=t.val,r=t.realIndex,o=t.textAnchor,n=t.barTotalDataLabelsConfig,l=new m(this.barCtx.ctx);return n.enabled&&void 0!==i&&void 0!==a&&this.barCtx.lastActiveBarSerieIndex===r&&(e=l.drawText({x:i,y:a,foreColor:n.style.color,text:s,textAnchor:o,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),e}}]),t}(),mt=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e}return r(t,[{key:"initVariables",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/this.barCtx.seriesLen*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:"initializeStackedPrevVars",value:function(t){var e=t.w;e.globals.hasSeriesGroups?e.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]})):(t.prevY=[],t.prevX=[],t.prevYF=[],t.prevXF=[],t.prevYVal=[],t.prevXVal=[])}},{key:"initializeStackedXYVars",value:function(t){var e=t.w;e.globals.hasSeriesGroups?e.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]})):(t.xArrj=[],t.xArrjF=[],t.xArrjVal=[],t.yArrj=[],t.yArrjF=[],t.yArrjVal=[])}},{key:"getPathFillColor",value:function(t,e,i,a){var s,r,o,n,l=this.w,h=new R(this.barCtx.ctx),c=null,d=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(c=a.color)}));return l.config.series[e].data[i]&&l.config.series[e].data[i].fillColor&&(c=l.config.series[e].data[i].fillColor),h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:c,value:t[e][i],fillConfig:null===(s=l.config.series[e].data[i])||void 0===s?void 0:s.fill,fillType:null!==(r=l.config.series[e].data[i])&&void 0!==r&&null!==(o=r.fill)&&void 0!==o&&o.type?null===(n=l.config.series[e].data[i])||void 0===n?void 0:n.fill.type:l.config.fill.type})}},{key:"getStrokeWidth",value:function(t,e,i){var a=0,s=this.w;return this.barCtx.series[t][e]?this.barCtx.isNullValue=!1:this.barCtx.isNullValue=!0,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"shouldApplyRadius",value:function(t){var e=this.w,i=!1;return e.config.plotOptions.bar.borderRadius>0&&(e.config.chart.stacked&&"last"===e.config.plotOptions.bar.borderRadiusWhenStacked?this.barCtx.lastActiveBarSerieIndex===t&&(i=!0):i=!0),i}},{key:"barBackground",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new m(this.barCtx.ctx),c=new N(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.columnWidthOffset&&(p=a-d.config.series[l].data[c].columnWidthOffset/2,u=i+d.config.series[l].data[c].columnWidthOffset);var f=p,x=p+u;s+=.001,r+=.001;var b=g.move(f,s),v=g.move(f,s),y=g.line(x-o,s);if(d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1)),b=b+g.line(f,r)+g.line(x-o,r)+g.line(x-o,s)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),v=v+g.line(f,s)+y+y+y+y+y+g.line(f,s)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(b=g.roundPathCorners(b,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&n&&(w=this.barCtx[n]),w.yArrj.push(r),w.yArrjF.push(Math.abs(s-r)),w.yArrjVal.push(this.barCtx.series[h][c])}return{pathTo:b,pathFrom:v}}},{key:"getBarpaths",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.barHeightOffset&&(u=i-d.config.series[l].data[c].barHeightOffset/2,p=a+d.config.series[l].data[c].barHeightOffset);var f=u,x=u+p;s+=.001,r+=.001;var b=g.move(s,f),v=g.move(s,f);d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1));var y=g.line(s,x-o);if(b=b+g.line(r,f)+g.line(r,x-o)+y+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),v=v+g.line(s,f)+y+y+y+y+y+g.line(s,f)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(b=g.roundPathCorners(b,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&n&&(w=this.barCtx[n]),w.xArrj.push(r),w.xArrjF.push(Math.abs(s-r)),w.xArrjVal.push(this.barCtx.series[h][c])}return{pathTo:b,pathFrom:v}}},{key:"checkZeroSeries",value:function(t){for(var e=t.series,i=this.w,a=0;a2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),i}},{key:"getGoalValues",value:function(t,i,a,s,r){var n=this,l=this.w,h=[],c=function(e,s){var r;h.push((o(r={},t,"x"===t?n.getXForValue(e,i,!1):n.getYForValue(e,a,!1)),o(r,"attrs",s),r))};if(l.globals.seriesGoals[s]&&l.globals.seriesGoals[s][r]&&Array.isArray(l.globals.seriesGoals[s][r])&&l.globals.seriesGoals[s][r].forEach((function(t){c(t.value,t)})),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,g={strokeHeight:"x"===t?0:l.globals.markers.size[s],strokeWidth:"x"===t?l.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(d[s])?d[s][0]:d[s]};c(l.globals.seriesRangeStart[s][r],g),c(l.globals.seriesRangeEnd[s][r],e(e({},g),{},{strokeColor:Array.isArray(d[s])?d[s][1]:d[s]}))}return h}},{key:"drawGoalLine",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new m(this.barCtx.ctx),l=n.group({className:"apexcharts-bar-goals-groups"});l.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)})):Array.isArray(s)&&s.forEach((function(t){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)})),l}}]),t}(),yt=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.xyRatios=i,null!==this.xyRatios&&(this.xRatio=i.xRatio,this.initialXRatio=i.initialXRatio,this.yRatio=i.yRatio,this.invertedXRatio=i.invertedXRatio,this.invertedYRatio=i.invertedYRatio,this.baseLineY=i.baseLineY,this.baseLineInvertedY=i.baseLineInvertedY),this.yaxisIndex=0,this.seriesLen=0;var r=new N(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex("desc",["bar","column"]);var o=r.getBarSeriesIndices(),n=new y(this.ctx);this.stackedSeriesTotals=n.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===o.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new mt(this)}return r(t,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx),r=new y(this.ctx,a);t=r.getLogSeries(t),this.series=t,this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var o=s.group({class:"apexcharts-bar-series apexcharts-plot-series"});a.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var k=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=v),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed;var S=this.barHelpers.initialPositions();p=S.y,k=S.barHeight,c=S.yDivision,g=S.zeroW,u=S.x,A=S.barWidth,h=S.xDivision,d=S.zeroH,this.horizontal||b.push(u+A/2);for(var C=s.group({class:"apexcharts-datalabels","data:realIndex":v}),L=s.group({class:"apexcharts-bar-goals-markers",style:"pointer-events: none"}),P=0;P0&&b.push(u+A/2),f.push(p);var z=this.barHelpers.getPathFillColor(t,n,P,v);this.renderSeries({realIndex:v,pathFill:z,j:P,i:n,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:I,elSeries:w,x:u,y:p,series:t,barHeight:T.barHeight?T.barHeight:k,barWidth:T.barWidth?T.barWidth:A,elDataLabelsWrap:C,elGoalsMarkers:L,visibleSeries:this.visibleI,type:"bar"})}a.globals.seriesXvalues[v]=b,a.globals.seriesYvalues[v]=f,o.add(w)}return o}},{key:"renderSeries",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.groupIndex,n=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,g=t.y,u=t.y1,p=t.y2,f=t.series,x=t.barHeight,b=t.barWidth,y=t.barYPosition,w=t.elDataLabelsWrap,k=t.elGoalsMarkers,A=t.visibleSeries,S=t.type,C=this.w,L=new m(this.ctx);a||(a=this.barOptions.distributed?C.globals.stroke.colors[s]:C.globals.stroke.colors[e]),C.config.series[r].data[s]&&C.config.series[r].data[s].strokeColor&&(a=C.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var P=s/C.config.chart.animations.animateGradually.delay*(C.config.chart.animations.speed/C.globals.dataPoints)/2.4,I=L.renderPaths({i:r,j:s,realIndex:e,pathFrom:n,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:C.config.stroke.lineCap,fill:i,animationDelay:P,initialSpeed:C.config.chart.animations.speed,dataChangeSpeed:C.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(S,"-area")});I.attr("clip-path","url(#gridRectMask".concat(C.globals.cuid,")"));var T=C.config.forecastDataPoints;T.count>0&&s>=C.globals.dataPoints-T.count&&(I.node.setAttribute("stroke-dasharray",T.dashArray),I.node.setAttribute("stroke-width",T.strokeWidth),I.node.setAttribute("fill-opacity",T.fillOpacity)),void 0!==u&&void 0!==p&&(I.attr("data-range-y1",u),I.attr("data-range-y2",p)),new v(this.ctx).setSelectionFilter(I,e,s),c.add(I);var M=new vt(this).handleBarDataLabels({x:d,y:g,y1:u,y2:p,i:r,j:s,series:f,realIndex:e,groupIndex:o,barHeight:x,barWidth:b,barYPosition:y,renderedPath:I,visibleSeries:A});return null!==M.dataLabels&&w.add(M.dataLabels),M.totalDataLabels&&w.add(M.totalDataLabels),c.add(w),k&&c.add(k),c}},{key:"drawBarPaths",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,g=i.j;if(c.globals.isXNumeric)e=(n=(c.globals.seriesX[d][g]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var u=0,p=0;c.globals.seriesPercent.forEach((function(t,e){t[g]&&u++,e0&&(a=this.seriesLen*a/u),e=n+a*this.visibleI,e-=a*p}else e=n+a*this.visibleI;o=this.barHelpers.getXForValue(this.series[d][g],r);var f=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:d,j:g,w:c});return c.globals.isXNumeric||(n+=l),this.barHelpers.barBackground({j:g,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:f.pathTo,pathFrom:f.pathFrom,x:o,y:n,goalX:this.barHelpers.getGoalValues("x",r,null,d,g),barYPosition:e,barHeight:a}}},{key:"drawColumnPaths",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,o=t.barWidth,n=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,g=i.i,u=i.j,p=i.bc;if(c.globals.isXNumeric){var f=d;c.globals.seriesX[d].length||(f=c.globals.maxValsInArrayIndex),c.globals.seriesX[f][u]&&(a=(c.globals.seriesX[f][u]-c.globals.minX)/this.xRatio-o*this.seriesLen/2),e=a+o*this.visibleI}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var x=0,b=0;c.globals.seriesPercent.forEach((function(t,e){t[u]&&x++,e0&&(o=this.seriesLen*o/x),e=a+o*this.visibleI,e-=o*b}else e=a+o*this.visibleI;s=this.barHelpers.getYForValue(this.series[g][u],n);var v=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:o,y1:n,y2:s,strokeWidth:l,series:this.series,realIndex:i.realIndex,i:g,j:u,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:p,j:u,i:g,x1:e-l/2-o*this.visibleI,x2:o*this.seriesLen+l/2,elSeries:h}),{pathTo:v.pathTo,pathFrom:v.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues("y",null,n,g,u),barXPosition:e,barWidth:o}}},{key:"getPreviousPath",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),wt=function(t){n(s,yt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this,s=this.w;this.graphics=new m(this.ctx),this.bar=new yt(this.ctx,this.xyRatios);var r=new y(this.ctx,s);t=r.getLogSeries(t),this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),"100%"===s.config.chart.stackType&&(t=s.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var o=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),n=0,l=0,h=function(r,h){var c=void 0,d=void 0,g=void 0,u=void 0,p=-1;a.groupCtx=a,s.globals.seriesGroups.forEach((function(t,e){t.indexOf(s.config.series[r].name)>-1&&(p=e)})),-1!==p&&(a.groupCtx=a[s.globals.seriesGroups[p]]);var f=[],b=[],v=s.globals.comboCharts?i[r]:r;a.yRatio.length>1&&(a.yaxisIndex=v),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var m=a.graphics.group({class:"apexcharts-series",seriesName:x.escapeString(s.globals.seriesNames[v]),rel:r+1,"data:realIndex":v});a.ctx.series.addCollapsedClassToSeries(m,v);var y=a.graphics.group({class:"apexcharts-datalabels","data:realIndex":v}),w=a.graphics.group({class:"apexcharts-bar-goals-markers",style:"pointer-events: none"}),k=0,A=0,S=a.initialPositions(n,l,c,d,g,u);l=S.y,k=S.barHeight,d=S.yDivision,u=S.zeroW,n=S.x,A=S.barWidth,c=S.xDivision,g=S.zeroH,a.barHelpers.initializeStackedXYVars(a),1===a.groupCtx.prevY.length&&a.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(a.groupCtx.prevY[0]=a.groupCtx.prevY[0].map((function(t){return g})),a.groupCtx.prevYF[0]=a.groupCtx.prevYF[0].map((function(t){return 0})));for(var C=0;C1?(i=c.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:n*parseInt(c.config.plotOptions.bar.columnWidth,10)/100,null!==(h=c.globals.seriesGroups)&&void 0!==h&&h.length&&(n/=c.globals.seriesGroups.length),-1===String(c.config.plotOptions.bar.columnWidth).indexOf("%")&&(n=parseInt(c.config.plotOptions.bar.columnWidth,10)),s=c.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?c.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=c.globals.padHorizontal+(i-n)/2);return{x:t,y:e,yDivision:a,xDivision:i,barHeight:o,barWidth:n,zeroH:s,zeroW:r}}},{key:"drawStackedBarPaths",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.groupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,g=this.w,u=n+(-1!==l?l*a:0),p=i.i,f=i.j,x=0,b=0;b0){var m=r;this.groupCtx.prevXVal[v-1][f]<0?m=this.series[p][f]>=0?this.groupCtx.prevX[v-1][f]+x-2*(this.isReversed?x:0):this.groupCtx.prevX[v-1][f]:this.groupCtx.prevXVal[v-1][f]>=0&&(m=this.series[p][f]>=0?this.groupCtx.prevX[v-1][f]:this.groupCtx.prevX[v-1][f]-x+2*(this.isReversed?x:0)),e=m}else e=r;o=null===this.series[p][f]?e:e+this.series[p][f]/this.invertedYRatio-2*(this.isReversed?this.series[p][f]/this.invertedYRatio:0);var y=this.barHelpers.getBarpaths({barYPosition:u,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:p,j:f,w:g});return this.barHelpers.barBackground({j:f,i:p,y1:u,y2:a,elSeries:d}),n+=c,{pathTo:y.pathTo,pathFrom:y.pathFrom,goalX:this.barHelpers.getGoalValues("x",r,null,p,f),barYPosition:u,x:o,y:n}}},{key:"drawStackedColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.groupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,g=e.j,u=e.bc;if(c.globals.isXNumeric){var p=c.globals.seriesX[d][g];p||(p=0),i=(p-c.globals.minX)/this.xRatio-r/2,c.globals.seriesGroups.length&&(i=(p-c.globals.minX)/this.xRatio-r/2*c.globals.seriesGroups.length)}for(var f,x=i+(-1!==n?n*r:0),b=0,v=0;v0&&!c.globals.isXNumeric||m>0&&c.globals.isXNumeric&&c.globals.seriesX[d-1][g]===c.globals.seriesX[d][g]){var y,w,k,A=Math.min(this.yRatio.length+1,d+1);if(void 0!==this.groupCtx.prevY[m-1]&&this.groupCtx.prevY[m-1].length)for(var S=1;S=0?k-b+2*(this.isReversed?b:0):k;break}if((null===(I=this.groupCtx.prevYVal[m-L])||void 0===I?void 0:I[g])>=0){w=this.series[d][g]>=0?k:k+b-2*(this.isReversed?b:0);break}}void 0===w&&(w=c.globals.gridHeight),f=null!==(y=this.groupCtx.prevYF[0])&&void 0!==y&&y.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,m).every((function(t){return t.every((function(t){return isNaN(t)}))}))?o:w}else f=o;a=this.series[d][g]?f-this.series[d][g]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[d][g]/this.yRatio[this.yaxisIndex]:0):f;var T=this.barHelpers.getColumnPaths({barXPosition:x,barWidth:r,y1:f,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:g,w:c});return this.barHelpers.barBackground({bc:u,j:g,i:d,x1:x,x2:r,elSeries:h}),i+=s,{pathTo:T.pathTo,pathFrom:T.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,o,d,g),barXPosition:x,x:c.globals.isXNumeric?i-s:i,y:a}}}]),s}(),kt=function(t){n(s,yt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i,a){var s=this,r=this.w,o=new m(this.ctx),n=r.globals.comboCharts?i:r.config.chart.type,l=new R(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=r.config.plotOptions.bar.horizontal;var h=new y(this.ctx,r);t=h.getLogSeries(t),this.series=t,this.yRatio=h.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var c=o.group({class:"apexcharts-".concat(n,"-series apexcharts-plot-series")}),d=function(i){s.isBoxPlot="boxPlot"===r.config.chart.type||"boxPlot"===r.config.series[i].type;var n,h,d,g,u=void 0,p=void 0,f=[],b=[],v=r.globals.comboCharts?a[i]:i,m=o.group({class:"apexcharts-series",seriesName:x.escapeString(r.globals.seriesNames[v]),rel:i+1,"data:realIndex":v});s.ctx.series.addCollapsedClassToSeries(m,v),t[i].length>0&&(s.visibleI=s.visibleI+1);var y,w;s.yRatio.length>1&&(s.yaxisIndex=v);var k=s.barHelpers.initialPositions();p=k.y,y=k.barHeight,h=k.yDivision,g=k.zeroW,u=k.x,w=k.barWidth,n=k.xDivision,d=k.zeroH,b.push(u+w/2);for(var A=o.group({class:"apexcharts-datalabels","data:realIndex":v}),S=function(a){var o=s.barHelpers.getStrokeWidth(i,a,v),c=null,x={indexes:{i:i,j:a,realIndex:v},x:u,y:p,strokeWidth:o,elSeries:m};c=s.isHorizontal?s.drawHorizontalBoxPaths(e(e({},x),{},{yDivision:h,barHeight:y,zeroW:g})):s.drawVerticalBoxPaths(e(e({},x),{},{xDivision:n,barWidth:w,zeroH:d})),p=c.y,u=c.x,a>0&&b.push(u+w/2),f.push(p),c.pathTo.forEach((function(e,n){var h=!s.isBoxPlot&&s.candlestickOptions.wick.useFillColor?c.color[n]:r.globals.stroke.colors[i],d=l.fillPath({seriesNumber:v,dataPointIndex:a,color:c.color[n],value:t[i][a]});s.renderSeries({realIndex:v,pathFill:d,lineFill:h,j:a,i:i,pathFrom:c.pathFrom,pathTo:e,strokeWidth:o,elSeries:m,x:u,y:p,series:t,barHeight:y,barWidth:w,elDataLabelsWrap:A,visibleSeries:s.visibleI,type:r.config.chart.type})}))},C=0;Cb.c&&(d=!1);var w=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(w=r,k=r):(w=r-w/f,k=r-k/f,v=r-b.h/f,y=r-b.l/f,A=r-b.m/f);var C=l.move(S,r),L=l.move(S+s/2,w);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+"z"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,y)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-o/2)],L+=l.move(S,w),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?p:d?[g]:[u]}}},{key:"drawHorizontalBoxPaths",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,p=this.getOHLCValue(u,c),f=r,x=r,b=Math.min(p.o,p.c),v=Math.max(p.o,p.c),y=p.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,f=r+p.h/g,x=r+p.l/g,y=r+p.m/g);var k=l.move(r,w),A=l.move(b,w+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,w)+l.line(b,w+s/2)+l.line(f,w+s/2)+l.line(f,w+s/2-s/4)+l.line(f,w+s/2+s/4)+l.line(f,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s)+l.line(y,w+s)+l.line(y,w)+l.line(b+o/2,w),l.move(y,w)+l.line(y,w+s)+l.line(v,w+s)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s-s/4)+l.line(x,w+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w)+l.line(y,w)+"z"],A+=l.move(b,w),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:w,color:d}}},{key:"getOHLCValue",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),s}(),At=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkColorRange",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:"getShadeColor",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,"treemap"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new x;return s.config.plotOptions[t].enableShades&&(l="dark"===this.w.config.theme.mode?x.hexToRgba(h.shadeColor(-1*r,n.color),s.config.fill.opacity):x.hexToRgba(h.shadeColor(r,n.color),s.config.fill.opacity)),{color:l,colorProps:n}}},{key:"determineColor",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&"treemap"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,u(a.globals.series[e])),c=Math.max.apply(Math,u(a.globals.series[e]));r.distributed||"heatmap"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:"calculateDataLabels",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new m(this.ctx),c=new O(this.ctx),d=null;if(l.enabled){d=h.group({class:"apexcharts-data-labels"});var g=l.offsetX,u=l.offsetY,p=i+g,f=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:"addListeners",value:function(t){var e=new m(this.ctx);t.node.addEventListener("mouseenter",e.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",e.pathMouseLeave.bind(this,t)),t.node.addEventListener("mousedown",e.pathMouseDown.bind(this,t))}}]),t}(),St=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new At(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return r(t,[{key:"draw",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(e.globals.cuid,")"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:x.escapeString(e.globals.seriesNames[h]),rel:h+1,"data:realIndex":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new v(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,p=0;p-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*u/this.fullAngle+"%";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(n)>this.fullAngle&&(n-=this.fullAngle);var l=Math.PI*(n-90)/180,h=e.centerX+s*Math.cos(o),c=e.centerY+s*Math.sin(o),d=e.centerX+s*Math.cos(l),g=e.centerY+s*Math.sin(l),u=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,n),p=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,r),f=a>180?1:0,b=["M",h,c,"A",s,s,0,f,1,d,g];return"donut"===e.chartType?[].concat(b,["L",u.x,u.y,"A",e.donutSize,e.donutSize,0,f,0,p.x,p.y,"L",h,c,"z"]).join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[].concat(b,["L",e.centerX,e.centerY,"L",h,c]).join(" "):[].concat(b).join(" ")}},{key:"drawPolarElements",value:function(t){var e=this.w,i=new _(this.ctx),a=new m(this.ctx),s=new Ct(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),e.config.yaxis[0].tickAmount,0,!0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,r),a||"function"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,a=t.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==r&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n1)o&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!o)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),Pt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var i=this.w;this.graphics=new m(this.ctx),this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=i.globals.svgHeight0&&(f=i.getPreviousPath(n));for(var b=0;b=10?t.x>0?(i="start",a+=10):t.x<0&&(i="end",a-=10):i="middle",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:"",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(u,p)}l.add(u),u.attr("id","apexcharts-radialbarTrack-"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:"drawArcs",value:function(t){var e=this.w,i=new m(this.ctx),a=new R(this.ctx),s=new v(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||"transparent"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;this.radialDataLabels.show&&(u=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})),"back"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var p=!1;e.config.plotOptions.radialBar.inverseOrder&&(p=!0);for(var f=p?t.series.length-1:0;p?f>=0:f100?100:t.series[f])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*x.negToZero(e.globals.previousPaths[f])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var L=S-w,P=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[f]:e.config.stroke.dashArray,I=i.drawPath({d:"",stroke:y,strokeWidth:o,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+f,strokeDashArray:P});if(m.setAttrs(I.node,{"data:angle":L,"data:value":t.series[f]}),e.config.chart.dropShadow.enabled){var T=e.config.chart.dropShadow;s.dropShadow(I,T,f)}s.setSelectionFilter(I,0,f),this.addListeners(I,this.radialDataLabels),b.add(I),I.attr({index:0,j:f});var M=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(M=e.config.chart.animations.speed),e.globals.dataChanged&&(M=e.config.chart.animations.dynamicAnimation.speed),this.animDur=M/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(I,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:f,totalItems:2,animBeginArr:this.animBeginArr,dur:M,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:"drawHollow",value:function(t){var e=new m(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(t,e,i,a){var s=this.w,r=new R(this.ctx),o=x.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:"pattern".concat(s.globals.cuid).concat(o)}),a="url(#pattern".concat(s.globals.cuid).concat(o,")");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}}]),i}(),Tt=function(t){n(s,yt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var r=s.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),o=0;o0&&(this.visibleI=this.visibleI+1);var f=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=u);var v=this.barHelpers.initialPositions();d=v.y,h=v.zeroW,c=v.x,b=v.barWidth,n=v.xDivision,l=v.zeroH;for(var y=s.group({class:"apexcharts-datalabels","data:realIndex":u}),w=s.group({class:"apexcharts-rangebar-goals-markers",style:"pointer-events: none"}),k=0;k0}));return a=l.config.plotOptions.bar.rangeBarGroupRows?s+o*g:s+r*this.visibleI+o*g,u>-1&&!l.config.plotOptions.bar.rangeBarOverlap&&(h=l.globals.seriesRange[e][u].overlaps).indexOf(c)>-1&&(a=(r=n.barHeight/h.length)*this.visibleI+o*(100-parseInt(this.barOptions.barHeight,10))/100/2+r*(this.visibleI+h.indexOf(c))+o*g),{barYPosition:a,barHeight:r}}},{key:"drawRangeColumnPaths",value:function(t){var e=t.indexes,i=t.x;t.strokeWidth;var a=t.xDivision,s=t.barWidth,r=t.zeroH,o=this.w,n=e.i,l=e.j,h=this.yRatio[this.yaxisIndex],c=e.realIndex,d=this.getRangeValue(c,l),g=Math.min(d.start,d.end),u=Math.max(d.start,d.end);o.globals.isXNumeric&&(i=(o.globals.seriesX[n][l]-o.globals.minX)/this.xRatio-s/2);var p=i+s*this.visibleI;void 0===this.series[n][l]||null===this.series[n][l]?g=r:(g=r-g/h,u=r-u/h);var f=Math.abs(u-g),x=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:s,y1:g,y2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:c,j:l,w:o});return o.globals.isXNumeric||(i+=a),{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:f,x:i,y:u,goalY:this.barHelpers.getGoalValues("y",null,r,n,l),barXPosition:p}}},{key:"drawRangeBarPaths",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,g=Math.abs(d-c),u=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:c,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:u.pathTo,pathFrom:u.pathFrom,barWidth:g,x:d,goalX:this.barHelpers.getGoalValues("x",l,null,e.realIndex,e.j),y:i}}},{key:"getRangeValue",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),s}(),Mt=function(){function t(e){a(this,t),this.w=e.w,this.lineCtx=e}return r(t,[{key:"sameValueSeriesFix",value:function(t,e){var i=this.w;if(("gradient"===i.config.fill.type||"gradient"===i.config.fill.type[t])&&new y(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:"calculatePoints",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(x.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:"checkPreviousPaths",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&("line"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):"area"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e,i=t.i,a=t.series,s=t.prevY,r=t.lineYPosition,o=this.w;if(void 0!==(null===(e=a[i])||void 0===e?void 0:e[0]))s=(r=o.config.chart.stacked&&i>0?this.lineCtx.prevSeriesY[i-1][0]:this.lineCtx.zeroY)-a[i][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?a[i][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(o.config.chart.stacked&&i>0&&void 0===a[i][0])for(var n=i-1;n>=0;n--)if(null!==a[n][0]&&void 0!==a[n][0]){s=r=this.lineCtx.prevSeriesY[n][0];break}return{prevY:s,lineYPosition:r}}}]),t}(),Xt=function(){function t(e,i,s){a(this,t),this.ctx=e,this.w=e.w,this.xyRatios=i,this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||s,this.scatter=new H(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Mt(this),this.markers=new D(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return r(t,[{key:"draw",value:function(t,i,a,s){var r=this.w,o=new m(this.ctx),n=r.globals.comboCharts?i:r.config.chart.type,l=o.group({class:"apexcharts-".concat(n,"-series apexcharts-plot-series")}),h=new y(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=h.getLogSeries(t),this.yRatio=h.getLogYRatios(this.yRatio);for(var c=[],d=0;d0&&(f=(r.globals.seriesX[g][0]-r.globals.minX)/this.xRatio),p.push(f);var x,b=f,v=void 0,w=b,k=this.zeroY,A=this.zeroY;k=this.lineHelpers.determineFirstPrevY({i:d,series:t,prevY:k,lineYPosition:0}).prevY,u.push(k),x=k;"rangeArea"===n&&(v=A=this.lineHelpers.determineFirstPrevY({i:d,series:s,prevY:A,lineYPosition:0}).prevY);var S={type:n,series:t,realIndex:g,i:d,x:f,y:1,pX:b,pY:x,pathsFrom:this._calculatePathsFrom({type:n,series:t,i:d,realIndex:g,prevX:w,prevY:k,prevY2:A}),linePaths:[],areaPaths:[],seriesIndex:a,lineYPosition:0,xArrj:p,yArrj:u,seriesRangeEnd:s},C=this._iterateOverDataPoints(e(e({},S),{},{iterations:"rangeArea"===n?t[d].length-1:void 0,isRangeStart:!0}));if("rangeArea"===n){var L=this._calculatePathsFrom({series:s,i:d,realIndex:g,prevX:w,prevY:A}),P=this._iterateOverDataPoints(e(e({},S),{},{series:s,pY:v,pathsFrom:L,iterations:s[d].length-1,isRangeStart:!1}));C.linePaths[0]=P.linePath+C.linePath,C.pathFromLine=P.pathFromLine+C.pathFromLine}this._handlePaths({type:n,realIndex:g,i:d,paths:C}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),c.push(this.elSeries)}if(r.config.chart.stacked)for(var I=c.length;I>0;I--)l.add(c[I-1]);else for(var T=0;T1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||"end"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",seriesName:x.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var r=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":r,rel:e+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(t){var e,i,a,s,r=t.type,o=t.series,n=t.i,l=t.realIndex,h=t.prevX,c=t.prevY,d=t.prevY2,g=this.w,u=new m(this.ctx);if(null===o[n][0]){for(var p=0;p0){var f=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=f.pathFromLine,s=f.pathFromArea}return{prevX:h,prevY:c,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(t){var i=t.type,a=t.realIndex,s=t.i,r=t.paths,o=this.w,n=new m(this.ctx),l=new R(this.ctx);this.prevSeriesY.push(r.yArrj),o.globals.seriesXvalues[a]=r.xArrj,o.globals.seriesYvalues[a]=r.yArrj;var h=o.config.forecastDataPoints;if(h.count>0&&"rangeArea"!==i){var c=o.globals.seriesXvalues[a][o.globals.seriesXvalues[a].length-h.count-1],d=n.drawRect(c,0,o.globals.gridWidth,o.globals.gridHeight,0);o.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,o.globals.gridHeight,0);o.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||o.globals.delayedElements.push({el:this.elPointsMain.node,index:a});var u={i:s,realIndex:a,animationDelay:s,initialSpeed:o.config.chart.animations.speed,dataChangeSpeed:o.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(i)};if("area"===i)for(var p=l.fillPath({seriesNumber:a}),f=0;f0&&"rangeArea"!==i){var S=n.renderPaths(k);S.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&S.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(S),S.attr("clip-path","url(#forecastMask".concat(o.globals.cuid,")")),A.attr("clip-path","url(#nonForecastMask".concat(o.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(t){var e=t.type,i=t.series,a=t.iterations,s=t.realIndex,r=t.i,o=t.x,n=t.y,l=t.pX,h=t.pY,c=t.pathsFrom,d=t.linePaths,g=t.areaPaths,u=t.seriesIndex,p=t.lineYPosition,f=t.xArrj,b=t.yArrj,v=t.isRangeStart,y=t.seriesRangeEnd,w=this.w,k=new m(this.ctx),A=this.yRatio,S=c.prevY,C=c.linePath,L=c.areaPath,P=c.pathFromLine,I=c.pathFromArea,T=x.isNumber(w.globals.minYArr[s])?w.globals.minYArr[s]:w.globals.minY;a||(a=w.globals.dataPoints>1?w.globals.dataPoints-1:w.globals.dataPoints);for(var M=n,X=0;X0&&w.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(r-1)][X+1]}else p=this.zeroY;else p=this.zeroY;z?n=p-T/A[this.yaxisIndex]+2*(this.isReversed?T/A[this.yaxisIndex]:0):(n=p-i[r][X+1]/A[this.yaxisIndex]+2*(this.isReversed?i[r][X+1]/A[this.yaxisIndex]:0),"rangeArea"===e&&(M=p-y[r][X+1]/A[this.yaxisIndex]+2*(this.isReversed?y[r][X+1]/A[this.yaxisIndex]:0))),f.push(o),b.push(n);var Y=this.lineHelpers.calculatePoints({series:i,x:o,y:n,realIndex:s,i:r,j:X,prevY:S}),F=this._createPaths({type:e,series:i,i:r,realIndex:s,j:X,x:o,y:n,y2:M,pX:l,pY:h,linePath:C,areaPath:L,linePaths:d,areaPaths:g,seriesIndex:u,isRangeStart:v});g=F.areaPaths,d=F.linePaths,l=F.pX,h=F.pY,L=F.areaPath,C=F.linePath,this.appendPathFrom&&(P+=k.line(o,this.zeroY),I+=k.line(o,this.zeroY)),this.handleNullDataPoints(i,Y,r,X,s),this._handleMarkersAndLabels({type:e,pointsPos:Y,i:r,j:X,realIndex:s,isRangeStart:v})}return{yArrj:b,xArrj:f,pathFromArea:I,areaPaths:g,pathFromLine:P,linePaths:d,linePath:C,areaPath:L}}},{key:"_handleMarkersAndLabels",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,o=t.realIndex,n=this.w,l=new O(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:o,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{n.globals.series[s].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var h=this.markers.plotChartMarkers(i,o,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:o,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:"_createPaths",value:function(t){var e=t.type,i=t.series,a=t.i,s=t.realIndex,r=t.j,o=t.x,n=t.y,l=t.y2,h=t.pX,c=t.pY,d=t.linePath,g=t.areaPath,u=t.linePaths,p=t.areaPaths,f=t.seriesIndex,x=t.isRangeStart,b=this.w,v=new m(this.ctx),y=b.config.stroke.curve,w=this.areaBottomY;if(Array.isArray(b.config.stroke.curve)&&(y=Array.isArray(f)?b.config.stroke.curve[f[a]]:b.config.stroke.curve[a]),"smooth"===y){var k=.35*(o-h);b.globals.hasNullValues?(null!==i[a][r]&&(null!==i[a][r+1]?(d=v.move(h,c)+v.curve(h+k,c,o-k,n,o+1,n),g=v.move(h+1,c)+v.curve(h+k,c,o-k,n,o+1,n)+v.line(o,w)+v.line(h,w)+"z"):(d=v.move(h,c),g=v.move(h,c)+"z")),u.push(d),p.push(g)):(d+=v.curve(h+k,c,o-k,n,o,n),g+=v.curve(h+k,c,o-k,n,o,n)),h=o,c=n,r===i[a].length-2&&(g=g+v.curve(h,c,o,n,o,w)+v.move(o,n)+"z","rangeArea"===e&&x?d=d+v.curve(h,c,o,n,o,l)+v.move(o,l)+"z":b.globals.hasNullValues||(u.push(d),p.push(g)))}else{if(null===i[a][r+1]){d+=v.move(o,n);var A=b.globals.isXNumeric?(b.globals.seriesX[s][r]-b.globals.minX)/this.xRatio:o-this.xDivision;g=g+v.line(A,w)+v.move(o,n)+"z"}null===i[a][r]&&(d+=v.move(o,n),g+=v.move(o,w)),"stepline"===y?(d=d+v.line(o,null,"H")+v.line(null,n,"V"),g=g+v.line(o,null,"H")+v.line(null,n,"V")):"straight"===y&&(d+=v.line(o,n),g+=v.line(o,n)),r===i[a].length-2&&(g=g+v.line(o,w)+v.move(o,n)+"z","rangeArea"===e&&x?d=d+v.line(o,l)+v.move(o,l)+"z":(u.push(d),p.push(g)))}return{linePaths:u,areaPaths:p,pX:h,pY:c,linePath:d,areaPath:g}}},{key:"handleNullDataPoints",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){o=void 0===o?0:o,n=void 0===n?0:n;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(-90 ".concat(h.x," ").concat(h.y,")"))}}},{key:"animateTreemap",value:function(t,e,i,a){var s=new b(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Ft=86400,Rt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return r(t,[{key:"calculateTimeScaleTicks",value:function(t,i){var a=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var r=new I(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o<.00011574074074074075?s.globals.disableZoomIn=!0:o>5e4&&(s.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,i,this.utc),l=s.globals.gridWidth/o,h=l/24,c=h/60,d=c/60,g=Math.floor(24*o),u=Math.floor(1440*o),p=Math.floor(o*Ft),f=Math.floor(o),x=Math.floor(o/30),b=Math.floor(o/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:u,numberOfHours:g,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case"years":this.generateYearScale(m);break;case"months":case"half_year":this.generateMonthScale(m);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(m);break;case"hours":this.generateHourScale(m);break;case"minutes_fives":case"minutes":this.generateMinuteScale(m);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var i={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?e(e({},i),{},{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?e(e({},i),{},{value:t.value}):"minute"===t.unit?e(e({},i),{},{value:t.value,minute:t.value}):"second"===t.unit?e(e({},i),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,i=Math.ceil(s.globals.gridWidth/120),r=t.value;void 0!==s.config.xaxis.tickAmount&&(i=s.config.xaxis.tickAmount),y.length>i&&(e=Math.floor(y.length/i));var o=!1,n=!1;switch(a.tickInterval){case"years":"year"===t.unit&&(o=!0);break;case"half_year":e=7,"year"===t.unit&&(o=!0);break;case"months":e=1,"year"===t.unit&&(o=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(o=!0),30===r&&(n=!0);break;case"months_days":e=10,"month"===t.unit&&(o=!0),30===r&&(n=!0);break;case"week_days":e=8,"month"===t.unit&&(o=!0);break;case"days":e=1,"month"===t.unit&&(o=!0);break;case"hours":"day"===t.unit&&(o=!0);break;case"minutes_fives":case"seconds_fives":r%5!=0&&(n=!0);break;case"seconds_tens":r%10!=0&&(n=!0)}if("hours"===a.tickInterval||"minutes_fives"===a.tickInterval||"seconds_tens"===a.tickInterval||"seconds_fives"===a.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new ot(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval="years";break;case t>800:this.tickInterval="half_year";break;case t>180:this.tickInterval="months";break;case t>90:this.tickInterval="months_fortnight";break;case t>60:this.tickInterval="months_days";break;case t>30:this.tickInterval="week_days";break;case t>2:this.tickInterval="days";break;case e>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new I(this.ctx),h="year";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:x.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:x.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=x.monthMod(a+1);var g=s+d,u=x.monthMod(n),p=n;0===n&&(c="year",p=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:x.monthMod(a)});for(var f=n+1,b=l,v=0,m=1;vo.determineDaysOfMonths(e+1,i)?(h=1,n="month",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=x.monthMod(e.minMonth),n="month",h=e.minDate,r++):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:x.monthMod(u),day:h});for(var p=d,f=0;fn.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,p=u+1;60===d&&(g=0,p=(u=e.minHour)+1);var f=i,b=c(f,a);this.timeScaleArray.push({position:g,value:u,unit:l,day:f,hour:p,year:s,month:x.monthMod(b)});for(var v=g,m=0;m=24)p=0,l="day",b=h(f+=1,b).month,b=c(f,b);var y=this._getYear(s,b,0);v=60*r+v;var w=0===p?f:p;this.timeScaleArray.push({position:v,value:w,unit:l,hour:p,day:f,year:y,month:x.monthMod(b)}),p++}}},{key:"generateMinuteScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,p=n,f=s,b=(60-i-e/1e3)*h,v=0;v=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:b,value:d,unit:"minute",hour:f,minute:d,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,d++}},{key:"generateSecondScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,p=n,f=s,b=(1e3-e)/1e3*l,v=0;v=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:b,value:c,unit:"second",hour:f,minute:d,second:c,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,c++}},{key:"createRawDateString",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),"minute"===t.unit?i+=":"+("0"+e).slice(-2):i+=":"+(t.minute?("0"+t.minute).slice(-2):"00"),"second"===t.unit?i+=":"+("0"+e).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new I(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n="dd MMM",l=i.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(n=l.year),"month"===t.unit&&(n=l.month),"day"===t.unit&&(n=l.day),"hour"===t.unit&&(n=l.hour),"minute"===t.unit&&(n=l.minute),"second"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:"removeOverlappingTS",value:function(t){var e,i=this,a=new m(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:"_getYear",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Dt=function(){function t(e,i){a(this,t),this.ctx=i,this.w=i.w,this.el=e}return r(t,[{key:"setupElements",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].indexOf(i)>-1,t.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].indexOf(i)>-1,t.isBarHorizontal=("bar"===e.chart.type||"rangeBar"===e.chart.type||"boxPlot"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=".apexcharts"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),m.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas "+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(e.chart.offsetX,", ").concat(e.chart.offsetY,")")}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject"),m.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},g={series:[],i:[]},u={series:[],seriesRangeEnd:[],i:[]};s.series.map((function(e,p){var f=0;void 0!==t[p].type?("column"===t[p].type||"bar"===t[p].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"),h.series.push(e),h.i.push(p),f++,i.globals.columnSeries=h.series):"area"===t[p].type?(o.series.push(e),o.i.push(p),f++):"line"===t[p].type?(r.series.push(e),r.i.push(p),f++):"scatter"===t[p].type?(n.series.push(e),n.i.push(p)):"bubble"===t[p].type?(l.series.push(e),l.i.push(p),f++):"candlestick"===t[p].type?(c.series.push(e),c.i.push(p),f++):"boxPlot"===t[p].type?(d.series.push(e),d.i.push(p),f++):"rangeBar"===t[p].type?(g.series.push(e),g.i.push(p),f++):"rangeArea"===t[p].type?(u.series.push(s.seriesRangeStart[p]),u.seriesRangeEnd.push(s.seriesRangeEnd[p]),u.i.push(p),f++):console.warn("You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble/candlestick/boxPlot/rangeBar/rangeArea"),f>1&&(s.comboCharts=!0)):(r.series.push(e),r.i.push(p))}));var p=new Xt(this.ctx,e),f=new kt(this.ctx,e);this.ctx.pie=new Lt(this.ctx);var x=new It(this.ctx);this.ctx.rangeBar=new Tt(this.ctx,e);var b=new Pt(this.ctx),v=[];if(s.comboCharts){if(o.series.length>0&&v.push(p.draw(o.series,"area",o.i)),h.series.length>0)if(i.config.chart.stacked){var m=new wt(this.ctx,e);v.push(m.draw(h.series,h.i))}else this.ctx.bar=new yt(this.ctx,e),v.push(this.ctx.bar.draw(h.series,h.i));if(u.series.length>0&&v.push(p.draw(u.series,"rangeArea",u.i,u.seriesRangeEnd)),r.series.length>0&&v.push(p.draw(r.series,"line",r.i)),c.series.length>0&&v.push(f.draw(c.series,"candlestick",c.i)),d.series.length>0&&v.push(f.draw(d.series,"boxPlot",d.i)),g.series.length>0&&v.push(this.ctx.rangeBar.draw(g.series,g.i)),n.series.length>0){var y=new Xt(this.ctx,e,!0);v.push(y.draw(n.series,"scatter",n.i))}if(l.series.length>0){var w=new Xt(this.ctx,e,!0);v.push(w.draw(l.series,"bubble",l.i))}}else switch(a.chart.type){case"line":v=p.draw(s.series,"line");break;case"area":v=p.draw(s.series,"area");break;case"bar":if(a.chart.stacked)v=new wt(this.ctx,e).draw(s.series);else this.ctx.bar=new yt(this.ctx,e),v=this.ctx.bar.draw(s.series);break;case"candlestick":v=new kt(this.ctx,e).draw(s.series,"candlestick");break;case"boxPlot":v=new kt(this.ctx,e).draw(s.series,"boxPlot");break;case"rangeBar":v=this.ctx.rangeBar.draw(s.series);break;case"rangeArea":v=p.draw(s.seriesRangeStart,"rangeArea",void 0,s.seriesRangeEnd);break;case"heatmap":v=new St(this.ctx,e).draw(s.series);break;case"treemap":v=new Yt(this.ctx,e).draw(s.series);break;case"pie":case"donut":case"polarArea":v=this.ctx.pie.draw(s.series);break;case"radialBar":v=x.draw(s.series);break;case"radar":v=b.draw(s.series);break;default:v=p.draw(s.series)}return v}},{key:"setSVGDimensions",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=x.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();"%"===a?x.isNumber(i[0])&&(0===i[0].width&&(i=x.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):"px"!==a&&""!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if("auto"!==t.svgHeight&&""!==t.svgHeight)if("%"===s){var r=x.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),m.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),"%"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+"px"}t.dom.elWrap.style.width=t.svgWidth+"px",t.dom.elWrap.style.height=t.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i={transform:"translate("+t.translateX+", "+e+")"};m.setAttrs(t.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new lt(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=x.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",l),t.config.chart.height&&String(t.config.chart.height).indexOf("%")>0||(e.dom.elWrap.style.height=l+"px",m.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+"px")}},{key:"coreCalculations",value:function(){new U(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new Y,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if("back"===e.config.xaxis.crosshairs.position)new Q(this.ctx).drawXCrosshairs();if("back"===e.config.yaxis[0].crosshairs.position)new Q(this.ctx).drawYCrosshairs();if("datetime"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Rt(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new y(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var t=this,i=this.w;if(i.config.chart.brush.enabled&&"function"!=typeof i.config.chart.events.selection){var a=i.config.chart.brush.targets||[i.config.chart.brush.target];a.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,"function"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),"function"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),i.config.chart.events.selection=function(t,s){a.forEach((function(t){var a=ApexCharts.getChartByID(t),r=x.clone(i.config.yaxis);if(i.config.chart.brush.autoScaleYaxis&&1===a.w.globals.series.length){var o=new _(a);r=o.autoScaleY(a,r,s)}var n=a.w.config.yaxis.reduce((function(t,i,s){return[].concat(u(t),[e(e({},a.w.config.yaxis[s]),{},{min:r[0].min,max:r[0].max})])}),[]);a.ctx.updateHelpers._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max},yaxis:n},!1,!1,!1,!1)}))}}}}]),t}(),Ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"_updateOptions",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var l=[e.ctx];r&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(r,h){var c=r.w;if(c.globals.shouldAnimate=s,a||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),t&&"object"===i(t)&&(r.config=new E(t),t=y.extendArrayProps(r.config,t,c),r.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,c.config=x.extend(c.config,t),o&&(c.globals.lastXAxis=t.xaxis?x.clone(t.xaxis):[],c.globals.lastYAxis=t.yaxis?x.clone(t.yaxis):[],c.globals.initialConfig=x.extend({},c.config),c.globals.initialSeries=x.clone(c.config.series),t.series))){for(var d=0;d2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=x.clone(o.config.series),o.globals.initialSeries=x.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:"_extendSeries",value:function(t,i){var a=this.w,s=a.config.series[i];return e(e({},a.config.series[i]),{},{name:t.name?t.name:s&&s.name,color:t.color?t.color:s&&s.color,type:t.type?t.type:s&&s.type,data:t.data?t.data:s&&s.data})}},{key:"toggleDataPointSelection",value:function(t,e){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(t,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(e,"'], ").concat(s," circle[j='").concat(e,"'], ").concat(s," rect[j='").concat(e,"']")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(t,"']")).members[0],"pie"!==i.config.chart.type&&"polarArea"!==i.config.chart.type&&"donut"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new m(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;if(["min","max"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new z(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:"forceYAxisUpdate",value:function(t){return t.chart&&t.chart.stacked&&"100%"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:"revertDefaultAxisMinMax",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();zt="undefined"!=typeof window?window:void 0,Et=function(t,e){var a=(void 0!==this?this:t).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns="http://www.w3.org/2000/svg",a.xmlns="http://www.w3.org/2000/xmlns/",a.xlink="http://www.w3.org/1999/xlink",a.svgjs="http://svgjs.dev",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return"Svgjs"+d(t)+a.did++},a.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute("id",this.eid(t)),i},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e="function"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(e){return e?e.instance?e.instance:((i="svg"==e.nodeName?e.parentNode instanceof t.SVGElement?new a.Nested:new a.Doc:"linearGradient"==e.nodeName?new a.Gradient("linear"):"radialGradient"==e.nodeName?new a.Gradient("radial"):a[d(e.nodeName)]?new(a[d(e.nodeName)]):new a.Element(e)).type=e.nodeName,i.node=e,e.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute("svgjs:data"))||{}),i):null;var i},a.prepare=function(){var t=e.getElementsByTagName("body")[0],i=(t?new a.Doc(t):a.adopt(e.documentElement).nested()).size(2,0);a.parser={body:t||e.documentElement,draw:i.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:i.polyline().node,path:i.path().node,native:a.create("svg")}},a.parser={native:a.create("svg")},e.addEventListener("DOMContentLoaded",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+="",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]}},r="mlhvqtcsaz".split(""),o=0,n=r.length;ol);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute("d",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),"%"==e[5]?this.value/=100:"s"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return"string"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute("stroke")||this._stroke)},extend:{x:function(t){return this.attr("x",t)},y:function(t){return this.attr("y",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr("width",t)},height:function(t){return this.attr("height",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr("id",t)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return"none"!=this.style("display")},toString:function(){return this.attr("id")},classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr("class",this.classes().filter((function(e){return e!=t})).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(e){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!e)return i;for(;i&&i.node instanceof t.SVGElement;){if("string"==typeof e?i.matches(e):i instanceof e)return i;if(!i.node.parentNode||"#document"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var i=e.createElement("svg");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElement("svg")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),i.innerHTML.replace(/^/,"").replace(/<\/svg>$/,"");i.innerHTML=""+t.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2>")+"";for(var s=0,r=i.firstChild.childNodes.length;s":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,s){"object"===i(t)&&(e=t.ease,s=t.delay,t=t.duration);var r=new a.Situation({duration:t||1e3,delay:s||0,ease:a.easing[e||"-"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return("function"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on("finished.fx",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off("finished.fx",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off("during.fx",i).on("during.fx",i),this.after((function(){this.off("during.fx",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off("allfinished.fx",e)};return this.target().off("allfinished.fx",e).on("allfinished.fx",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||"animations"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire("during",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--s)this[v[s]]=null!=t[v[s]]?t[v[s]]:e[v[s]]},extend:{extract:function(){var t=p(this,0,1);p(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=v.length-1;e>=0;e--)t[v[e]]=this[v[e]];return t},toString:function(){return"matrix("+b(this.a)+","+b(this.b)+","+b(this.c)+","+b(this.d)+","+b(this.e)+","+b(this.f)+")"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(t,e){var a;a=Array.isArray(t)?{x:t[0],y:t[1]}:"object"===i(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(t,e,s){if(null==t){for(t={},s=(e=this.node.attributes).length-1;s>=0;s--)t[e[s].nodeName]=a.regex.isNumber.test(e[s].nodeValue)?parseFloat(e[s].nodeValue):e[s].nodeValue;return t}if("object"===i(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?a.defaults.attrs[t]:a.regex.isNumber.test(e)?parseFloat(e):e;"stroke-width"==t?this.attr("stroke",parseFloat(e)>0?this._stroke:null):"stroke"==t&&(this._stroke=e),"fill"!=t&&"stroke"!=t||(a.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof a.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),"number"==typeof e?e=new a.Number(e):a.Color.isColor(e)?e=new a.Color(e):Array.isArray(e)&&(e=new a.Array(e)),"leading"==t?this.leading&&this.leading(e):"string"==typeof s?this.node.setAttributeNS(s,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!=t&&"x"!=t||this.rebuild(t,e)}return this}}),a.extend(a.Element,{transform:function(t,e){var s;return"object"!==i(t)?(s=new a.Matrix(this).extract(),"string"==typeof t?s[t]:s):(s=new a.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(s=e?s.multiply(new a.Matrix(t)):new a.Matrix(t)),this.attr("transform",s))}}),a.extend(a.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split("(");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return"matrix"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(t,e){if(arguments.length>1&&"boolean"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var a=0,s=this.arguments.length;a=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return a.adopt(e).id(a.eid(e.nodeName))}function b(t){return Math.abs(t)>1e-37?t:0}["fill","stroke"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if("string"==typeof e||a.Color.isRgb(e)||e&&"function"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr("transform",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)"function"==typeof a.Shape.prototype[e]&&"function"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var i=e.getElementById(function(t){var e=(t||"").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(i)},a.select=function(t,i){return new a.Set(a.utils.map((i||e).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var v="abcdef".split("");if("function"!=typeof t.CustomEvent){var m=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent("CustomEvent");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};m.prototype=t.Event.prototype,a.CustomEvent=m}else a.CustomEvent=t.CustomEvent;return a},"function"==typeof define&&define.amd?define((function(){return Et(zt,zt.document)})):"object"===("undefined"==typeof exports?"undefined":i(exports))&&"undefined"!=typeof module?module.exports=zt.document?Et(zt,zt.document):function(t){return Et(t,t.document)}:zt.SVG=Et(zt,zt.document), +/*! svg.filter.js - v2.0.2 - 2016-02-24 +* https://github.com/wout/svg.filter.js +* Copyright (c) 2016 Wout Fierens; Licensed MIT */ +function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr("in")&&this.autoSetIn&&t.attr("in",this.source),t.attr("result")||t.attr("result",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return"function"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr("in",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||"normal"})},colorMatrix:function(t,e){"matrix"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr("flood-color",t),null!=e&&this.attr("flood-opacity",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr("href",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr("stdDeviation",function(t){if(!Array.isArray(t))return t;for(var e=0,i=t.length,a=[];e1&&(I*=a=Math.sqrt(a),T*=a);s=(new SVG.Matrix).rotate(M).scale(1/I,1/T).rotate(-M),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,X===z&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);z&&g>u&&(u+=2*Math.PI);!z&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire("dragend",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(e,i){"function"!=typeof e&&"object"!=typeof e||(i=e,e=!0);var a=this.remember("_draggable")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,e,i){var a="string"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,"t"===t||"b"===t),y:this.pointCoord(i[1],e,"r"===t||"l"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=["points","pointsExclude"];for(var s in r){var o=this.options[r[s]];"string"==typeof o?o=o.length>0?o.split(/\s*,\s*/i):[]:"boolean"==typeof o&&"points"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==["line","polyline","polygon"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case"rt":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case"rb":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case"lb":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case"t":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case"r":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case"b":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case"l":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case"rot":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,"touchmove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"touchend.resize",(function(){e.done()})),SVG.on(window,"mousemove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"mouseup.resize",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire("resizing",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var Ot=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new b(this.ctx),this.ctx.axes=new J(this.ctx),this.ctx.core=new Dt(this.ctx.el,this.ctx),this.ctx.config=new E({}),this.ctx.data=new W(this.ctx),this.ctx.grid=new j(this.ctx),this.ctx.graphics=new m(this.ctx),this.ctx.coreUtils=new y(this.ctx),this.ctx.crosshairs=new Q(this.ctx),this.ctx.events=new Z(this.ctx),this.ctx.exports=new G(this.ctx),this.ctx.localization=new $(this.ctx),this.ctx.options=new L,this.ctx.responsive=new K(this.ctx),this.ctx.series=new N(this.ctx),this.ctx.theme=new tt(this.ctx),this.ctx.formatters=new T(this.ctx),this.ctx.titleSubtitle=new et(this.ctx),this.ctx.legend=new lt(this.ctx),this.ctx.toolbar=new ht(this.ctx),this.ctx.tooltip=new bt(this.ctx),this.ctx.dimensions=new ot(this.ctx),this.ctx.updateHelpers=new Ht(this.ctx),this.ctx.zoomPanSelection=new ct(this.ctx),this.ctx.w.globals.tooltip=new bt(this.ctx)}}]),t}(),Nt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"clear",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:"killSVG",value:function(t){t.each((function(t,e){this.removeClass("*"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:"clearDomElements",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight="unset");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),Wt=new WeakMap;var Bt=function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new F(i).init(),this.el=e,this.w.globals.cuid=x.randomId(),this.w.globals.chartID=this.w.config.chart.id?x.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Ot(this).initModules(),this.create=x.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return r(t,[{key:"render",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;if("function"==typeof a&&a(t,t.w),t.events.fireEvent("beforeMount",[t,t.w]),window.addEventListener("resize",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();"none"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),Wt.set(e,s)}(t.el.parentNode,t.parentResizeHandler),!t.css){var s=t.el.getRootNode&&t.el.getRootNode(),r=x.is("ShadowRoot",s),o=t.el.ownerDocument,n=o.getElementById("apexcharts-css");!r&&n||(t.css=document.createElement("style"),t.css.id="apexcharts-css",t.css.textContent='@keyframes opaque {\n 0% {\n opacity: 0\n }\n\n to {\n opacity: 1\n }\n}\n\n@keyframes resizeanim {\n 0%,to {\n opacity: 0\n }\n}\n\n.apexcharts-canvas {\n position: relative;\n user-select: none\n}\n\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0,0,0,.5);\n box-shadow: 0 0 1px rgba(255,255,255,.5);\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5)\n}\n\n.apexcharts-inner {\n position: relative\n}\n\n.apexcharts-text tspan {\n font-family: inherit\n}\n\n.legend-mouseover-inactive {\n transition: .15s ease all;\n opacity: .2\n}\n\n.apexcharts-legend-text {\n padding-left: 15px;\n margin-left: -15px;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255,255,255,.96)\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30,30,30,.8)\n}\n\n.apexcharts-tooltip * {\n font-family: inherit\n}\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #eceff1;\n border-bottom: 1px solid #ddd\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0,0,0,.7);\n border-bottom: 1px solid #333\n}\n\n.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value {\n display: inline-block;\n margin-left: 5px;\n font-weight: 600\n}\n\n.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty {\n display: none\n}\n\n.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px\n}\n\n.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n display: flex\n}\n\n.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0;\n margin-right: 10px;\n border-radius: 50%\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0!important\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px\n}\n\n.apexcharts-custom-tooltip,.apexcharts-tooltip-box {\n padding: 4px 8px\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: 700\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: 700;\n display: block;\n margin-bottom: 5px\n}\n\n.apexcharts-xaxistooltip,.apexcharts-yaxistooltip {\n opacity: 0;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #eceff1;\n border: 1px solid #90a4ae\n}\n\n.apexcharts-xaxistooltip {\n padding: 9px 10px;\n transition: .15s ease all\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-left: -6px\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-left: -7px\n}\n\n.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%\n}\n\n.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before {\n top: 100%\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-yaxistooltip {\n padding: 4px 10px\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-top: -6px\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-top: -7px\n}\n\n.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before {\n left: 100%\n}\n\n.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before {\n right: 100%\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none\n}\n\n.apexcharts-xcrosshairs,.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: .15s ease all\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0\n}\n\n.apexcharts-selection-rect {\n cursor: move\n}\n\n.svg_select_boundingRect,.svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6e8192;\n text-align: center\n}\n\n.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg {\n fill: #6e8192\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(.76)\n}\n\n.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\n fill: #f3f4f5\n}\n\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\n fill: #008ffb\n}\n\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\n fill: #333\n}\n\n.apexcharts-menu-icon,.apexcharts-selection-icon {\n position: relative\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px\n}\n\n.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon {\n transform: scale(.85)\n}\n\n.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n transform: scale(.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px\n}\n\n.apexcharts-pan-icon {\n transform: scale(.62);\n position: relative;\n left: 1px;\n top: 0\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6e8192;\n stroke-width: 2\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008ffb\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0 6px 2px;\n display: flex;\n justify-content: space-between;\n align-items: center\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: .15s ease all;\n pointer-events: none\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: .15s ease all\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0,0,0,.7);\n color: #fff\n}\n\n@media screen and (min-width:768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1\n }\n}\n\n.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points {\n opacity: 0\n}\n\n.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label {\n cursor: default;\n pointer-events: none\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: .3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease\n}\n\n.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect {\n pointer-events: none\n}\n\n.apexcharts-marker {\n transition: .15s ease all\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n height: 100%;\n width: 100%;\n overflow: hidden\n}\n\n.contract-trigger:before,.resize-triggers,.resize-triggers>div {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0\n}\n\n.resize-triggers>div {\n height: 100%;\n width: 100%;\n background: #eee;\n overflow: auto\n}\n\n.contract-trigger:before {\n overflow: hidden;\n width: 200%;\n height: 200%\n}\n',r?s.prepend(t.css):o.head.appendChild(t.css))}var l=t.create(t.w.config.series,{});if(!l)return e(t);t.mount(l).then((function(){"function"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent("mounted",[t,t.w]),e(l)})).catch((function(t){i(t)}))}else i(new Error("Element not found"))}))}},{key:"create",value:function(t,e){var i=this.w;new Ot(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new z(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),"treemap"===i.config.chart.type&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),0===a.svgWidth)return a.animationEnded=!0,null;var s=y.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=t.every((function(t){return t.data&&0===t.data.length}));(0===t.length||r)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new D(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),"category"!==i.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new y(this).getLargestMarkerSize(),this.dimensions.plotCoords();var o=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,o),l=new O(this);return l.bringForward(),i.config.dataLabels.background.enabled&&l.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:n,xyRatios:o,dimensions:{plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}}}}},{key:"mount",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new j(i);var o=i.grid.drawGrid();if(i.annotations=new P(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position&&o&&a.globals.dom.elGraphical.add(o.el),Array.isArray(e.elGraph))for(var n=0;n0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){var t,e;window.removeEventListener("resize",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=Wt.get(t))&&(e.disconnect(),Wt.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===x.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Nt(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new U(this.ctx).getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new U(this.ctx).getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(t){return new G(this.ctx).dataURI(t)}},{key:"exportToCSV",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new G(this.ctx).exportToCSV(t)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:"_windowResizeHandler",value:function(){var t=this.w.config.chart.redrawOnWindowResize;"function"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:"getChartByID",value:function(t){var e=x.escapeString(t),i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i2?s-2:0),o=2;o arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + + return arr2; + } + + function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + /* + ** Generic functions which are not dependent on ApexCharts + */ + var Utils$1 = /*#__PURE__*/function () { + function Utils() { + _classCallCheck(this, Utils); + } + + _createClass(Utils, [{ + key: "shadeRGBColor", + value: function shadeRGBColor(percent, color) { + var f = color.split(','), + t = percent < 0 ? 0 : 255, + p = percent < 0 ? percent * -1 : percent, + R = parseInt(f[0].slice(4), 10), + G = parseInt(f[1], 10), + B = parseInt(f[2], 10); + return 'rgb(' + (Math.round((t - R) * p) + R) + ',' + (Math.round((t - G) * p) + G) + ',' + (Math.round((t - B) * p) + B) + ')'; + } + }, { + key: "shadeHexColor", + value: function shadeHexColor(percent, color) { + var f = parseInt(color.slice(1), 16), + t = percent < 0 ? 0 : 255, + p = percent < 0 ? percent * -1 : percent, + R = f >> 16, + G = f >> 8 & 0x00ff, + B = f & 0x0000ff; + return '#' + (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B)).toString(16).slice(1); + } // beautiful color shading blending code + // http://stackoverflow.com/questions/5560248/programmatically-lighten-or-darken-a-hex-color-or-rgb-and-blend-colors + + }, { + key: "shadeColor", + value: function shadeColor(p, color) { + if (Utils.isColorHex(color)) { + return this.shadeHexColor(p, color); + } else { + return this.shadeRGBColor(p, color); + } + } + }], [{ + key: "bind", + value: function bind(fn, me) { + return function () { + return fn.apply(me, arguments); + }; + } + }, { + key: "isObject", + value: function isObject(item) { + return item && _typeof(item) === 'object' && !Array.isArray(item) && item != null; + } // Type checking that works across different window objects + + }, { + key: "is", + value: function is(type, val) { + return Object.prototype.toString.call(val) === '[object ' + type + ']'; + } + }, { + key: "listToArray", + value: function listToArray(list) { + var i, + array = []; + + for (i = 0; i < list.length; i++) { + array[i] = list[i]; + } + + return array; + } // to extend defaults with user options + // credit: http://stackoverflow.com/questions/27936772/deep-object-merging-in-es6-es7#answer-34749873 + + }, { + key: "extend", + value: function extend(target, source) { + var _this = this; + + if (typeof Object.assign !== 'function') { + + (function () { + Object.assign = function (target) { + + if (target === undefined || target === null) { + throw new TypeError('Cannot convert undefined or null to object'); + } + + var output = Object(target); + + for (var index = 1; index < arguments.length; index++) { + var _source = arguments[index]; + + if (_source !== undefined && _source !== null) { + for (var nextKey in _source) { + if (_source.hasOwnProperty(nextKey)) { + output[nextKey] = _source[nextKey]; + } + } + } + } + + return output; + }; + })(); + } + + var output = Object.assign({}, target); + + if (this.isObject(target) && this.isObject(source)) { + Object.keys(source).forEach(function (key) { + if (_this.isObject(source[key])) { + if (!(key in target)) { + Object.assign(output, _defineProperty({}, key, source[key])); + } else { + output[key] = _this.extend(target[key], source[key]); + } + } else { + Object.assign(output, _defineProperty({}, key, source[key])); + } + }); + } + + return output; + } + }, { + key: "extendArray", + value: function extendArray(arrToExtend, resultArr) { + var extendedArr = []; + arrToExtend.map(function (item) { + extendedArr.push(Utils.extend(resultArr, item)); + }); + arrToExtend = extendedArr; + return arrToExtend; + } // If month counter exceeds 12, it starts again from 1 + + }, { + key: "monthMod", + value: function monthMod(month) { + return month % 12; + } + }, { + key: "clone", + value: function clone(source) { + if (Utils.is('Array', source)) { + var cloneResult = []; + + for (var i = 0; i < source.length; i++) { + cloneResult[i] = this.clone(source[i]); + } + + return cloneResult; + } else if (Utils.is('Null', source)) { + // fixes an issue where null values were converted to {} + return null; + } else if (Utils.is('Date', source)) { + return source; + } else if (_typeof(source) === 'object') { + var _cloneResult = {}; + + for (var prop in source) { + if (source.hasOwnProperty(prop)) { + _cloneResult[prop] = this.clone(source[prop]); + } + } + + return _cloneResult; + } else { + return source; + } + } + }, { + key: "log10", + value: function log10(x) { + return Math.log(x) / Math.LN10; + } + }, { + key: "roundToBase10", + value: function roundToBase10(x) { + return Math.pow(10, Math.floor(Math.log10(x))); + } + }, { + key: "roundToBase", + value: function roundToBase(x, base) { + return Math.pow(base, Math.floor(Math.log(x) / Math.log(base))); + } + }, { + key: "parseNumber", + value: function parseNumber(val) { + if (val === null) return val; + return parseFloat(val); + } + }, { + key: "randomId", + value: function randomId() { + return (Math.random() + 1).toString(36).substring(4); + } + }, { + key: "noExponents", + value: function noExponents(val) { + var data = String(val).split(/[eE]/); + if (data.length === 1) return data[0]; + var z = '', + sign = val < 0 ? '-' : '', + str = data[0].replace('.', ''), + mag = Number(data[1]) + 1; + + if (mag < 0) { + z = sign + '0.'; + + while (mag++) { + z += '0'; + } + + return z + str.replace(/^-/, ''); + } + + mag -= str.length; + + while (mag--) { + z += '0'; + } + + return str + z; + } + }, { + key: "getDimensions", + value: function getDimensions(el) { + var computedStyle = getComputedStyle(el, null); + var elementHeight = el.clientHeight; + var elementWidth = el.clientWidth; + elementHeight -= parseFloat(computedStyle.paddingTop) + parseFloat(computedStyle.paddingBottom); + elementWidth -= parseFloat(computedStyle.paddingLeft) + parseFloat(computedStyle.paddingRight); + return [elementWidth, elementHeight]; + } + }, { + key: "getBoundingClientRect", + value: function getBoundingClientRect(element) { + var rect = element.getBoundingClientRect(); + return { + top: rect.top, + right: rect.right, + bottom: rect.bottom, + left: rect.left, + width: element.clientWidth, + height: element.clientHeight, + x: rect.left, + y: rect.top + }; + } + }, { + key: "getLargestStringFromArr", + value: function getLargestStringFromArr(arr) { + return arr.reduce(function (a, b) { + if (Array.isArray(b)) { + b = b.reduce(function (aa, bb) { + return aa.length > bb.length ? aa : bb; + }); + } + + return a.length > b.length ? a : b; + }, 0); + } // http://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb#answer-12342275 + + }, { + key: "hexToRgba", + value: function hexToRgba() { + var hex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '#999999'; + var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.6; + + if (hex.substring(0, 1) !== '#') { + hex = '#999999'; + } + + var h = hex.replace('#', ''); + h = h.match(new RegExp('(.{' + h.length / 3 + '})', 'g')); + + for (var i = 0; i < h.length; i++) { + h[i] = parseInt(h[i].length === 1 ? h[i] + h[i] : h[i], 16); + } + + if (typeof opacity !== 'undefined') h.push(opacity); + return 'rgba(' + h.join(',') + ')'; + } + }, { + key: "getOpacityFromRGBA", + value: function getOpacityFromRGBA(rgba) { + return parseFloat(rgba.replace(/^.*,(.+)\)/, '$1')); + } + }, { + key: "rgb2hex", + value: function rgb2hex(rgb) { + rgb = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i); + return rgb && rgb.length === 4 ? '#' + ('0' + parseInt(rgb[1], 10).toString(16)).slice(-2) + ('0' + parseInt(rgb[2], 10).toString(16)).slice(-2) + ('0' + parseInt(rgb[3], 10).toString(16)).slice(-2) : ''; + } + }, { + key: "isColorHex", + value: function isColorHex(color) { + return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(color); + } + }, { + key: "getPolygonPos", + value: function getPolygonPos(size, dataPointsLen) { + var dotsArray = []; + var angle = Math.PI * 2 / dataPointsLen; + + for (var i = 0; i < dataPointsLen; i++) { + var curPos = {}; + curPos.x = size * Math.sin(i * angle); + curPos.y = -size * Math.cos(i * angle); + dotsArray.push(curPos); + } + + return dotsArray; + } + }, { + key: "polarToCartesian", + value: function polarToCartesian(centerX, centerY, radius, angleInDegrees) { + var angleInRadians = (angleInDegrees - 90) * Math.PI / 180.0; + return { + x: centerX + radius * Math.cos(angleInRadians), + y: centerY + radius * Math.sin(angleInRadians) + }; + } + }, { + key: "escapeString", + value: function escapeString(str) { + var escapeWith = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'x'; + var newStr = str.toString().slice(); + newStr = newStr.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi, escapeWith); + return newStr; + } + }, { + key: "negToZero", + value: function negToZero(val) { + return val < 0 ? 0 : val; + } + }, { + key: "moveIndexInArray", + value: function moveIndexInArray(arr, old_index, new_index) { + if (new_index >= arr.length) { + var k = new_index - arr.length + 1; + + while (k--) { + arr.push(undefined); + } + } + + arr.splice(new_index, 0, arr.splice(old_index, 1)[0]); + return arr; + } + }, { + key: "extractNumber", + value: function extractNumber(s) { + return parseFloat(s.replace(/[^\d.]*/g, '')); + } + }, { + key: "findAncestor", + value: function findAncestor(el, cls) { + while ((el = el.parentElement) && !el.classList.contains(cls)) { + } + + return el; + } + }, { + key: "setELstyles", + value: function setELstyles(el, styles) { + for (var key in styles) { + if (styles.hasOwnProperty(key)) { + el.style.key = styles[key]; + } + } + } + }, { + key: "isNumber", + value: function isNumber(value) { + return !isNaN(value) && parseFloat(Number(value)) === value && !isNaN(parseInt(value, 10)); + } + }, { + key: "isFloat", + value: function isFloat(n) { + return Number(n) === n && n % 1 !== 0; + } + }, { + key: "isSafari", + value: function isSafari() { + return /^((?!chrome|android).)*safari/i.test(navigator.userAgent); + } + }, { + key: "isFirefox", + value: function isFirefox() { + return navigator.userAgent.toLowerCase().indexOf('firefox') > -1; + } + }, { + key: "isIE11", + value: function isIE11() { + if (window.navigator.userAgent.indexOf('MSIE') !== -1 || window.navigator.appVersion.indexOf('Trident/') > -1) { + return true; + } + } + }, { + key: "isIE", + value: function isIE() { + var ua = window.navigator.userAgent; + var msie = ua.indexOf('MSIE '); + + if (msie > 0) { + // IE 10 or older => return version number + return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10); + } + + var trident = ua.indexOf('Trident/'); + + if (trident > 0) { + // IE 11 => return version number + var rv = ua.indexOf('rv:'); + return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10); + } + + var edge = ua.indexOf('Edge/'); + + if (edge > 0) { + // Edge (IE 12+) => return version number + return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10); + } // other browser + + + return false; + } + }]); + + return Utils; + }(); + + /** + * ApexCharts Animation Class. + * + * @module Animations + **/ + + var Animations = /*#__PURE__*/function () { + function Animations(ctx) { + _classCallCheck(this, Animations); + + this.ctx = ctx; + this.w = ctx.w; + this.setEasingFunctions(); + } + + _createClass(Animations, [{ + key: "setEasingFunctions", + value: function setEasingFunctions() { + var easing; + if (this.w.globals.easing) return; + var userDefinedEasing = this.w.config.chart.animations.easing; + + switch (userDefinedEasing) { + case 'linear': + { + easing = '-'; + break; + } + + case 'easein': + { + easing = '<'; + break; + } + + case 'easeout': + { + easing = '>'; + break; + } + + case 'easeinout': + { + easing = '<>'; + break; + } + + case 'swing': + { + easing = function easing(pos) { + var s = 1.70158; + var ret = (pos -= 1) * pos * ((s + 1) * pos + s) + 1; + return ret; + }; + + break; + } + + case 'bounce': + { + easing = function easing(pos) { + var ret = ''; + + if (pos < 1 / 2.75) { + ret = 7.5625 * pos * pos; + } else if (pos < 2 / 2.75) { + ret = 7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75; + } else if (pos < 2.5 / 2.75) { + ret = 7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375; + } else { + ret = 7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375; + } + + return ret; + }; + + break; + } + + case 'elastic': + { + easing = function easing(pos) { + if (pos === !!pos) return pos; + return Math.pow(2, -10 * pos) * Math.sin((pos - 0.075) * (2 * Math.PI) / 0.3) + 1; + }; + + break; + } + + default: + { + easing = '<>'; + } + } + + this.w.globals.easing = easing; + } + }, { + key: "animateLine", + value: function animateLine(el, from, to, speed) { + el.attr(from).animate(speed).attr(to); + } + /* + ** Animate radius of a circle element + */ + + }, { + key: "animateMarker", + value: function animateMarker(el, from, to, speed, easing, cb) { + if (!from) from = 0; + el.attr({ + r: from, + width: from, + height: from + }).animate(speed, easing).attr({ + r: to, + width: to.width, + height: to.height + }).afterAll(function () { + cb(); + }); + } + /* + ** Animate radius and position of a circle element + */ + + }, { + key: "animateCircle", + value: function animateCircle(el, from, to, speed, easing) { + el.attr({ + r: from.r, + cx: from.cx, + cy: from.cy + }).animate(speed, easing).attr({ + r: to.r, + cx: to.cx, + cy: to.cy + }); + } + /* + ** Animate rect properties + */ + + }, { + key: "animateRect", + value: function animateRect(el, from, to, speed, fn) { + el.attr(from).animate(speed).attr(to).afterAll(function () { + return fn(); + }); + } + }, { + key: "animatePathsGradually", + value: function animatePathsGradually(params) { + var el = params.el, + realIndex = params.realIndex, + j = params.j, + fill = params.fill, + pathFrom = params.pathFrom, + pathTo = params.pathTo, + speed = params.speed, + delay = params.delay; + var me = this; + var w = this.w; + var delayFactor = 0; + + if (w.config.chart.animations.animateGradually.enabled) { + delayFactor = w.config.chart.animations.animateGradually.delay; + } + + if (w.config.chart.animations.dynamicAnimation.enabled && w.globals.dataChanged && w.config.chart.type !== 'bar') { + // disabled due to this bug - https://github.com/apexcharts/vue-apexcharts/issues/75 + delayFactor = 0; + } + + me.morphSVG(el, realIndex, j, w.config.chart.type === 'line' && !w.globals.comboCharts ? 'stroke' : fill, pathFrom, pathTo, speed, delay * delayFactor); + } + }, { + key: "showDelayedElements", + value: function showDelayedElements() { + this.w.globals.delayedElements.forEach(function (d) { + var ele = d.el; + ele.classList.remove('apexcharts-element-hidden'); + }); + } + }, { + key: "animationCompleted", + value: function animationCompleted(el) { + var w = this.w; + if (w.globals.animationEnded) return; + w.globals.animationEnded = true; + this.showDelayedElements(); + + if (typeof w.config.chart.events.animationEnd === 'function') { + w.config.chart.events.animationEnd(this.ctx, { + el: el, + w: w + }); + } + } // SVG.js animation for morphing one path to another + + }, { + key: "morphSVG", + value: function morphSVG(el, realIndex, j, fill, pathFrom, pathTo, speed, delay) { + var _this = this; + + var w = this.w; + + if (!pathFrom) { + pathFrom = el.attr('pathFrom'); + } + + if (!pathTo) { + pathTo = el.attr('pathTo'); + } + + var disableAnimationForCorrupPath = function disableAnimationForCorrupPath(path) { + if (w.config.chart.type === 'radar') { + // radar chart drops the path to bottom and hence a corrup path looks ugly + // therefore, disable animation for such a case + speed = 1; + } + + return "M 0 ".concat(w.globals.gridHeight); + }; + + if (!pathFrom || pathFrom.indexOf('undefined') > -1 || pathFrom.indexOf('NaN') > -1) { + pathFrom = disableAnimationForCorrupPath(); + } + + if (!pathTo || pathTo.indexOf('undefined') > -1 || pathTo.indexOf('NaN') > -1) { + pathTo = disableAnimationForCorrupPath(); + } + + if (!w.globals.shouldAnimate) { + speed = 1; + } + + el.plot(pathFrom).animate(1, w.globals.easing, delay).plot(pathFrom).animate(speed, w.globals.easing, delay).plot(pathTo).afterAll(function () { + // a flag to indicate that the original mount function can return true now as animation finished here + if (Utils$1.isNumber(j)) { + if (j === w.globals.series[w.globals.maxValsInArrayIndex].length - 2 && w.globals.shouldAnimate) { + _this.animationCompleted(el); + } + } else if (fill !== 'none' && w.globals.shouldAnimate) { + if (!w.globals.comboCharts && realIndex === w.globals.series.length - 1 || w.globals.comboCharts) { + _this.animationCompleted(el); + } + } + + _this.showDelayedElements(); + }); + } + }]); + + return Animations; + }(); + + /** + * ApexCharts Filters Class for setting hover/active states on the paths. + * + * @module Formatters + **/ + + var Filters = /*#__PURE__*/function () { + function Filters(ctx) { + _classCallCheck(this, Filters); + + this.ctx = ctx; + this.w = ctx.w; + } // create a re-usable filter which can be appended other filter effects and applied to multiple elements + + + _createClass(Filters, [{ + key: "getDefaultFilter", + value: function getDefaultFilter(el, i) { + var w = this.w; + el.unfilter(true); + var filter = new window.SVG.Filter(); + filter.size('120%', '180%', '-5%', '-40%'); + + if (w.config.states.normal.filter !== 'none') { + this.applyFilter(el, i, w.config.states.normal.filter.type, w.config.states.normal.filter.value); + } else { + if (w.config.chart.dropShadow.enabled) { + this.dropShadow(el, w.config.chart.dropShadow, i); + } + } + } + }, { + key: "addNormalFilter", + value: function addNormalFilter(el, i) { + var w = this.w; // revert shadow if it was there + // but, ignore marker as marker don't have dropshadow yet + + if (w.config.chart.dropShadow.enabled && !el.node.classList.contains('apexcharts-marker')) { + this.dropShadow(el, w.config.chart.dropShadow, i); + } + } // appends dropShadow to the filter object which can be chained with other filter effects + + }, { + key: "addLightenFilter", + value: function addLightenFilter(el, i, attrs) { + var _this = this; + + var w = this.w; + var intensity = attrs.intensity; + el.unfilter(true); + var filter = new window.SVG.Filter(); + el.filter(function (add) { + var shadowAttr = w.config.chart.dropShadow; + + if (shadowAttr.enabled) { + filter = _this.addShadow(add, i, shadowAttr); + } else { + filter = add; + } + + filter.componentTransfer({ + rgb: { + type: 'linear', + slope: 1.5, + intercept: intensity + } + }); + }); + el.filterer.node.setAttribute('filterUnits', 'userSpaceOnUse'); + + this._scaleFilterSize(el.filterer.node); + } // appends dropShadow to the filter object which can be chained with other filter effects + + }, { + key: "addDarkenFilter", + value: function addDarkenFilter(el, i, attrs) { + var _this2 = this; + + var w = this.w; + var intensity = attrs.intensity; + el.unfilter(true); + var filter = new window.SVG.Filter(); + el.filter(function (add) { + var shadowAttr = w.config.chart.dropShadow; + + if (shadowAttr.enabled) { + filter = _this2.addShadow(add, i, shadowAttr); + } else { + filter = add; + } + + filter.componentTransfer({ + rgb: { + type: 'linear', + slope: intensity + } + }); + }); + el.filterer.node.setAttribute('filterUnits', 'userSpaceOnUse'); + + this._scaleFilterSize(el.filterer.node); + } + }, { + key: "applyFilter", + value: function applyFilter(el, i, filter) { + var intensity = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0.5; + + switch (filter) { + case 'none': + { + this.addNormalFilter(el, i); + break; + } + + case 'lighten': + { + this.addLightenFilter(el, i, { + intensity: intensity + }); + break; + } + + case 'darken': + { + this.addDarkenFilter(el, i, { + intensity: intensity + }); + break; + } + } + } // appends dropShadow to the filter object which can be chained with other filter effects + + }, { + key: "addShadow", + value: function addShadow(add, i, attrs) { + var blur = attrs.blur, + top = attrs.top, + left = attrs.left, + color = attrs.color, + opacity = attrs.opacity; + var shadowBlur = add.flood(Array.isArray(color) ? color[i] : color, opacity).composite(add.sourceAlpha, 'in').offset(left, top).gaussianBlur(blur).merge(add.source); + return add.blend(add.source, shadowBlur); + } // directly adds dropShadow to the element and returns the same element. + // the only way it is different from the addShadow() function is that addShadow is chainable to other filters, while this function discards all filters and add dropShadow + + }, { + key: "dropShadow", + value: function dropShadow(el, attrs) { + var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + var top = attrs.top, + left = attrs.left, + blur = attrs.blur, + color = attrs.color, + opacity = attrs.opacity, + noUserSpaceOnUse = attrs.noUserSpaceOnUse; + var w = this.w; + el.unfilter(true); + + if (Utils$1.isIE() && w.config.chart.type === 'radialBar') { + // in radialbar charts, dropshadow is clipping actual drawing in IE + return el; + } + + color = Array.isArray(color) ? color[i] : color; + el.filter(function (add) { + var shadowBlur = null; + + if (Utils$1.isSafari() || Utils$1.isFirefox() || Utils$1.isIE()) { + // safari/firefox/IE have some alternative way to use this filter + shadowBlur = add.flood(color, opacity).composite(add.sourceAlpha, 'in').offset(left, top).gaussianBlur(blur); + } else { + shadowBlur = add.flood(color, opacity).composite(add.sourceAlpha, 'in').offset(left, top).gaussianBlur(blur).merge(add.source); + } + + add.blend(add.source, shadowBlur); + }); + + if (!noUserSpaceOnUse) { + el.filterer.node.setAttribute('filterUnits', 'userSpaceOnUse'); + } + + this._scaleFilterSize(el.filterer.node); + + return el; + } + }, { + key: "setSelectionFilter", + value: function setSelectionFilter(el, realIndex, dataPointIndex) { + var w = this.w; + + if (typeof w.globals.selectedDataPoints[realIndex] !== 'undefined') { + if (w.globals.selectedDataPoints[realIndex].indexOf(dataPointIndex) > -1) { + el.node.setAttribute('selected', true); + var activeFilter = w.config.states.active.filter; + + if (activeFilter !== 'none') { + this.applyFilter(el, realIndex, activeFilter.type, activeFilter.value); + } + } + } + } + }, { + key: "_scaleFilterSize", + value: function _scaleFilterSize(el) { + var setAttributes = function setAttributes(attrs) { + for (var key in attrs) { + if (attrs.hasOwnProperty(key)) { + el.setAttribute(key, attrs[key]); + } + } + }; + + setAttributes({ + width: '200%', + height: '200%', + x: '-50%', + y: '-50%' + }); + } + }]); + + return Filters; + }(); + + /** + * ApexCharts Graphics Class for all drawing operations. + * + * @module Graphics + **/ + + var Graphics = /*#__PURE__*/function () { + function Graphics(ctx) { + _classCallCheck(this, Graphics); + + this.ctx = ctx; + this.w = ctx.w; + } + /***************************************************************************** + * * + * SVG Path Rounding Function * + * Copyright (C) 2014 Yona Appletree * + * * + * Licensed under the Apache License, Version 2.0 (the "License"); * + * you may not use this file except in compliance with the License. * + * You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, software * + * distributed under the License is distributed on an "AS IS" BASIS, * + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * + * See the License for the specific language governing permissions and * + * limitations under the License. * + * * + *****************************************************************************/ + + /** + * SVG Path rounding function. Takes an input path string and outputs a path + * string where all line-line corners have been rounded. Only supports absolute + * commands at the moment. + * + * @param pathString The SVG input path + * @param radius The amount to round the corners, either a value in the SVG + * coordinate space, or, if useFractionalRadius is true, a value + * from 0 to 1. + * @returns A new SVG path string with the rounding + */ + + + _createClass(Graphics, [{ + key: "roundPathCorners", + value: function roundPathCorners(pathString, radius) { + if (pathString.indexOf('NaN') > -1) pathString = ''; + + function moveTowardsLength(movingPoint, targetPoint, amount) { + var width = targetPoint.x - movingPoint.x; + var height = targetPoint.y - movingPoint.y; + var distance = Math.sqrt(width * width + height * height); + return moveTowardsFractional(movingPoint, targetPoint, Math.min(1, amount / distance)); + } + + function moveTowardsFractional(movingPoint, targetPoint, fraction) { + return { + x: movingPoint.x + (targetPoint.x - movingPoint.x) * fraction, + y: movingPoint.y + (targetPoint.y - movingPoint.y) * fraction + }; + } // Adjusts the ending position of a command + + + function adjustCommand(cmd, newPoint) { + if (cmd.length > 2) { + cmd[cmd.length - 2] = newPoint.x; + cmd[cmd.length - 1] = newPoint.y; + } + } // Gives an {x, y} object for a command's ending position + + + function pointForCommand(cmd) { + return { + x: parseFloat(cmd[cmd.length - 2]), + y: parseFloat(cmd[cmd.length - 1]) + }; + } // Split apart the path, handing concatonated letters and numbers + + + var pathParts = pathString.split(/[,\s]/).reduce(function (parts, part) { + var match = part.match('([a-zA-Z])(.+)'); + + if (match) { + parts.push(match[1]); + parts.push(match[2]); + } else { + parts.push(part); + } + + return parts; + }, []); // Group the commands with their arguments for easier handling + + var commands = pathParts.reduce(function (commands, part) { + if (parseFloat(part) == part && commands.length) { + commands[commands.length - 1].push(part); + } else { + commands.push([part]); + } + + return commands; + }, []); // The resulting commands, also grouped + + var resultCommands = []; + + if (commands.length > 1) { + var startPoint = pointForCommand(commands[0]); // Handle the close path case with a "virtual" closing line + + var virtualCloseLine = null; + + if (commands[commands.length - 1][0] == 'Z' && commands[0].length > 2) { + virtualCloseLine = ['L', startPoint.x, startPoint.y]; + commands[commands.length - 1] = virtualCloseLine; + } // We always use the first command (but it may be mutated) + + + resultCommands.push(commands[0]); + + for (var cmdIndex = 1; cmdIndex < commands.length; cmdIndex++) { + var prevCmd = resultCommands[resultCommands.length - 1]; + var curCmd = commands[cmdIndex]; // Handle closing case + + var nextCmd = curCmd == virtualCloseLine ? commands[1] : commands[cmdIndex + 1]; // Nasty logic to decide if this path is a candidite. + + if (nextCmd && prevCmd && prevCmd.length > 2 && curCmd[0] == 'L' && nextCmd.length > 2 && nextCmd[0] == 'L') { + // Calc the points we're dealing with + var prevPoint = pointForCommand(prevCmd); + var curPoint = pointForCommand(curCmd); + var nextPoint = pointForCommand(nextCmd); // The start and end of the cuve are just our point moved towards the previous and next points, respectivly + + var curveStart, curveEnd; + curveStart = moveTowardsLength(curPoint, prevPoint, radius); + curveEnd = moveTowardsLength(curPoint, nextPoint, radius); // Adjust the current command and add it + + adjustCommand(curCmd, curveStart); + curCmd.origPoint = curPoint; + resultCommands.push(curCmd); // The curve control points are halfway between the start/end of the curve and + // the original point + + var startControl = moveTowardsFractional(curveStart, curPoint, 0.5); + var endControl = moveTowardsFractional(curPoint, curveEnd, 0.5); // Create the curve + + var curveCmd = ['C', startControl.x, startControl.y, endControl.x, endControl.y, curveEnd.x, curveEnd.y]; // Save the original point for fractional calculations + + curveCmd.origPoint = curPoint; + resultCommands.push(curveCmd); + } else { + // Pass through commands that don't qualify + resultCommands.push(curCmd); + } + } // Fix up the starting point and restore the close path if the path was orignally closed + + + if (virtualCloseLine) { + var newStartPoint = pointForCommand(resultCommands[resultCommands.length - 1]); + resultCommands.push(['Z']); + adjustCommand(resultCommands[0], newStartPoint); + } + } else { + resultCommands = commands; + } + + return resultCommands.reduce(function (str, c) { + return str + c.join(' ') + ' '; + }, ''); + } + }, { + key: "drawLine", + value: function drawLine(x1, y1, x2, y2) { + var lineColor = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '#a8a8a8'; + var dashArray = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; + var strokeWidth = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null; + var strokeLineCap = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 'butt'; + var w = this.w; + var line = w.globals.dom.Paper.line().attr({ + x1: x1, + y1: y1, + x2: x2, + y2: y2, + stroke: lineColor, + 'stroke-dasharray': dashArray, + 'stroke-width': strokeWidth, + 'stroke-linecap': strokeLineCap + }); + return line; + } + }, { + key: "drawRect", + value: function drawRect() { + var x1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + var y1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + var x2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + var y2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + var radius = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; + var color = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '#fefefe'; + var opacity = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 1; + var strokeWidth = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null; + var strokeColor = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null; + var strokeDashArray = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 0; + var w = this.w; + var rect = w.globals.dom.Paper.rect(); + rect.attr({ + x: x1, + y: y1, + width: x2 > 0 ? x2 : 0, + height: y2 > 0 ? y2 : 0, + rx: radius, + ry: radius, + opacity: opacity, + 'stroke-width': strokeWidth !== null ? strokeWidth : 0, + stroke: strokeColor !== null ? strokeColor : 'none', + 'stroke-dasharray': strokeDashArray + }); // fix apexcharts.js#1410 + + rect.node.setAttribute('fill', color); + return rect; + } + }, { + key: "drawPolygon", + value: function drawPolygon(polygonString) { + var stroke = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '#e1e1e1'; + var strokeWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; + var fill = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'none'; + var w = this.w; + var polygon = w.globals.dom.Paper.polygon(polygonString).attr({ + fill: fill, + stroke: stroke, + 'stroke-width': strokeWidth + }); + return polygon; + } + }, { + key: "drawCircle", + value: function drawCircle(radius) { + var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var w = this.w; + if (radius < 0) radius = 0; + var c = w.globals.dom.Paper.circle(radius * 2); + + if (attrs !== null) { + c.attr(attrs); + } + + return c; + } + }, { + key: "drawPath", + value: function drawPath(_ref) { + var _ref$d = _ref.d, + d = _ref$d === void 0 ? '' : _ref$d, + _ref$stroke = _ref.stroke, + stroke = _ref$stroke === void 0 ? '#a8a8a8' : _ref$stroke, + _ref$strokeWidth = _ref.strokeWidth, + strokeWidth = _ref$strokeWidth === void 0 ? 1 : _ref$strokeWidth, + fill = _ref.fill, + _ref$fillOpacity = _ref.fillOpacity, + fillOpacity = _ref$fillOpacity === void 0 ? 1 : _ref$fillOpacity, + _ref$strokeOpacity = _ref.strokeOpacity, + strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity, + classes = _ref.classes, + _ref$strokeLinecap = _ref.strokeLinecap, + strokeLinecap = _ref$strokeLinecap === void 0 ? null : _ref$strokeLinecap, + _ref$strokeDashArray = _ref.strokeDashArray, + strokeDashArray = _ref$strokeDashArray === void 0 ? 0 : _ref$strokeDashArray; + var w = this.w; + + if (strokeLinecap === null) { + strokeLinecap = w.config.stroke.lineCap; + } + + if (d.indexOf('undefined') > -1 || d.indexOf('NaN') > -1) { + d = "M 0 ".concat(w.globals.gridHeight); + } + + var p = w.globals.dom.Paper.path(d).attr({ + fill: fill, + 'fill-opacity': fillOpacity, + stroke: stroke, + 'stroke-opacity': strokeOpacity, + 'stroke-linecap': strokeLinecap, + 'stroke-width': strokeWidth, + 'stroke-dasharray': strokeDashArray, + class: classes + }); + return p; + } + }, { + key: "group", + value: function group() { + var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + var w = this.w; + var g = w.globals.dom.Paper.group(); + + if (attrs !== null) { + g.attr(attrs); + } + + return g; + } + }, { + key: "move", + value: function move(x, y) { + var move = ['M', x, y].join(' '); + return move; + } + }, { + key: "line", + value: function line(x, y) { + var hORv = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var line = null; + + if (hORv === null) { + line = [' L', x, y].join(' '); + } else if (hORv === 'H') { + line = [' H', x].join(' '); + } else if (hORv === 'V') { + line = [' V', y].join(' '); + } + + return line; + } + }, { + key: "curve", + value: function curve(x1, y1, x2, y2, x, y) { + var curve = ['C', x1, y1, x2, y2, x, y].join(' '); + return curve; + } + }, { + key: "quadraticCurve", + value: function quadraticCurve(x1, y1, x, y) { + var curve = ['Q', x1, y1, x, y].join(' '); + return curve; + } + }, { + key: "arc", + value: function arc(rx, ry, axisRotation, largeArcFlag, sweepFlag, x, y) { + var relative = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false; + var coord = 'A'; + if (relative) coord = 'a'; + var arc = [coord, rx, ry, axisRotation, largeArcFlag, sweepFlag, x, y].join(' '); + return arc; + } + /** + * @memberof Graphics + * @param {object} + * i = series's index + * realIndex = realIndex is series's actual index when it was drawn time. After several redraws, the iterating "i" may change in loops, but realIndex doesn't + * pathFrom = existing pathFrom to animateTo + * pathTo = new Path to which d attr will be animated from pathFrom to pathTo + * stroke = line Color + * strokeWidth = width of path Line + * fill = it can be gradient, single color, pattern or image + * animationDelay = how much to delay when starting animation (in milliseconds) + * dataChangeSpeed = for dynamic animations, when data changes + * className = class attribute to add + * @return {object} svg.js path object + **/ + + }, { + key: "renderPaths", + value: function renderPaths(_ref2) { + var j = _ref2.j, + realIndex = _ref2.realIndex, + pathFrom = _ref2.pathFrom, + pathTo = _ref2.pathTo, + stroke = _ref2.stroke, + strokeWidth = _ref2.strokeWidth, + strokeLinecap = _ref2.strokeLinecap, + fill = _ref2.fill, + animationDelay = _ref2.animationDelay, + initialSpeed = _ref2.initialSpeed, + dataChangeSpeed = _ref2.dataChangeSpeed, + className = _ref2.className, + _ref2$shouldClipToGri = _ref2.shouldClipToGrid, + shouldClipToGrid = _ref2$shouldClipToGri === void 0 ? true : _ref2$shouldClipToGri, + _ref2$bindEventsOnPat = _ref2.bindEventsOnPaths, + bindEventsOnPaths = _ref2$bindEventsOnPat === void 0 ? true : _ref2$bindEventsOnPat, + _ref2$drawShadow = _ref2.drawShadow, + drawShadow = _ref2$drawShadow === void 0 ? true : _ref2$drawShadow; + var w = this.w; + var filters = new Filters(this.ctx); + var anim = new Animations(this.ctx); + var initialAnim = this.w.config.chart.animations.enabled; + var dynamicAnim = initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled; + var d; + var shouldAnimate = !!(initialAnim && !w.globals.resized || dynamicAnim && w.globals.dataChanged && w.globals.shouldAnimate); + + if (shouldAnimate) { + d = pathFrom; + } else { + d = pathTo; + w.globals.animationEnded = true; + } + + var strokeDashArrayOpt = w.config.stroke.dashArray; + var strokeDashArray = 0; + + if (Array.isArray(strokeDashArrayOpt)) { + strokeDashArray = strokeDashArrayOpt[realIndex]; + } else { + strokeDashArray = w.config.stroke.dashArray; + } + + var el = this.drawPath({ + d: d, + stroke: stroke, + strokeWidth: strokeWidth, + fill: fill, + fillOpacity: 1, + classes: className, + strokeLinecap: strokeLinecap, + strokeDashArray: strokeDashArray + }); + el.attr('index', realIndex); + + if (shouldClipToGrid) { + el.attr({ + 'clip-path': "url(#gridRectMask".concat(w.globals.cuid, ")") + }); + } // const defaultFilter = el.filterer + + + if (w.config.states.normal.filter.type !== 'none') { + filters.getDefaultFilter(el, realIndex); + } else { + if (w.config.chart.dropShadow.enabled && drawShadow) { + if (!w.config.chart.dropShadow.enabledOnSeries || w.config.chart.dropShadow.enabledOnSeries && w.config.chart.dropShadow.enabledOnSeries.indexOf(realIndex) !== -1) { + var shadow = w.config.chart.dropShadow; + filters.dropShadow(el, shadow, realIndex); + } + } + } + + if (bindEventsOnPaths) { + el.node.addEventListener('mouseenter', this.pathMouseEnter.bind(this, el)); + el.node.addEventListener('mouseleave', this.pathMouseLeave.bind(this, el)); + el.node.addEventListener('mousedown', this.pathMouseDown.bind(this, el)); + } + + el.attr({ + pathTo: pathTo, + pathFrom: pathFrom + }); + var defaultAnimateOpts = { + el: el, + j: j, + realIndex: realIndex, + pathFrom: pathFrom, + pathTo: pathTo, + fill: fill, + strokeWidth: strokeWidth, + delay: animationDelay + }; + + if (initialAnim && !w.globals.resized && !w.globals.dataChanged) { + anim.animatePathsGradually(_objectSpread2(_objectSpread2({}, defaultAnimateOpts), {}, { + speed: initialSpeed + })); + } else { + if (w.globals.resized || !w.globals.dataChanged) { + anim.showDelayedElements(); + } + } + + if (w.globals.dataChanged && dynamicAnim && shouldAnimate) { + anim.animatePathsGradually(_objectSpread2(_objectSpread2({}, defaultAnimateOpts), {}, { + speed: dataChangeSpeed + })); + } + + return el; + } + }, { + key: "drawPattern", + value: function drawPattern(style, width, height) { + var stroke = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '#a8a8a8'; + var strokeWidth = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; + var w = this.w; + var p = w.globals.dom.Paper.pattern(width, height, function (add) { + if (style === 'horizontalLines') { + add.line(0, 0, height, 0).stroke({ + color: stroke, + width: strokeWidth + 1 + }); + } else if (style === 'verticalLines') { + add.line(0, 0, 0, width).stroke({ + color: stroke, + width: strokeWidth + 1 + }); + } else if (style === 'slantedLines') { + add.line(0, 0, width, height).stroke({ + color: stroke, + width: strokeWidth + }); + } else if (style === 'squares') { + add.rect(width, height).fill('none').stroke({ + color: stroke, + width: strokeWidth + }); + } else if (style === 'circles') { + add.circle(width).fill('none').stroke({ + color: stroke, + width: strokeWidth + }); + } + }); + return p; + } + }, { + key: "drawGradient", + value: function drawGradient(style, gfrom, gto, opacityFrom, opacityTo) { + var size = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null; + var stops = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null; + var colorStops = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null; + var i = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 0; + var w = this.w; + var g; + + if (gfrom.length < 9 && gfrom.indexOf('#') === 0) { + // if the hex contains alpha and is of 9 digit, skip the opacity + gfrom = Utils$1.hexToRgba(gfrom, opacityFrom); + } + + if (gto.length < 9 && gto.indexOf('#') === 0) { + gto = Utils$1.hexToRgba(gto, opacityTo); + } + + var stop1 = 0; + var stop2 = 1; + var stop3 = 1; + var stop4 = null; + + if (stops !== null) { + stop1 = typeof stops[0] !== 'undefined' ? stops[0] / 100 : 0; + stop2 = typeof stops[1] !== 'undefined' ? stops[1] / 100 : 1; + stop3 = typeof stops[2] !== 'undefined' ? stops[2] / 100 : 1; + stop4 = typeof stops[3] !== 'undefined' ? stops[3] / 100 : null; + } + + var radial = !!(w.config.chart.type === 'donut' || w.config.chart.type === 'pie' || w.config.chart.type === 'polarArea' || w.config.chart.type === 'bubble'); + + if (colorStops === null || colorStops.length === 0) { + g = w.globals.dom.Paper.gradient(radial ? 'radial' : 'linear', function (stop) { + stop.at(stop1, gfrom, opacityFrom); + stop.at(stop2, gto, opacityTo); + stop.at(stop3, gto, opacityTo); + + if (stop4 !== null) { + stop.at(stop4, gfrom, opacityFrom); + } + }); + } else { + g = w.globals.dom.Paper.gradient(radial ? 'radial' : 'linear', function (stop) { + var gradientStops = Array.isArray(colorStops[i]) ? colorStops[i] : colorStops; + gradientStops.forEach(function (s) { + stop.at(s.offset / 100, s.color, s.opacity); + }); + }); + } + + if (!radial) { + if (style === 'vertical') { + g.from(0, 0).to(0, 1); + } else if (style === 'diagonal') { + g.from(0, 0).to(1, 1); + } else if (style === 'horizontal') { + g.from(0, 1).to(1, 1); + } else if (style === 'diagonal2') { + g.from(1, 0).to(0, 1); + } + } else { + var offx = w.globals.gridWidth / 2; + var offy = w.globals.gridHeight / 2; + + if (w.config.chart.type !== 'bubble') { + g.attr({ + gradientUnits: 'userSpaceOnUse', + cx: offx, + cy: offy, + r: size + }); + } else { + g.attr({ + cx: 0.5, + cy: 0.5, + r: 0.8, + fx: 0.2, + fy: 0.2 + }); + } + } + + return g; + } + }, { + key: "getTextBasedOnMaxWidth", + value: function getTextBasedOnMaxWidth(_ref3) { + var text = _ref3.text, + maxWidth = _ref3.maxWidth, + fontSize = _ref3.fontSize, + fontFamily = _ref3.fontFamily; + var tRects = this.getTextRects(text, fontSize, fontFamily); + var wordWidth = tRects.width / text.length; + var wordsBasedOnWidth = Math.floor(maxWidth / wordWidth); + + if (maxWidth < tRects.width) { + return text.slice(0, wordsBasedOnWidth - 3) + '...'; + } + + return text; + } + }, { + key: "drawText", + value: function drawText(_ref4) { + var _this = this; + + var x = _ref4.x, + y = _ref4.y, + text = _ref4.text, + textAnchor = _ref4.textAnchor, + fontSize = _ref4.fontSize, + fontFamily = _ref4.fontFamily, + fontWeight = _ref4.fontWeight, + foreColor = _ref4.foreColor, + opacity = _ref4.opacity, + maxWidth = _ref4.maxWidth, + _ref4$cssClass = _ref4.cssClass, + cssClass = _ref4$cssClass === void 0 ? '' : _ref4$cssClass, + _ref4$isPlainText = _ref4.isPlainText, + isPlainText = _ref4$isPlainText === void 0 ? true : _ref4$isPlainText; + var w = this.w; + if (typeof text === 'undefined') text = ''; + var truncatedText = text; + + if (!textAnchor) { + textAnchor = 'start'; + } + + if (!foreColor || !foreColor.length) { + foreColor = w.config.chart.foreColor; + } + + fontFamily = fontFamily || w.config.chart.fontFamily; + fontSize = fontSize || '11px'; + fontWeight = fontWeight || 'regular'; + var commonProps = { + maxWidth: maxWidth, + fontSize: fontSize, + fontFamily: fontFamily + }; + var elText; + + if (Array.isArray(text)) { + elText = w.globals.dom.Paper.text(function (add) { + for (var i = 0; i < text.length; i++) { + truncatedText = text[i]; + + if (maxWidth) { + truncatedText = _this.getTextBasedOnMaxWidth(_objectSpread2({ + text: text[i] + }, commonProps)); + } + + i === 0 ? add.tspan(truncatedText) : add.tspan(truncatedText).newLine(); + } + }); + } else { + if (maxWidth) { + truncatedText = this.getTextBasedOnMaxWidth(_objectSpread2({ + text: text + }, commonProps)); + } + + elText = isPlainText ? w.globals.dom.Paper.plain(text) : w.globals.dom.Paper.text(function (add) { + return add.tspan(truncatedText); + }); + } + + elText.attr({ + x: x, + y: y, + 'text-anchor': textAnchor, + 'dominant-baseline': 'auto', + 'font-size': fontSize, + 'font-family': fontFamily, + 'font-weight': fontWeight, + fill: foreColor, + class: 'apexcharts-text ' + cssClass + }); + elText.node.style.fontFamily = fontFamily; + elText.node.style.opacity = opacity; + return elText; + } + }, { + key: "drawMarker", + value: function drawMarker(x, y, opts) { + x = x || 0; + var size = opts.pSize || 0; + var elPoint = null; + + if (opts.shape === 'square' || opts.shape === 'rect') { + var radius = opts.pRadius === undefined ? size / 2 : opts.pRadius; + + if (y === null || !size) { + size = 0; + radius = 0; + } + + var nSize = size * 1.2 + radius; + var p = this.drawRect(nSize, nSize, nSize, nSize, radius); + p.attr({ + x: x - nSize / 2, + y: y - nSize / 2, + cx: x, + cy: y, + class: opts.class ? opts.class : '', + fill: opts.pointFillColor, + 'fill-opacity': opts.pointFillOpacity ? opts.pointFillOpacity : 1, + stroke: opts.pointStrokeColor, + 'stroke-width': opts.pointStrokeWidth ? opts.pointStrokeWidth : 0, + 'stroke-opacity': opts.pointStrokeOpacity ? opts.pointStrokeOpacity : 1 + }); + elPoint = p; + } else if (opts.shape === 'circle' || !opts.shape) { + if (!Utils$1.isNumber(y)) { + size = 0; + y = 0; + } // let nSize = size - opts.pRadius / 2 < 0 ? 0 : size - opts.pRadius / 2 + + + elPoint = this.drawCircle(size, { + cx: x, + cy: y, + class: opts.class ? opts.class : '', + stroke: opts.pointStrokeColor, + fill: opts.pointFillColor, + 'fill-opacity': opts.pointFillOpacity ? opts.pointFillOpacity : 1, + 'stroke-width': opts.pointStrokeWidth ? opts.pointStrokeWidth : 0, + 'stroke-opacity': opts.pointStrokeOpacity ? opts.pointStrokeOpacity : 1 + }); + } + + return elPoint; + } + }, { + key: "pathMouseEnter", + value: function pathMouseEnter(path, e) { + var w = this.w; + var filters = new Filters(this.ctx); + var i = parseInt(path.node.getAttribute('index'), 10); + var j = parseInt(path.node.getAttribute('j'), 10); + + if (typeof w.config.chart.events.dataPointMouseEnter === 'function') { + w.config.chart.events.dataPointMouseEnter(e, this.ctx, { + seriesIndex: i, + dataPointIndex: j, + w: w + }); + } + + this.ctx.events.fireEvent('dataPointMouseEnter', [e, this.ctx, { + seriesIndex: i, + dataPointIndex: j, + w: w + }]); + + if (w.config.states.active.filter.type !== 'none') { + if (path.node.getAttribute('selected') === 'true') { + return; + } + } + + if (w.config.states.hover.filter.type !== 'none') { + if (!w.globals.isTouchDevice) { + var hoverFilter = w.config.states.hover.filter; + filters.applyFilter(path, i, hoverFilter.type, hoverFilter.value); + } + } + } + }, { + key: "pathMouseLeave", + value: function pathMouseLeave(path, e) { + var w = this.w; + var filters = new Filters(this.ctx); + var i = parseInt(path.node.getAttribute('index'), 10); + var j = parseInt(path.node.getAttribute('j'), 10); + + if (typeof w.config.chart.events.dataPointMouseLeave === 'function') { + w.config.chart.events.dataPointMouseLeave(e, this.ctx, { + seriesIndex: i, + dataPointIndex: j, + w: w + }); + } + + this.ctx.events.fireEvent('dataPointMouseLeave', [e, this.ctx, { + seriesIndex: i, + dataPointIndex: j, + w: w + }]); + + if (w.config.states.active.filter.type !== 'none') { + if (path.node.getAttribute('selected') === 'true') { + return; + } + } + + if (w.config.states.hover.filter.type !== 'none') { + filters.getDefaultFilter(path, i); + } + } + }, { + key: "pathMouseDown", + value: function pathMouseDown(path, e) { + var w = this.w; + var filters = new Filters(this.ctx); + var i = parseInt(path.node.getAttribute('index'), 10); + var j = parseInt(path.node.getAttribute('j'), 10); + var selected = 'false'; + + if (path.node.getAttribute('selected') === 'true') { + path.node.setAttribute('selected', 'false'); + + if (w.globals.selectedDataPoints[i].indexOf(j) > -1) { + var index = w.globals.selectedDataPoints[i].indexOf(j); + w.globals.selectedDataPoints[i].splice(index, 1); + } + } else { + if (!w.config.states.active.allowMultipleDataPointsSelection && w.globals.selectedDataPoints.length > 0) { + w.globals.selectedDataPoints = []; + var elPaths = w.globals.dom.Paper.select('.apexcharts-series path').members; + var elCircles = w.globals.dom.Paper.select('.apexcharts-series circle, .apexcharts-series rect').members; + + var deSelect = function deSelect(els) { + Array.prototype.forEach.call(els, function (el) { + el.node.setAttribute('selected', 'false'); + filters.getDefaultFilter(el, i); + }); + }; + + deSelect(elPaths); + deSelect(elCircles); + } + + path.node.setAttribute('selected', 'true'); + selected = 'true'; + + if (typeof w.globals.selectedDataPoints[i] === 'undefined') { + w.globals.selectedDataPoints[i] = []; + } + + w.globals.selectedDataPoints[i].push(j); + } + + if (selected === 'true') { + var activeFilter = w.config.states.active.filter; + + if (activeFilter !== 'none') { + filters.applyFilter(path, i, activeFilter.type, activeFilter.value); + } else { + // Reapply the hover filter in case it was removed by `deselect`when there is no active filter and it is not a touch device + if (w.config.states.hover.filter !== 'none') { + if (!w.globals.isTouchDevice) { + var hoverFilter = w.config.states.hover.filter; + filters.applyFilter(path, i, hoverFilter.type, hoverFilter.value); + } + } + } + } else { + // If the item was deselected, apply hover state filter if it is not a touch device + if (w.config.states.active.filter.type !== 'none') { + if (w.config.states.hover.filter.type !== 'none' && !w.globals.isTouchDevice) { + var hoverFilter = w.config.states.hover.filter; + filters.applyFilter(path, i, hoverFilter.type, hoverFilter.value); + } else { + filters.getDefaultFilter(path, i); + } + } + } + + if (typeof w.config.chart.events.dataPointSelection === 'function') { + w.config.chart.events.dataPointSelection(e, this.ctx, { + selectedDataPoints: w.globals.selectedDataPoints, + seriesIndex: i, + dataPointIndex: j, + w: w + }); + } + + if (e) { + this.ctx.events.fireEvent('dataPointSelection', [e, this.ctx, { + selectedDataPoints: w.globals.selectedDataPoints, + seriesIndex: i, + dataPointIndex: j, + w: w + }]); + } + } + }, { + key: "rotateAroundCenter", + value: function rotateAroundCenter(el) { + var coord = {}; + + if (el && typeof el.getBBox === 'function') { + coord = el.getBBox(); + } + + var x = coord.x + coord.width / 2; + var y = coord.y + coord.height / 2; + return { + x: x, + y: y + }; + } + }, { + key: "getTextRects", + value: function getTextRects(text, fontSize, fontFamily, transform) { + var useBBox = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; + var w = this.w; + var virtualText = this.drawText({ + x: -200, + y: -200, + text: text, + textAnchor: 'start', + fontSize: fontSize, + fontFamily: fontFamily, + foreColor: '#fff', + opacity: 0 + }); + + if (transform) { + virtualText.attr('transform', transform); + } + + w.globals.dom.Paper.add(virtualText); + var rect = virtualText.bbox(); + + if (!useBBox) { + rect = virtualText.node.getBoundingClientRect(); + } + + virtualText.remove(); + return { + width: rect.width, + height: rect.height + }; + } + /** + * append ... to long text + * http://stackoverflow.com/questions/9241315/trimming-text-to-a-given-pixel-width-in-svg + * @memberof Graphics + **/ + + }, { + key: "placeTextWithEllipsis", + value: function placeTextWithEllipsis(textObj, textString, width) { + if (typeof textObj.getComputedTextLength !== 'function') return; + textObj.textContent = textString; + + if (textString.length > 0) { + // ellipsis is needed + if (textObj.getComputedTextLength() >= width / 1.1) { + for (var x = textString.length - 3; x > 0; x -= 3) { + if (textObj.getSubStringLength(0, x) <= width / 1.1) { + textObj.textContent = textString.substring(0, x) + '...'; + return; + } + } + + textObj.textContent = '.'; // can't place at all + } + } + } + }], [{ + key: "setAttrs", + value: function setAttrs(el, attrs) { + for (var key in attrs) { + if (attrs.hasOwnProperty(key)) { + el.setAttribute(key, attrs[key]); + } + } + } + }]); + + return Graphics; + }(); + + /* + ** Util functions which are dependent on ApexCharts instance + */ + var CoreUtils = /*#__PURE__*/function () { + function CoreUtils(ctx) { + _classCallCheck(this, CoreUtils); + + this.ctx = ctx; + this.w = ctx.w; + } + + _createClass(CoreUtils, [{ + key: "getStackedSeriesTotals", + value: + /** + * @memberof CoreUtils + * returns the sum of all individual values in a multiple stacked series + * Eg. w.globals.series = [[32,33,43,12], [2,3,5,1]] + * @return [34,36,48,13] + **/ + function getStackedSeriesTotals() { + var excludedSeriesIndices = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var w = this.w; + var total = []; + if (w.globals.series.length === 0) return total; + + for (var i = 0; i < w.globals.series[w.globals.maxValsInArrayIndex].length; i++) { + var t = 0; + + for (var j = 0; j < w.globals.series.length; j++) { + if (typeof w.globals.series[j][i] !== 'undefined' && excludedSeriesIndices.indexOf(j) === -1) { + t += w.globals.series[j][i]; + } + } + + total.push(t); + } + + return total; + } // get total of the all values inside all series + + }, { + key: "getSeriesTotalByIndex", + value: function getSeriesTotalByIndex() { + var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + + if (index === null) { + // non-plot chart types - pie / donut / circle + return this.w.config.series.reduce(function (acc, cur) { + return acc + cur; + }, 0); + } else { + // axis charts - supporting multiple series + return this.w.globals.series[index].reduce(function (acc, cur) { + return acc + cur; + }, 0); + } + } + }, { + key: "isSeriesNull", + value: function isSeriesNull() { + var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + var r = []; + + if (index === null) { + // non-plot chart types - pie / donut / circle + r = this.w.config.series.filter(function (d) { + return d !== null; + }); + } else { + // axis charts - supporting multiple series + r = this.w.config.series[index].data.filter(function (d) { + return d !== null; + }); + } + + return r.length === 0; + } + }, { + key: "seriesHaveSameValues", + value: function seriesHaveSameValues(index) { + return this.w.globals.series[index].every(function (val, i, arr) { + return val === arr[0]; + }); + } + }, { + key: "getCategoryLabels", + value: function getCategoryLabels(labels) { + var w = this.w; + var catLabels = labels.slice(); + + if (w.config.xaxis.convertedCatToNumeric) { + catLabels = labels.map(function (i, li) { + return w.config.xaxis.labels.formatter(i - w.globals.minX + 1); + }); + } + + return catLabels; + } // maxValsInArrayIndex is the index of series[] which has the largest number of items + + }, { + key: "getLargestSeries", + value: function getLargestSeries() { + var w = this.w; + w.globals.maxValsInArrayIndex = w.globals.series.map(function (a) { + return a.length; + }).indexOf(Math.max.apply(Math, w.globals.series.map(function (a) { + return a.length; + }))); + } + }, { + key: "getLargestMarkerSize", + value: function getLargestMarkerSize() { + var w = this.w; + var size = 0; + w.globals.markers.size.forEach(function (m) { + size = Math.max(size, m); + }); + + if (w.config.markers.discrete && w.config.markers.discrete.length) { + w.config.markers.discrete.forEach(function (m) { + size = Math.max(size, m.size); + }); + } + + if (size > 0) { + size += w.config.markers.hover.sizeOffset + 1; + } + + w.globals.markers.largestSize = size; + return size; + } + /** + * @memberof Core + * returns the sum of all values in a series + * Eg. w.globals.series = [[32,33,43,12], [2,3,5,1]] + * @return [120, 11] + **/ + + }, { + key: "getSeriesTotals", + value: function getSeriesTotals() { + var w = this.w; + w.globals.seriesTotals = w.globals.series.map(function (ser, index) { + var total = 0; + + if (Array.isArray(ser)) { + for (var j = 0; j < ser.length; j++) { + total += ser[j]; + } + } else { + // for pie/donuts/gauges + total += ser; + } + + return total; + }); + } + }, { + key: "getSeriesTotalsXRange", + value: function getSeriesTotalsXRange(minX, maxX) { + var w = this.w; + var seriesTotalsXRange = w.globals.series.map(function (ser, index) { + var total = 0; + + for (var j = 0; j < ser.length; j++) { + if (w.globals.seriesX[index][j] > minX && w.globals.seriesX[index][j] < maxX) { + total += ser[j]; + } + } + + return total; + }); + return seriesTotalsXRange; + } + /** + * @memberof CoreUtils + * returns the percentage value of all individual values which can be used in a 100% stacked series + * Eg. w.globals.series = [[32, 33, 43, 12], [2, 3, 5, 1]] + * @return [[94.11, 91.66, 89.58, 92.30], [5.88, 8.33, 10.41, 7.7]] + **/ + + }, { + key: "getPercentSeries", + value: function getPercentSeries() { + var w = this.w; + w.globals.seriesPercent = w.globals.series.map(function (ser, index) { + var seriesPercent = []; + + if (Array.isArray(ser)) { + for (var j = 0; j < ser.length; j++) { + var total = w.globals.stackedSeriesTotals[j]; + var percent = 0; + + if (total) { + percent = 100 * ser[j] / total; + } + + seriesPercent.push(percent); + } + } else { + var _total = w.globals.seriesTotals.reduce(function (acc, val) { + return acc + val; + }, 0); + + var _percent = 100 * ser / _total; + + seriesPercent.push(_percent); + } + + return seriesPercent; + }); + } + }, { + key: "getCalculatedRatios", + value: function getCalculatedRatios() { + var gl = this.w.globals; + var yRatio = []; + var invertedYRatio = 0; + var xRatio = 0; + var initialXRatio = 0; + var invertedXRatio = 0; + var zRatio = 0; + var baseLineY = []; + var baseLineInvertedY = 0.1; + var baseLineX = 0; + gl.yRange = []; + + if (gl.isMultipleYAxis) { + for (var i = 0; i < gl.minYArr.length; i++) { + gl.yRange.push(Math.abs(gl.minYArr[i] - gl.maxYArr[i])); + baseLineY.push(0); + } + } else { + gl.yRange.push(Math.abs(gl.minY - gl.maxY)); + } + + gl.xRange = Math.abs(gl.maxX - gl.minX); + gl.zRange = Math.abs(gl.maxZ - gl.minZ); // multiple y axis + + for (var _i = 0; _i < gl.yRange.length; _i++) { + yRatio.push(gl.yRange[_i] / gl.gridHeight); + } + + xRatio = gl.xRange / gl.gridWidth; + initialXRatio = Math.abs(gl.initialMaxX - gl.initialMinX) / gl.gridWidth; + invertedYRatio = gl.yRange / gl.gridWidth; + invertedXRatio = gl.xRange / gl.gridHeight; + zRatio = gl.zRange / gl.gridHeight * 16; + + if (!zRatio) { + zRatio = 1; + } + + if (gl.minY !== Number.MIN_VALUE && Math.abs(gl.minY) !== 0) { + // Negative numbers present in series + gl.hasNegs = true; + } + + if (gl.isMultipleYAxis) { + baseLineY = []; // baseline variables is the 0 of the yaxis which will be needed when there are negatives + + for (var _i2 = 0; _i2 < yRatio.length; _i2++) { + baseLineY.push(-gl.minYArr[_i2] / yRatio[_i2]); + } + } else { + baseLineY.push(-gl.minY / yRatio[0]); + + if (gl.minY !== Number.MIN_VALUE && Math.abs(gl.minY) !== 0) { + baseLineInvertedY = -gl.minY / invertedYRatio; // this is for bar chart + + baseLineX = gl.minX / xRatio; + } + } + + return { + yRatio: yRatio, + invertedYRatio: invertedYRatio, + zRatio: zRatio, + xRatio: xRatio, + initialXRatio: initialXRatio, + invertedXRatio: invertedXRatio, + baseLineInvertedY: baseLineInvertedY, + baseLineY: baseLineY, + baseLineX: baseLineX + }; + } + }, { + key: "getLogSeries", + value: function getLogSeries(series) { + var _this = this; + + var w = this.w; + w.globals.seriesLog = series.map(function (s, i) { + if (w.config.yaxis[i] && w.config.yaxis[i].logarithmic) { + return s.map(function (d) { + if (d === null) return null; + return _this.getLogVal(w.config.yaxis[i].logBase, d, i); + }); + } else { + return s; + } + }); + return w.globals.invalidLogScale ? series : w.globals.seriesLog; + } + }, { + key: "getBaseLog", + value: function getBaseLog(base, value) { + return Math.log(value) / Math.log(base); + } + }, { + key: "getLogVal", + value: function getLogVal(b, d, yIndex) { + if (d === 0) { + return 0; + } + + var w = this.w; + var min_log_val = w.globals.minYArr[yIndex] === 0 ? -1 // make sure we dont calculate log of 0 + : this.getBaseLog(b, w.globals.minYArr[yIndex]); + var max_log_val = w.globals.maxYArr[yIndex] === 0 ? 0 // make sure we dont calculate log of 0 + : this.getBaseLog(b, w.globals.maxYArr[yIndex]); + var number_of_height_levels = max_log_val - min_log_val; + if (d < 1) return d / number_of_height_levels; + var log_height_value = this.getBaseLog(b, d) - min_log_val; + return log_height_value / number_of_height_levels; + } + }, { + key: "getLogYRatios", + value: function getLogYRatios(yRatio) { + var _this2 = this; + + var w = this.w; + var gl = this.w.globals; + gl.yLogRatio = yRatio.slice(); + gl.logYRange = gl.yRange.map(function (yRange, i) { + if (w.config.yaxis[i] && _this2.w.config.yaxis[i].logarithmic) { + var maxY = -Number.MAX_VALUE; + var minY = Number.MIN_VALUE; + var range = 1; + gl.seriesLog.forEach(function (s, si) { + s.forEach(function (v) { + if (w.config.yaxis[si] && w.config.yaxis[si].logarithmic) { + maxY = Math.max(v, maxY); + minY = Math.min(v, minY); + } + }); + }); + range = Math.pow(gl.yRange[i], Math.abs(minY - maxY) / gl.yRange[i]); + gl.yLogRatio[i] = range / gl.gridHeight; + return range; + } + }); + return gl.invalidLogScale ? yRatio.slice() : gl.yLogRatio; + } // Some config objects can be array - and we need to extend them correctly + + }], [{ + key: "checkComboSeries", + value: function checkComboSeries(series) { + var comboCharts = false; + var comboBarCount = 0; + var comboCount = 0; // if user specified a type in series too, turn on comboCharts flag + + if (series.length && typeof series[0].type !== 'undefined') { + series.forEach(function (s) { + if (s.type === 'bar' || s.type === 'column' || s.type === 'candlestick' || s.type === 'boxPlot') { + comboBarCount++; + } + + if (typeof s.type !== 'undefined') { + comboCount++; + } + }); + } + + if (comboCount > 0) { + comboCharts = true; + } + + return { + comboBarCount: comboBarCount, + comboCharts: comboCharts + }; + } + }, { + key: "extendArrayProps", + value: function extendArrayProps(configInstance, options, w) { + if (options.yaxis) { + options = configInstance.extendYAxis(options, w); + } + + if (options.annotations) { + if (options.annotations.yaxis) { + options = configInstance.extendYAxisAnnotations(options); + } + + if (options.annotations.xaxis) { + options = configInstance.extendXAxisAnnotations(options); + } + + if (options.annotations.points) { + options = configInstance.extendPointAnnotations(options); + } + } + + return options; + } + }]); + + return CoreUtils; + }(); + + var Helpers$4 = /*#__PURE__*/function () { + function Helpers(annoCtx) { + _classCallCheck(this, Helpers); + + this.w = annoCtx.w; + this.annoCtx = annoCtx; + } + + _createClass(Helpers, [{ + key: "setOrientations", + value: function setOrientations(anno) { + var annoIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var w = this.w; + + if (anno.label.orientation === 'vertical') { + var i = annoIndex !== null ? annoIndex : 0; + var xAnno = w.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(i, "']")); + + if (xAnno !== null) { + var xAnnoCoord = xAnno.getBoundingClientRect(); + xAnno.setAttribute('x', parseFloat(xAnno.getAttribute('x')) - xAnnoCoord.height + 4); + + if (anno.label.position === 'top') { + xAnno.setAttribute('y', parseFloat(xAnno.getAttribute('y')) + xAnnoCoord.width); + } else { + xAnno.setAttribute('y', parseFloat(xAnno.getAttribute('y')) - xAnnoCoord.width); + } + + var annoRotatingCenter = this.annoCtx.graphics.rotateAroundCenter(xAnno); + var x = annoRotatingCenter.x; + var y = annoRotatingCenter.y; + xAnno.setAttribute('transform', "rotate(-90 ".concat(x, " ").concat(y, ")")); + } + } + } + }, { + key: "addBackgroundToAnno", + value: function addBackgroundToAnno(annoEl, anno) { + var w = this.w; + if (!annoEl || typeof anno.label.text === 'undefined' || typeof anno.label.text !== 'undefined' && !String(anno.label.text).trim()) return null; + var elGridRect = w.globals.dom.baseEl.querySelector('.apexcharts-grid').getBoundingClientRect(); + var coords = annoEl.getBoundingClientRect(); + var pleft = anno.label.style.padding.left; + var pright = anno.label.style.padding.right; + var ptop = anno.label.style.padding.top; + var pbottom = anno.label.style.padding.bottom; + + if (anno.label.orientation === 'vertical') { + ptop = anno.label.style.padding.left; + pbottom = anno.label.style.padding.right; + pleft = anno.label.style.padding.top; + pright = anno.label.style.padding.bottom; + } + + var x1 = coords.left - elGridRect.left - pleft; + var y1 = coords.top - elGridRect.top - ptop; + var elRect = this.annoCtx.graphics.drawRect(x1 - w.globals.barPadForNumericAxis, y1, coords.width + pleft + pright, coords.height + ptop + pbottom, anno.label.borderRadius, anno.label.style.background, 1, anno.label.borderWidth, anno.label.borderColor, 0); + + if (anno.id) { + // don't escapeString for this ID as it causes duplicate rects + elRect.node.classList.add(anno.id); + } + + return elRect; + } + }, { + key: "annotationsBackground", + value: function annotationsBackground() { + var _this = this; + + var w = this.w; + + var add = function add(anno, i, type) { + var annoLabel = w.globals.dom.baseEl.querySelector(".apexcharts-".concat(type, "-annotations .apexcharts-").concat(type, "-annotation-label[rel='").concat(i, "']")); + + if (annoLabel) { + var parent = annoLabel.parentNode; + + var elRect = _this.addBackgroundToAnno(annoLabel, anno); + + if (elRect) { + parent.insertBefore(elRect.node, annoLabel); + + if (anno.label.mouseEnter) { + elRect.node.addEventListener('mouseenter', anno.label.mouseEnter.bind(_this, anno)); + } + + if (anno.label.mouseLeave) { + elRect.node.addEventListener('mouseleave', anno.label.mouseLeave.bind(_this, anno)); + } + + if (anno.label.click) { + elRect.node.addEventListener('click', anno.label.click.bind(_this, anno)); + } + } + } + }; + + w.config.annotations.xaxis.map(function (anno, i) { + add(anno, i, 'xaxis'); + }); + w.config.annotations.yaxis.map(function (anno, i) { + add(anno, i, 'yaxis'); + }); + w.config.annotations.points.map(function (anno, i) { + add(anno, i, 'point'); + }); + } + }, { + key: "getY1Y2", + value: function getY1Y2(type, anno) { + var y = type === 'y1' ? anno.y : anno.y2; + var yP; + var w = this.w; + + if (this.annoCtx.invertAxis) { + var catIndex = w.globals.labels.indexOf(y); + + if (w.config.xaxis.convertedCatToNumeric) { + catIndex = w.globals.categoryLabels.indexOf(y); + } + + var xLabel = w.globals.dom.baseEl.querySelector('.apexcharts-yaxis-texts-g text:nth-child(' + (catIndex + 1) + ')'); + + if (xLabel) { + yP = parseFloat(xLabel.getAttribute('y')); + } + } else { + var yPos; + + if (w.config.yaxis[anno.yAxisIndex].logarithmic) { + var coreUtils = new CoreUtils(this.annoCtx.ctx); + y = coreUtils.getLogVal(y, anno.yAxisIndex); + yPos = y / w.globals.yLogRatio[anno.yAxisIndex]; + } else { + yPos = (y - w.globals.minYArr[anno.yAxisIndex]) / (w.globals.yRange[anno.yAxisIndex] / w.globals.gridHeight); + } + + yP = w.globals.gridHeight - yPos; + + if (anno.marker && (anno.y === undefined || anno.y === null)) { + // point annotation + yP = 0; + } + + if (w.config.yaxis[anno.yAxisIndex] && w.config.yaxis[anno.yAxisIndex].reversed) { + yP = yPos; + } + } + + if (typeof y === 'string' && y.indexOf('px') > -1) { + yP = parseFloat(y); + } + + return yP; + } + }, { + key: "getX1X2", + value: function getX1X2(type, anno) { + var w = this.w; + var min = this.annoCtx.invertAxis ? w.globals.minY : w.globals.minX; + var max = this.annoCtx.invertAxis ? w.globals.maxY : w.globals.maxX; + var range = this.annoCtx.invertAxis ? w.globals.yRange[0] : w.globals.xRange; + var x1 = (anno.x - min) / (range / w.globals.gridWidth); + + if (this.annoCtx.inversedReversedAxis) { + x1 = (max - anno.x) / (range / w.globals.gridWidth); + } + + if ((w.config.xaxis.type === 'category' || w.config.xaxis.convertedCatToNumeric) && !this.annoCtx.invertAxis && !w.globals.dataFormatXNumeric) { + x1 = this.getStringX(anno.x); + } + + var x2 = (anno.x2 - min) / (range / w.globals.gridWidth); + + if (this.annoCtx.inversedReversedAxis) { + x2 = (max - anno.x2) / (range / w.globals.gridWidth); + } + + if ((w.config.xaxis.type === 'category' || w.config.xaxis.convertedCatToNumeric) && !this.annoCtx.invertAxis && !w.globals.dataFormatXNumeric) { + x2 = this.getStringX(anno.x2); + } + + if ((anno.x === undefined || anno.x === null) && anno.marker) { + // point annotation in a horizontal chart + x1 = w.globals.gridWidth; + } + + if (type === 'x1' && typeof anno.x === 'string' && anno.x.indexOf('px') > -1) { + x1 = parseFloat(anno.x); + } + + if (type === 'x2' && typeof anno.x2 === 'string' && anno.x2.indexOf('px') > -1) { + x2 = parseFloat(anno.x2); + } + + return type === 'x1' ? x1 : x2; + } + }, { + key: "getStringX", + value: function getStringX(x) { + var w = this.w; + var rX = x; + + if (w.config.xaxis.convertedCatToNumeric && w.globals.categoryLabels.length) { + x = w.globals.categoryLabels.indexOf(x) + 1; + } + + var catIndex = w.globals.labels.indexOf(x); + var xLabel = w.globals.dom.baseEl.querySelector('.apexcharts-xaxis-texts-g text:nth-child(' + (catIndex + 1) + ')'); + + if (xLabel) { + rX = parseFloat(xLabel.getAttribute('x')); + } + + return rX; + } + }]); + + return Helpers; + }(); + + var XAnnotations = /*#__PURE__*/function () { + function XAnnotations(annoCtx) { + _classCallCheck(this, XAnnotations); + + this.w = annoCtx.w; + this.annoCtx = annoCtx; + this.invertAxis = this.annoCtx.invertAxis; + this.helpers = new Helpers$4(this.annoCtx); + } + + _createClass(XAnnotations, [{ + key: "addXaxisAnnotation", + value: function addXaxisAnnotation(anno, parent, index) { + var w = this.w; + var x1 = this.helpers.getX1X2('x1', anno); + var x2; + var text = anno.label.text; + var strokeDashArray = anno.strokeDashArray; + if (!Utils$1.isNumber(x1)) return; + + if (anno.x2 === null || typeof anno.x2 === 'undefined') { + var line = this.annoCtx.graphics.drawLine(x1 + anno.offsetX, // x1 + 0 + anno.offsetY, // y1 + x1 + anno.offsetX, // x2 + w.globals.gridHeight + anno.offsetY, // y2 + anno.borderColor, // lineColor + strokeDashArray, //dashArray + anno.borderWidth); + parent.appendChild(line.node); + + if (anno.id) { + line.node.classList.add(anno.id); + } + } else { + x2 = this.helpers.getX1X2('x2', anno); + + if (x2 < x1) { + var temp = x1; + x1 = x2; + x2 = temp; + } + + var rect = this.annoCtx.graphics.drawRect(x1 + anno.offsetX, // x1 + 0 + anno.offsetY, // y1 + x2 - x1, // x2 + w.globals.gridHeight + anno.offsetY, // y2 + 0, // radius + anno.fillColor, // color + anno.opacity, // opacity, + 1, // strokeWidth + anno.borderColor, // strokeColor + strokeDashArray // stokeDashArray + ); + rect.node.classList.add('apexcharts-annotation-rect'); + rect.attr('clip-path', "url(#gridRectMask".concat(w.globals.cuid, ")")); + parent.appendChild(rect.node); + + if (anno.id) { + rect.node.classList.add(anno.id); + } + } + + var textRects = this.annoCtx.graphics.getTextRects(text, parseFloat(anno.label.style.fontSize)); + var textY = anno.label.position === 'top' ? 4 : anno.label.position === 'center' ? w.globals.gridHeight / 2 + (anno.label.orientation === 'vertical' ? textRects.width / 2 : 0) : w.globals.gridHeight; + var elText = this.annoCtx.graphics.drawText({ + x: x1 + anno.label.offsetX, + y: textY + anno.label.offsetY - (anno.label.orientation === 'vertical' ? anno.label.position === 'top' ? textRects.width / 2 - 12 : -textRects.width / 2 : 0), + text: text, + textAnchor: anno.label.textAnchor, + fontSize: anno.label.style.fontSize, + fontFamily: anno.label.style.fontFamily, + fontWeight: anno.label.style.fontWeight, + foreColor: anno.label.style.color, + cssClass: "apexcharts-xaxis-annotation-label ".concat(anno.label.style.cssClass, " ").concat(anno.id ? anno.id : '') + }); + elText.attr({ + rel: index + }); + parent.appendChild(elText.node); // after placing the annotations on svg, set any vertically placed annotations + + this.annoCtx.helpers.setOrientations(anno, index); + } + }, { + key: "drawXAxisAnnotations", + value: function drawXAxisAnnotations() { + var _this = this; + + var w = this.w; + var elg = this.annoCtx.graphics.group({ + class: 'apexcharts-xaxis-annotations' + }); + w.config.annotations.xaxis.map(function (anno, index) { + _this.addXaxisAnnotation(anno, elg.node, index); + }); + return elg; + } + }]); + + return XAnnotations; + }(); + + var YAnnotations = /*#__PURE__*/function () { + function YAnnotations(annoCtx) { + _classCallCheck(this, YAnnotations); + + this.w = annoCtx.w; + this.annoCtx = annoCtx; + this.helpers = new Helpers$4(this.annoCtx); + } + + _createClass(YAnnotations, [{ + key: "addYaxisAnnotation", + value: function addYaxisAnnotation(anno, parent, index) { + var w = this.w; + var strokeDashArray = anno.strokeDashArray; + var y1 = this.helpers.getY1Y2('y1', anno); + var y2; + var text = anno.label.text; + + if (anno.y2 === null || typeof anno.y2 === 'undefined') { + var line = this.annoCtx.graphics.drawLine(0 + anno.offsetX, // x1 + y1 + anno.offsetY, // y1 + this._getYAxisAnnotationWidth(anno), // x2 + y1 + anno.offsetY, // y2 + anno.borderColor, // lineColor + strokeDashArray, // dashArray + anno.borderWidth); + parent.appendChild(line.node); + + if (anno.id) { + line.node.classList.add(anno.id); + } + } else { + y2 = this.helpers.getY1Y2('y2', anno); + + if (y2 > y1) { + var temp = y1; + y1 = y2; + y2 = temp; + } + + var rect = this.annoCtx.graphics.drawRect(0 + anno.offsetX, // x1 + y2 + anno.offsetY, // y1 + this._getYAxisAnnotationWidth(anno), // x2 + y1 - y2, // y2 + 0, // radius + anno.fillColor, // color + anno.opacity, // opacity, + 1, // strokeWidth + anno.borderColor, // strokeColor + strokeDashArray // stokeDashArray + ); + rect.node.classList.add('apexcharts-annotation-rect'); + rect.attr('clip-path', "url(#gridRectMask".concat(w.globals.cuid, ")")); + parent.appendChild(rect.node); + + if (anno.id) { + rect.node.classList.add(anno.id); + } + } + + var textX = anno.label.position === 'right' ? w.globals.gridWidth : anno.label.position === 'center' ? w.globals.gridWidth / 2 : 0; + var elText = this.annoCtx.graphics.drawText({ + x: textX + anno.label.offsetX, + y: (y2 != null ? y2 : y1) + anno.label.offsetY - 3, + text: text, + textAnchor: anno.label.textAnchor, + fontSize: anno.label.style.fontSize, + fontFamily: anno.label.style.fontFamily, + fontWeight: anno.label.style.fontWeight, + foreColor: anno.label.style.color, + cssClass: "apexcharts-yaxis-annotation-label ".concat(anno.label.style.cssClass, " ").concat(anno.id ? anno.id : '') + }); + elText.attr({ + rel: index + }); + parent.appendChild(elText.node); + } + }, { + key: "_getYAxisAnnotationWidth", + value: function _getYAxisAnnotationWidth(anno) { + // issue apexcharts.js#2009 + var w = this.w; + var width = w.globals.gridWidth; + + if (anno.width.indexOf('%') > -1) { + width = w.globals.gridWidth * parseInt(anno.width, 10) / 100; + } else { + width = parseInt(anno.width, 10); + } + + return width + anno.offsetX; + } + }, { + key: "drawYAxisAnnotations", + value: function drawYAxisAnnotations() { + var _this = this; + + var w = this.w; + var elg = this.annoCtx.graphics.group({ + class: 'apexcharts-yaxis-annotations' + }); + w.config.annotations.yaxis.map(function (anno, index) { + _this.addYaxisAnnotation(anno, elg.node, index); + }); + return elg; + } + }]); + + return YAnnotations; + }(); + + var PointAnnotations = /*#__PURE__*/function () { + function PointAnnotations(annoCtx) { + _classCallCheck(this, PointAnnotations); + + this.w = annoCtx.w; + this.annoCtx = annoCtx; + this.helpers = new Helpers$4(this.annoCtx); + } + + _createClass(PointAnnotations, [{ + key: "addPointAnnotation", + value: function addPointAnnotation(anno, parent, index) { + this.w; + var x = this.helpers.getX1X2('x1', anno); + var y = this.helpers.getY1Y2('y1', anno); + if (!Utils$1.isNumber(x)) return; + var optsPoints = { + pSize: anno.marker.size, + pointStrokeWidth: anno.marker.strokeWidth, + pointFillColor: anno.marker.fillColor, + pointStrokeColor: anno.marker.strokeColor, + shape: anno.marker.shape, + pRadius: anno.marker.radius, + class: "apexcharts-point-annotation-marker ".concat(anno.marker.cssClass, " ").concat(anno.id ? anno.id : '') + }; + var point = this.annoCtx.graphics.drawMarker(x + anno.marker.offsetX, y + anno.marker.offsetY, optsPoints); + parent.appendChild(point.node); + var text = anno.label.text ? anno.label.text : ''; + var elText = this.annoCtx.graphics.drawText({ + x: x + anno.label.offsetX, + y: y + anno.label.offsetY - anno.marker.size - parseFloat(anno.label.style.fontSize) / 1.6, + text: text, + textAnchor: anno.label.textAnchor, + fontSize: anno.label.style.fontSize, + fontFamily: anno.label.style.fontFamily, + fontWeight: anno.label.style.fontWeight, + foreColor: anno.label.style.color, + cssClass: "apexcharts-point-annotation-label ".concat(anno.label.style.cssClass, " ").concat(anno.id ? anno.id : '') + }); + elText.attr({ + rel: index + }); + parent.appendChild(elText.node); // TODO: deprecate this as we will use custom + + if (anno.customSVG.SVG) { + var g = this.annoCtx.graphics.group({ + class: 'apexcharts-point-annotations-custom-svg ' + anno.customSVG.cssClass + }); + g.attr({ + transform: "translate(".concat(x + anno.customSVG.offsetX, ", ").concat(y + anno.customSVG.offsetY, ")") + }); + g.node.innerHTML = anno.customSVG.SVG; + parent.appendChild(g.node); + } + + if (anno.image.path) { + var imgWidth = anno.image.width ? anno.image.width : 20; + var imgHeight = anno.image.height ? anno.image.height : 20; + point = this.annoCtx.addImage({ + x: x + anno.image.offsetX - imgWidth / 2, + y: y + anno.image.offsetY - imgHeight / 2, + width: imgWidth, + height: imgHeight, + path: anno.image.path, + appendTo: '.apexcharts-point-annotations' + }); + } + + if (anno.mouseEnter) { + point.node.addEventListener('mouseenter', anno.mouseEnter.bind(this, anno)); + } + + if (anno.mouseLeave) { + point.node.addEventListener('mouseleave', anno.mouseLeave.bind(this, anno)); + } + + if (anno.click) { + point.node.addEventListener('click', anno.click.bind(this, anno)); + } + } + }, { + key: "drawPointAnnotations", + value: function drawPointAnnotations() { + var _this = this; + + var w = this.w; + var elg = this.annoCtx.graphics.group({ + class: 'apexcharts-point-annotations' + }); + w.config.annotations.points.map(function (anno, index) { + _this.addPointAnnotation(anno, elg.node, index); + }); + return elg; + } + }]); + + return PointAnnotations; + }(); + + const name = "en"; + const options = { + months: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ], + shortMonths: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec" + ], + days: [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + shortDays: [ + "Sun", + "Mon", + "Tue", + "Wed", + "Thu", + "Fri", + "Sat" + ], + toolbar: { + exportToSVG: "Download SVG", + exportToPNG: "Download PNG", + exportToCSV: "Download CSV", + menu: "Menu", + selection: "Selection", + selectionZoom: "Selection Zoom", + zoomIn: "Zoom In", + zoomOut: "Zoom Out", + pan: "Panning", + reset: "Reset Zoom" + } + }; + var en = { + name: name, + options: options + }; + + var Options = /*#__PURE__*/function () { + function Options() { + _classCallCheck(this, Options); + + this.yAxis = { + show: true, + showAlways: false, + showForNullSeries: true, + seriesName: undefined, + opposite: false, + reversed: false, + logarithmic: false, + logBase: 10, + tickAmount: undefined, + forceNiceScale: false, + max: undefined, + min: undefined, + floating: false, + decimalsInFloat: undefined, + labels: { + show: true, + minWidth: 0, + maxWidth: 160, + offsetX: 0, + offsetY: 0, + align: undefined, + rotate: 0, + padding: 20, + style: { + colors: [], + fontSize: '11px', + fontWeight: 400, + fontFamily: undefined, + cssClass: '' + }, + formatter: undefined + }, + axisBorder: { + show: false, + color: '#e0e0e0', + width: 1, + offsetX: 0, + offsetY: 0 + }, + axisTicks: { + show: false, + color: '#e0e0e0', + width: 6, + offsetX: 0, + offsetY: 0 + }, + title: { + text: undefined, + rotate: -90, + offsetY: 0, + offsetX: 0, + style: { + color: undefined, + fontSize: '11px', + fontWeight: 900, + fontFamily: undefined, + cssClass: '' + } + }, + tooltip: { + enabled: false, + offsetX: 0 + }, + crosshairs: { + show: true, + position: 'front', + stroke: { + color: '#b6b6b6', + width: 1, + dashArray: 0 + } + } + }; + this.pointAnnotation = { + id: undefined, + x: 0, + y: null, + yAxisIndex: 0, + seriesIndex: 0, + mouseEnter: undefined, + mouseLeave: undefined, + click: undefined, + marker: { + size: 4, + fillColor: '#fff', + strokeWidth: 2, + strokeColor: '#333', + shape: 'circle', + offsetX: 0, + offsetY: 0, + radius: 2, + cssClass: '' + }, + label: { + borderColor: '#c2c2c2', + borderWidth: 1, + borderRadius: 2, + text: undefined, + textAnchor: 'middle', + offsetX: 0, + offsetY: 0, + mouseEnter: undefined, + mouseLeave: undefined, + click: undefined, + style: { + background: '#fff', + color: undefined, + fontSize: '11px', + fontFamily: undefined, + fontWeight: 400, + cssClass: '', + padding: { + left: 5, + right: 5, + top: 2, + bottom: 2 + } + } + }, + customSVG: { + // this will be deprecated in the next major version as it is going to be replaced with a better alternative below + SVG: undefined, + cssClass: undefined, + offsetX: 0, + offsetY: 0 + }, + image: { + path: undefined, + width: 20, + height: 20, + offsetX: 0, + offsetY: 0 + } + }; + this.yAxisAnnotation = { + id: undefined, + y: 0, + y2: null, + strokeDashArray: 1, + fillColor: '#c2c2c2', + borderColor: '#c2c2c2', + borderWidth: 1, + opacity: 0.3, + offsetX: 0, + offsetY: 0, + width: '100%', + yAxisIndex: 0, + label: { + borderColor: '#c2c2c2', + borderWidth: 1, + borderRadius: 2, + text: undefined, + textAnchor: 'end', + position: 'right', + offsetX: 0, + offsetY: -3, + mouseEnter: undefined, + mouseLeave: undefined, + click: undefined, + style: { + background: '#fff', + color: undefined, + fontSize: '11px', + fontFamily: undefined, + fontWeight: 400, + cssClass: '', + padding: { + left: 5, + right: 5, + top: 2, + bottom: 2 + } + } + } + }; + this.xAxisAnnotation = { + id: undefined, + x: 0, + x2: null, + strokeDashArray: 1, + fillColor: '#c2c2c2', + borderColor: '#c2c2c2', + borderWidth: 1, + opacity: 0.3, + offsetX: 0, + offsetY: 0, + label: { + borderColor: '#c2c2c2', + borderWidth: 1, + borderRadius: 2, + text: undefined, + textAnchor: 'middle', + orientation: 'vertical', + position: 'top', + offsetX: 0, + offsetY: 0, + mouseEnter: undefined, + mouseLeave: undefined, + click: undefined, + style: { + background: '#fff', + color: undefined, + fontSize: '11px', + fontFamily: undefined, + fontWeight: 400, + cssClass: '', + padding: { + left: 5, + right: 5, + top: 2, + bottom: 2 + } + } + } + }; + this.text = { + x: 0, + y: 0, + text: '', + textAnchor: 'start', + foreColor: undefined, + fontSize: '13px', + fontFamily: undefined, + fontWeight: 400, + appendTo: '.apexcharts-annotations', + backgroundColor: 'transparent', + borderColor: '#c2c2c2', + borderRadius: 0, + borderWidth: 0, + paddingLeft: 4, + paddingRight: 4, + paddingTop: 2, + paddingBottom: 2 + }; + } + + _createClass(Options, [{ + key: "init", + value: function init() { + return { + annotations: { + yaxis: [this.yAxisAnnotation], + xaxis: [this.xAxisAnnotation], + points: [this.pointAnnotation], + texts: [], + images: [], + shapes: [] + }, + chart: { + animations: { + enabled: true, + easing: 'easeinout', + // linear, easeout, easein, easeinout, swing, bounce, elastic + speed: 800, + animateGradually: { + delay: 150, + enabled: true + }, + dynamicAnimation: { + enabled: true, + speed: 350 + } + }, + background: 'transparent', + locales: [en], + defaultLocale: 'en', + dropShadow: { + enabled: false, + enabledOnSeries: undefined, + top: 2, + left: 2, + blur: 4, + color: '#000', + opacity: 0.35 + }, + events: { + animationEnd: undefined, + beforeMount: undefined, + mounted: undefined, + updated: undefined, + click: undefined, + mouseMove: undefined, + mouseLeave: undefined, + xAxisLabelClick: undefined, + legendClick: undefined, + markerClick: undefined, + selection: undefined, + dataPointSelection: undefined, + dataPointMouseEnter: undefined, + dataPointMouseLeave: undefined, + beforeZoom: undefined, + beforeResetZoom: undefined, + zoomed: undefined, + scrolled: undefined, + brushScrolled: undefined + }, + foreColor: '#373d3f', + fontFamily: 'Helvetica, Arial, sans-serif', + height: 'auto', + parentHeightOffset: 15, + redrawOnParentResize: true, + redrawOnWindowResize: true, + id: undefined, + group: undefined, + offsetX: 0, + offsetY: 0, + selection: { + enabled: false, + type: 'x', + // selectedPoints: undefined, // default datapoints that should be selected automatically + fill: { + color: '#24292e', + opacity: 0.1 + }, + stroke: { + width: 1, + color: '#24292e', + opacity: 0.4, + dashArray: 3 + }, + xaxis: { + min: undefined, + max: undefined + }, + yaxis: { + min: undefined, + max: undefined + } + }, + sparkline: { + enabled: false + }, + brush: { + enabled: false, + autoScaleYaxis: true, + target: undefined + }, + stacked: false, + stackType: 'normal', + toolbar: { + show: true, + offsetX: 0, + offsetY: 0, + tools: { + download: true, + selection: true, + zoom: true, + zoomin: true, + zoomout: true, + pan: true, + reset: true, + customIcons: [] + }, + export: { + csv: { + filename: undefined, + columnDelimiter: ',', + headerCategory: 'category', + headerValue: 'value', + dateFormatter: function dateFormatter(timestamp) { + return new Date(timestamp).toDateString(); + } + }, + png: { + filename: undefined + }, + svg: { + filename: undefined + } + }, + autoSelected: 'zoom' // accepts -> zoom, pan, selection + + }, + type: 'line', + width: '100%', + zoom: { + enabled: true, + type: 'x', + autoScaleYaxis: false, + zoomedArea: { + fill: { + color: '#90CAF9', + opacity: 0.4 + }, + stroke: { + color: '#0D47A1', + opacity: 0.4, + width: 1 + } + } + } + }, + plotOptions: { + area: { + fillTo: 'origin' + }, + bar: { + horizontal: false, + columnWidth: '70%', + // should be in percent 0 - 100 + barHeight: '70%', + // should be in percent 0 - 100 + distributed: false, + borderRadius: 0, + borderRadiusApplication: 'around', + // [around, end] + borderRadiusWhenStacked: 'last', + // [all, last] + rangeBarOverlap: true, + rangeBarGroupRows: false, + hideZeroBarsWhenGrouped: false, + isDumbbell: false, + dumbbellColors: undefined, + colors: { + ranges: [], + backgroundBarColors: [], + backgroundBarOpacity: 1, + backgroundBarRadius: 0 + }, + dataLabels: { + position: 'top', + // top, center, bottom + maxItems: 100, + hideOverflowingLabels: true, + orientation: 'horizontal', + total: { + enabled: false, + formatter: undefined, + offsetX: 0, + offsetY: 0, + style: { + color: '#373d3f', + fontSize: '12px', + fontFamily: undefined, + fontWeight: 600 + } + } + } + }, + bubble: { + zScaling: true, + minBubbleRadius: undefined, + maxBubbleRadius: undefined + }, + candlestick: { + colors: { + upward: '#00B746', + downward: '#EF403C' + }, + wick: { + useFillColor: true + } + }, + boxPlot: { + colors: { + upper: '#00E396', + lower: '#008FFB' + } + }, + heatmap: { + radius: 2, + enableShades: true, + shadeIntensity: 0.5, + reverseNegativeShade: false, + distributed: false, + useFillColorAsStroke: false, + colorScale: { + inverse: false, + ranges: [], + min: undefined, + max: undefined + } + }, + treemap: { + enableShades: true, + shadeIntensity: 0.5, + distributed: false, + reverseNegativeShade: false, + useFillColorAsStroke: false, + colorScale: { + inverse: false, + ranges: [], + min: undefined, + max: undefined + } + }, + radialBar: { + inverseOrder: false, + startAngle: 0, + endAngle: 360, + offsetX: 0, + offsetY: 0, + hollow: { + margin: 5, + size: '50%', + background: 'transparent', + image: undefined, + imageWidth: 150, + imageHeight: 150, + imageOffsetX: 0, + imageOffsetY: 0, + imageClipped: true, + position: 'front', + dropShadow: { + enabled: false, + top: 0, + left: 0, + blur: 3, + color: '#000', + opacity: 0.5 + } + }, + track: { + show: true, + startAngle: undefined, + endAngle: undefined, + background: '#f2f2f2', + strokeWidth: '97%', + opacity: 1, + margin: 5, + // margin is in pixels + dropShadow: { + enabled: false, + top: 0, + left: 0, + blur: 3, + color: '#000', + opacity: 0.5 + } + }, + dataLabels: { + show: true, + name: { + show: true, + fontSize: '16px', + fontFamily: undefined, + fontWeight: 600, + color: undefined, + offsetY: 0, + formatter: function formatter(val) { + return val; + } + }, + value: { + show: true, + fontSize: '14px', + fontFamily: undefined, + fontWeight: 400, + color: undefined, + offsetY: 16, + formatter: function formatter(val) { + return val + '%'; + } + }, + total: { + show: false, + label: 'Total', + fontSize: '16px', + fontWeight: 600, + fontFamily: undefined, + color: undefined, + formatter: function formatter(w) { + return w.globals.seriesTotals.reduce(function (a, b) { + return a + b; + }, 0) / w.globals.series.length + '%'; + } + } + } + }, + pie: { + customScale: 1, + offsetX: 0, + offsetY: 0, + startAngle: 0, + endAngle: 360, + expandOnClick: true, + dataLabels: { + // These are the percentage values which are displayed on slice + offset: 0, + // offset by which labels will move outside + minAngleToShowLabel: 10 + }, + donut: { + size: '65%', + background: 'transparent', + labels: { + // These are the inner labels appearing inside donut + show: false, + name: { + show: true, + fontSize: '16px', + fontFamily: undefined, + fontWeight: 600, + color: undefined, + offsetY: -10, + formatter: function formatter(val) { + return val; + } + }, + value: { + show: true, + fontSize: '20px', + fontFamily: undefined, + fontWeight: 400, + color: undefined, + offsetY: 10, + formatter: function formatter(val) { + return val; + } + }, + total: { + show: false, + showAlways: false, + label: 'Total', + fontSize: '16px', + fontWeight: 400, + fontFamily: undefined, + color: undefined, + formatter: function formatter(w) { + return w.globals.seriesTotals.reduce(function (a, b) { + return a + b; + }, 0); + } + } + } + } + }, + polarArea: { + rings: { + strokeWidth: 1, + strokeColor: '#e8e8e8' + }, + spokes: { + strokeWidth: 1, + connectorColors: '#e8e8e8' + } + }, + radar: { + size: undefined, + offsetX: 0, + offsetY: 0, + polygons: { + // strokeColor: '#e8e8e8', // should be deprecated in the minor version i.e 3.2 + strokeWidth: 1, + strokeColors: '#e8e8e8', + connectorColors: '#e8e8e8', + fill: { + colors: undefined + } + } + } + }, + colors: undefined, + dataLabels: { + enabled: true, + enabledOnSeries: undefined, + formatter: function formatter(val) { + return val !== null ? val : ''; + }, + textAnchor: 'middle', + distributed: false, + offsetX: 0, + offsetY: 0, + style: { + fontSize: '12px', + fontFamily: undefined, + fontWeight: 600, + colors: undefined + }, + background: { + enabled: true, + foreColor: '#fff', + borderRadius: 2, + padding: 4, + opacity: 0.9, + borderWidth: 1, + borderColor: '#fff', + dropShadow: { + enabled: false, + top: 1, + left: 1, + blur: 1, + color: '#000', + opacity: 0.45 + } + }, + dropShadow: { + enabled: false, + top: 1, + left: 1, + blur: 1, + color: '#000', + opacity: 0.45 + } + }, + fill: { + type: 'solid', + colors: undefined, + // array of colors + opacity: 0.85, + gradient: { + shade: 'dark', + type: 'horizontal', + shadeIntensity: 0.5, + gradientToColors: undefined, + inverseColors: true, + opacityFrom: 1, + opacityTo: 1, + stops: [0, 50, 100], + colorStops: [] + }, + image: { + src: [], + width: undefined, + // optional + height: undefined // optional + + }, + pattern: { + style: 'squares', + // String | Array of Strings + width: 6, + height: 6, + strokeWidth: 2 + } + }, + forecastDataPoints: { + count: 0, + fillOpacity: 0.5, + strokeWidth: undefined, + dashArray: 4 + }, + grid: { + show: true, + borderColor: '#e0e0e0', + strokeDashArray: 0, + position: 'back', + xaxis: { + lines: { + show: false + } + }, + yaxis: { + lines: { + show: true + } + }, + row: { + colors: undefined, + // takes as array which will be repeated on rows + opacity: 0.5 + }, + column: { + colors: undefined, + // takes an array which will be repeated on columns + opacity: 0.5 + }, + padding: { + top: 0, + right: 10, + bottom: 0, + left: 12 + } + }, + labels: [], + legend: { + show: true, + showForSingleSeries: false, + showForNullSeries: true, + showForZeroSeries: true, + floating: false, + position: 'bottom', + // whether to position legends in 1 of 4 + // direction - top, bottom, left, right + horizontalAlign: 'center', + // when position top/bottom, you can specify whether to align legends left, right or center + inverseOrder: false, + fontSize: '12px', + fontFamily: undefined, + fontWeight: 400, + width: undefined, + height: undefined, + formatter: undefined, + tooltipHoverFormatter: undefined, + offsetX: -20, + offsetY: 4, + customLegendItems: [], + labels: { + colors: undefined, + useSeriesColors: false + }, + markers: { + width: 12, + height: 12, + strokeWidth: 0, + fillColors: undefined, + strokeColor: '#fff', + radius: 12, + customHTML: undefined, + offsetX: 0, + offsetY: 0, + onClick: undefined + }, + itemMargin: { + horizontal: 5, + vertical: 2 + }, + onItemClick: { + toggleDataSeries: true + }, + onItemHover: { + highlightDataSeries: true + } + }, + markers: { + discrete: [], + size: 0, + colors: undefined, + //strokeColor: '#fff', // TODO: deprecate in major version 4.0 + strokeColors: '#fff', + strokeWidth: 2, + strokeOpacity: 0.9, + strokeDashArray: 0, + fillOpacity: 1, + shape: 'circle', + width: 8, + // only applicable when shape is rect/square + height: 8, + // only applicable when shape is rect/square + radius: 2, + offsetX: 0, + offsetY: 0, + onClick: undefined, + onDblClick: undefined, + showNullDataPoints: true, + hover: { + size: undefined, + sizeOffset: 3 + } + }, + noData: { + text: undefined, + align: 'center', + verticalAlign: 'middle', + offsetX: 0, + offsetY: 0, + style: { + color: undefined, + fontSize: '14px', + fontFamily: undefined + } + }, + responsive: [], + // breakpoints should follow ascending order 400, then 700, then 1000 + series: undefined, + states: { + normal: { + filter: { + type: 'none', + value: 0 + } + }, + hover: { + filter: { + type: 'lighten', + value: 0.1 + } + }, + active: { + allowMultipleDataPointsSelection: false, + filter: { + type: 'darken', + value: 0.5 + } + } + }, + title: { + text: undefined, + align: 'left', + margin: 5, + offsetX: 0, + offsetY: 0, + floating: false, + style: { + fontSize: '14px', + fontWeight: 900, + fontFamily: undefined, + color: undefined + } + }, + subtitle: { + text: undefined, + align: 'left', + margin: 5, + offsetX: 0, + offsetY: 30, + floating: false, + style: { + fontSize: '12px', + fontWeight: 400, + fontFamily: undefined, + color: undefined + } + }, + stroke: { + show: true, + curve: 'smooth', + // "smooth" / "straight" / "stepline" + lineCap: 'butt', + // round, butt , square + width: 2, + colors: undefined, + // array of colors + dashArray: 0, + // single value or array of values + fill: { + type: 'solid', + colors: undefined, + // array of colors + opacity: 0.85, + gradient: { + shade: 'dark', + type: 'horizontal', + shadeIntensity: 0.5, + gradientToColors: undefined, + inverseColors: true, + opacityFrom: 1, + opacityTo: 1, + stops: [0, 50, 100], + colorStops: [] + } + } + }, + tooltip: { + enabled: true, + enabledOnSeries: undefined, + shared: true, + followCursor: false, + // when disabled, the tooltip will show on top of the series instead of mouse position + intersect: false, + // when enabled, tooltip will only show when user directly hovers over point + inverseOrder: false, + custom: undefined, + fillSeriesColor: false, + theme: 'light', + cssClass: '', + style: { + fontSize: '12px', + fontFamily: undefined + }, + onDatasetHover: { + highlightDataSeries: false + }, + x: { + // x value + show: true, + format: 'dd MMM', + // dd/MM, dd MMM yy, dd MMM yyyy + formatter: undefined // a custom user supplied formatter function + + }, + y: { + formatter: undefined, + title: { + formatter: function formatter(seriesName) { + return seriesName ? seriesName + ': ' : ''; + } + } + }, + z: { + formatter: undefined, + title: 'Size: ' + }, + marker: { + show: true, + fillColors: undefined + }, + items: { + display: 'flex' + }, + fixed: { + enabled: false, + position: 'topRight', + // topRight, topLeft, bottomRight, bottomLeft + offsetX: 0, + offsetY: 0 + } + }, + xaxis: { + type: 'category', + categories: [], + convertedCatToNumeric: false, + // internal property which should not be altered outside + offsetX: 0, + offsetY: 0, + overwriteCategories: undefined, + labels: { + show: true, + rotate: -45, + rotateAlways: false, + hideOverlappingLabels: true, + trim: false, + minHeight: undefined, + maxHeight: 120, + showDuplicates: true, + style: { + colors: [], + fontSize: '12px', + fontWeight: 400, + fontFamily: undefined, + cssClass: '' + }, + offsetX: 0, + offsetY: 0, + format: undefined, + formatter: undefined, + // custom formatter function which will override format + datetimeUTC: true, + datetimeFormatter: { + year: 'yyyy', + month: "MMM 'yy", + day: 'dd MMM', + hour: 'HH:mm', + minute: 'HH:mm:ss', + second: 'HH:mm:ss' + } + }, + group: { + groups: [], + style: { + colors: [], + fontSize: '12px', + fontWeight: 400, + fontFamily: undefined, + cssClass: '' + } + }, + axisBorder: { + show: true, + color: '#e0e0e0', + width: '100%', + height: 1, + offsetX: 0, + offsetY: 0 + }, + axisTicks: { + show: true, + color: '#e0e0e0', + height: 6, + offsetX: 0, + offsetY: 0 + }, + tickAmount: undefined, + tickPlacement: 'on', + min: undefined, + max: undefined, + range: undefined, + floating: false, + decimalsInFloat: undefined, + position: 'bottom', + title: { + text: undefined, + offsetX: 0, + offsetY: 0, + style: { + color: undefined, + fontSize: '12px', + fontWeight: 900, + fontFamily: undefined, + cssClass: '' + } + }, + crosshairs: { + show: true, + width: 1, + // tickWidth/barWidth or an integer + position: 'back', + opacity: 0.9, + stroke: { + color: '#b6b6b6', + width: 1, + dashArray: 3 + }, + fill: { + type: 'solid', + // solid, gradient + color: '#B1B9C4', + gradient: { + colorFrom: '#D8E3F0', + colorTo: '#BED1E6', + stops: [0, 100], + opacityFrom: 0.4, + opacityTo: 0.5 + } + }, + dropShadow: { + enabled: false, + left: 0, + top: 0, + blur: 1, + opacity: 0.4 + } + }, + tooltip: { + enabled: true, + offsetY: 0, + formatter: undefined, + style: { + fontSize: '12px', + fontFamily: undefined + } + } + }, + yaxis: this.yAxis, + theme: { + mode: 'light', + palette: 'palette1', + // If defined, it will overwrite globals.colors variable + monochrome: { + // monochrome allows you to select just 1 color and fill out the rest with light/dark shade (intensity can be selected) + enabled: false, + color: '#008FFB', + shadeTo: 'light', + shadeIntensity: 0.65 + } + } + }; + } + }]); + + return Options; + }(); + + /** + * ApexCharts Annotations Class for drawing lines/rects on both xaxis and yaxis. + * + * @module Annotations + **/ + + var Annotations = /*#__PURE__*/function () { + function Annotations(ctx) { + _classCallCheck(this, Annotations); + + this.ctx = ctx; + this.w = ctx.w; + this.graphics = new Graphics(this.ctx); + + if (this.w.globals.isBarHorizontal) { + this.invertAxis = true; + } + + this.helpers = new Helpers$4(this); + this.xAxisAnnotations = new XAnnotations(this); + this.yAxisAnnotations = new YAnnotations(this); + this.pointsAnnotations = new PointAnnotations(this); + + if (this.w.globals.isBarHorizontal && this.w.config.yaxis[0].reversed) { + this.inversedReversedAxis = true; + } + + this.xDivision = this.w.globals.gridWidth / this.w.globals.dataPoints; + } + + _createClass(Annotations, [{ + key: "drawAxesAnnotations", + value: function drawAxesAnnotations() { + var w = this.w; + + if (w.globals.axisCharts) { + var yAnnotations = this.yAxisAnnotations.drawYAxisAnnotations(); + var xAnnotations = this.xAxisAnnotations.drawXAxisAnnotations(); + var pointAnnotations = this.pointsAnnotations.drawPointAnnotations(); + var initialAnim = w.config.chart.animations.enabled; + var annoArray = [yAnnotations, xAnnotations, pointAnnotations]; + var annoElArray = [xAnnotations.node, yAnnotations.node, pointAnnotations.node]; + + for (var i = 0; i < 3; i++) { + w.globals.dom.elGraphical.add(annoArray[i]); + + if (initialAnim && !w.globals.resized && !w.globals.dataChanged) { + // fixes apexcharts/apexcharts.js#685 + if (w.config.chart.type !== 'scatter' && w.config.chart.type !== 'bubble' && w.globals.dataPoints > 1) { + annoElArray[i].classList.add('apexcharts-element-hidden'); + } + } + + w.globals.delayedElements.push({ + el: annoElArray[i], + index: 0 + }); + } // background sizes needs to be calculated after text is drawn, so calling them last + + + this.helpers.annotationsBackground(); + } + } + }, { + key: "drawImageAnnos", + value: function drawImageAnnos() { + var _this = this; + + var w = this.w; + w.config.annotations.images.map(function (s, index) { + _this.addImage(s, index); + }); + } + }, { + key: "drawTextAnnos", + value: function drawTextAnnos() { + var _this2 = this; + + var w = this.w; + w.config.annotations.texts.map(function (t, index) { + _this2.addText(t, index); + }); + } + }, { + key: "addXaxisAnnotation", + value: function addXaxisAnnotation(anno, parent, index) { + this.xAxisAnnotations.addXaxisAnnotation(anno, parent, index); + } + }, { + key: "addYaxisAnnotation", + value: function addYaxisAnnotation(anno, parent, index) { + this.yAxisAnnotations.addYaxisAnnotation(anno, parent, index); + } + }, { + key: "addPointAnnotation", + value: function addPointAnnotation(anno, parent, index) { + this.pointsAnnotations.addPointAnnotation(anno, parent, index); + } + }, { + key: "addText", + value: function addText(params, index) { + var x = params.x, + y = params.y, + text = params.text, + textAnchor = params.textAnchor, + foreColor = params.foreColor, + fontSize = params.fontSize, + fontFamily = params.fontFamily, + fontWeight = params.fontWeight, + cssClass = params.cssClass, + backgroundColor = params.backgroundColor, + borderWidth = params.borderWidth, + strokeDashArray = params.strokeDashArray, + borderRadius = params.borderRadius, + borderColor = params.borderColor, + _params$appendTo = params.appendTo, + appendTo = _params$appendTo === void 0 ? '.apexcharts-annotations' : _params$appendTo, + _params$paddingLeft = params.paddingLeft, + paddingLeft = _params$paddingLeft === void 0 ? 4 : _params$paddingLeft, + _params$paddingRight = params.paddingRight, + paddingRight = _params$paddingRight === void 0 ? 4 : _params$paddingRight, + _params$paddingBottom = params.paddingBottom, + paddingBottom = _params$paddingBottom === void 0 ? 2 : _params$paddingBottom, + _params$paddingTop = params.paddingTop, + paddingTop = _params$paddingTop === void 0 ? 2 : _params$paddingTop; + var w = this.w; + var elText = this.graphics.drawText({ + x: x, + y: y, + text: text, + textAnchor: textAnchor || 'start', + fontSize: fontSize || '12px', + fontWeight: fontWeight || 'regular', + fontFamily: fontFamily || w.config.chart.fontFamily, + foreColor: foreColor || w.config.chart.foreColor, + cssClass: 'apexcharts-text ' + cssClass ? cssClass : '' + }); + var parent = w.globals.dom.baseEl.querySelector(appendTo); + + if (parent) { + parent.appendChild(elText.node); + } + + var textRect = elText.bbox(); + + if (text) { + var elRect = this.graphics.drawRect(textRect.x - paddingLeft, textRect.y - paddingTop, textRect.width + paddingLeft + paddingRight, textRect.height + paddingBottom + paddingTop, borderRadius, backgroundColor ? backgroundColor : 'transparent', 1, borderWidth, borderColor, strokeDashArray); + parent.insertBefore(elRect.node, elText.node); + } + } + }, { + key: "addImage", + value: function addImage(params, index) { + var w = this.w; + var path = params.path, + _params$x = params.x, + x = _params$x === void 0 ? 0 : _params$x, + _params$y = params.y, + y = _params$y === void 0 ? 0 : _params$y, + _params$width = params.width, + width = _params$width === void 0 ? 20 : _params$width, + _params$height = params.height, + height = _params$height === void 0 ? 20 : _params$height, + _params$appendTo2 = params.appendTo, + appendTo = _params$appendTo2 === void 0 ? '.apexcharts-annotations' : _params$appendTo2; + var img = w.globals.dom.Paper.image(path); + img.size(width, height).move(x, y); + var parent = w.globals.dom.baseEl.querySelector(appendTo); + + if (parent) { + parent.appendChild(img.node); + } + + return img; + } // The addXaxisAnnotation method requires a parent class, and user calling this method externally on the chart instance may not specify parent, hence a different method + + }, { + key: "addXaxisAnnotationExternal", + value: function addXaxisAnnotationExternal(params, pushToMemory, context) { + this.addAnnotationExternal({ + params: params, + pushToMemory: pushToMemory, + context: context, + type: 'xaxis', + contextMethod: context.addXaxisAnnotation + }); + return context; + } + }, { + key: "addYaxisAnnotationExternal", + value: function addYaxisAnnotationExternal(params, pushToMemory, context) { + this.addAnnotationExternal({ + params: params, + pushToMemory: pushToMemory, + context: context, + type: 'yaxis', + contextMethod: context.addYaxisAnnotation + }); + return context; + } + }, { + key: "addPointAnnotationExternal", + value: function addPointAnnotationExternal(params, pushToMemory, context) { + if (typeof this.invertAxis === 'undefined') { + this.invertAxis = context.w.globals.isBarHorizontal; + } + + this.addAnnotationExternal({ + params: params, + pushToMemory: pushToMemory, + context: context, + type: 'point', + contextMethod: context.addPointAnnotation + }); + return context; + } + }, { + key: "addAnnotationExternal", + value: function addAnnotationExternal(_ref) { + var params = _ref.params, + pushToMemory = _ref.pushToMemory, + context = _ref.context, + type = _ref.type, + contextMethod = _ref.contextMethod; + var me = context; + var w = me.w; + var parent = w.globals.dom.baseEl.querySelector(".apexcharts-".concat(type, "-annotations")); + var index = parent.childNodes.length + 1; + var options = new Options(); + var axesAnno = Object.assign({}, type === 'xaxis' ? options.xAxisAnnotation : type === 'yaxis' ? options.yAxisAnnotation : options.pointAnnotation); + var anno = Utils$1.extend(axesAnno, params); + + switch (type) { + case 'xaxis': + this.addXaxisAnnotation(anno, parent, index); + break; + + case 'yaxis': + this.addYaxisAnnotation(anno, parent, index); + break; + + case 'point': + this.addPointAnnotation(anno, parent, index); + break; + } // add background + + + var axesAnnoLabel = w.globals.dom.baseEl.querySelector(".apexcharts-".concat(type, "-annotations .apexcharts-").concat(type, "-annotation-label[rel='").concat(index, "']")); + var elRect = this.helpers.addBackgroundToAnno(axesAnnoLabel, anno); + + if (elRect) { + parent.insertBefore(elRect.node, axesAnnoLabel); + } + + if (pushToMemory) { + w.globals.memory.methodsToExec.push({ + context: me, + id: anno.id ? anno.id : Utils$1.randomId(), + method: contextMethod, + label: 'addAnnotation', + params: params + }); + } + + return context; + } + }, { + key: "clearAnnotations", + value: function clearAnnotations(ctx) { + var w = ctx.w; + var annos = w.globals.dom.baseEl.querySelectorAll('.apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations'); // annotations added externally should be cleared out too + + w.globals.memory.methodsToExec.map(function (m, i) { + if (m.label === 'addText' || m.label === 'addAnnotation') { + w.globals.memory.methodsToExec.splice(i, 1); + } + }); + annos = Utils$1.listToArray(annos); // delete the DOM elements + + Array.prototype.forEach.call(annos, function (a) { + while (a.firstChild) { + a.removeChild(a.firstChild); + } + }); + } + }, { + key: "removeAnnotation", + value: function removeAnnotation(ctx, id) { + var w = ctx.w; + var annos = w.globals.dom.baseEl.querySelectorAll(".".concat(id)); + + if (annos) { + w.globals.memory.methodsToExec.map(function (m, i) { + if (m.id === id) { + w.globals.memory.methodsToExec.splice(i, 1); + } + }); + Array.prototype.forEach.call(annos, function (a) { + a.parentElement.removeChild(a); + }); + } + } + }]); + + return Annotations; + }(); + + /** + * DateTime Class to manipulate datetime values. + * + * @module DateTime + **/ + + var DateTime = /*#__PURE__*/function () { + function DateTime(ctx) { + _classCallCheck(this, DateTime); + + this.ctx = ctx; + this.w = ctx.w; + this.months31 = [1, 3, 5, 7, 8, 10, 12]; + this.months30 = [2, 4, 6, 9, 11]; + this.daysCntOfYear = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]; + } + + _createClass(DateTime, [{ + key: "isValidDate", + value: function isValidDate(date) { + return !isNaN(this.parseDate(date)); + } + }, { + key: "getTimeStamp", + value: function getTimeStamp(dateStr) { + if (!Date.parse(dateStr)) { + return dateStr; + } + + var utc = this.w.config.xaxis.labels.datetimeUTC; + return !utc ? new Date(dateStr).getTime() : new Date(new Date(dateStr).toISOString().substr(0, 25)).getTime(); + } + }, { + key: "getDate", + value: function getDate(timestamp) { + var utc = this.w.config.xaxis.labels.datetimeUTC; + return utc ? new Date(new Date(timestamp).toUTCString()) : new Date(timestamp); + } + }, { + key: "parseDate", + value: function parseDate(dateStr) { + var parsed = Date.parse(dateStr); + + if (!isNaN(parsed)) { + return this.getTimeStamp(dateStr); + } + + var output = Date.parse(dateStr.replace(/-/g, '/').replace(/[a-z]+/gi, ' ')); + output = this.getTimeStamp(output); + return output; + } // This fixes the difference of x-axis labels between chrome/safari + // Fixes #1726, #1544, #1485, #1255 + + }, { + key: "parseDateWithTimezone", + value: function parseDateWithTimezone(dateStr) { + return Date.parse(dateStr.replace(/-/g, '/').replace(/[a-z]+/gi, ' ')); + } // http://stackoverflow.com/questions/14638018/current-time-formatting-with-javascript#answer-14638191 + + }, { + key: "formatDate", + value: function formatDate(date, format) { + var locale = this.w.globals.locale; + var utc = this.w.config.xaxis.labels.datetimeUTC; + var MMMM = ['\x00'].concat(_toConsumableArray(locale.months)); + var MMM = ['\x01'].concat(_toConsumableArray(locale.shortMonths)); + var dddd = ['\x02'].concat(_toConsumableArray(locale.days)); + var ddd = ['\x03'].concat(_toConsumableArray(locale.shortDays)); + + function ii(i, len) { + var s = i + ''; + len = len || 2; + + while (s.length < len) { + s = '0' + s; + } + + return s; + } + + var y = utc ? date.getUTCFullYear() : date.getFullYear(); + format = format.replace(/(^|[^\\])yyyy+/g, '$1' + y); + format = format.replace(/(^|[^\\])yy/g, '$1' + y.toString().substr(2, 2)); + format = format.replace(/(^|[^\\])y/g, '$1' + y); + var M = (utc ? date.getUTCMonth() : date.getMonth()) + 1; + format = format.replace(/(^|[^\\])MMMM+/g, '$1' + MMMM[0]); + format = format.replace(/(^|[^\\])MMM/g, '$1' + MMM[0]); + format = format.replace(/(^|[^\\])MM/g, '$1' + ii(M)); + format = format.replace(/(^|[^\\])M/g, '$1' + M); + var d = utc ? date.getUTCDate() : date.getDate(); + format = format.replace(/(^|[^\\])dddd+/g, '$1' + dddd[0]); + format = format.replace(/(^|[^\\])ddd/g, '$1' + ddd[0]); + format = format.replace(/(^|[^\\])dd/g, '$1' + ii(d)); + format = format.replace(/(^|[^\\])d/g, '$1' + d); + var H = utc ? date.getUTCHours() : date.getHours(); + format = format.replace(/(^|[^\\])HH+/g, '$1' + ii(H)); + format = format.replace(/(^|[^\\])H/g, '$1' + H); + var h = H > 12 ? H - 12 : H === 0 ? 12 : H; + format = format.replace(/(^|[^\\])hh+/g, '$1' + ii(h)); + format = format.replace(/(^|[^\\])h/g, '$1' + h); + var m = utc ? date.getUTCMinutes() : date.getMinutes(); + format = format.replace(/(^|[^\\])mm+/g, '$1' + ii(m)); + format = format.replace(/(^|[^\\])m/g, '$1' + m); + var s = utc ? date.getUTCSeconds() : date.getSeconds(); + format = format.replace(/(^|[^\\])ss+/g, '$1' + ii(s)); + format = format.replace(/(^|[^\\])s/g, '$1' + s); + var f = utc ? date.getUTCMilliseconds() : date.getMilliseconds(); + format = format.replace(/(^|[^\\])fff+/g, '$1' + ii(f, 3)); + f = Math.round(f / 10); + format = format.replace(/(^|[^\\])ff/g, '$1' + ii(f)); + f = Math.round(f / 10); + format = format.replace(/(^|[^\\])f/g, '$1' + f); + var T = H < 12 ? 'AM' : 'PM'; + format = format.replace(/(^|[^\\])TT+/g, '$1' + T); + format = format.replace(/(^|[^\\])T/g, '$1' + T.charAt(0)); + var t = T.toLowerCase(); + format = format.replace(/(^|[^\\])tt+/g, '$1' + t); + format = format.replace(/(^|[^\\])t/g, '$1' + t.charAt(0)); + var tz = -date.getTimezoneOffset(); + var K = utc || !tz ? 'Z' : tz > 0 ? '+' : '-'; + + if (!utc) { + tz = Math.abs(tz); + var tzHrs = Math.floor(tz / 60); + var tzMin = tz % 60; + K += ii(tzHrs) + ':' + ii(tzMin); + } + + format = format.replace(/(^|[^\\])K/g, '$1' + K); + var day = (utc ? date.getUTCDay() : date.getDay()) + 1; + format = format.replace(new RegExp(dddd[0], 'g'), dddd[day]); + format = format.replace(new RegExp(ddd[0], 'g'), ddd[day]); + format = format.replace(new RegExp(MMMM[0], 'g'), MMMM[M]); + format = format.replace(new RegExp(MMM[0], 'g'), MMM[M]); + format = format.replace(/\\(.)/g, '$1'); + return format; + } + }, { + key: "getTimeUnitsfromTimestamp", + value: function getTimeUnitsfromTimestamp(minX, maxX, utc) { + var w = this.w; + + if (w.config.xaxis.min !== undefined) { + minX = w.config.xaxis.min; + } + + if (w.config.xaxis.max !== undefined) { + maxX = w.config.xaxis.max; + } + + var tsMin = this.getDate(minX); + var tsMax = this.getDate(maxX); + var minD = this.formatDate(tsMin, 'yyyy MM dd HH mm ss fff').split(' '); + var maxD = this.formatDate(tsMax, 'yyyy MM dd HH mm ss fff').split(' '); + return { + minMillisecond: parseInt(minD[6], 10), + maxMillisecond: parseInt(maxD[6], 10), + minSecond: parseInt(minD[5], 10), + maxSecond: parseInt(maxD[5], 10), + minMinute: parseInt(minD[4], 10), + maxMinute: parseInt(maxD[4], 10), + minHour: parseInt(minD[3], 10), + maxHour: parseInt(maxD[3], 10), + minDate: parseInt(minD[2], 10), + maxDate: parseInt(maxD[2], 10), + minMonth: parseInt(minD[1], 10) - 1, + maxMonth: parseInt(maxD[1], 10) - 1, + minYear: parseInt(minD[0], 10), + maxYear: parseInt(maxD[0], 10) + }; + } + }, { + key: "isLeapYear", + value: function isLeapYear(year) { + return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0; + } + }, { + key: "calculcateLastDaysOfMonth", + value: function calculcateLastDaysOfMonth(month, year, subtract) { + var days = this.determineDaysOfMonths(month, year); // whatever days we get, subtract the number of days asked + + return days - subtract; + } + }, { + key: "determineDaysOfYear", + value: function determineDaysOfYear(year) { + var days = 365; + + if (this.isLeapYear(year)) { + days = 366; + } + + return days; + } + }, { + key: "determineRemainingDaysOfYear", + value: function determineRemainingDaysOfYear(year, month, date) { + var dayOfYear = this.daysCntOfYear[month] + date; + if (month > 1 && this.isLeapYear()) dayOfYear++; + return dayOfYear; + } + }, { + key: "determineDaysOfMonths", + value: function determineDaysOfMonths(month, year) { + var days = 30; + month = Utils$1.monthMod(month); + + switch (true) { + case this.months30.indexOf(month) > -1: + if (month === 2) { + if (this.isLeapYear(year)) { + days = 29; + } else { + days = 28; + } + } + + break; + + case this.months31.indexOf(month) > -1: + days = 31; + break; + + default: + days = 31; + break; + } + + return days; + } + }]); + + return DateTime; + }(); + + /** + * ApexCharts Formatter Class for setting value formatters for axes as well as tooltips. + * + * @module Formatters + **/ + + var Formatters = /*#__PURE__*/function () { + function Formatters(ctx) { + _classCallCheck(this, Formatters); + + this.ctx = ctx; + this.w = ctx.w; + this.tooltipKeyFormat = 'dd MMM'; + } + + _createClass(Formatters, [{ + key: "xLabelFormat", + value: function xLabelFormat(fn, val, timestamp, opts) { + var w = this.w; + + if (w.config.xaxis.type === 'datetime') { + if (w.config.xaxis.labels.formatter === undefined) { + // if user has not specified a custom formatter, use the default tooltip.x.format + if (w.config.tooltip.x.formatter === undefined) { + var datetimeObj = new DateTime(this.ctx); + return datetimeObj.formatDate(datetimeObj.getDate(val), w.config.tooltip.x.format); + } + } + } + + return fn(val, timestamp, opts); + } + }, { + key: "defaultGeneralFormatter", + value: function defaultGeneralFormatter(val) { + if (Array.isArray(val)) { + return val.map(function (v) { + return v; + }); + } else { + return val; + } + } + }, { + key: "defaultYFormatter", + value: function defaultYFormatter(v, yaxe, i) { + var w = this.w; + + if (Utils$1.isNumber(v)) { + if (w.globals.yValueDecimal !== 0) { + v = v.toFixed(yaxe.decimalsInFloat !== undefined ? yaxe.decimalsInFloat : w.globals.yValueDecimal); + } else if (w.globals.maxYArr[i] - w.globals.minYArr[i] < 5) { + v = v.toFixed(1); + } else { + v = v.toFixed(0); + } + } + + return v; + } + }, { + key: "setLabelFormatters", + value: function setLabelFormatters() { + var _this = this; + + var w = this.w; + + w.globals.xaxisTooltipFormatter = function (val) { + return _this.defaultGeneralFormatter(val); + }; + + w.globals.ttKeyFormatter = function (val) { + return _this.defaultGeneralFormatter(val); + }; + + w.globals.ttZFormatter = function (val) { + return val; + }; + + w.globals.legendFormatter = function (val) { + return _this.defaultGeneralFormatter(val); + }; // formatter function will always overwrite format property + + + if (w.config.xaxis.labels.formatter !== undefined) { + w.globals.xLabelFormatter = w.config.xaxis.labels.formatter; + } else { + w.globals.xLabelFormatter = function (val) { + if (Utils$1.isNumber(val)) { + if (!w.config.xaxis.convertedCatToNumeric && w.config.xaxis.type === 'numeric') { + if (Utils$1.isNumber(w.config.xaxis.decimalsInFloat)) { + return val.toFixed(w.config.xaxis.decimalsInFloat); + } else { + var diff = w.globals.maxX - w.globals.minX; + + if (diff > 0 && diff < 100) { + return val.toFixed(1); + } + + return val.toFixed(0); + } + } + + if (w.globals.isBarHorizontal) { + var range = w.globals.maxY - w.globals.minYArr; + + if (range < 4) { + return val.toFixed(1); + } + } + + return val.toFixed(0); + } + + return val; + }; + } + + if (typeof w.config.tooltip.x.formatter === 'function') { + w.globals.ttKeyFormatter = w.config.tooltip.x.formatter; + } else { + w.globals.ttKeyFormatter = w.globals.xLabelFormatter; + } + + if (typeof w.config.xaxis.tooltip.formatter === 'function') { + w.globals.xaxisTooltipFormatter = w.config.xaxis.tooltip.formatter; + } + + if (Array.isArray(w.config.tooltip.y)) { + w.globals.ttVal = w.config.tooltip.y; + } else { + if (w.config.tooltip.y.formatter !== undefined) { + w.globals.ttVal = w.config.tooltip.y; + } + } + + if (w.config.tooltip.z.formatter !== undefined) { + w.globals.ttZFormatter = w.config.tooltip.z.formatter; + } // legend formatter - if user wants to append any global values of series to legend text + + + if (w.config.legend.formatter !== undefined) { + w.globals.legendFormatter = w.config.legend.formatter; + } // formatter function will always overwrite format property + + + w.config.yaxis.forEach(function (yaxe, i) { + if (yaxe.labels.formatter !== undefined) { + w.globals.yLabelFormatters[i] = yaxe.labels.formatter; + } else { + w.globals.yLabelFormatters[i] = function (val) { + if (!w.globals.xyCharts) return val; + + if (Array.isArray(val)) { + return val.map(function (v) { + return _this.defaultYFormatter(v, yaxe, i); + }); + } else { + return _this.defaultYFormatter(val, yaxe, i); + } + }; + } + }); + return w.globals; + } + }, { + key: "heatmapLabelFormatters", + value: function heatmapLabelFormatters() { + var w = this.w; + + if (w.config.chart.type === 'heatmap') { + w.globals.yAxisScale[0].result = w.globals.seriesNames.slice(); // get the longest string from the labels array and also apply label formatter to it + + var longest = w.globals.seriesNames.reduce(function (a, b) { + return a.length > b.length ? a : b; + }, 0); + w.globals.yAxisScale[0].niceMax = longest; + w.globals.yAxisScale[0].niceMin = longest; + } + } + }]); + + return Formatters; + }(); + + /** + * ApexCharts Default Class for setting default options for all chart types. + * + * @module Defaults + **/ + + var getRangeValues = function getRangeValues(_ref) { + var _w$config$series$seri; + + var isTimeline = _ref.isTimeline, + ctx = _ref.ctx, + seriesIndex = _ref.seriesIndex, + dataPointIndex = _ref.dataPointIndex, + y1 = _ref.y1, + y2 = _ref.y2, + w = _ref.w; + var start = w.globals.seriesRangeStart[seriesIndex][dataPointIndex]; + var end = w.globals.seriesRangeEnd[seriesIndex][dataPointIndex]; + var ylabel = w.globals.labels[dataPointIndex]; + var seriesName = w.config.series[seriesIndex].name ? w.config.series[seriesIndex].name : ''; + var yLbFormatter = w.globals.ttKeyFormatter; + var yLbTitleFormatter = w.config.tooltip.y.title.formatter; + var opts = { + w: w, + seriesIndex: seriesIndex, + dataPointIndex: dataPointIndex, + start: start, + end: end + }; + + if (typeof yLbTitleFormatter === 'function') { + seriesName = yLbTitleFormatter(seriesName, opts); + } + + if ((_w$config$series$seri = w.config.series[seriesIndex].data[dataPointIndex]) !== null && _w$config$series$seri !== void 0 && _w$config$series$seri.x) { + ylabel = w.config.series[seriesIndex].data[dataPointIndex].x; + } + + if (!isTimeline) { + if (w.config.xaxis.type === 'datetime') { + var xFormat = new Formatters(ctx); + ylabel = xFormat.xLabelFormat(w.globals.ttKeyFormatter, ylabel, ylabel, { + i: undefined, + dateFormatter: new DateTime(ctx).formatDate, + w: w + }); + } + } + + if (typeof yLbFormatter === 'function') { + ylabel = yLbFormatter(ylabel, opts); + } + + if (Number.isFinite(y1) && Number.isFinite(y2)) { + start = y1; + end = y2; + } + + var startVal = ''; + var endVal = ''; + var color = w.globals.colors[seriesIndex]; + + if (w.config.tooltip.x.formatter === undefined) { + if (w.config.xaxis.type === 'datetime') { + var datetimeObj = new DateTime(ctx); + startVal = datetimeObj.formatDate(datetimeObj.getDate(start), w.config.tooltip.x.format); + endVal = datetimeObj.formatDate(datetimeObj.getDate(end), w.config.tooltip.x.format); + } else { + startVal = start; + endVal = end; + } + } else { + startVal = w.config.tooltip.x.formatter(start); + endVal = w.config.tooltip.x.formatter(end); + } + + return { + start: start, + end: end, + startVal: startVal, + endVal: endVal, + ylabel: ylabel, + color: color, + seriesName: seriesName + }; + }; + + var buildRangeTooltipHTML = function buildRangeTooltipHTML(opts) { + var color = opts.color, + seriesName = opts.seriesName, + ylabel = opts.ylabel, + start = opts.start, + end = opts.end, + seriesIndex = opts.seriesIndex, + dataPointIndex = opts.dataPointIndex; + var formatter = opts.ctx.tooltip.tooltipLabels.getFormatters(seriesIndex); + start = formatter.yLbFormatter(start); + end = formatter.yLbFormatter(end); + var val = formatter.yLbFormatter(opts.w.globals.series[seriesIndex][dataPointIndex]); + var valueHTML = ''; + var rangeValues = "\n ".concat(start, "\n - \n ").concat(end, "\n "); + + if (opts.w.globals.comboCharts) { + if (opts.w.config.series[seriesIndex].type === 'rangeArea' || opts.w.config.series[seriesIndex].type === 'rangeBar') { + valueHTML = rangeValues; + } else { + valueHTML = "".concat(val, ""); + } + } else { + valueHTML = rangeValues; + } + + return '
' + '
' + (seriesName ? seriesName : '') + '
' + '
' + ylabel + ': ' + valueHTML + '
' + '
'; + }; + + var Defaults = /*#__PURE__*/function () { + function Defaults(opts) { + _classCallCheck(this, Defaults); + + this.opts = opts; + } + + _createClass(Defaults, [{ + key: "line", + value: function line() { + return { + chart: { + animations: { + easing: 'swing' + } + }, + dataLabels: { + enabled: false + }, + stroke: { + width: 5, + curve: 'straight' + }, + markers: { + size: 0, + hover: { + sizeOffset: 6 + } + }, + xaxis: { + crosshairs: { + width: 1 + } + } + }; + } + }, { + key: "sparkline", + value: function sparkline(defaults) { + this.opts.yaxis[0].show = false; + this.opts.yaxis[0].title.text = ''; + this.opts.yaxis[0].axisBorder.show = false; + this.opts.yaxis[0].axisTicks.show = false; + this.opts.yaxis[0].floating = true; + var ret = { + grid: { + show: false, + padding: { + left: 0, + right: 0, + top: 0, + bottom: 0 + } + }, + legend: { + show: false + }, + xaxis: { + labels: { + show: false + }, + tooltip: { + enabled: false + }, + axisBorder: { + show: false + }, + axisTicks: { + show: false + } + }, + chart: { + toolbar: { + show: false + }, + zoom: { + enabled: false + } + }, + dataLabels: { + enabled: false + } + }; + return Utils$1.extend(defaults, ret); + } + }, { + key: "bar", + value: function bar() { + return { + chart: { + stacked: false, + animations: { + easing: 'swing' + } + }, + plotOptions: { + bar: { + dataLabels: { + position: 'center' + } + } + }, + dataLabels: { + style: { + colors: ['#fff'] + }, + background: { + enabled: false + } + }, + stroke: { + width: 0, + lineCap: 'round' + }, + fill: { + opacity: 0.85 + }, + legend: { + markers: { + shape: 'square', + radius: 2, + size: 8 + } + }, + tooltip: { + shared: false, + intersect: true + }, + xaxis: { + tooltip: { + enabled: false + }, + tickPlacement: 'between', + crosshairs: { + width: 'barWidth', + position: 'back', + fill: { + type: 'gradient' + }, + dropShadow: { + enabled: false + }, + stroke: { + width: 0 + } + } + } + }; + } + }, { + key: "candlestick", + value: function candlestick() { + var _this = this; + + return { + stroke: { + width: 1, + colors: ['#333'] + }, + fill: { + opacity: 1 + }, + dataLabels: { + enabled: false + }, + tooltip: { + shared: true, + custom: function custom(_ref2) { + var seriesIndex = _ref2.seriesIndex, + dataPointIndex = _ref2.dataPointIndex, + w = _ref2.w; + return _this._getBoxTooltip(w, seriesIndex, dataPointIndex, ['Open', 'High', '', 'Low', 'Close'], 'candlestick'); + } + }, + states: { + active: { + filter: { + type: 'none' + } + } + }, + xaxis: { + crosshairs: { + width: 1 + } + } + }; + } + }, { + key: "boxPlot", + value: function boxPlot() { + var _this2 = this; + + return { + chart: { + animations: { + dynamicAnimation: { + enabled: false + } + } + }, + stroke: { + width: 1, + colors: ['#24292e'] + }, + dataLabels: { + enabled: false + }, + tooltip: { + shared: true, + custom: function custom(_ref3) { + var seriesIndex = _ref3.seriesIndex, + dataPointIndex = _ref3.dataPointIndex, + w = _ref3.w; + return _this2._getBoxTooltip(w, seriesIndex, dataPointIndex, ['Minimum', 'Q1', 'Median', 'Q3', 'Maximum'], 'boxPlot'); + } + }, + markers: { + size: 5, + strokeWidth: 1, + strokeColors: '#111' + }, + xaxis: { + crosshairs: { + width: 1 + } + } + }; + } + }, { + key: "rangeBar", + value: function rangeBar() { + var handleTimelineTooltip = function handleTimelineTooltip(opts) { + var _getRangeValues = getRangeValues(_objectSpread2(_objectSpread2({}, opts), {}, { + isTimeline: true + })), + color = _getRangeValues.color, + seriesName = _getRangeValues.seriesName, + ylabel = _getRangeValues.ylabel, + startVal = _getRangeValues.startVal, + endVal = _getRangeValues.endVal; + + return buildRangeTooltipHTML(_objectSpread2(_objectSpread2({}, opts), {}, { + color: color, + seriesName: seriesName, + ylabel: ylabel, + start: startVal, + end: endVal + })); + }; + + var handleRangeColumnTooltip = function handleRangeColumnTooltip(opts) { + var _getRangeValues2 = getRangeValues(opts), + color = _getRangeValues2.color, + seriesName = _getRangeValues2.seriesName, + ylabel = _getRangeValues2.ylabel, + start = _getRangeValues2.start, + end = _getRangeValues2.end; + + return buildRangeTooltipHTML(_objectSpread2(_objectSpread2({}, opts), {}, { + color: color, + seriesName: seriesName, + ylabel: ylabel, + start: start, + end: end + })); + }; + + return { + chart: { + animations: { + animateGradually: false + } + }, + stroke: { + width: 0, + lineCap: 'square' + }, + plotOptions: { + bar: { + borderRadius: 0, + dataLabels: { + position: 'center' + } + } + }, + dataLabels: { + enabled: false, + formatter: function formatter(val, _ref4) { + _ref4.ctx; + var seriesIndex = _ref4.seriesIndex, + dataPointIndex = _ref4.dataPointIndex, + w = _ref4.w; + + var getVal = function getVal() { + var start = w.globals.seriesRangeStart[seriesIndex][dataPointIndex]; + var end = w.globals.seriesRangeEnd[seriesIndex][dataPointIndex]; + return end - start; + }; + + if (w.globals.comboCharts) { + if (w.config.series[seriesIndex].type === 'rangeBar' || w.config.series[seriesIndex].type === 'rangeArea') { + return getVal(); + } else { + return val; + } + } else { + return getVal(); + } + }, + background: { + enabled: false + }, + style: { + colors: ['#fff'] + } + }, + markers: { + size: 10 + }, + tooltip: { + shared: false, + followCursor: true, + custom: function custom(opts) { + if (opts.w.config.plotOptions && opts.w.config.plotOptions.bar && opts.w.config.plotOptions.bar.horizontal) { + return handleTimelineTooltip(opts); + } else { + return handleRangeColumnTooltip(opts); + } + } + }, + xaxis: { + tickPlacement: 'between', + tooltip: { + enabled: false + }, + crosshairs: { + stroke: { + width: 0 + } + } + } + }; + } + }, { + key: "dumbbell", + value: function dumbbell(opts) { + var _opts$plotOptions$bar, _opts$plotOptions$bar2; + + if (!((_opts$plotOptions$bar = opts.plotOptions.bar) !== null && _opts$plotOptions$bar !== void 0 && _opts$plotOptions$bar.barHeight)) { + opts.plotOptions.bar.barHeight = 2; + } + + if (!((_opts$plotOptions$bar2 = opts.plotOptions.bar) !== null && _opts$plotOptions$bar2 !== void 0 && _opts$plotOptions$bar2.columnWidth)) { + opts.plotOptions.bar.columnWidth = 2; + } + + return opts; + } + }, { + key: "area", + value: function area() { + return { + stroke: { + width: 4, + fill: { + type: 'solid', + gradient: { + inverseColors: false, + shade: 'light', + type: 'vertical', + opacityFrom: 0.65, + opacityTo: 0.5, + stops: [0, 100, 100] + } + } + }, + fill: { + type: 'gradient', + gradient: { + inverseColors: false, + shade: 'light', + type: 'vertical', + opacityFrom: 0.65, + opacityTo: 0.5, + stops: [0, 100, 100] + } + }, + markers: { + size: 0, + hover: { + sizeOffset: 6 + } + }, + tooltip: { + followCursor: false + } + }; + } + }, { + key: "rangeArea", + value: function rangeArea() { + var handleRangeAreaTooltip = function handleRangeAreaTooltip(opts) { + var _getRangeValues3 = getRangeValues(opts), + color = _getRangeValues3.color, + seriesName = _getRangeValues3.seriesName, + ylabel = _getRangeValues3.ylabel, + start = _getRangeValues3.start, + end = _getRangeValues3.end; + + return buildRangeTooltipHTML(_objectSpread2(_objectSpread2({}, opts), {}, { + color: color, + seriesName: seriesName, + ylabel: ylabel, + start: start, + end: end + })); + }; + + return { + stroke: { + curve: 'straight', + width: 0 + }, + fill: { + type: 'solid', + opacity: 0.6 + }, + markers: { + size: 0 + }, + states: { + hover: { + filter: { + type: 'none' + } + }, + active: { + filter: { + type: 'none' + } + } + }, + tooltip: { + intersect: false, + shared: true, + followCursor: true, + custom: function custom(opts) { + return handleRangeAreaTooltip(opts); + } + } + }; + } + }, { + key: "brush", + value: function brush(defaults) { + var ret = { + chart: { + toolbar: { + autoSelected: 'selection', + show: false + }, + zoom: { + enabled: false + } + }, + dataLabels: { + enabled: false + }, + stroke: { + width: 1 + }, + tooltip: { + enabled: false + }, + xaxis: { + tooltip: { + enabled: false + } + } + }; + return Utils$1.extend(defaults, ret); + } + }, { + key: "stacked100", + value: function stacked100(opts) { + opts.dataLabels = opts.dataLabels || {}; + opts.dataLabels.formatter = opts.dataLabels.formatter || undefined; + var existingDataLabelFormatter = opts.dataLabels.formatter; + opts.yaxis.forEach(function (yaxe, index) { + opts.yaxis[index].min = 0; + opts.yaxis[index].max = 100; + }); + var isBar = opts.chart.type === 'bar'; + + if (isBar) { + opts.dataLabels.formatter = existingDataLabelFormatter || function (val) { + if (typeof val === 'number') { + return val ? val.toFixed(0) + '%' : val; + } + + return val; + }; + } + + return opts; + } + }, { + key: "stackedBars", + value: function stackedBars() { + var barDefaults = this.bar(); + return _objectSpread2(_objectSpread2({}, barDefaults), {}, { + plotOptions: _objectSpread2(_objectSpread2({}, barDefaults.plotOptions), {}, { + bar: _objectSpread2(_objectSpread2({}, barDefaults.plotOptions.bar), {}, { + borderRadiusApplication: 'end', + borderRadiusWhenStacked: 'last' + }) + }) + }); + } // This function removes the left and right spacing in chart for line/area/scatter if xaxis type = category for those charts by converting xaxis = numeric. Numeric/Datetime xaxis prevents the unnecessary spacing in the left/right of the chart area + + }, { + key: "convertCatToNumeric", + value: function convertCatToNumeric(opts) { + opts.xaxis.convertedCatToNumeric = true; + return opts; + } + }, { + key: "convertCatToNumericXaxis", + value: function convertCatToNumericXaxis(opts, ctx, cats) { + opts.xaxis.type = 'numeric'; + opts.xaxis.labels = opts.xaxis.labels || {}; + + opts.xaxis.labels.formatter = opts.xaxis.labels.formatter || function (val) { + return Utils$1.isNumber(val) ? Math.floor(val) : val; + }; + + var defaultFormatter = opts.xaxis.labels.formatter; + var labels = opts.xaxis.categories && opts.xaxis.categories.length ? opts.xaxis.categories : opts.labels; + + if (cats && cats.length) { + labels = cats.map(function (c) { + return Array.isArray(c) ? c : String(c); + }); + } + + if (labels && labels.length) { + opts.xaxis.labels.formatter = function (val) { + return Utils$1.isNumber(val) ? defaultFormatter(labels[Math.floor(val) - 1]) : defaultFormatter(val); + }; + } + + opts.xaxis.categories = []; + opts.labels = []; + opts.xaxis.tickAmount = opts.xaxis.tickAmount || 'dataPoints'; + return opts; + } + }, { + key: "bubble", + value: function bubble() { + return { + dataLabels: { + style: { + colors: ['#fff'] + } + }, + tooltip: { + shared: false, + intersect: true + }, + xaxis: { + crosshairs: { + width: 0 + } + }, + fill: { + type: 'solid', + gradient: { + shade: 'light', + inverse: true, + shadeIntensity: 0.55, + opacityFrom: 0.4, + opacityTo: 0.8 + } + } + }; + } + }, { + key: "scatter", + value: function scatter() { + return { + dataLabels: { + enabled: false + }, + tooltip: { + shared: false, + intersect: true + }, + markers: { + size: 6, + strokeWidth: 1, + hover: { + sizeOffset: 2 + } + } + }; + } + }, { + key: "heatmap", + value: function heatmap() { + return { + chart: { + stacked: false + }, + fill: { + opacity: 1 + }, + dataLabels: { + style: { + colors: ['#fff'] + } + }, + stroke: { + colors: ['#fff'] + }, + tooltip: { + followCursor: true, + marker: { + show: false + }, + x: { + show: false + } + }, + legend: { + position: 'top', + markers: { + shape: 'square', + size: 10, + offsetY: 2 + } + }, + grid: { + padding: { + right: 20 + } + } + }; + } + }, { + key: "treemap", + value: function treemap() { + return { + chart: { + zoom: { + enabled: false + } + }, + dataLabels: { + style: { + fontSize: 14, + fontWeight: 600, + colors: ['#fff'] + } + }, + stroke: { + show: true, + width: 2, + colors: ['#fff'] + }, + legend: { + show: false + }, + fill: { + gradient: { + stops: [0, 100] + } + }, + tooltip: { + followCursor: true, + x: { + show: false + } + }, + grid: { + padding: { + left: 0, + right: 0 + } + }, + xaxis: { + crosshairs: { + show: false + }, + tooltip: { + enabled: false + } + } + }; + } + }, { + key: "pie", + value: function pie() { + return { + chart: { + toolbar: { + show: false + } + }, + plotOptions: { + pie: { + donut: { + labels: { + show: false + } + } + } + }, + dataLabels: { + formatter: function formatter(val) { + return val.toFixed(1) + '%'; + }, + style: { + colors: ['#fff'] + }, + background: { + enabled: false + }, + dropShadow: { + enabled: true + } + }, + stroke: { + colors: ['#fff'] + }, + fill: { + opacity: 1, + gradient: { + shade: 'light', + stops: [0, 100] + } + }, + tooltip: { + theme: 'dark', + fillSeriesColor: true + }, + legend: { + position: 'right' + } + }; + } + }, { + key: "donut", + value: function donut() { + return { + chart: { + toolbar: { + show: false + } + }, + dataLabels: { + formatter: function formatter(val) { + return val.toFixed(1) + '%'; + }, + style: { + colors: ['#fff'] + }, + background: { + enabled: false + }, + dropShadow: { + enabled: true + } + }, + stroke: { + colors: ['#fff'] + }, + fill: { + opacity: 1, + gradient: { + shade: 'light', + shadeIntensity: 0.35, + stops: [80, 100], + opacityFrom: 1, + opacityTo: 1 + } + }, + tooltip: { + theme: 'dark', + fillSeriesColor: true + }, + legend: { + position: 'right' + } + }; + } + }, { + key: "polarArea", + value: function polarArea() { + this.opts.yaxis[0].tickAmount = this.opts.yaxis[0].tickAmount ? this.opts.yaxis[0].tickAmount : 6; + return { + chart: { + toolbar: { + show: false + } + }, + dataLabels: { + formatter: function formatter(val) { + return val.toFixed(1) + '%'; + }, + enabled: false + }, + stroke: { + show: true, + width: 2 + }, + fill: { + opacity: 0.7 + }, + tooltip: { + theme: 'dark', + fillSeriesColor: true + }, + legend: { + position: 'right' + } + }; + } + }, { + key: "radar", + value: function radar() { + this.opts.yaxis[0].labels.offsetY = this.opts.yaxis[0].labels.offsetY ? this.opts.yaxis[0].labels.offsetY : 6; + return { + dataLabels: { + enabled: false, + style: { + fontSize: '11px' + } + }, + stroke: { + width: 2 + }, + markers: { + size: 3, + strokeWidth: 1, + strokeOpacity: 1 + }, + fill: { + opacity: 0.2 + }, + tooltip: { + shared: false, + intersect: true, + followCursor: true + }, + grid: { + show: false + }, + xaxis: { + labels: { + formatter: function formatter(val) { + return val; + }, + style: { + colors: ['#a8a8a8'], + fontSize: '11px' + } + }, + tooltip: { + enabled: false + }, + crosshairs: { + show: false + } + } + }; + } + }, { + key: "radialBar", + value: function radialBar() { + return { + chart: { + animations: { + dynamicAnimation: { + enabled: true, + speed: 800 + } + }, + toolbar: { + show: false + } + }, + fill: { + gradient: { + shade: 'dark', + shadeIntensity: 0.4, + inverseColors: false, + type: 'diagonal2', + opacityFrom: 1, + opacityTo: 1, + stops: [70, 98, 100] + } + }, + legend: { + show: false, + position: 'right' + }, + tooltip: { + enabled: false, + fillSeriesColor: true + } + }; + } + }, { + key: "_getBoxTooltip", + value: function _getBoxTooltip(w, seriesIndex, dataPointIndex, labels, chartType) { + var o = w.globals.seriesCandleO[seriesIndex][dataPointIndex]; + var h = w.globals.seriesCandleH[seriesIndex][dataPointIndex]; + var m = w.globals.seriesCandleM[seriesIndex][dataPointIndex]; + var l = w.globals.seriesCandleL[seriesIndex][dataPointIndex]; + var c = w.globals.seriesCandleC[seriesIndex][dataPointIndex]; + + if (w.config.series[seriesIndex].type && w.config.series[seriesIndex].type !== chartType) { + return "
\n ".concat(w.config.series[seriesIndex].name ? w.config.series[seriesIndex].name : 'series-' + (seriesIndex + 1), ": ").concat(w.globals.series[seriesIndex][dataPointIndex], "\n
"); + } else { + return "
") + "
".concat(labels[0], ": ") + o + '
' + "
".concat(labels[1], ": ") + h + '
' + (m ? "
".concat(labels[2], ": ") + m + '
' : '') + "
".concat(labels[3], ": ") + l + '
' + "
".concat(labels[4], ": ") + c + '
' + '
'; + } + } + }]); + + return Defaults; + }(); + + /** + * ApexCharts Config Class for extending user options with pre-defined ApexCharts config. + * + * @module Config + **/ + + var Config = /*#__PURE__*/function () { + function Config(opts) { + _classCallCheck(this, Config); + + this.opts = opts; + } + + _createClass(Config, [{ + key: "init", + value: function init(_ref) { + var responsiveOverride = _ref.responsiveOverride; + var opts = this.opts; + var options = new Options(); + var defaults = new Defaults(opts); + this.chartType = opts.chart.type; + opts = this.extendYAxis(opts); + opts = this.extendAnnotations(opts); + var config = options.init(); + var newDefaults = {}; + + if (opts && _typeof(opts) === 'object') { + var _opts$chart$brush, _opts$plotOptions, _opts$plotOptions$bar, _opts$chart$sparkline, _window$Apex$chart, _window$Apex$chart$sp; + + var chartDefaults = {}; + var chartTypes = ['line', 'area', 'bar', 'candlestick', 'boxPlot', 'rangeBar', 'rangeArea', 'bubble', 'scatter', 'heatmap', 'treemap', 'pie', 'polarArea', 'donut', 'radar', 'radialBar']; + + if (chartTypes.indexOf(opts.chart.type) !== -1) { + chartDefaults = defaults[opts.chart.type](); + } else { + chartDefaults = defaults.line(); + } + + if (opts.chart.stacked && opts.chart.type === 'bar') { + chartDefaults = defaults.stackedBars(); + } + + if ((_opts$chart$brush = opts.chart.brush) !== null && _opts$chart$brush !== void 0 && _opts$chart$brush.enabled) { + chartDefaults = defaults.brush(chartDefaults); + } + + if (opts.chart.stacked && opts.chart.stackType === '100%') { + opts = defaults.stacked100(opts); + } + + if ((_opts$plotOptions = opts.plotOptions) !== null && _opts$plotOptions !== void 0 && (_opts$plotOptions$bar = _opts$plotOptions.bar) !== null && _opts$plotOptions$bar !== void 0 && _opts$plotOptions$bar.isDumbbell) { + opts = defaults.dumbbell(opts); + } // If user has specified a dark theme, make the tooltip dark too + + + this.checkForDarkTheme(window.Apex); // check global window Apex options + + this.checkForDarkTheme(opts); // check locally passed options + + opts.xaxis = opts.xaxis || window.Apex.xaxis || {}; // an important boolean needs to be set here + // otherwise all the charts will have this flag set to true window.Apex.xaxis is set globally + + if (!responsiveOverride) { + opts.xaxis.convertedCatToNumeric = false; + } + + opts = this.checkForCatToNumericXAxis(this.chartType, chartDefaults, opts); + + if ((_opts$chart$sparkline = opts.chart.sparkline) !== null && _opts$chart$sparkline !== void 0 && _opts$chart$sparkline.enabled || (_window$Apex$chart = window.Apex.chart) !== null && _window$Apex$chart !== void 0 && (_window$Apex$chart$sp = _window$Apex$chart.sparkline) !== null && _window$Apex$chart$sp !== void 0 && _window$Apex$chart$sp.enabled) { + chartDefaults = defaults.sparkline(chartDefaults); + } + + newDefaults = Utils$1.extend(config, chartDefaults); + } // config should cascade in this fashion + // default-config < global-apex-variable-config < user-defined-config + // get GLOBALLY defined options and merge with the default config + + + var mergedWithDefaultConfig = Utils$1.extend(newDefaults, window.Apex); // get the merged config and extend with user defined config + + config = Utils$1.extend(mergedWithDefaultConfig, opts); // some features are not supported. those mismatches should be handled + + config = this.handleUserInputErrors(config); + return config; + } + }, { + key: "checkForCatToNumericXAxis", + value: function checkForCatToNumericXAxis(chartType, chartDefaults, opts) { + var _opts$plotOptions2, _opts$plotOptions2$ba; + + var defaults = new Defaults(opts); + var isBarHorizontal = (chartType === 'bar' || chartType === 'boxPlot') && ((_opts$plotOptions2 = opts.plotOptions) === null || _opts$plotOptions2 === void 0 ? void 0 : (_opts$plotOptions2$ba = _opts$plotOptions2.bar) === null || _opts$plotOptions2$ba === void 0 ? void 0 : _opts$plotOptions2$ba.horizontal); + var unsupportedZoom = chartType === 'pie' || chartType === 'polarArea' || chartType === 'donut' || chartType === 'radar' || chartType === 'radialBar' || chartType === 'heatmap'; + var notNumericXAxis = opts.xaxis.type !== 'datetime' && opts.xaxis.type !== 'numeric'; + var tickPlacement = opts.xaxis.tickPlacement ? opts.xaxis.tickPlacement : chartDefaults.xaxis && chartDefaults.xaxis.tickPlacement; + + if (!isBarHorizontal && !unsupportedZoom && notNumericXAxis && tickPlacement !== 'between') { + opts = defaults.convertCatToNumeric(opts); + } + + return opts; + } + }, { + key: "extendYAxis", + value: function extendYAxis(opts, w) { + var options = new Options(); + + if (typeof opts.yaxis === 'undefined' || !opts.yaxis || Array.isArray(opts.yaxis) && opts.yaxis.length === 0) { + opts.yaxis = {}; + } // extend global yaxis config (only if object is provided / not an array) + + + if (opts.yaxis.constructor !== Array && window.Apex.yaxis && window.Apex.yaxis.constructor !== Array) { + opts.yaxis = Utils$1.extend(opts.yaxis, window.Apex.yaxis); + } // as we can't extend nested object's array with extend, we need to do it first + // user can provide either an array or object in yaxis config + + + if (opts.yaxis.constructor !== Array) { + // convert the yaxis to array if user supplied object + opts.yaxis = [Utils$1.extend(options.yAxis, opts.yaxis)]; + } else { + opts.yaxis = Utils$1.extendArray(opts.yaxis, options.yAxis); + } + + var isLogY = false; + opts.yaxis.forEach(function (y) { + if (y.logarithmic) { + isLogY = true; + } + }); + var series = opts.series; + + if (w && !series) { + series = w.config.series; + } // A logarithmic chart works correctly when each series has a corresponding y-axis + // If this is not the case, we manually create yaxis for multi-series log chart + + + if (isLogY && series.length !== opts.yaxis.length && series.length) { + opts.yaxis = series.map(function (s, i) { + if (!s.name) { + series[i].name = "series-".concat(i + 1); + } + + if (opts.yaxis[i]) { + opts.yaxis[i].seriesName = series[i].name; + return opts.yaxis[i]; + } else { + var newYaxis = Utils$1.extend(options.yAxis, opts.yaxis[0]); + newYaxis.show = false; + return newYaxis; + } + }); + } + + if (isLogY && series.length > 1 && series.length !== opts.yaxis.length) { + console.warn('A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both.'); + } + + return opts; + } // annotations also accepts array, so we need to extend them manually + + }, { + key: "extendAnnotations", + value: function extendAnnotations(opts) { + if (typeof opts.annotations === 'undefined') { + opts.annotations = {}; + opts.annotations.yaxis = []; + opts.annotations.xaxis = []; + opts.annotations.points = []; + } + + opts = this.extendYAxisAnnotations(opts); + opts = this.extendXAxisAnnotations(opts); + opts = this.extendPointAnnotations(opts); + return opts; + } + }, { + key: "extendYAxisAnnotations", + value: function extendYAxisAnnotations(opts) { + var options = new Options(); + opts.annotations.yaxis = Utils$1.extendArray(typeof opts.annotations.yaxis !== 'undefined' ? opts.annotations.yaxis : [], options.yAxisAnnotation); + return opts; + } + }, { + key: "extendXAxisAnnotations", + value: function extendXAxisAnnotations(opts) { + var options = new Options(); + opts.annotations.xaxis = Utils$1.extendArray(typeof opts.annotations.xaxis !== 'undefined' ? opts.annotations.xaxis : [], options.xAxisAnnotation); + return opts; + } + }, { + key: "extendPointAnnotations", + value: function extendPointAnnotations(opts) { + var options = new Options(); + opts.annotations.points = Utils$1.extendArray(typeof opts.annotations.points !== 'undefined' ? opts.annotations.points : [], options.pointAnnotation); + return opts; + } + }, { + key: "checkForDarkTheme", + value: function checkForDarkTheme(opts) { + if (opts.theme && opts.theme.mode === 'dark') { + if (!opts.tooltip) { + opts.tooltip = {}; + } + + if (opts.tooltip.theme !== 'light') { + opts.tooltip.theme = 'dark'; + } + + if (!opts.chart.foreColor) { + opts.chart.foreColor = '#f6f7f8'; + } + + if (!opts.chart.background) { + opts.chart.background = '#424242'; + } + + if (!opts.theme.palette) { + opts.theme.palette = 'palette4'; + } + } + } + }, { + key: "handleUserInputErrors", + value: function handleUserInputErrors(opts) { + var config = opts; // conflicting tooltip option. intersect makes sure to focus on 1 point at a time. Shared cannot be used along with it + + if (config.tooltip.shared && config.tooltip.intersect) { + throw new Error('tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.'); + } + + if (config.chart.type === 'bar' && config.plotOptions.bar.horizontal) { + // No multiple yaxis for bars + if (config.yaxis.length > 1) { + throw new Error('Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false'); + } // if yaxis is reversed in horizontal bar chart, you should draw the y-axis on right side + + + if (config.yaxis[0].reversed) { + config.yaxis[0].opposite = true; + } + + config.xaxis.tooltip.enabled = false; // no xaxis tooltip for horizontal bar + + config.yaxis[0].tooltip.enabled = false; // no xaxis tooltip for horizontal bar + + config.chart.zoom.enabled = false; // no zooming for horz bars + } + + if (config.chart.type === 'bar' || config.chart.type === 'rangeBar') { + if (config.tooltip.shared) { + if (config.xaxis.crosshairs.width === 'barWidth' && config.series.length > 1) { + config.xaxis.crosshairs.width = 'tickWidth'; + } + } + } + + if (config.chart.type === 'candlestick' || config.chart.type === 'boxPlot') { + if (config.yaxis[0].reversed) { + console.warn("Reversed y-axis in ".concat(config.chart.type, " chart is not supported.")); + config.yaxis[0].reversed = false; + } + } + + return config; + } + }]); + + return Config; + }(); + + var Globals = /*#__PURE__*/function () { + function Globals() { + _classCallCheck(this, Globals); + } + + _createClass(Globals, [{ + key: "initGlobalVars", + value: function initGlobalVars(gl) { + gl.series = []; // the MAIN series array (y values) + + gl.seriesCandleO = []; + gl.seriesCandleH = []; + gl.seriesCandleM = []; + gl.seriesCandleL = []; + gl.seriesCandleC = []; + gl.seriesRangeStart = []; + gl.seriesRangeEnd = []; + gl.seriesRange = []; + gl.seriesPercent = []; + gl.seriesGoals = []; + gl.seriesX = []; + gl.seriesZ = []; + gl.seriesNames = []; + gl.seriesTotals = []; + gl.seriesLog = []; + gl.seriesColors = []; + gl.stackedSeriesTotals = []; + gl.seriesXvalues = []; // we will need this in tooltip (it's x position) + // when we will have unequal x values, we will need + // some way to get x value depending on mouse pointer + + gl.seriesYvalues = []; // we will need this when deciding which series + // user hovered on + + gl.labels = []; + gl.hasXaxisGroups = false; + gl.groups = []; + gl.hasSeriesGroups = false; + gl.seriesGroups = []; + gl.categoryLabels = []; + gl.timescaleLabels = []; + gl.noLabelsProvided = false; + gl.resizeTimer = null; + gl.selectionResizeTimer = null; + gl.delayedElements = []; + gl.pointsArray = []; + gl.dataLabelsRects = []; + gl.isXNumeric = false; + gl.skipLastTimelinelabel = false; + gl.skipFirstTimelinelabel = false; + gl.isDataXYZ = false; + gl.isMultiLineX = false; + gl.isMultipleYAxis = false; + gl.maxY = -Number.MAX_VALUE; + gl.minY = Number.MIN_VALUE; + gl.minYArr = []; + gl.maxYArr = []; + gl.maxX = -Number.MAX_VALUE; + gl.minX = Number.MAX_VALUE; + gl.initialMaxX = -Number.MAX_VALUE; + gl.initialMinX = Number.MAX_VALUE; + gl.maxDate = 0; + gl.minDate = Number.MAX_VALUE; + gl.minZ = Number.MAX_VALUE; + gl.maxZ = -Number.MAX_VALUE; + gl.minXDiff = Number.MAX_VALUE; + gl.yAxisScale = []; + gl.xAxisScale = null; + gl.xAxisTicksPositions = []; + gl.yLabelsCoords = []; + gl.yTitleCoords = []; + gl.barPadForNumericAxis = 0; + gl.padHorizontal = 0; + gl.xRange = 0; + gl.yRange = []; + gl.zRange = 0; + gl.dataPoints = 0; + gl.xTickAmount = 0; + } + }, { + key: "globalVars", + value: function globalVars(config) { + return { + chartID: null, + // chart ID - apexcharts-cuid + cuid: null, + // chart ID - random numbers excluding "apexcharts" part + events: { + beforeMount: [], + mounted: [], + updated: [], + clicked: [], + selection: [], + dataPointSelection: [], + zoomed: [], + scrolled: [] + }, + colors: [], + clientX: null, + clientY: null, + fill: { + colors: [] + }, + stroke: { + colors: [] + }, + dataLabels: { + style: { + colors: [] + } + }, + radarPolygons: { + fill: { + colors: [] + } + }, + markers: { + colors: [], + size: config.markers.size, + largestSize: 0 + }, + animationEnded: false, + isTouchDevice: 'ontouchstart' in window || navigator.msMaxTouchPoints, + isDirty: false, + // chart has been updated after the initial render. This is different than dataChanged property. isDirty means user manually called some method to update + isExecCalled: false, + // whether user updated the chart through the exec method + initialConfig: null, + // we will store the first config user has set to go back when user finishes interactions like zooming and come out of it + initialSeries: [], + lastXAxis: [], + lastYAxis: [], + columnSeries: null, + labels: [], + // store the text to draw on x axis + // Don't mutate the labels, many things including tooltips depends on it! + timescaleLabels: [], + // store the timescaleLabels Labels in another variable + noLabelsProvided: false, + // if user didn't provide any categories/labels or x values, fallback to 1,2,3,4... + allSeriesCollapsed: false, + collapsedSeries: [], + // when user collapses a series, it goes into this array + collapsedSeriesIndices: [], + // this stores the index of the collapsedSeries instead of whole object for quick access + ancillaryCollapsedSeries: [], + // when user collapses an "alwaysVisible" series, it goes into this array + ancillaryCollapsedSeriesIndices: [], + // this stores the index of the ancillaryCollapsedSeries whose y-axis is always visible + risingSeries: [], + // when user re-opens a collapsed series, it goes here + dataFormatXNumeric: false, + // boolean value to indicate user has passed numeric x values + capturedSeriesIndex: -1, + capturedDataPointIndex: -1, + selectedDataPoints: [], + goldenPadding: 35, + // this value is used at a lot of places for spacing purpose + invalidLogScale: false, + // if a user enabled log scale but the data provided is not valid to generate a log scale, turn on this flag + ignoreYAxisIndexes: [], + // when series are being collapsed in multiple y axes, ignore certain index + yAxisSameScaleIndices: [], + maxValsInArrayIndex: 0, + radialSize: 0, + selection: undefined, + zoomEnabled: config.chart.toolbar.autoSelected === 'zoom' && config.chart.toolbar.tools.zoom && config.chart.zoom.enabled, + panEnabled: config.chart.toolbar.autoSelected === 'pan' && config.chart.toolbar.tools.pan, + selectionEnabled: config.chart.toolbar.autoSelected === 'selection' && config.chart.toolbar.tools.selection, + yaxis: null, + mousedown: false, + lastClientPosition: {}, + // don't reset this variable this the chart is destroyed. It is used to detect right or left mousemove in panning + visibleXRange: undefined, + yValueDecimal: 0, + // are there floating numbers in the series. If yes, this represent the len of the decimals + total: 0, + SVGNS: 'http://www.w3.org/2000/svg', + // svg namespace + svgWidth: 0, + // the whole svg width + svgHeight: 0, + // the whole svg height + noData: false, + // whether there is any data to display or not + locale: {}, + // the current locale values will be preserved here for global access + dom: {}, + // for storing all dom nodes in this particular property + memory: { + methodsToExec: [] + }, + shouldAnimate: true, + skipLastTimelinelabel: false, + // when last label is cropped, skip drawing it + skipFirstTimelinelabel: false, + // when first label is cropped, skip drawing it + delayedElements: [], + // element which appear after animation has finished + axisCharts: true, + // chart type = line or area or bar + // (refer them also as plot charts in the code) + isDataXYZ: false, + // bool: data was provided in a {[x,y,z]} pattern + resized: false, + // bool: user has resized + resizeTimer: null, + // timeout function to make a small delay before + // drawing when user resized + comboCharts: false, + // bool: whether it's a combination of line/column + dataChanged: false, + // bool: has data changed dynamically + previousPaths: [], + // array: when data is changed, it will animate from + // previous paths + allSeriesHasEqualX: true, + pointsArray: [], + // store the points positions here to draw later on hover + // format is - [[x,y],[x,y]... [x,y]] + dataLabelsRects: [], + // store the positions of datalabels to prevent collision + lastDrawnDataLabelsIndexes: [], + hasNullValues: false, + // bool: whether series contains null values + easing: null, + // function: animation effect to apply + zoomed: false, + // whether user has zoomed or not + gridWidth: 0, + // drawable width of actual graphs (series paths) + gridHeight: 0, + // drawable height of actual graphs (series paths) + rotateXLabels: false, + defaultLabels: false, + xLabelFormatter: undefined, + // formatter for x axis labels + yLabelFormatters: [], + xaxisTooltipFormatter: undefined, + // formatter for x axis tooltip + ttKeyFormatter: undefined, + ttVal: undefined, + ttZFormatter: undefined, + LINE_HEIGHT_RATIO: 1.618, + xAxisLabelsHeight: 0, + xAxisGroupLabelsHeight: 0, + xAxisLabelsWidth: 0, + yAxisLabelsWidth: 0, + scaleX: 1, + scaleY: 1, + translateX: 0, + translateY: 0, + translateYAxisX: [], + yAxisWidths: [], + translateXAxisY: 0, + translateXAxisX: 0, + tooltip: null + }; + } + }, { + key: "init", + value: function init(config) { + var globals = this.globalVars(config); + this.initGlobalVars(globals); + globals.initialConfig = Utils$1.extend({}, config); + globals.initialSeries = Utils$1.clone(config.series); + globals.lastXAxis = Utils$1.clone(globals.initialConfig.xaxis); + globals.lastYAxis = Utils$1.clone(globals.initialConfig.yaxis); + return globals; + } + }]); + + return Globals; + }(); + + /** + * ApexCharts Base Class for extending user options with pre-defined ApexCharts config. + * + * @module Base + **/ + + var Base = /*#__PURE__*/function () { + function Base(opts) { + _classCallCheck(this, Base); + + this.opts = opts; + } + + _createClass(Base, [{ + key: "init", + value: function init() { + var config = new Config(this.opts).init({ + responsiveOverride: false + }); + var globals = new Globals().init(config); + var w = { + config: config, + globals: globals + }; + return w; + } + }]); + + return Base; + }(); + + /** + * ApexCharts Fill Class for setting fill options of the paths. + * + * @module Fill + **/ + + var Fill = /*#__PURE__*/function () { + function Fill(ctx) { + _classCallCheck(this, Fill); + + this.ctx = ctx; + this.w = ctx.w; + this.opts = null; + this.seriesIndex = 0; + } + + _createClass(Fill, [{ + key: "clippedImgArea", + value: function clippedImgArea(params) { + var w = this.w; + var cnf = w.config; + var svgW = parseInt(w.globals.gridWidth, 10); + var svgH = parseInt(w.globals.gridHeight, 10); + var size = svgW > svgH ? svgW : svgH; + var fillImg = params.image; + var imgWidth = 0; + var imgHeight = 0; + + if (typeof params.width === 'undefined' && typeof params.height === 'undefined') { + if (cnf.fill.image.width !== undefined && cnf.fill.image.height !== undefined) { + imgWidth = cnf.fill.image.width + 1; + imgHeight = cnf.fill.image.height; + } else { + imgWidth = size + 1; + imgHeight = size; + } + } else { + imgWidth = params.width; + imgHeight = params.height; + } + + var elPattern = document.createElementNS(w.globals.SVGNS, 'pattern'); + Graphics.setAttrs(elPattern, { + id: params.patternID, + patternUnits: params.patternUnits ? params.patternUnits : 'userSpaceOnUse', + width: imgWidth + 'px', + height: imgHeight + 'px' + }); + var elImage = document.createElementNS(w.globals.SVGNS, 'image'); + elPattern.appendChild(elImage); + elImage.setAttributeNS(window.SVG.xlink, 'href', fillImg); + Graphics.setAttrs(elImage, { + x: 0, + y: 0, + preserveAspectRatio: 'none', + width: imgWidth + 'px', + height: imgHeight + 'px' + }); + elImage.style.opacity = params.opacity; + w.globals.dom.elDefs.node.appendChild(elPattern); + } + }, { + key: "getSeriesIndex", + value: function getSeriesIndex(opts) { + var w = this.w; + + if ((w.config.chart.type === 'bar' || w.config.chart.type === 'rangeBar') && w.config.plotOptions.bar.distributed || w.config.chart.type === 'heatmap' || w.config.chart.type === 'treemap') { + this.seriesIndex = opts.seriesNumber; + } else { + this.seriesIndex = opts.seriesNumber % w.globals.series.length; + } + + return this.seriesIndex; + } + }, { + key: "fillPath", + value: function fillPath(opts) { + var w = this.w; + this.opts = opts; + var cnf = this.w.config; + var pathFill; + var patternFill, gradientFill; + this.seriesIndex = this.getSeriesIndex(opts); + var fillColors = this.getFillColors(); + var fillColor = fillColors[this.seriesIndex]; //override fillcolor if user inputted color with data + + if (w.globals.seriesColors[this.seriesIndex] !== undefined) { + fillColor = w.globals.seriesColors[this.seriesIndex]; + } + + if (typeof fillColor === 'function') { + fillColor = fillColor({ + seriesIndex: this.seriesIndex, + dataPointIndex: opts.dataPointIndex, + value: opts.value, + w: w + }); + } + + var fillType = opts.fillType ? opts.fillType : this.getFillType(this.seriesIndex); + var fillOpacity = Array.isArray(cnf.fill.opacity) ? cnf.fill.opacity[this.seriesIndex] : cnf.fill.opacity; + + if (opts.color) { + fillColor = opts.color; + } + + var defaultColor = fillColor; + + if (fillColor.indexOf('rgb') === -1) { + if (fillColor.length < 9) { + // if the hex contains alpha and is of 9 digit, skip the opacity + defaultColor = Utils$1.hexToRgba(fillColor, fillOpacity); + } + } else { + if (fillColor.indexOf('rgba') > -1) { + fillOpacity = Utils$1.getOpacityFromRGBA(fillColor); + } + } + + if (opts.opacity) fillOpacity = opts.opacity; + + if (fillType === 'pattern') { + patternFill = this.handlePatternFill({ + fillConfig: opts.fillConfig, + patternFill: patternFill, + fillColor: fillColor, + fillOpacity: fillOpacity, + defaultColor: defaultColor + }); + } + + if (fillType === 'gradient') { + gradientFill = this.handleGradientFill({ + fillConfig: opts.fillConfig, + fillColor: fillColor, + fillOpacity: fillOpacity, + i: this.seriesIndex + }); + } + + if (fillType === 'image') { + var imgSrc = cnf.fill.image.src; + var patternID = opts.patternID ? opts.patternID : ''; + this.clippedImgArea({ + opacity: fillOpacity, + image: Array.isArray(imgSrc) ? opts.seriesNumber < imgSrc.length ? imgSrc[opts.seriesNumber] : imgSrc[0] : imgSrc, + width: opts.width ? opts.width : undefined, + height: opts.height ? opts.height : undefined, + patternUnits: opts.patternUnits, + patternID: "pattern".concat(w.globals.cuid).concat(opts.seriesNumber + 1).concat(patternID) + }); + pathFill = "url(#pattern".concat(w.globals.cuid).concat(opts.seriesNumber + 1).concat(patternID, ")"); + } else if (fillType === 'gradient') { + pathFill = gradientFill; + } else if (fillType === 'pattern') { + pathFill = patternFill; + } else { + pathFill = defaultColor; + } // override pattern/gradient if opts.solid is true + + + if (opts.solid) { + pathFill = defaultColor; + } + + return pathFill; + } + }, { + key: "getFillType", + value: function getFillType(seriesIndex) { + var w = this.w; + + if (Array.isArray(w.config.fill.type)) { + return w.config.fill.type[seriesIndex]; + } else { + return w.config.fill.type; + } + } + }, { + key: "getFillColors", + value: function getFillColors() { + var w = this.w; + var cnf = w.config; + var opts = this.opts; + var fillColors = []; + + if (w.globals.comboCharts) { + if (w.config.series[this.seriesIndex].type === 'line') { + if (Array.isArray(w.globals.stroke.colors)) { + fillColors = w.globals.stroke.colors; + } else { + fillColors.push(w.globals.stroke.colors); + } + } else { + if (Array.isArray(w.globals.fill.colors)) { + fillColors = w.globals.fill.colors; + } else { + fillColors.push(w.globals.fill.colors); + } + } + } else { + if (cnf.chart.type === 'line') { + if (Array.isArray(w.globals.stroke.colors)) { + fillColors = w.globals.stroke.colors; + } else { + fillColors.push(w.globals.stroke.colors); + } + } else { + if (Array.isArray(w.globals.fill.colors)) { + fillColors = w.globals.fill.colors; + } else { + fillColors.push(w.globals.fill.colors); + } + } + } // colors passed in arguments + + + if (typeof opts.fillColors !== 'undefined') { + fillColors = []; + + if (Array.isArray(opts.fillColors)) { + fillColors = opts.fillColors.slice(); + } else { + fillColors.push(opts.fillColors); + } + } + + return fillColors; + } + }, { + key: "handlePatternFill", + value: function handlePatternFill(_ref) { + var fillConfig = _ref.fillConfig, + patternFill = _ref.patternFill, + fillColor = _ref.fillColor, + fillOpacity = _ref.fillOpacity, + defaultColor = _ref.defaultColor; + var fillCnf = this.w.config.fill; + + if (fillConfig) { + fillCnf = fillConfig; + } + + var opts = this.opts; + var graphics = new Graphics(this.ctx); + var patternStrokeWidth = Array.isArray(fillCnf.pattern.strokeWidth) ? fillCnf.pattern.strokeWidth[this.seriesIndex] : fillCnf.pattern.strokeWidth; + var patternLineColor = fillColor; + + if (Array.isArray(fillCnf.pattern.style)) { + if (typeof fillCnf.pattern.style[opts.seriesNumber] !== 'undefined') { + var pf = graphics.drawPattern(fillCnf.pattern.style[opts.seriesNumber], fillCnf.pattern.width, fillCnf.pattern.height, patternLineColor, patternStrokeWidth, fillOpacity); + patternFill = pf; + } else { + patternFill = defaultColor; + } + } else { + patternFill = graphics.drawPattern(fillCnf.pattern.style, fillCnf.pattern.width, fillCnf.pattern.height, patternLineColor, patternStrokeWidth, fillOpacity); + } + + return patternFill; + } + }, { + key: "handleGradientFill", + value: function handleGradientFill(_ref2) { + var fillColor = _ref2.fillColor, + fillOpacity = _ref2.fillOpacity, + fillConfig = _ref2.fillConfig, + i = _ref2.i; + var fillCnf = this.w.config.fill; + + if (fillConfig) { + fillCnf = _objectSpread2(_objectSpread2({}, fillCnf), fillConfig); + } + + var opts = this.opts; + var graphics = new Graphics(this.ctx); + var utils = new Utils$1(); + var type = fillCnf.gradient.type; + var gradientFrom = fillColor; + var gradientTo; + var opacityFrom = fillCnf.gradient.opacityFrom === undefined ? fillOpacity : Array.isArray(fillCnf.gradient.opacityFrom) ? fillCnf.gradient.opacityFrom[i] : fillCnf.gradient.opacityFrom; + + if (gradientFrom.indexOf('rgba') > -1) { + opacityFrom = Utils$1.getOpacityFromRGBA(gradientFrom); + } + + var opacityTo = fillCnf.gradient.opacityTo === undefined ? fillOpacity : Array.isArray(fillCnf.gradient.opacityTo) ? fillCnf.gradient.opacityTo[i] : fillCnf.gradient.opacityTo; + + if (fillCnf.gradient.gradientToColors === undefined || fillCnf.gradient.gradientToColors.length === 0) { + if (fillCnf.gradient.shade === 'dark') { + gradientTo = utils.shadeColor(parseFloat(fillCnf.gradient.shadeIntensity) * -1, fillColor.indexOf('rgb') > -1 ? Utils$1.rgb2hex(fillColor) : fillColor); + } else { + gradientTo = utils.shadeColor(parseFloat(fillCnf.gradient.shadeIntensity), fillColor.indexOf('rgb') > -1 ? Utils$1.rgb2hex(fillColor) : fillColor); + } + } else { + if (fillCnf.gradient.gradientToColors[opts.seriesNumber]) { + var gToColor = fillCnf.gradient.gradientToColors[opts.seriesNumber]; + gradientTo = gToColor; + + if (gToColor.indexOf('rgba') > -1) { + opacityTo = Utils$1.getOpacityFromRGBA(gToColor); + } + } else { + gradientTo = fillColor; + } + } + + if (fillCnf.gradient.gradientFrom) { + gradientFrom = fillCnf.gradient.gradientFrom; + } + + if (fillCnf.gradient.gradientTo) { + gradientTo = fillCnf.gradient.gradientTo; + } + + if (fillCnf.gradient.inverseColors) { + var t = gradientFrom; + gradientFrom = gradientTo; + gradientTo = t; + } + + if (gradientFrom.indexOf('rgb') > -1) { + gradientFrom = Utils$1.rgb2hex(gradientFrom); + } + + if (gradientTo.indexOf('rgb') > -1) { + gradientTo = Utils$1.rgb2hex(gradientTo); + } + + return graphics.drawGradient(type, gradientFrom, gradientTo, opacityFrom, opacityTo, opts.size, fillCnf.gradient.stops, fillCnf.gradient.colorStops, i); + } + }]); + + return Fill; + }(); + + /** + * ApexCharts Markers Class for drawing points on y values in axes charts. + * + * @module Markers + **/ + + var Markers = /*#__PURE__*/function () { + function Markers(ctx, opts) { + _classCallCheck(this, Markers); + + this.ctx = ctx; + this.w = ctx.w; + } + + _createClass(Markers, [{ + key: "setGlobalMarkerSize", + value: function setGlobalMarkerSize() { + var w = this.w; + w.globals.markers.size = Array.isArray(w.config.markers.size) ? w.config.markers.size : [w.config.markers.size]; + + if (w.globals.markers.size.length > 0) { + if (w.globals.markers.size.length < w.globals.series.length + 1) { + for (var i = 0; i <= w.globals.series.length; i++) { + if (typeof w.globals.markers.size[i] === 'undefined') { + w.globals.markers.size.push(w.globals.markers.size[0]); + } + } + } + } else { + w.globals.markers.size = w.config.series.map(function (s) { + return w.config.markers.size; + }); + } + } + }, { + key: "plotChartMarkers", + value: function plotChartMarkers(pointsPos, seriesIndex, j, pSize) { + var alwaysDrawMarker = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + var w = this.w; + var i = seriesIndex; + var p = pointsPos; + var elPointsWrap = null; + var graphics = new Graphics(this.ctx); + var point; + var hasDiscreteMarkers = w.config.markers.discrete && w.config.markers.discrete.length; + + if (w.globals.markers.size[seriesIndex] > 0 || alwaysDrawMarker || hasDiscreteMarkers) { + elPointsWrap = graphics.group({ + class: alwaysDrawMarker || hasDiscreteMarkers ? '' : 'apexcharts-series-markers' + }); + elPointsWrap.attr('clip-path', "url(#gridRectMarkerMask".concat(w.globals.cuid, ")")); + } + + if (Array.isArray(p.x)) { + for (var q = 0; q < p.x.length; q++) { + var dataPointIndex = j; // a small hack as we have 2 points for the first val to connect it + + if (j === 1 && q === 0) dataPointIndex = 0; + if (j === 1 && q === 1) dataPointIndex = 1; + var PointClasses = 'apexcharts-marker'; + + if ((w.config.chart.type === 'line' || w.config.chart.type === 'area') && !w.globals.comboCharts && !w.config.tooltip.intersect) { + PointClasses += ' no-pointer-events'; + } + + var shouldMarkerDraw = Array.isArray(w.config.markers.size) ? w.globals.markers.size[seriesIndex] > 0 : w.config.markers.size > 0; + + if (shouldMarkerDraw || alwaysDrawMarker || hasDiscreteMarkers) { + if (Utils$1.isNumber(p.y[q])) { + PointClasses += " w".concat(Utils$1.randomId()); + } else { + PointClasses = 'apexcharts-nullpoint'; + } + + var opts = this.getMarkerConfig({ + cssClass: PointClasses, + seriesIndex: seriesIndex, + dataPointIndex: dataPointIndex + }); + + if (w.config.series[i].data[dataPointIndex]) { + if (w.config.series[i].data[dataPointIndex].fillColor) { + opts.pointFillColor = w.config.series[i].data[dataPointIndex].fillColor; + } + + if (w.config.series[i].data[dataPointIndex].strokeColor) { + opts.pointStrokeColor = w.config.series[i].data[dataPointIndex].strokeColor; + } + } + + if (pSize) { + opts.pSize = pSize; + } + + if (p.x[q] < 0 || p.x[q] > w.globals.gridWidth || p.y[q] < 0 || p.y[q] > w.globals.gridHeight) { + opts.pSize = 0; + } + + point = graphics.drawMarker(p.x[q], p.y[q], opts); + point.attr('rel', dataPointIndex); + point.attr('j', dataPointIndex); + point.attr('index', seriesIndex); + point.node.setAttribute('default-marker-size', opts.pSize); + var filters = new Filters(this.ctx); + filters.setSelectionFilter(point, seriesIndex, dataPointIndex); + this.addEvents(point); + + if (elPointsWrap) { + elPointsWrap.add(point); + } + } else { + // dynamic array creation - multidimensional + if (typeof w.globals.pointsArray[seriesIndex] === 'undefined') w.globals.pointsArray[seriesIndex] = []; + w.globals.pointsArray[seriesIndex].push([p.x[q], p.y[q]]); + } + } + } + + return elPointsWrap; + } + }, { + key: "getMarkerConfig", + value: function getMarkerConfig(_ref) { + var cssClass = _ref.cssClass, + seriesIndex = _ref.seriesIndex, + _ref$dataPointIndex = _ref.dataPointIndex, + dataPointIndex = _ref$dataPointIndex === void 0 ? null : _ref$dataPointIndex, + _ref$finishRadius = _ref.finishRadius, + finishRadius = _ref$finishRadius === void 0 ? null : _ref$finishRadius; + var w = this.w; + var pStyle = this.getMarkerStyle(seriesIndex); + var pSize = w.globals.markers.size[seriesIndex]; + var m = w.config.markers; // discrete markers is an option where user can specify a particular marker with different shape, size and color + + if (dataPointIndex !== null && m.discrete.length) { + m.discrete.map(function (marker) { + if (marker.seriesIndex === seriesIndex && marker.dataPointIndex === dataPointIndex) { + pStyle.pointStrokeColor = marker.strokeColor; + pStyle.pointFillColor = marker.fillColor; + pSize = marker.size; + pStyle.pointShape = marker.shape; + } + }); + } + + return { + pSize: finishRadius === null ? pSize : finishRadius, + pRadius: m.radius, + width: Array.isArray(m.width) ? m.width[seriesIndex] : m.width, + height: Array.isArray(m.height) ? m.height[seriesIndex] : m.height, + pointStrokeWidth: Array.isArray(m.strokeWidth) ? m.strokeWidth[seriesIndex] : m.strokeWidth, + pointStrokeColor: pStyle.pointStrokeColor, + pointFillColor: pStyle.pointFillColor, + shape: pStyle.pointShape || (Array.isArray(m.shape) ? m.shape[seriesIndex] : m.shape), + class: cssClass, + pointStrokeOpacity: Array.isArray(m.strokeOpacity) ? m.strokeOpacity[seriesIndex] : m.strokeOpacity, + pointStrokeDashArray: Array.isArray(m.strokeDashArray) ? m.strokeDashArray[seriesIndex] : m.strokeDashArray, + pointFillOpacity: Array.isArray(m.fillOpacity) ? m.fillOpacity[seriesIndex] : m.fillOpacity, + seriesIndex: seriesIndex + }; + } + }, { + key: "addEvents", + value: function addEvents(circle) { + var w = this.w; + var graphics = new Graphics(this.ctx); + circle.node.addEventListener('mouseenter', graphics.pathMouseEnter.bind(this.ctx, circle)); + circle.node.addEventListener('mouseleave', graphics.pathMouseLeave.bind(this.ctx, circle)); + circle.node.addEventListener('mousedown', graphics.pathMouseDown.bind(this.ctx, circle)); + circle.node.addEventListener('click', w.config.markers.onClick); + circle.node.addEventListener('dblclick', w.config.markers.onDblClick); + circle.node.addEventListener('touchstart', graphics.pathMouseDown.bind(this.ctx, circle), { + passive: true + }); + } + }, { + key: "getMarkerStyle", + value: function getMarkerStyle(seriesIndex) { + var w = this.w; + var colors = w.globals.markers.colors; + var strokeColors = w.config.markers.strokeColor || w.config.markers.strokeColors; + var pointStrokeColor = Array.isArray(strokeColors) ? strokeColors[seriesIndex] : strokeColors; + var pointFillColor = Array.isArray(colors) ? colors[seriesIndex] : colors; + return { + pointStrokeColor: pointStrokeColor, + pointFillColor: pointFillColor + }; + } + }]); + + return Markers; + }(); + + /** + * ApexCharts Scatter Class. + * This Class also handles bubbles chart as currently there is no major difference in drawing them, + * @module Scatter + **/ + + var Scatter = /*#__PURE__*/function () { + function Scatter(ctx) { + _classCallCheck(this, Scatter); + + this.ctx = ctx; + this.w = ctx.w; + this.initialAnim = this.w.config.chart.animations.enabled; + this.dynamicAnim = this.initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled; + } + + _createClass(Scatter, [{ + key: "draw", + value: function draw(elSeries, j, opts) { + var w = this.w; + var graphics = new Graphics(this.ctx); + var realIndex = opts.realIndex; + var pointsPos = opts.pointsPos; + var zRatio = opts.zRatio; + var elPointsMain = opts.elParent; + var elPointsWrap = graphics.group({ + class: "apexcharts-series-markers apexcharts-series-".concat(w.config.chart.type) + }); + elPointsWrap.attr('clip-path', "url(#gridRectMarkerMask".concat(w.globals.cuid, ")")); + + if (Array.isArray(pointsPos.x)) { + for (var q = 0; q < pointsPos.x.length; q++) { + var dataPointIndex = j + 1; + var shouldDraw = true; // a small hack as we have 2 points for the first val to connect it + + if (j === 0 && q === 0) dataPointIndex = 0; + if (j === 0 && q === 1) dataPointIndex = 1; + var radius = 0; + var finishRadius = w.globals.markers.size[realIndex]; + + if (zRatio !== Infinity) { + // means we have a bubble + var bubble = w.config.plotOptions.bubble; + finishRadius = w.globals.seriesZ[realIndex][dataPointIndex]; + + if (bubble.zScaling) { + finishRadius /= zRatio; + } + + if (bubble.minBubbleRadius && finishRadius < bubble.minBubbleRadius) { + finishRadius = bubble.minBubbleRadius; + } + + if (bubble.maxBubbleRadius && finishRadius > bubble.maxBubbleRadius) { + finishRadius = bubble.maxBubbleRadius; + } + } + + if (!w.config.chart.animations.enabled) { + radius = finishRadius; + } + + var x = pointsPos.x[q]; + var y = pointsPos.y[q]; + radius = radius || 0; + + if (y === null || typeof w.globals.series[realIndex][dataPointIndex] === 'undefined') { + shouldDraw = false; + } + + if (shouldDraw) { + var point = this.drawPoint(x, y, radius, finishRadius, realIndex, dataPointIndex, j); + elPointsWrap.add(point); + } + + elPointsMain.add(elPointsWrap); + } + } + } + }, { + key: "drawPoint", + value: function drawPoint(x, y, radius, finishRadius, realIndex, dataPointIndex, j) { + var w = this.w; + var i = realIndex; + var anim = new Animations(this.ctx); + var filters = new Filters(this.ctx); + var fill = new Fill(this.ctx); + var markers = new Markers(this.ctx); + var graphics = new Graphics(this.ctx); + var markerConfig = markers.getMarkerConfig({ + cssClass: 'apexcharts-marker', + seriesIndex: i, + dataPointIndex: dataPointIndex, + finishRadius: w.config.chart.type === 'bubble' || w.globals.comboCharts && w.config.series[realIndex] && w.config.series[realIndex].type === 'bubble' ? finishRadius : null + }); + finishRadius = markerConfig.pSize; + var pathFillCircle = fill.fillPath({ + seriesNumber: realIndex, + dataPointIndex: dataPointIndex, + color: markerConfig.pointFillColor, + patternUnits: 'objectBoundingBox', + value: w.globals.series[realIndex][j] + }); + var el; + + if (markerConfig.shape === 'circle') { + el = graphics.drawCircle(radius); + } else if (markerConfig.shape === 'square' || markerConfig.shape === 'rect') { + el = graphics.drawRect(0, 0, markerConfig.width - markerConfig.pointStrokeWidth / 2, markerConfig.height - markerConfig.pointStrokeWidth / 2, markerConfig.pRadius); + } + + if (w.config.series[i].data[dataPointIndex]) { + if (w.config.series[i].data[dataPointIndex].fillColor) { + pathFillCircle = w.config.series[i].data[dataPointIndex].fillColor; + } + } + + el.attr({ + x: x - markerConfig.width / 2 - markerConfig.pointStrokeWidth / 2, + y: y - markerConfig.height / 2 - markerConfig.pointStrokeWidth / 2, + cx: x, + cy: y, + fill: pathFillCircle, + 'fill-opacity': markerConfig.pointFillOpacity, + stroke: markerConfig.pointStrokeColor, + r: finishRadius, + 'stroke-width': markerConfig.pointStrokeWidth, + 'stroke-dasharray': markerConfig.pointStrokeDashArray, + 'stroke-opacity': markerConfig.pointStrokeOpacity + }); + + if (w.config.chart.dropShadow.enabled) { + var dropShadow = w.config.chart.dropShadow; + filters.dropShadow(el, dropShadow, realIndex); + } + + if (this.initialAnim && !w.globals.dataChanged && !w.globals.resized) { + var speed = w.config.chart.animations.speed; + anim.animateMarker(el, 0, markerConfig.shape === 'circle' ? finishRadius : { + width: markerConfig.width, + height: markerConfig.height + }, speed, w.globals.easing, function () { + window.setTimeout(function () { + anim.animationCompleted(el); + }, 100); + }); + } else { + w.globals.animationEnded = true; + } + + if (w.globals.dataChanged && markerConfig.shape === 'circle') { + if (this.dynamicAnim) { + var _speed = w.config.chart.animations.dynamicAnimation.speed; + var prevX, prevY, prevR; + var prevPathJ = null; + prevPathJ = w.globals.previousPaths[realIndex] && w.globals.previousPaths[realIndex][j]; + + if (typeof prevPathJ !== 'undefined' && prevPathJ !== null) { + // series containing less elements will ignore these values and revert to 0 + prevX = prevPathJ.x; + prevY = prevPathJ.y; + prevR = typeof prevPathJ.r !== 'undefined' ? prevPathJ.r : finishRadius; + } + + for (var cs = 0; cs < w.globals.collapsedSeries.length; cs++) { + if (w.globals.collapsedSeries[cs].index === realIndex) { + _speed = 1; + finishRadius = 0; + } + } + + if (x === 0 && y === 0) finishRadius = 0; + anim.animateCircle(el, { + cx: prevX, + cy: prevY, + r: prevR + }, { + cx: x, + cy: y, + r: finishRadius + }, _speed, w.globals.easing); + } else { + el.attr({ + r: finishRadius + }); + } + } + + el.attr({ + rel: dataPointIndex, + j: dataPointIndex, + index: realIndex, + 'default-marker-size': finishRadius + }); + filters.setSelectionFilter(el, realIndex, dataPointIndex); + markers.addEvents(el); + el.node.classList.add('apexcharts-marker'); + return el; + } + }, { + key: "centerTextInBubble", + value: function centerTextInBubble(y) { + var w = this.w; + y = y + parseInt(w.config.dataLabels.style.fontSize, 10) / 4; + return { + y: y + }; + } + }]); + + return Scatter; + }(); + + /** + * ApexCharts DataLabels Class for drawing dataLabels on Axes based Charts. + * + * @module DataLabels + **/ + + var DataLabels = /*#__PURE__*/function () { + function DataLabels(ctx) { + _classCallCheck(this, DataLabels); + + this.ctx = ctx; + this.w = ctx.w; + } // When there are many datalabels to be printed, and some of them overlaps each other in the same series, this method will take care of that + // Also, when datalabels exceeds the drawable area and get clipped off, we need to adjust and move some pixels to make them visible again + + + _createClass(DataLabels, [{ + key: "dataLabelsCorrection", + value: function dataLabelsCorrection(x, y, val, i, dataPointIndex, alwaysDrawDataLabel, fontSize) { + var w = this.w; + var graphics = new Graphics(this.ctx); + var drawnextLabel = false; // + + var textRects = graphics.getTextRects(val, fontSize); + var width = textRects.width; + var height = textRects.height; + if (y < 0) y = 0; + if (y > w.globals.gridHeight + height) y = w.globals.gridHeight + height / 2; // first value in series, so push an empty array + + if (typeof w.globals.dataLabelsRects[i] === 'undefined') w.globals.dataLabelsRects[i] = []; // then start pushing actual rects in that sub-array + + w.globals.dataLabelsRects[i].push({ + x: x, + y: y, + width: width, + height: height + }); + var len = w.globals.dataLabelsRects[i].length - 2; + var lastDrawnIndex = typeof w.globals.lastDrawnDataLabelsIndexes[i] !== 'undefined' ? w.globals.lastDrawnDataLabelsIndexes[i][w.globals.lastDrawnDataLabelsIndexes[i].length - 1] : 0; + + if (typeof w.globals.dataLabelsRects[i][len] !== 'undefined') { + var lastDataLabelRect = w.globals.dataLabelsRects[i][lastDrawnIndex]; + + if ( // next label forward and x not intersecting + x > lastDataLabelRect.x + lastDataLabelRect.width + 2 || y > lastDataLabelRect.y + lastDataLabelRect.height + 2 || x + width < lastDataLabelRect.x // next label is going to be drawn backwards + ) { + // the 2 indexes don't override, so OK to draw next label + drawnextLabel = true; + } + } + + if (dataPointIndex === 0 || alwaysDrawDataLabel) { + drawnextLabel = true; + } + + return { + x: x, + y: y, + textRects: textRects, + drawnextLabel: drawnextLabel + }; + } + }, { + key: "drawDataLabel", + value: function drawDataLabel(_ref) { + var _this = this; + + var type = _ref.type, + pos = _ref.pos, + i = _ref.i, + j = _ref.j, + isRangeStart = _ref.isRangeStart, + _ref$strokeWidth = _ref.strokeWidth, + strokeWidth = _ref$strokeWidth === void 0 ? 2 : _ref$strokeWidth; + // this method handles line, area, bubble, scatter charts as those charts contains markers/points which have pre-defined x/y positions + // all other charts like radar / bars / heatmaps will define their own drawDataLabel routine + var w = this.w; + var graphics = new Graphics(this.ctx); + var dataLabelsConfig = w.config.dataLabels; + var x = 0; + var y = 0; + var dataPointIndex = j; + var elDataLabelsWrap = null; + + if (!dataLabelsConfig.enabled || !Array.isArray(pos.x)) { + return elDataLabelsWrap; + } + + elDataLabelsWrap = graphics.group({ + class: 'apexcharts-data-labels' + }); + + for (var q = 0; q < pos.x.length; q++) { + x = pos.x[q] + dataLabelsConfig.offsetX; + y = pos.y[q] + dataLabelsConfig.offsetY + strokeWidth; + + if (!isNaN(x)) { + // a small hack as we have 2 points for the first val to connect it + if (j === 1 && q === 0) dataPointIndex = 0; + if (j === 1 && q === 1) dataPointIndex = 1; + var val = w.globals.series[i][dataPointIndex]; + + if (type === 'rangeArea') { + if (isRangeStart) { + val = w.globals.seriesRangeStart[i][dataPointIndex]; + } else { + val = w.globals.seriesRangeEnd[i][dataPointIndex]; + } + } + + var text = ''; + + var getText = function getText(v) { + return w.config.dataLabels.formatter(v, { + ctx: _this.ctx, + seriesIndex: i, + dataPointIndex: dataPointIndex, + w: w + }); + }; + + if (w.config.chart.type === 'bubble') { + val = w.globals.seriesZ[i][dataPointIndex]; + text = getText(val); + y = pos.y[q]; + var scatter = new Scatter(this.ctx); + var centerTextInBubbleCoords = scatter.centerTextInBubble(y, i, dataPointIndex); + y = centerTextInBubbleCoords.y; + } else { + if (typeof val !== 'undefined') { + text = getText(val); + } + } + + this.plotDataLabelsText({ + x: x, + y: y, + text: text, + i: i, + j: dataPointIndex, + parent: elDataLabelsWrap, + offsetCorrection: true, + dataLabelsConfig: w.config.dataLabels + }); + } + } + + return elDataLabelsWrap; + } + }, { + key: "plotDataLabelsText", + value: function plotDataLabelsText(opts) { + var w = this.w; + var graphics = new Graphics(this.ctx); + var x = opts.x, + y = opts.y, + i = opts.i, + j = opts.j, + text = opts.text, + textAnchor = opts.textAnchor, + fontSize = opts.fontSize, + parent = opts.parent, + dataLabelsConfig = opts.dataLabelsConfig, + color = opts.color, + alwaysDrawDataLabel = opts.alwaysDrawDataLabel, + offsetCorrection = opts.offsetCorrection; + + if (Array.isArray(w.config.dataLabels.enabledOnSeries)) { + if (w.config.dataLabels.enabledOnSeries.indexOf(i) < 0) { + return; + } + } + + var correctedLabels = { + x: x, + y: y, + drawnextLabel: true, + textRects: null + }; + + if (offsetCorrection) { + correctedLabels = this.dataLabelsCorrection(x, y, text, i, j, alwaysDrawDataLabel, parseInt(dataLabelsConfig.style.fontSize, 10)); + } // when zoomed, we don't need to correct labels offsets, + // but if normally, labels get cropped, correct them + + + if (!w.globals.zoomed) { + x = correctedLabels.x; + y = correctedLabels.y; + } + + if (correctedLabels.textRects) { + // fixes #2264 + if (x < -10 - correctedLabels.textRects.width || x > w.globals.gridWidth + correctedLabels.textRects.width + 10) { + // datalabels fall outside drawing area, so draw a blank label + text = ''; + } + } + + var dataLabelColor = w.globals.dataLabels.style.colors[i]; + + if ((w.config.chart.type === 'bar' || w.config.chart.type === 'rangeBar') && w.config.plotOptions.bar.distributed || w.config.dataLabels.distributed) { + dataLabelColor = w.globals.dataLabels.style.colors[j]; + } + + if (typeof dataLabelColor === 'function') { + dataLabelColor = dataLabelColor({ + series: w.globals.series, + seriesIndex: i, + dataPointIndex: j, + w: w + }); + } + + if (color) { + dataLabelColor = color; + } + + var offX = dataLabelsConfig.offsetX; + var offY = dataLabelsConfig.offsetY; + + if (w.config.chart.type === 'bar' || w.config.chart.type === 'rangeBar') { + // for certain chart types, we handle offsets while calculating datalabels pos + // why? because bars/column may have negative values and based on that + // offsets becomes reversed + offX = 0; + offY = 0; + } + + if (correctedLabels.drawnextLabel) { + var dataLabelText = graphics.drawText({ + width: 100, + height: parseInt(dataLabelsConfig.style.fontSize, 10), + x: x + offX, + y: y + offY, + foreColor: dataLabelColor, + textAnchor: textAnchor || dataLabelsConfig.textAnchor, + text: text, + fontSize: fontSize || dataLabelsConfig.style.fontSize, + fontFamily: dataLabelsConfig.style.fontFamily, + fontWeight: dataLabelsConfig.style.fontWeight || 'normal' + }); + dataLabelText.attr({ + class: 'apexcharts-datalabel', + cx: x, + cy: y + }); + + if (dataLabelsConfig.dropShadow.enabled) { + var textShadow = dataLabelsConfig.dropShadow; + var filters = new Filters(this.ctx); + filters.dropShadow(dataLabelText, textShadow); + } + + parent.add(dataLabelText); + + if (typeof w.globals.lastDrawnDataLabelsIndexes[i] === 'undefined') { + w.globals.lastDrawnDataLabelsIndexes[i] = []; + } + + w.globals.lastDrawnDataLabelsIndexes[i].push(j); + } + } + }, { + key: "addBackgroundToDataLabel", + value: function addBackgroundToDataLabel(el, coords) { + var w = this.w; + var bCnf = w.config.dataLabels.background; + var paddingH = bCnf.padding; + var paddingV = bCnf.padding / 2; + var width = coords.width; + var height = coords.height; + var graphics = new Graphics(this.ctx); + var elRect = graphics.drawRect(coords.x - paddingH, coords.y - paddingV / 2, width + paddingH * 2, height + paddingV, bCnf.borderRadius, w.config.chart.background === 'transparent' ? '#fff' : w.config.chart.background, bCnf.opacity, bCnf.borderWidth, bCnf.borderColor); + + if (bCnf.dropShadow.enabled) { + var filters = new Filters(this.ctx); + filters.dropShadow(elRect, bCnf.dropShadow); + } + + return elRect; + } + }, { + key: "dataLabelsBackground", + value: function dataLabelsBackground() { + var w = this.w; + if (w.config.chart.type === 'bubble') return; + var elDataLabels = w.globals.dom.baseEl.querySelectorAll('.apexcharts-datalabels text'); + + for (var i = 0; i < elDataLabels.length; i++) { + var el = elDataLabels[i]; + var coords = el.getBBox(); + var elRect = null; + + if (coords.width && coords.height) { + elRect = this.addBackgroundToDataLabel(el, coords); + } + + if (elRect) { + el.parentNode.insertBefore(elRect.node, el); + var background = el.getAttribute('fill'); + var shouldAnim = w.config.chart.animations.enabled && !w.globals.resized && !w.globals.dataChanged; + + if (shouldAnim) { + elRect.animate().attr({ + fill: background + }); + } else { + elRect.attr({ + fill: background + }); + } + + el.setAttribute('fill', w.config.dataLabels.background.foreColor); + } + } + } + }, { + key: "bringForward", + value: function bringForward() { + var w = this.w; + var elDataLabelsNodes = w.globals.dom.baseEl.querySelectorAll('.apexcharts-datalabels'); + var elSeries = w.globals.dom.baseEl.querySelector('.apexcharts-plot-series:last-child'); + + for (var i = 0; i < elDataLabelsNodes.length; i++) { + if (elSeries) { + elSeries.insertBefore(elDataLabelsNodes[i], elSeries.nextSibling); + } + } + } + }]); + + return DataLabels; + }(); + + /** + * ApexCharts Series Class for interaction with the Series of the chart. + * + * @module Series + **/ + + var Series = /*#__PURE__*/function () { + function Series(ctx) { + _classCallCheck(this, Series); + + this.ctx = ctx; + this.w = ctx.w; + this.legendInactiveClass = 'legend-mouseover-inactive'; + } + + _createClass(Series, [{ + key: "getAllSeriesEls", + value: function getAllSeriesEls() { + return this.w.globals.dom.baseEl.getElementsByClassName("apexcharts-series"); + } + }, { + key: "getSeriesByName", + value: function getSeriesByName(seriesName) { + return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner .apexcharts-series[seriesName='".concat(Utils$1.escapeString(seriesName), "']")); + } + }, { + key: "isSeriesHidden", + value: function isSeriesHidden(seriesName) { + var targetElement = this.getSeriesByName(seriesName); + var realIndex = parseInt(targetElement.getAttribute('data:realIndex'), 10); + var isHidden = targetElement.classList.contains('apexcharts-series-collapsed'); + return { + isHidden: isHidden, + realIndex: realIndex + }; + } + }, { + key: "addCollapsedClassToSeries", + value: function addCollapsedClassToSeries(elSeries, index) { + var w = this.w; + + function iterateOnAllCollapsedSeries(series) { + for (var cs = 0; cs < series.length; cs++) { + if (series[cs].index === index) { + elSeries.node.classList.add('apexcharts-series-collapsed'); + } + } + } + + iterateOnAllCollapsedSeries(w.globals.collapsedSeries); + iterateOnAllCollapsedSeries(w.globals.ancillaryCollapsedSeries); + } + }, { + key: "toggleSeries", + value: function toggleSeries(seriesName) { + var isSeriesHidden = this.isSeriesHidden(seriesName); + this.ctx.legend.legendHelpers.toggleDataSeries(isSeriesHidden.realIndex, isSeriesHidden.isHidden); + return isSeriesHidden.isHidden; + } + }, { + key: "showSeries", + value: function showSeries(seriesName) { + var isSeriesHidden = this.isSeriesHidden(seriesName); + + if (isSeriesHidden.isHidden) { + this.ctx.legend.legendHelpers.toggleDataSeries(isSeriesHidden.realIndex, true); + } + } + }, { + key: "hideSeries", + value: function hideSeries(seriesName) { + var isSeriesHidden = this.isSeriesHidden(seriesName); + + if (!isSeriesHidden.isHidden) { + this.ctx.legend.legendHelpers.toggleDataSeries(isSeriesHidden.realIndex, false); + } + } + }, { + key: "resetSeries", + value: function resetSeries() { + var shouldUpdateChart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + var shouldResetZoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + var shouldResetCollapsed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var w = this.w; + var series = Utils$1.clone(w.globals.initialSeries); + w.globals.previousPaths = []; + + if (shouldResetCollapsed) { + w.globals.collapsedSeries = []; + w.globals.ancillaryCollapsedSeries = []; + w.globals.collapsedSeriesIndices = []; + w.globals.ancillaryCollapsedSeriesIndices = []; + } else { + series = this.emptyCollapsedSeries(series); + } + + w.config.series = series; + + if (shouldUpdateChart) { + if (shouldResetZoom) { + w.globals.zoomed = false; + this.ctx.updateHelpers.revertDefaultAxisMinMax(); + } + + this.ctx.updateHelpers._updateSeries(series, w.config.chart.animations.dynamicAnimation.enabled); + } + } + }, { + key: "emptyCollapsedSeries", + value: function emptyCollapsedSeries(series) { + var w = this.w; + + for (var i = 0; i < series.length; i++) { + if (w.globals.collapsedSeriesIndices.indexOf(i) > -1) { + series[i].data = []; + } + } + + return series; + } + }, { + key: "toggleSeriesOnHover", + value: function toggleSeriesOnHover(e, targetElement) { + var w = this.w; + if (!targetElement) targetElement = e.target; + var allSeriesEls = w.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels"); + + if (e.type === 'mousemove') { + var seriesCnt = parseInt(targetElement.getAttribute('rel'), 10) - 1; + var seriesEl = null; + var dataLabelEl = null; + + if (w.globals.axisCharts || w.config.chart.type === 'radialBar') { + if (w.globals.axisCharts) { + seriesEl = w.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(seriesCnt, "']")); + dataLabelEl = w.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(seriesCnt, "']")); + } else { + seriesEl = w.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(seriesCnt + 1, "']")); + } + } else { + seriesEl = w.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(seriesCnt + 1, "'] path")); + } + + for (var se = 0; se < allSeriesEls.length; se++) { + allSeriesEls[se].classList.add(this.legendInactiveClass); + } + + if (seriesEl !== null) { + if (!w.globals.axisCharts) { + seriesEl.parentNode.classList.remove(this.legendInactiveClass); + } + + seriesEl.classList.remove(this.legendInactiveClass); + + if (dataLabelEl !== null) { + dataLabelEl.classList.remove(this.legendInactiveClass); + } + } + } else if (e.type === 'mouseout') { + for (var _se = 0; _se < allSeriesEls.length; _se++) { + allSeriesEls[_se].classList.remove(this.legendInactiveClass); + } + } + } + }, { + key: "highlightRangeInSeries", + value: function highlightRangeInSeries(e, targetElement) { + var _this = this; + + var w = this.w; + var allHeatMapElements = w.globals.dom.baseEl.getElementsByClassName('apexcharts-heatmap-rect'); + + var activeInactive = function activeInactive(action) { + for (var i = 0; i < allHeatMapElements.length; i++) { + allHeatMapElements[i].classList[action](_this.legendInactiveClass); + } + }; + + var removeInactiveClassFromHoveredRange = function removeInactiveClassFromHoveredRange(range) { + for (var i = 0; i < allHeatMapElements.length; i++) { + var val = parseInt(allHeatMapElements[i].getAttribute('val'), 10); + + if (val >= range.from && val <= range.to) { + allHeatMapElements[i].classList.remove(_this.legendInactiveClass); + } + } + }; + + if (e.type === 'mousemove') { + var seriesCnt = parseInt(targetElement.getAttribute('rel'), 10) - 1; + activeInactive('add'); + var range = w.config.plotOptions.heatmap.colorScale.ranges[seriesCnt]; + removeInactiveClassFromHoveredRange(range); + } else if (e.type === 'mouseout') { + activeInactive('remove'); + } + } + }, { + key: "getActiveConfigSeriesIndex", + value: function getActiveConfigSeriesIndex() { + var order = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'asc'; + var chartTypes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + var w = this.w; + var activeIndex = 0; + + if (w.config.series.length > 1) { + // active series flag is required to know if user has not deactivated via legend click + var activeSeriesIndex = w.config.series.map(function (s, index) { + var checkChartType = function checkChartType() { + if (w.globals.comboCharts) { + return chartTypes.length === 0 || chartTypes.length && chartTypes.indexOf(w.config.series[index].type) > -1; + } + + return true; + }; + + var hasData = s.data && s.data.length > 0 && w.globals.collapsedSeriesIndices.indexOf(index) === -1; + return hasData && checkChartType() ? index : -1; + }); + + for (var a = order === 'asc' ? 0 : activeSeriesIndex.length - 1; order === 'asc' ? a < activeSeriesIndex.length : a >= 0; order === 'asc' ? a++ : a--) { + if (activeSeriesIndex[a] !== -1) { + activeIndex = activeSeriesIndex[a]; + break; + } + } + } + + return activeIndex; + } + }, { + key: "getBarSeriesIndices", + value: function getBarSeriesIndices() { + var w = this.w; + + if (w.globals.comboCharts) { + return this.w.config.series.map(function (s, i) { + return s.type === 'bar' || s.type === 'column' ? i : -1; + }).filter(function (i) { + return i !== -1; + }); + } + + return this.w.config.series.map(function (s, i) { + return i; + }); + } + }, { + key: "getPreviousPaths", + value: function getPreviousPaths() { + var w = this.w; + w.globals.previousPaths = []; + + function pushPaths(seriesEls, i, type) { + var paths = seriesEls[i].childNodes; + var dArr = { + type: type, + paths: [], + realIndex: seriesEls[i].getAttribute('data:realIndex') + }; + + for (var j = 0; j < paths.length; j++) { + if (paths[j].hasAttribute('pathTo')) { + var d = paths[j].getAttribute('pathTo'); + dArr.paths.push({ + d: d + }); + } + } + + w.globals.previousPaths.push(dArr); + } + + var getPaths = function getPaths(chartType) { + return w.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(chartType, "-series .apexcharts-series")); + }; + + var chartTypes = ['line', 'area', 'bar', 'rangebar', 'rangeArea', 'candlestick', 'radar']; + chartTypes.forEach(function (type) { + var paths = getPaths(type); + + for (var p = 0; p < paths.length; p++) { + pushPaths(paths, p, type); + } + }); + this.handlePrevBubbleScatterPaths('bubble'); + this.handlePrevBubbleScatterPaths('scatter'); + var heatTreeSeries = w.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(w.config.chart.type, " .apexcharts-series")); + + if (heatTreeSeries.length > 0) { + var _loop = function _loop(h) { + var seriesEls = w.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(w.config.chart.type, " .apexcharts-series[data\\:realIndex='").concat(h, "'] rect")); + var dArr = []; + + var _loop2 = function _loop2(i) { + var getAttr = function getAttr(x) { + return seriesEls[i].getAttribute(x); + }; + + var rect = { + x: parseFloat(getAttr('x')), + y: parseFloat(getAttr('y')), + width: parseFloat(getAttr('width')), + height: parseFloat(getAttr('height')) + }; + dArr.push({ + rect: rect, + color: seriesEls[i].getAttribute('color') + }); + }; + + for (var i = 0; i < seriesEls.length; i++) { + _loop2(i); + } + + w.globals.previousPaths.push(dArr); + }; + + for (var h = 0; h < heatTreeSeries.length; h++) { + _loop(h); + } + } + + if (!w.globals.axisCharts) { + // for non-axis charts (i.e., circular charts, pathFrom is not usable. We need whole series) + w.globals.previousPaths = w.globals.series; + } + } + }, { + key: "handlePrevBubbleScatterPaths", + value: function handlePrevBubbleScatterPaths(type) { + var w = this.w; + var paths = w.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(type, "-series .apexcharts-series")); + + if (paths.length > 0) { + for (var s = 0; s < paths.length; s++) { + var seriesEls = w.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(type, "-series .apexcharts-series[data\\:realIndex='").concat(s, "'] circle")); + var dArr = []; + + for (var i = 0; i < seriesEls.length; i++) { + dArr.push({ + x: seriesEls[i].getAttribute('cx'), + y: seriesEls[i].getAttribute('cy'), + r: seriesEls[i].getAttribute('r') + }); + } + + w.globals.previousPaths.push(dArr); + } + } + } + }, { + key: "clearPreviousPaths", + value: function clearPreviousPaths() { + var w = this.w; + w.globals.previousPaths = []; + w.globals.allSeriesCollapsed = false; + } + }, { + key: "handleNoData", + value: function handleNoData() { + var w = this.w; + var me = this; + var noDataOpts = w.config.noData; + var graphics = new Graphics(me.ctx); + var x = w.globals.svgWidth / 2; + var y = w.globals.svgHeight / 2; + var textAnchor = 'middle'; + w.globals.noData = true; + w.globals.animationEnded = true; + + if (noDataOpts.align === 'left') { + x = 10; + textAnchor = 'start'; + } else if (noDataOpts.align === 'right') { + x = w.globals.svgWidth - 10; + textAnchor = 'end'; + } + + if (noDataOpts.verticalAlign === 'top') { + y = 50; + } else if (noDataOpts.verticalAlign === 'bottom') { + y = w.globals.svgHeight - 50; + } + + x = x + noDataOpts.offsetX; + y = y + parseInt(noDataOpts.style.fontSize, 10) + 2 + noDataOpts.offsetY; + + if (noDataOpts.text !== undefined && noDataOpts.text !== '') { + var titleText = graphics.drawText({ + x: x, + y: y, + text: noDataOpts.text, + textAnchor: textAnchor, + fontSize: noDataOpts.style.fontSize, + fontFamily: noDataOpts.style.fontFamily, + foreColor: noDataOpts.style.color, + opacity: 1, + class: 'apexcharts-text-nodata' + }); + w.globals.dom.Paper.add(titleText); + } + } // When user clicks on legends, the collapsed series is filled with [0,0,0,...,0] + // This is because we don't want to alter the series' length as it is used at many places + + }, { + key: "setNullSeriesToZeroValues", + value: function setNullSeriesToZeroValues(series) { + var w = this.w; + + for (var sl = 0; sl < series.length; sl++) { + if (series[sl].length === 0) { + for (var j = 0; j < series[w.globals.maxValsInArrayIndex].length; j++) { + series[sl].push(0); + } + } + } + + return series; + } + }, { + key: "hasAllSeriesEqualX", + value: function hasAllSeriesEqualX() { + var equalLen = true; + var w = this.w; + var filteredSerX = this.filteredSeriesX(); + + for (var i = 0; i < filteredSerX.length - 1; i++) { + if (filteredSerX[i][0] !== filteredSerX[i + 1][0]) { + equalLen = false; + break; + } + } + + w.globals.allSeriesHasEqualX = equalLen; + return equalLen; + } + }, { + key: "filteredSeriesX", + value: function filteredSeriesX() { + var w = this.w; + var filteredSeriesX = w.globals.seriesX.map(function (ser) { + return ser.length > 0 ? ser : []; + }); + return filteredSeriesX; + } + }]); + + return Series; + }(); + + var Data = /*#__PURE__*/function () { + function Data(ctx) { + _classCallCheck(this, Data); + + this.ctx = ctx; + this.w = ctx.w; + this.twoDSeries = []; + this.threeDSeries = []; + this.twoDSeriesX = []; + this.seriesGoals = []; + this.coreUtils = new CoreUtils(this.ctx); + } + + _createClass(Data, [{ + key: "isMultiFormat", + value: function isMultiFormat() { + return this.isFormatXY() || this.isFormat2DArray(); + } // given format is [{x, y}, {x, y}] + + }, { + key: "isFormatXY", + value: function isFormatXY() { + var series = this.w.config.series.slice(); + var sr = new Series(this.ctx); + this.activeSeriesIndex = sr.getActiveConfigSeriesIndex(); + + if (typeof series[this.activeSeriesIndex].data !== 'undefined' && series[this.activeSeriesIndex].data.length > 0 && series[this.activeSeriesIndex].data[0] !== null && typeof series[this.activeSeriesIndex].data[0].x !== 'undefined' && series[this.activeSeriesIndex].data[0] !== null) { + return true; + } + } // given format is [[x, y], [x, y]] + + }, { + key: "isFormat2DArray", + value: function isFormat2DArray() { + var series = this.w.config.series.slice(); + var sr = new Series(this.ctx); + this.activeSeriesIndex = sr.getActiveConfigSeriesIndex(); + + if (typeof series[this.activeSeriesIndex].data !== 'undefined' && series[this.activeSeriesIndex].data.length > 0 && typeof series[this.activeSeriesIndex].data[0] !== 'undefined' && series[this.activeSeriesIndex].data[0] !== null && series[this.activeSeriesIndex].data[0].constructor === Array) { + return true; + } + } + }, { + key: "handleFormat2DArray", + value: function handleFormat2DArray(ser, i) { + var cnf = this.w.config; + var gl = this.w.globals; + var isBoxPlot = cnf.chart.type === 'boxPlot' || cnf.series[i].type === 'boxPlot'; + + for (var j = 0; j < ser[i].data.length; j++) { + if (typeof ser[i].data[j][1] !== 'undefined') { + if (Array.isArray(ser[i].data[j][1]) && ser[i].data[j][1].length === 4 && !isBoxPlot) { + // candlestick nested ohlc format + this.twoDSeries.push(Utils$1.parseNumber(ser[i].data[j][1][3])); + } else if (ser[i].data[j].length >= 5) { + // candlestick non-nested ohlc format + this.twoDSeries.push(Utils$1.parseNumber(ser[i].data[j][4])); + } else { + this.twoDSeries.push(Utils$1.parseNumber(ser[i].data[j][1])); + } + + gl.dataFormatXNumeric = true; + } + + if (cnf.xaxis.type === 'datetime') { + // if timestamps are provided and xaxis type is datetime, + var ts = new Date(ser[i].data[j][0]); + ts = new Date(ts).getTime(); + this.twoDSeriesX.push(ts); + } else { + this.twoDSeriesX.push(ser[i].data[j][0]); + } + } + + for (var _j = 0; _j < ser[i].data.length; _j++) { + if (typeof ser[i].data[_j][2] !== 'undefined') { + this.threeDSeries.push(ser[i].data[_j][2]); + gl.isDataXYZ = true; + } + } + } + }, { + key: "handleFormatXY", + value: function handleFormatXY(ser, i) { + var cnf = this.w.config; + var gl = this.w.globals; + var dt = new DateTime(this.ctx); + var activeI = i; + + if (gl.collapsedSeriesIndices.indexOf(i) > -1) { + // fix #368 + activeI = this.activeSeriesIndex; + } // get series + + + for (var j = 0; j < ser[i].data.length; j++) { + if (typeof ser[i].data[j].y !== 'undefined') { + if (Array.isArray(ser[i].data[j].y)) { + this.twoDSeries.push(Utils$1.parseNumber(ser[i].data[j].y[ser[i].data[j].y.length - 1])); + } else { + this.twoDSeries.push(Utils$1.parseNumber(ser[i].data[j].y)); + } + } + + if (typeof ser[i].data[j].goals !== 'undefined' && Array.isArray(ser[i].data[j].goals)) { + if (typeof this.seriesGoals[i] === 'undefined') { + this.seriesGoals[i] = []; + } + + this.seriesGoals[i].push(ser[i].data[j].goals); + } else { + if (typeof this.seriesGoals[i] === 'undefined') { + this.seriesGoals[i] = []; + } + + this.seriesGoals[i].push(null); + } + } // get seriesX + + + for (var _j2 = 0; _j2 < ser[activeI].data.length; _j2++) { + var isXString = typeof ser[activeI].data[_j2].x === 'string'; + var isXArr = Array.isArray(ser[activeI].data[_j2].x); + var isXDate = !isXArr && !!dt.isValidDate(ser[activeI].data[_j2].x.toString()); + + if (isXString || isXDate) { + // user supplied '01/01/2017' or a date string (a JS date object is not supported) + if (isXString || cnf.xaxis.convertedCatToNumeric) { + var isRangeColumn = gl.isBarHorizontal && gl.isRangeData; + + if (cnf.xaxis.type === 'datetime' && !isRangeColumn) { + this.twoDSeriesX.push(dt.parseDate(ser[activeI].data[_j2].x)); + } else { + // a category and not a numeric x value + this.fallbackToCategory = true; + this.twoDSeriesX.push(ser[activeI].data[_j2].x); + } + } else { + if (cnf.xaxis.type === 'datetime') { + this.twoDSeriesX.push(dt.parseDate(ser[activeI].data[_j2].x.toString())); + } else { + gl.dataFormatXNumeric = true; + gl.isXNumeric = true; + this.twoDSeriesX.push(parseFloat(ser[activeI].data[_j2].x)); + } + } + } else if (isXArr) { + // a multiline label described in array format + this.fallbackToCategory = true; + this.twoDSeriesX.push(ser[activeI].data[_j2].x); + } else { + // a numeric value in x property + gl.isXNumeric = true; + gl.dataFormatXNumeric = true; + this.twoDSeriesX.push(ser[activeI].data[_j2].x); + } + } + + if (ser[i].data[0] && typeof ser[i].data[0].z !== 'undefined') { + for (var t = 0; t < ser[i].data.length; t++) { + this.threeDSeries.push(ser[i].data[t].z); + } + + gl.isDataXYZ = true; + } + } + }, { + key: "handleRangeData", + value: function handleRangeData(ser, i) { + var gl = this.w.globals; + var range = {}; + + if (this.isFormat2DArray()) { + range = this.handleRangeDataFormat('array', ser, i); + } else if (this.isFormatXY()) { + range = this.handleRangeDataFormat('xy', ser, i); + } + + gl.seriesRangeStart.push(range.start); + gl.seriesRangeEnd.push(range.end); + gl.seriesRange.push(range.rangeUniques); // check for overlaps to avoid clashes in a timeline chart + + gl.seriesRange.forEach(function (sr, si) { + if (sr) { + sr.forEach(function (sarr, sarri) { + sarr.y.forEach(function (arr, arri) { + for (var sri = 0; sri < sarr.y.length; sri++) { + if (arri !== sri) { + var range1y1 = arr.y1; + var range1y2 = arr.y2; + var range2y1 = sarr.y[sri].y1; + var range2y2 = sarr.y[sri].y2; + + if (range1y1 <= range2y2 && range2y1 <= range1y2) { + if (sarr.overlaps.indexOf(arr.rangeName) < 0) { + sarr.overlaps.push(arr.rangeName); + } + + if (sarr.overlaps.indexOf(sarr.y[sri].rangeName) < 0) { + sarr.overlaps.push(sarr.y[sri].rangeName); + } + } + } + } + }); + }); + } + }); + return range; + } + }, { + key: "handleCandleStickBoxData", + value: function handleCandleStickBoxData(ser, i) { + var gl = this.w.globals; + var ohlc = {}; + + if (this.isFormat2DArray()) { + ohlc = this.handleCandleStickBoxDataFormat('array', ser, i); + } else if (this.isFormatXY()) { + ohlc = this.handleCandleStickBoxDataFormat('xy', ser, i); + } + + gl.seriesCandleO[i] = ohlc.o; + gl.seriesCandleH[i] = ohlc.h; + gl.seriesCandleM[i] = ohlc.m; + gl.seriesCandleL[i] = ohlc.l; + gl.seriesCandleC[i] = ohlc.c; + return ohlc; + } + }, { + key: "handleRangeDataFormat", + value: function handleRangeDataFormat(format, ser, i) { + var rangeStart = []; + var rangeEnd = []; + var uniqueKeys = ser[i].data.filter(function (thing, index, self) { + return index === self.findIndex(function (t) { + return t.x === thing.x; + }); + }).map(function (r, index) { + return { + x: r.x, + overlaps: [], + y: [] + }; + }); + + if (format === 'array') { + for (var j = 0; j < ser[i].data.length; j++) { + if (Array.isArray(ser[i].data[j])) { + rangeStart.push(ser[i].data[j][1][0]); + rangeEnd.push(ser[i].data[j][1][1]); + } else { + rangeStart.push(ser[i].data[j]); + rangeEnd.push(ser[i].data[j]); + } + } + } else if (format === 'xy') { + var _loop = function _loop(_j3) { + var isDataPoint2D = Array.isArray(ser[i].data[_j3].y); + var id = Utils$1.randomId(); + var x = ser[i].data[_j3].x; + var y = { + y1: isDataPoint2D ? ser[i].data[_j3].y[0] : ser[i].data[_j3].y, + y2: isDataPoint2D ? ser[i].data[_j3].y[1] : ser[i].data[_j3].y, + rangeName: id + }; // mutating config object by adding a new property + // TODO: As this is specifically for timeline rangebar charts, update the docs mentioning the series only supports xy format + + ser[i].data[_j3].rangeName = id; + var uI = uniqueKeys.findIndex(function (t) { + return t.x === x; + }); + uniqueKeys[uI].y.push(y); + rangeStart.push(y.y1); + rangeEnd.push(y.y2); + }; + + for (var _j3 = 0; _j3 < ser[i].data.length; _j3++) { + _loop(_j3); + } + } + + return { + start: rangeStart, + end: rangeEnd, + rangeUniques: uniqueKeys + }; + } + }, { + key: "handleCandleStickBoxDataFormat", + value: function handleCandleStickBoxDataFormat(format, ser, i) { + var w = this.w; + var isBoxPlot = w.config.chart.type === 'boxPlot' || w.config.series[i].type === 'boxPlot'; + var serO = []; + var serH = []; + var serM = []; + var serL = []; + var serC = []; + + if (format === 'array') { + if (isBoxPlot && ser[i].data[0].length === 6 || !isBoxPlot && ser[i].data[0].length === 5) { + for (var j = 0; j < ser[i].data.length; j++) { + serO.push(ser[i].data[j][1]); + serH.push(ser[i].data[j][2]); + + if (isBoxPlot) { + serM.push(ser[i].data[j][3]); + serL.push(ser[i].data[j][4]); + serC.push(ser[i].data[j][5]); + } else { + serL.push(ser[i].data[j][3]); + serC.push(ser[i].data[j][4]); + } + } + } else { + for (var _j4 = 0; _j4 < ser[i].data.length; _j4++) { + if (Array.isArray(ser[i].data[_j4][1])) { + serO.push(ser[i].data[_j4][1][0]); + serH.push(ser[i].data[_j4][1][1]); + + if (isBoxPlot) { + serM.push(ser[i].data[_j4][1][2]); + serL.push(ser[i].data[_j4][1][3]); + serC.push(ser[i].data[_j4][1][4]); + } else { + serL.push(ser[i].data[_j4][1][2]); + serC.push(ser[i].data[_j4][1][3]); + } + } + } + } + } else if (format === 'xy') { + for (var _j5 = 0; _j5 < ser[i].data.length; _j5++) { + if (Array.isArray(ser[i].data[_j5].y)) { + serO.push(ser[i].data[_j5].y[0]); + serH.push(ser[i].data[_j5].y[1]); + + if (isBoxPlot) { + serM.push(ser[i].data[_j5].y[2]); + serL.push(ser[i].data[_j5].y[3]); + serC.push(ser[i].data[_j5].y[4]); + } else { + serL.push(ser[i].data[_j5].y[2]); + serC.push(ser[i].data[_j5].y[3]); + } + } + } + } + + return { + o: serO, + h: serH, + m: serM, + l: serL, + c: serC + }; + } + }, { + key: "parseDataAxisCharts", + value: function parseDataAxisCharts(ser) { + var _ser$, + _this = this; + + var ctx = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.ctx; + var cnf = this.w.config; + var gl = this.w.globals; + var dt = new DateTime(ctx); + var xlabels = cnf.labels.length > 0 ? cnf.labels.slice() : cnf.xaxis.categories.slice(); + gl.isRangeBar = cnf.chart.type === 'rangeBar' && gl.isBarHorizontal; + gl.hasXaxisGroups = cnf.xaxis.type === 'category' && cnf.xaxis.group.groups.length > 0; + + if (gl.hasXaxisGroups) { + gl.groups = cnf.xaxis.group.groups; + } + + gl.hasSeriesGroups = (_ser$ = ser[0]) === null || _ser$ === void 0 ? void 0 : _ser$.group; + + if (gl.hasSeriesGroups) { + var buckets = []; + + var groups = _toConsumableArray(new Set(ser.map(function (s) { + return s.group; + }))); + + ser.forEach(function (s, i) { + var index = groups.indexOf(s.group); + if (!buckets[index]) buckets[index] = []; + buckets[index].push(s.name); + }); + gl.seriesGroups = buckets; + } + + var handleDates = function handleDates() { + for (var j = 0; j < xlabels.length; j++) { + if (typeof xlabels[j] === 'string') { + // user provided date strings + var isDate = dt.isValidDate(xlabels[j]); + + if (isDate) { + _this.twoDSeriesX.push(dt.parseDate(xlabels[j])); + } else { + throw new Error('You have provided invalid Date format. Please provide a valid JavaScript Date'); + } + } else { + // user provided timestamps + _this.twoDSeriesX.push(xlabels[j]); + } + } + }; + + for (var i = 0; i < ser.length; i++) { + this.twoDSeries = []; + this.twoDSeriesX = []; + this.threeDSeries = []; + + if (typeof ser[i].data === 'undefined') { + console.error("It is a possibility that you may have not included 'data' property in series."); + return; + } + + if (cnf.chart.type === 'rangeBar' || cnf.chart.type === 'rangeArea' || ser[i].type === 'rangeBar' || ser[i].type === 'rangeArea') { + gl.isRangeData = true; + + if (gl.isComboCharts) { + if (ser[i].type === 'rangeBar' || ser[i].type === 'rangeArea') { + this.handleRangeData(ser, i); + } + } else if (cnf.chart.type === 'rangeBar' || cnf.chart.type === 'rangeArea') { + this.handleRangeData(ser, i); + } + } + + if (this.isMultiFormat()) { + if (this.isFormat2DArray()) { + this.handleFormat2DArray(ser, i); + } else if (this.isFormatXY()) { + this.handleFormatXY(ser, i); + } + + if (cnf.chart.type === 'candlestick' || ser[i].type === 'candlestick' || cnf.chart.type === 'boxPlot' || ser[i].type === 'boxPlot') { + this.handleCandleStickBoxData(ser, i); + } + + gl.series.push(this.twoDSeries); + gl.labels.push(this.twoDSeriesX); + gl.seriesX.push(this.twoDSeriesX); + gl.seriesGoals = this.seriesGoals; + + if (i === this.activeSeriesIndex && !this.fallbackToCategory) { + gl.isXNumeric = true; + } + } else { + if (cnf.xaxis.type === 'datetime') { + // user didn't supplied [{x,y}] or [[x,y]], but single array in data. + // Also labels/categories were supplied differently + gl.isXNumeric = true; + handleDates(); + gl.seriesX.push(this.twoDSeriesX); + } else if (cnf.xaxis.type === 'numeric') { + gl.isXNumeric = true; + + if (xlabels.length > 0) { + this.twoDSeriesX = xlabels; + gl.seriesX.push(this.twoDSeriesX); + } + } + + gl.labels.push(this.twoDSeriesX); + var singleArray = ser[i].data.map(function (d) { + return Utils$1.parseNumber(d); + }); + gl.series.push(singleArray); + } + + gl.seriesZ.push(this.threeDSeries); + + if (ser[i].name !== undefined) { + gl.seriesNames.push(ser[i].name); + } else { + gl.seriesNames.push('series-' + parseInt(i + 1, 10)); + } // overrided default color if user inputs color with series data + + + if (ser[i].color !== undefined) { + gl.seriesColors.push(ser[i].color); + } else { + gl.seriesColors.push(undefined); + } + } + + return this.w; + } + }, { + key: "parseDataNonAxisCharts", + value: function parseDataNonAxisCharts(ser) { + var gl = this.w.globals; + var cnf = this.w.config; + gl.series = ser.slice(); + gl.seriesNames = cnf.labels.slice(); + + for (var i = 0; i < gl.series.length; i++) { + if (gl.seriesNames[i] === undefined) { + gl.seriesNames.push('series-' + (i + 1)); + } + } + + return this.w; + } + /** User possibly set string categories in xaxis.categories or labels prop + * Or didn't set xaxis labels at all - in which case we manually do it. + * If user passed series data as [[3, 2], [4, 5]] or [{ x: 3, y: 55 }], + * this shouldn't be called + * @param {array} ser - the series which user passed to the config + */ + + }, { + key: "handleExternalLabelsData", + value: function handleExternalLabelsData(ser) { + var cnf = this.w.config; + var gl = this.w.globals; + + if (cnf.xaxis.categories.length > 0) { + // user provided labels in xaxis.category prop + gl.labels = cnf.xaxis.categories; + } else if (cnf.labels.length > 0) { + // user provided labels in labels props + gl.labels = cnf.labels.slice(); + } else if (this.fallbackToCategory) { + // user provided labels in x prop in [{ x: 3, y: 55 }] data, and those labels are already stored in gl.labels[0], so just re-arrange the gl.labels array + gl.labels = gl.labels[0]; + + if (gl.seriesRange.length) { + gl.seriesRange.map(function (srt) { + srt.forEach(function (sr) { + if (gl.labels.indexOf(sr.x) < 0 && sr.x) { + gl.labels.push(sr.x); + } + }); + }); + gl.labels = gl.labels.filter(function (elem, pos, arr) { + return arr.indexOf(elem) === pos; + }); + } + + if (cnf.xaxis.convertedCatToNumeric) { + var defaults = new Defaults(cnf); + defaults.convertCatToNumericXaxis(cnf, this.ctx, gl.seriesX[0]); + + this._generateExternalLabels(ser); + } + } else { + this._generateExternalLabels(ser); + } + } + }, { + key: "_generateExternalLabels", + value: function _generateExternalLabels(ser) { + var gl = this.w.globals; + var cnf = this.w.config; // user didn't provided any labels, fallback to 1-2-3-4-5 + + var labelArr = []; + + if (gl.axisCharts) { + if (gl.series.length > 0) { + if (this.isFormatXY()) { + // in case there is a combo chart (boxplot/scatter) + // and there are duplicated x values, we need to eliminate duplicates + var seriesDataFiltered = cnf.series.map(function (serie, s) { + return serie.data.filter(function (v, i, a) { + return a.findIndex(function (t) { + return t.x === v.x; + }) === i; + }); + }); + var len = seriesDataFiltered.reduce(function (p, c, i, a) { + return a[p].length > c.length ? p : i; + }, 0); + + for (var i = 0; i < seriesDataFiltered[len].length; i++) { + labelArr.push(i + 1); + } + } else { + for (var _i = 0; _i < gl.series[gl.maxValsInArrayIndex].length; _i++) { + labelArr.push(_i + 1); + } + } + } + + gl.seriesX = []; // create gl.seriesX as it will be used in calculations of x positions + + for (var _i2 = 0; _i2 < ser.length; _i2++) { + gl.seriesX.push(labelArr); + } // turn on the isXNumeric flag to allow minX and maxX to function properly + + + gl.isXNumeric = true; + } // no series to pull labels from, put a 0-10 series + // possibly, user collapsed all series. Hence we can't work with above calc + + + if (labelArr.length === 0) { + labelArr = gl.axisCharts ? [] : gl.series.map(function (gls, glsi) { + return glsi + 1; + }); + + for (var _i3 = 0; _i3 < ser.length; _i3++) { + gl.seriesX.push(labelArr); + } + } // Finally, pass the labelArr in gl.labels which will be printed on x-axis + + + gl.labels = labelArr; + + if (cnf.xaxis.convertedCatToNumeric) { + gl.categoryLabels = labelArr.map(function (l) { + return cnf.xaxis.labels.formatter(l); + }); + } // Turn on this global flag to indicate no labels were provided by user + + + gl.noLabelsProvided = true; + } // Segregate user provided data into appropriate vars + + }, { + key: "parseData", + value: function parseData(ser) { + var w = this.w; + var cnf = w.config; + var gl = w.globals; + this.excludeCollapsedSeriesInYAxis(); // If we detected string in X prop of series, we fallback to category x-axis + + this.fallbackToCategory = false; + this.ctx.core.resetGlobals(); + this.ctx.core.isMultipleY(); + + if (gl.axisCharts) { + // axisCharts includes line / area / column / scatter + this.parseDataAxisCharts(ser); + this.coreUtils.getLargestSeries(); + } else { + // non-axis charts are pie / donut + this.parseDataNonAxisCharts(ser); + } // set Null values to 0 in all series when user hides/shows some series + + + if (cnf.chart.type === 'bar' && cnf.chart.stacked) { + var series = new Series(this.ctx); + gl.series = series.setNullSeriesToZeroValues(gl.series); + } + + this.coreUtils.getSeriesTotals(); + + if (gl.axisCharts) { + gl.stackedSeriesTotals = this.coreUtils.getStackedSeriesTotals(); + } + + this.coreUtils.getPercentSeries(); + + if (!gl.dataFormatXNumeric && (!gl.isXNumeric || cnf.xaxis.type === 'numeric' && cnf.labels.length === 0 && cnf.xaxis.categories.length === 0)) { + // x-axis labels couldn't be detected; hence try searching every option in config + this.handleExternalLabelsData(ser); + } // check for multiline xaxis + + + var catLabels = this.coreUtils.getCategoryLabels(gl.labels); + + for (var l = 0; l < catLabels.length; l++) { + if (Array.isArray(catLabels[l])) { + gl.isMultiLineX = true; + break; + } + } + } + }, { + key: "excludeCollapsedSeriesInYAxis", + value: function excludeCollapsedSeriesInYAxis() { + var _this2 = this; + + var w = this.w; + w.globals.ignoreYAxisIndexes = w.globals.collapsedSeries.map(function (collapsed, i) { + // fix issue #1215 + // if stacked, not returning collapsed.index to preserve yaxis + if (_this2.w.globals.isMultipleYAxis && !w.config.chart.stacked) { + return collapsed.index; + } + }); + } + }]); + + return Data; + }(); + + var AxesUtils = /*#__PURE__*/function () { + function AxesUtils(ctx) { + _classCallCheck(this, AxesUtils); + + this.ctx = ctx; + this.w = ctx.w; + } // Based on the formatter function, get the label text and position + + + _createClass(AxesUtils, [{ + key: "getLabel", + value: function getLabel(labels, timescaleLabels, x, i) { + var drawnLabels = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : []; + var fontSize = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '12px'; + var isLeafGroup = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : true; + var w = this.w; + var rawLabel = typeof labels[i] === 'undefined' ? '' : labels[i]; + var label = rawLabel; + var xlbFormatter = w.globals.xLabelFormatter; + var customFormatter = w.config.xaxis.labels.formatter; + var isBold = false; + var xFormat = new Formatters(this.ctx); + var timestamp = rawLabel; + + if (isLeafGroup) { + label = xFormat.xLabelFormat(xlbFormatter, rawLabel, timestamp, { + i: i, + dateFormatter: new DateTime(this.ctx).formatDate, + w: w + }); + + if (customFormatter !== undefined) { + label = customFormatter(rawLabel, labels[i], { + i: i, + dateFormatter: new DateTime(this.ctx).formatDate, + w: w + }); + } + } + + var determineHighestUnit = function determineHighestUnit(unit) { + var highestUnit = null; + timescaleLabels.forEach(function (t) { + if (t.unit === 'month') { + highestUnit = 'year'; + } else if (t.unit === 'day') { + highestUnit = 'month'; + } else if (t.unit === 'hour') { + highestUnit = 'day'; + } else if (t.unit === 'minute') { + highestUnit = 'hour'; + } + }); + return highestUnit === unit; + }; + + if (timescaleLabels.length > 0) { + isBold = determineHighestUnit(timescaleLabels[i].unit); + x = timescaleLabels[i].position; + label = timescaleLabels[i].value; + } else { + if (w.config.xaxis.type === 'datetime' && customFormatter === undefined) { + label = ''; + } + } + + if (typeof label === 'undefined') label = ''; + label = Array.isArray(label) ? label : label.toString(); + var graphics = new Graphics(this.ctx); + var textRect = {}; + + if (w.globals.rotateXLabels && isLeafGroup) { + textRect = graphics.getTextRects(label, parseInt(fontSize, 10), null, "rotate(".concat(w.config.xaxis.labels.rotate, " 0 0)"), false); + } else { + textRect = graphics.getTextRects(label, parseInt(fontSize, 10)); + } + + var allowDuplicatesInTimeScale = !w.config.xaxis.labels.showDuplicates && this.ctx.timeScale; + + if (!Array.isArray(label) && (label.indexOf('NaN') === 0 || label.toLowerCase().indexOf('invalid') === 0 || label.toLowerCase().indexOf('infinity') >= 0 || drawnLabels.indexOf(label) >= 0 && allowDuplicatesInTimeScale)) { + label = ''; + } + + return { + x: x, + text: label, + textRect: textRect, + isBold: isBold + }; + } + }, { + key: "checkLabelBasedOnTickamount", + value: function checkLabelBasedOnTickamount(i, label, labelsLen) { + var w = this.w; + var ticks = w.config.xaxis.tickAmount; + if (ticks === 'dataPoints') ticks = Math.round(w.globals.gridWidth / 120); + if (ticks > labelsLen) return label; + var tickMultiple = Math.round(labelsLen / (ticks + 1)); + + if (i % tickMultiple === 0) { + return label; + } else { + label.text = ''; + } + + return label; + } + }, { + key: "checkForOverflowingLabels", + value: function checkForOverflowingLabels(i, label, labelsLen, drawnLabels, drawnLabelsRects) { + var w = this.w; + + if (i === 0) { + // check if first label is being truncated + if (w.globals.skipFirstTimelinelabel) { + label.text = ''; + } + } + + if (i === labelsLen - 1) { + // check if last label is being truncated + if (w.globals.skipLastTimelinelabel) { + label.text = ''; + } + } + + if (w.config.xaxis.labels.hideOverlappingLabels && drawnLabels.length > 0) { + var prev = drawnLabelsRects[drawnLabelsRects.length - 1]; + + if (label.x < prev.textRect.width / (w.globals.rotateXLabels ? Math.abs(w.config.xaxis.labels.rotate) / 12 : 1.01) + prev.x) { + label.text = ''; + } + } + + return label; + } + }, { + key: "checkForReversedLabels", + value: function checkForReversedLabels(i, labels) { + var w = this.w; + + if (w.config.yaxis[i] && w.config.yaxis[i].reversed) { + labels.reverse(); + } + + return labels; + } + }, { + key: "isYAxisHidden", + value: function isYAxisHidden(index) { + var w = this.w; + var coreUtils = new CoreUtils(this.ctx); + return !w.config.yaxis[index].show || !w.config.yaxis[index].showForNullSeries && coreUtils.isSeriesNull(index) && w.globals.collapsedSeriesIndices.indexOf(index) === -1; + } // get the label color for y-axis + // realIndex is the actual series index, while i is the tick Index + + }, { + key: "getYAxisForeColor", + value: function getYAxisForeColor(yColors, realIndex) { + var w = this.w; + + if (Array.isArray(yColors) && w.globals.yAxisScale[realIndex]) { + this.ctx.theme.pushExtraColors(yColors, w.globals.yAxisScale[realIndex].result.length, false); + } + + return yColors; + } + }, { + key: "drawYAxisTicks", + value: function drawYAxisTicks(x, tickAmount, axisBorder, axisTicks, realIndex, labelsDivider, elYaxis) { + var w = this.w; + var graphics = new Graphics(this.ctx); // initial label position = 0; + + var t = w.globals.translateY; + + if (axisTicks.show && tickAmount > 0) { + if (w.config.yaxis[realIndex].opposite === true) x = x + axisTicks.width; + + for (var i = tickAmount; i >= 0; i--) { + var tY = t + tickAmount / 10 + w.config.yaxis[realIndex].labels.offsetY - 1; + + if (w.globals.isBarHorizontal) { + tY = labelsDivider * i; + } + + if (w.config.chart.type === 'heatmap') { + tY = tY + labelsDivider / 2; + } + + var elTick = graphics.drawLine(x + axisBorder.offsetX - axisTicks.width + axisTicks.offsetX, tY + axisTicks.offsetY, x + axisBorder.offsetX + axisTicks.offsetX, tY + axisTicks.offsetY, axisTicks.color); + elYaxis.add(elTick); + t = t + labelsDivider; + } + } + } + }]); + + return AxesUtils; + }(); + + var Exports = /*#__PURE__*/function () { + function Exports(ctx) { + _classCallCheck(this, Exports); + + this.ctx = ctx; + this.w = ctx.w; + } + + _createClass(Exports, [{ + key: "scaleSvgNode", + value: function scaleSvgNode(svg, scale) { + // get current both width and height of the svg + var svgWidth = parseFloat(svg.getAttributeNS(null, 'width')); + var svgHeight = parseFloat(svg.getAttributeNS(null, 'height')); // set new width and height based on the scale + + svg.setAttributeNS(null, 'width', svgWidth * scale); + svg.setAttributeNS(null, 'height', svgHeight * scale); + svg.setAttributeNS(null, 'viewBox', '0 0 ' + svgWidth + ' ' + svgHeight); + } + }, { + key: "fixSvgStringForIe11", + value: function fixSvgStringForIe11(svgData) { + // IE11 generates broken SVG that we have to fix by using regex + if (!Utils$1.isIE11()) { + // not IE11 - noop + return svgData.replace(/ /g, ' '); + } // replace second occurrence of "xmlns" attribute with "xmlns:xlink" with correct url + add xmlns:svgjs + + + var nXmlnsSeen = 0; + var result = svgData.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g, function (match) { + nXmlnsSeen++; + return nXmlnsSeen === 2 ? 'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev"' : match; + }); // remove the invalid empty namespace declarations + + result = result.replace(/xmlns:NS\d+=""/g, ''); // remove these broken namespaces from attributes + + result = result.replace(/NS\d+:(\w+:\w+=")/g, '$1'); + return result; + } + }, { + key: "getSvgString", + value: function getSvgString(scale) { + if (scale == undefined) { + scale = 1; // if no scale is specified, don't scale... + } + + var svgString = this.w.globals.dom.Paper.svg(); // in case the scale is different than 1, the svg needs to be rescaled + + if (scale !== 1) { + // clone the svg node so it remains intact in the UI + var svgNode = this.w.globals.dom.Paper.node.cloneNode(true); // scale the image + + this.scaleSvgNode(svgNode, scale); // get the string representation of the svgNode + + svgString = new XMLSerializer().serializeToString(svgNode); + } + + return this.fixSvgStringForIe11(svgString); + } + }, { + key: "cleanup", + value: function cleanup() { + var w = this.w; // hide some elements to avoid printing them on exported svg + + var xcrosshairs = w.globals.dom.baseEl.getElementsByClassName('apexcharts-xcrosshairs'); + var ycrosshairs = w.globals.dom.baseEl.getElementsByClassName('apexcharts-ycrosshairs'); + var zoomSelectionRects = w.globals.dom.baseEl.querySelectorAll('.apexcharts-zoom-rect, .apexcharts-selection-rect'); + Array.prototype.forEach.call(zoomSelectionRects, function (z) { + z.setAttribute('width', 0); + }); + + if (xcrosshairs && xcrosshairs[0]) { + xcrosshairs[0].setAttribute('x', -500); + xcrosshairs[0].setAttribute('x1', -500); + xcrosshairs[0].setAttribute('x2', -500); + } + + if (ycrosshairs && ycrosshairs[0]) { + ycrosshairs[0].setAttribute('y', -100); + ycrosshairs[0].setAttribute('y1', -100); + ycrosshairs[0].setAttribute('y2', -100); + } + } + }, { + key: "svgUrl", + value: function svgUrl() { + this.cleanup(); + var svgData = this.getSvgString(); + var svgBlob = new Blob([svgData], { + type: 'image/svg+xml;charset=utf-8' + }); + return URL.createObjectURL(svgBlob); + } + }, { + key: "dataURI", + value: function dataURI(options) { + var _this = this; + + return new Promise(function (resolve) { + var w = _this.w; + var scale = options ? options.scale || options.width / w.globals.svgWidth : 1; + + _this.cleanup(); + + var canvas = document.createElement('canvas'); + canvas.width = w.globals.svgWidth * scale; + canvas.height = parseInt(w.globals.dom.elWrap.style.height, 10) * scale; // because of resizeNonAxisCharts + + var canvasBg = w.config.chart.background === 'transparent' ? '#fff' : w.config.chart.background; + var ctx = canvas.getContext('2d'); + ctx.fillStyle = canvasBg; + ctx.fillRect(0, 0, canvas.width * scale, canvas.height * scale); + + var svgData = _this.getSvgString(scale); + + if (window.canvg && Utils$1.isIE11()) { + // use canvg as a polyfill to workaround ie11 considering a canvas with loaded svg 'unsafe' + // without ignoreClear we lose our background color; without ignoreDimensions some grid lines become invisible + var v = window.canvg.Canvg.fromString(ctx, svgData, { + ignoreClear: true, + ignoreDimensions: true + }); // render the svg to canvas + + v.start(); + var blob = canvas.msToBlob(); // dispose - missing this will cause a memory leak + + v.stop(); + resolve({ + blob: blob + }); + } else { + var svgUrl = 'data:image/svg+xml,' + encodeURIComponent(svgData); + var img = new Image(); + img.crossOrigin = 'anonymous'; + + img.onload = function () { + ctx.drawImage(img, 0, 0); + + if (canvas.msToBlob) { + // IE and Edge can't navigate to data urls, so we return the blob instead + var _blob = canvas.msToBlob(); + + resolve({ + blob: _blob + }); + } else { + var imgURI = canvas.toDataURL('image/png'); + resolve({ + imgURI: imgURI + }); + } + }; + + img.src = svgUrl; + } + }); + } + }, { + key: "exportToSVG", + value: function exportToSVG() { + this.triggerDownload(this.svgUrl(), this.w.config.chart.toolbar.export.svg.filename, '.svg'); + } + }, { + key: "exportToPng", + value: function exportToPng() { + var _this2 = this; + + this.dataURI().then(function (_ref) { + var imgURI = _ref.imgURI, + blob = _ref.blob; + + if (blob) { + navigator.msSaveOrOpenBlob(blob, _this2.w.globals.chartID + '.png'); + } else { + _this2.triggerDownload(imgURI, _this2.w.config.chart.toolbar.export.png.filename, '.png'); + } + }); + } + }, { + key: "exportToCSV", + value: function exportToCSV(_ref2) { + var _this3 = this; + + var series = _ref2.series, + fileName = _ref2.fileName, + _ref2$columnDelimiter = _ref2.columnDelimiter, + columnDelimiter = _ref2$columnDelimiter === void 0 ? ',' : _ref2$columnDelimiter, + _ref2$lineDelimiter = _ref2.lineDelimiter, + lineDelimiter = _ref2$lineDelimiter === void 0 ? '\n' : _ref2$lineDelimiter; + var w = this.w; + if (!series) series = w.config.series; + var columns = []; + var rows = []; + var result = ''; + var universalBOM = "\uFEFF"; + var gSeries = w.globals.series.map(function (s, i) { + return w.globals.collapsedSeriesIndices.indexOf(i) === -1 ? s : []; + }); + + var isTimeStamp = function isTimeStamp(num) { + return w.config.xaxis.type === 'datetime' && String(num).length >= 10; + }; + + var seriesMaxDataLength = Math.max.apply(Math, _toConsumableArray(series.map(function (s) { + return s.data ? s.data.length : 0; + }))); + var dataFormat = new Data(this.ctx); + var axesUtils = new AxesUtils(this.ctx); + + var getCat = function getCat(i) { + var cat = ''; // pie / donut/ radial + + if (!w.globals.axisCharts) { + cat = w.config.labels[i]; + } else { + // xy charts + // non datetime + if (w.config.xaxis.type === 'category' || w.config.xaxis.convertedCatToNumeric) { + if (w.globals.isBarHorizontal) { + var lbFormatter = w.globals.yLabelFormatters[0]; + var sr = new Series(_this3.ctx); + var activeSeries = sr.getActiveConfigSeriesIndex(); + cat = lbFormatter(w.globals.labels[i], { + seriesIndex: activeSeries, + dataPointIndex: i, + w: w + }); + } else { + cat = axesUtils.getLabel(w.globals.labels, w.globals.timescaleLabels, 0, i).text; + } + } // datetime, but labels specified in categories or labels + + + if (w.config.xaxis.type === 'datetime') { + if (w.config.xaxis.categories.length) { + cat = w.config.xaxis.categories[i]; + } else if (w.config.labels.length) { + cat = w.config.labels[i]; + } + } + } + + if (Array.isArray(cat)) { + cat = cat.join(' '); + } + + return Utils$1.isNumber(cat) ? cat : cat.split(columnDelimiter).join(''); + }; // Fix https://github.com/apexcharts/apexcharts.js/issues/3365 + + + var getEmptyDataForCsvColumn = function getEmptyDataForCsvColumn() { + return _toConsumableArray(Array(seriesMaxDataLength)).map(function () { + return ''; + }); + }; + + var handleAxisRowsColumns = function handleAxisRowsColumns(s, sI) { + if (columns.length && sI === 0) { + // It's the first series. Go ahead and create the first row with header information. + rows.push(columns.join(columnDelimiter)); + } + + if (s.data) { + // Use the data we have, or generate a properly sized empty array with empty data if some data is missing. + s.data = s.data.length && s.data || getEmptyDataForCsvColumn(); + + for (var i = 0; i < s.data.length; i++) { + // Reset the columns array so that we can start building columns for this row. + columns = []; + var cat = getCat(i); + + if (!cat) { + if (dataFormat.isFormatXY()) { + cat = series[sI].data[i].x; + } else if (dataFormat.isFormat2DArray()) { + cat = series[sI].data[i] ? series[sI].data[i][0] : ''; + } + } + + if (sI === 0) { + // It's the first series. Also handle the category. + columns.push(isTimeStamp(cat) ? w.config.chart.toolbar.export.csv.dateFormatter(cat) : Utils$1.isNumber(cat) ? cat : cat.split(columnDelimiter).join('')); + + for (var ci = 0; ci < w.globals.series.length; ci++) { + if (dataFormat.isFormatXY()) { + columns.push(series[ci].data[i].y); + } else { + columns.push(gSeries[ci][i]); + } + } + } + + if (w.config.chart.type === 'candlestick' || s.type && s.type === 'candlestick') { + columns.pop(); + columns.push(w.globals.seriesCandleO[sI][i]); + columns.push(w.globals.seriesCandleH[sI][i]); + columns.push(w.globals.seriesCandleL[sI][i]); + columns.push(w.globals.seriesCandleC[sI][i]); + } + + if (w.config.chart.type === 'boxPlot' || s.type && s.type === 'boxPlot') { + columns.pop(); + columns.push(w.globals.seriesCandleO[sI][i]); + columns.push(w.globals.seriesCandleH[sI][i]); + columns.push(w.globals.seriesCandleM[sI][i]); + columns.push(w.globals.seriesCandleL[sI][i]); + columns.push(w.globals.seriesCandleC[sI][i]); + } + + if (w.config.chart.type === 'rangeBar') { + columns.pop(); + columns.push(w.globals.seriesRangeStart[sI][i]); + columns.push(w.globals.seriesRangeEnd[sI][i]); + } + + if (columns.length) { + rows.push(columns.join(columnDelimiter)); + } + } + } + }; + + columns.push(w.config.chart.toolbar.export.csv.headerCategory); + + if (w.config.chart.type === 'boxPlot') { + columns.push('minimum'); + columns.push('q1'); + columns.push('median'); + columns.push('q3'); + columns.push('maximum'); + } else if (w.config.chart.type === 'candlestick') { + columns.push('open'); + columns.push('high'); + columns.push('low'); + columns.push('close'); + } else if (w.config.chart.type === 'rangeBar') { + columns.push('minimum'); + columns.push('maximum'); + } else { + series.map(function (s, sI) { + var sname = s.name ? s.name : "series-".concat(sI); + + if (w.globals.axisCharts) { + columns.push(sname.split(columnDelimiter).join('') ? sname.split(columnDelimiter).join('') : "series-".concat(sI)); + } + }); + } + + if (!w.globals.axisCharts) { + columns.push(w.config.chart.toolbar.export.csv.headerValue); + rows.push(columns.join(columnDelimiter)); + } + + series.map(function (s, sI) { + if (w.globals.axisCharts) { + handleAxisRowsColumns(s, sI); + } else { + columns = []; + columns.push(w.globals.labels[sI].split(columnDelimiter).join('')); + columns.push(gSeries[sI]); + rows.push(columns.join(columnDelimiter)); + } + }); + result += rows.join(lineDelimiter); + this.triggerDownload('data:text/csv; charset=utf-8,' + encodeURIComponent(universalBOM + result), fileName ? fileName : w.config.chart.toolbar.export.csv.filename, '.csv'); + } + }, { + key: "triggerDownload", + value: function triggerDownload(href, filename, ext) { + var downloadLink = document.createElement('a'); + downloadLink.href = href; + downloadLink.download = (filename ? filename : this.w.globals.chartID) + ext; + document.body.appendChild(downloadLink); + downloadLink.click(); + document.body.removeChild(downloadLink); + } + }]); + + return Exports; + }(); + + /** + * ApexCharts XAxis Class for drawing X-Axis. + * + * @module XAxis + **/ + + var XAxis = /*#__PURE__*/function () { + function XAxis(ctx, elgrid) { + _classCallCheck(this, XAxis); + + this.ctx = ctx; + this.elgrid = elgrid; + this.w = ctx.w; + var w = this.w; + this.axesUtils = new AxesUtils(ctx); + this.xaxisLabels = w.globals.labels.slice(); + + if (w.globals.timescaleLabels.length > 0 && !w.globals.isBarHorizontal) { + // timeline labels are there and chart is not rangeabr timeline + this.xaxisLabels = w.globals.timescaleLabels.slice(); + } + + if (w.config.xaxis.overwriteCategories) { + this.xaxisLabels = w.config.xaxis.overwriteCategories; + } + + this.drawnLabels = []; + this.drawnLabelsRects = []; + + if (w.config.xaxis.position === 'top') { + this.offY = 0; + } else { + this.offY = w.globals.gridHeight + 1; + } + + this.offY = this.offY + w.config.xaxis.axisBorder.offsetY; + this.isCategoryBarHorizontal = w.config.chart.type === 'bar' && w.config.plotOptions.bar.horizontal; + this.xaxisFontSize = w.config.xaxis.labels.style.fontSize; + this.xaxisFontFamily = w.config.xaxis.labels.style.fontFamily; + this.xaxisForeColors = w.config.xaxis.labels.style.colors; + this.xaxisBorderWidth = w.config.xaxis.axisBorder.width; + + if (this.isCategoryBarHorizontal) { + this.xaxisBorderWidth = w.config.yaxis[0].axisBorder.width.toString(); + } + + if (this.xaxisBorderWidth.indexOf('%') > -1) { + this.xaxisBorderWidth = w.globals.gridWidth * parseInt(this.xaxisBorderWidth, 10) / 100; + } else { + this.xaxisBorderWidth = parseInt(this.xaxisBorderWidth, 10); + } + + this.xaxisBorderHeight = w.config.xaxis.axisBorder.height; // For bars, we will only consider single y xais, + // as we are not providing multiple yaxis for bar charts + + this.yaxis = w.config.yaxis[0]; + } + + _createClass(XAxis, [{ + key: "drawXaxis", + value: function drawXaxis() { + var w = this.w; + var graphics = new Graphics(this.ctx); + var elXaxis = graphics.group({ + class: 'apexcharts-xaxis', + transform: "translate(".concat(w.config.xaxis.offsetX, ", ").concat(w.config.xaxis.offsetY, ")") + }); + var elXaxisTexts = graphics.group({ + class: 'apexcharts-xaxis-texts-g', + transform: "translate(".concat(w.globals.translateXAxisX, ", ").concat(w.globals.translateXAxisY, ")") + }); + elXaxis.add(elXaxisTexts); + var labels = []; + + for (var i = 0; i < this.xaxisLabels.length; i++) { + labels.push(this.xaxisLabels[i]); + } + + this.drawXAxisLabelAndGroup(true, graphics, elXaxisTexts, labels, w.globals.isXNumeric, function (i, colWidth) { + return colWidth; + }); + + if (w.globals.hasXaxisGroups) { + var labelsGroup = w.globals.groups; + labels = []; + + for (var _i = 0; _i < labelsGroup.length; _i++) { + labels.push(labelsGroup[_i].title); + } + + var overwriteStyles = {}; + + if (w.config.xaxis.group.style) { + overwriteStyles.xaxisFontSize = w.config.xaxis.group.style.fontSize; + overwriteStyles.xaxisFontFamily = w.config.xaxis.group.style.fontFamily; + overwriteStyles.xaxisForeColors = w.config.xaxis.group.style.colors; + overwriteStyles.fontWeight = w.config.xaxis.group.style.fontWeight; + overwriteStyles.cssClass = w.config.xaxis.group.style.cssClass; + } + + this.drawXAxisLabelAndGroup(false, graphics, elXaxisTexts, labels, false, function (i, colWidth) { + return labelsGroup[i].cols * colWidth; + }, overwriteStyles); + } + + if (w.config.xaxis.title.text !== undefined) { + var elXaxisTitle = graphics.group({ + class: 'apexcharts-xaxis-title' + }); + var elXAxisTitleText = graphics.drawText({ + x: w.globals.gridWidth / 2 + w.config.xaxis.title.offsetX, + y: this.offY + parseFloat(this.xaxisFontSize) + (w.config.xaxis.position === 'bottom' ? w.globals.xAxisLabelsHeight : -w.globals.xAxisLabelsHeight - 10) + w.config.xaxis.title.offsetY, + text: w.config.xaxis.title.text, + textAnchor: 'middle', + fontSize: w.config.xaxis.title.style.fontSize, + fontFamily: w.config.xaxis.title.style.fontFamily, + fontWeight: w.config.xaxis.title.style.fontWeight, + foreColor: w.config.xaxis.title.style.color, + cssClass: 'apexcharts-xaxis-title-text ' + w.config.xaxis.title.style.cssClass + }); + elXaxisTitle.add(elXAxisTitleText); + elXaxis.add(elXaxisTitle); + } + + if (w.config.xaxis.axisBorder.show) { + var offX = w.globals.barPadForNumericAxis; + var elHorzLine = graphics.drawLine(w.globals.padHorizontal + w.config.xaxis.axisBorder.offsetX - offX, this.offY, this.xaxisBorderWidth + offX, this.offY, w.config.xaxis.axisBorder.color, 0, this.xaxisBorderHeight); + + if (this.elgrid && this.elgrid.elGridBorders && w.config.grid.show) { + this.elgrid.elGridBorders.add(elHorzLine); + } else { + elXaxis.add(elHorzLine); + } + } + + return elXaxis; + } + }, { + key: "drawXAxisLabelAndGroup", + value: function drawXAxisLabelAndGroup(isLeafGroup, graphics, elXaxisTexts, labels, isXNumeric, colWidthCb) { + var _this = this; + + var overwriteStyles = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {}; + var drawnLabels = []; + var drawnLabelsRects = []; + var w = this.w; + var xaxisFontSize = overwriteStyles.xaxisFontSize || this.xaxisFontSize; + var xaxisFontFamily = overwriteStyles.xaxisFontFamily || this.xaxisFontFamily; + var xaxisForeColors = overwriteStyles.xaxisForeColors || this.xaxisForeColors; + var fontWeight = overwriteStyles.fontWeight || w.config.xaxis.labels.style.fontWeight; + var cssClass = overwriteStyles.cssClass || w.config.xaxis.labels.style.cssClass; + var colWidth; // initial x Position (keep adding column width in the loop) + + var xPos = w.globals.padHorizontal; + var labelsLen = labels.length; + /** + * labelsLen can be different (whether you are drawing x-axis labels or x-axis group labels) + * hence, we introduce dataPoints to be consistent. + * Also, in datetime/numeric xaxis, dataPoints can be misleading, so we resort to labelsLen for such xaxis type + */ + + var dataPoints = w.config.xaxis.type === 'category' ? w.globals.dataPoints : labelsLen; // when all series are collapsed, fixes #3381 + + if (dataPoints === 0 && labelsLen > dataPoints) dataPoints = labelsLen; + + if (isXNumeric) { + var len = dataPoints > 1 ? dataPoints - 1 : dataPoints; + colWidth = w.globals.gridWidth / len; + xPos = xPos + colWidthCb(0, colWidth) / 2 + w.config.xaxis.labels.offsetX; + } else { + colWidth = w.globals.gridWidth / dataPoints; + xPos = xPos + colWidthCb(0, colWidth) + w.config.xaxis.labels.offsetX; + } + + var _loop = function _loop(i) { + var x = xPos - colWidthCb(i, colWidth) / 2 + w.config.xaxis.labels.offsetX; + + if (i === 0 && labelsLen === 1 && colWidth / 2 === xPos && dataPoints === 1) { + // single datapoint + x = w.globals.gridWidth / 2; + } + + var label = _this.axesUtils.getLabel(labels, w.globals.timescaleLabels, x, i, drawnLabels, xaxisFontSize, isLeafGroup); + + var offsetYCorrection = 28; + + if (w.globals.rotateXLabels && isLeafGroup) { + offsetYCorrection = 22; + } + + if (w.config.xaxis.title.text && w.config.xaxis.position === 'top') { + offsetYCorrection += parseFloat(w.config.xaxis.title.style.fontSize) + 2; + } + + if (!isLeafGroup) { + offsetYCorrection = offsetYCorrection + parseFloat(xaxisFontSize) + (w.globals.xAxisLabelsHeight - w.globals.xAxisGroupLabelsHeight) + (w.globals.rotateXLabels ? 10 : 0); + } + + var isCategoryTickAmounts = typeof w.config.xaxis.tickAmount !== 'undefined' && w.config.xaxis.tickAmount !== 'dataPoints' && w.config.xaxis.type !== 'datetime'; + + if (isCategoryTickAmounts) { + label = _this.axesUtils.checkLabelBasedOnTickamount(i, label, labelsLen); + } else { + label = _this.axesUtils.checkForOverflowingLabels(i, label, labelsLen, drawnLabels, drawnLabelsRects); + } + + var getCatForeColor = function getCatForeColor() { + return isLeafGroup && w.config.xaxis.convertedCatToNumeric ? xaxisForeColors[w.globals.minX + i - 1] : xaxisForeColors[i]; + }; + + if (w.config.xaxis.labels.show) { + var elText = graphics.drawText({ + x: label.x, + y: _this.offY + w.config.xaxis.labels.offsetY + offsetYCorrection - (w.config.xaxis.position === 'top' ? w.globals.xAxisHeight + w.config.xaxis.axisTicks.height - 2 : 0), + text: label.text, + textAnchor: 'middle', + fontWeight: label.isBold ? 600 : fontWeight, + fontSize: xaxisFontSize, + fontFamily: xaxisFontFamily, + foreColor: Array.isArray(xaxisForeColors) ? getCatForeColor() : xaxisForeColors, + isPlainText: false, + cssClass: (isLeafGroup ? 'apexcharts-xaxis-label ' : 'apexcharts-xaxis-group-label ') + cssClass + }); + elXaxisTexts.add(elText); + elText.on('click', function (e) { + if (typeof w.config.chart.events.xAxisLabelClick === 'function') { + var opts = Object.assign({}, w, { + labelIndex: i + }); + w.config.chart.events.xAxisLabelClick(e, _this.ctx, opts); + } + }); + + if (isLeafGroup) { + var elTooltipTitle = document.createElementNS(w.globals.SVGNS, 'title'); + elTooltipTitle.textContent = Array.isArray(label.text) ? label.text.join(' ') : label.text; + elText.node.appendChild(elTooltipTitle); + + if (label.text !== '') { + drawnLabels.push(label.text); + drawnLabelsRects.push(label); + } + } + } + + if (i < labelsLen - 1) { + xPos = xPos + colWidthCb(i + 1, colWidth); + } + }; + + for (var i = 0; i <= labelsLen - 1; i++) { + _loop(i); + } + } // this actually becomes the vertical axis (for bar charts) + + }, { + key: "drawXaxisInversed", + value: function drawXaxisInversed(realIndex) { + var _this2 = this; + + var w = this.w; + var graphics = new Graphics(this.ctx); + var translateYAxisX = w.config.yaxis[0].opposite ? w.globals.translateYAxisX[realIndex] : 0; + var elYaxis = graphics.group({ + class: 'apexcharts-yaxis apexcharts-xaxis-inversed', + rel: realIndex + }); + var elYaxisTexts = graphics.group({ + class: 'apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g', + transform: 'translate(' + translateYAxisX + ', 0)' + }); + elYaxis.add(elYaxisTexts); + var colHeight; // initial x Position (keep adding column width in the loop) + + var yPos; + var labels = []; + + if (w.config.yaxis[realIndex].show) { + for (var i = 0; i < this.xaxisLabels.length; i++) { + labels.push(this.xaxisLabels[i]); + } + } + + colHeight = w.globals.gridHeight / labels.length; + yPos = -(colHeight / 2.2); + var lbFormatter = w.globals.yLabelFormatters[0]; + var ylabels = w.config.yaxis[0].labels; + + if (ylabels.show) { + var _loop2 = function _loop2(_i2) { + var label = typeof labels[_i2] === 'undefined' ? '' : labels[_i2]; + label = lbFormatter(label, { + seriesIndex: realIndex, + dataPointIndex: _i2, + w: w + }); + + var yColors = _this2.axesUtils.getYAxisForeColor(ylabels.style.colors, realIndex); + + var getForeColor = function getForeColor() { + return Array.isArray(yColors) ? yColors[_i2] : yColors; + }; + + var multiY = 0; + + if (Array.isArray(label)) { + multiY = label.length / 2 * parseInt(ylabels.style.fontSize, 10); + } + + var offsetX = ylabels.offsetX - 15; + var textAnchor = 'end'; + + if (_this2.yaxis.opposite) { + textAnchor = 'start'; + } + + if (w.config.yaxis[0].labels.align === 'left') { + offsetX = ylabels.offsetX; + textAnchor = 'start'; + } else if (w.config.yaxis[0].labels.align === 'center') { + offsetX = ylabels.offsetX; + textAnchor = 'middle'; + } else if (w.config.yaxis[0].labels.align === 'right') { + textAnchor = 'end'; + } + + var elLabel = graphics.drawText({ + x: offsetX, + y: yPos + colHeight + ylabels.offsetY - multiY, + text: label, + textAnchor: textAnchor, + foreColor: getForeColor(), + fontSize: ylabels.style.fontSize, + fontFamily: ylabels.style.fontFamily, + fontWeight: ylabels.style.fontWeight, + isPlainText: false, + cssClass: 'apexcharts-yaxis-label ' + ylabels.style.cssClass, + maxWidth: ylabels.maxWidth + }); + elYaxisTexts.add(elLabel); + elLabel.on('click', function (e) { + if (typeof w.config.chart.events.xAxisLabelClick === 'function') { + var opts = Object.assign({}, w, { + labelIndex: _i2 + }); + w.config.chart.events.xAxisLabelClick(e, _this2.ctx, opts); + } + }); + var elTooltipTitle = document.createElementNS(w.globals.SVGNS, 'title'); + elTooltipTitle.textContent = Array.isArray(label) ? label.join(' ') : label; + elLabel.node.appendChild(elTooltipTitle); + + if (w.config.yaxis[realIndex].labels.rotate !== 0) { + var labelRotatingCenter = graphics.rotateAroundCenter(elLabel.node); + elLabel.node.setAttribute('transform', "rotate(".concat(w.config.yaxis[realIndex].labels.rotate, " 0 ").concat(labelRotatingCenter.y, ")")); + } + + yPos = yPos + colHeight; + }; + + for (var _i2 = 0; _i2 <= labels.length - 1; _i2++) { + _loop2(_i2); + } + } + + if (w.config.yaxis[0].title.text !== undefined) { + var elXaxisTitle = graphics.group({ + class: 'apexcharts-yaxis-title apexcharts-xaxis-title-inversed', + transform: 'translate(' + translateYAxisX + ', 0)' + }); + var elXAxisTitleText = graphics.drawText({ + x: w.config.yaxis[0].title.offsetX, + y: w.globals.gridHeight / 2 + w.config.yaxis[0].title.offsetY, + text: w.config.yaxis[0].title.text, + textAnchor: 'middle', + foreColor: w.config.yaxis[0].title.style.color, + fontSize: w.config.yaxis[0].title.style.fontSize, + fontWeight: w.config.yaxis[0].title.style.fontWeight, + fontFamily: w.config.yaxis[0].title.style.fontFamily, + cssClass: 'apexcharts-yaxis-title-text ' + w.config.yaxis[0].title.style.cssClass + }); + elXaxisTitle.add(elXAxisTitleText); + elYaxis.add(elXaxisTitle); + } + + var offX = 0; + + if (this.isCategoryBarHorizontal && w.config.yaxis[0].opposite) { + offX = w.globals.gridWidth; + } + + var axisBorder = w.config.xaxis.axisBorder; + + if (axisBorder.show) { + var elVerticalLine = graphics.drawLine(w.globals.padHorizontal + axisBorder.offsetX + offX, 1 + axisBorder.offsetY, w.globals.padHorizontal + axisBorder.offsetX + offX, w.globals.gridHeight + axisBorder.offsetY, axisBorder.color, 0); + + if (this.elgrid && this.elgrid.elGridBorders && w.config.grid.show) { + this.elgrid.elGridBorders.add(elVerticalLine); + } else { + elYaxis.add(elVerticalLine); + } + } + + if (w.config.yaxis[0].axisTicks.show) { + this.axesUtils.drawYAxisTicks(offX, labels.length, w.config.yaxis[0].axisBorder, w.config.yaxis[0].axisTicks, 0, colHeight, elYaxis); + } + + return elYaxis; + } + }, { + key: "drawXaxisTicks", + value: function drawXaxisTicks(x1, y2, appendToElement) { + var w = this.w; + var x2 = x1; + if (x1 < 0 || x1 - 2 > w.globals.gridWidth) return; + var y1 = this.offY + w.config.xaxis.axisTicks.offsetY; + y2 = y2 + y1 + w.config.xaxis.axisTicks.height; + + if (w.config.xaxis.position === 'top') { + y2 = y1 - w.config.xaxis.axisTicks.height; + } + + if (w.config.xaxis.axisTicks.show) { + var graphics = new Graphics(this.ctx); + var line = graphics.drawLine(x1 + w.config.xaxis.axisTicks.offsetX, y1 + w.config.xaxis.offsetY, x2 + w.config.xaxis.axisTicks.offsetX, y2 + w.config.xaxis.offsetY, w.config.xaxis.axisTicks.color); // we are not returning anything, but appending directly to the element passed in param + + appendToElement.add(line); + line.node.classList.add('apexcharts-xaxis-tick'); + } + } + }, { + key: "getXAxisTicksPositions", + value: function getXAxisTicksPositions() { + var w = this.w; + var xAxisTicksPositions = []; + var xCount = this.xaxisLabels.length; + var x1 = w.globals.padHorizontal; + + if (w.globals.timescaleLabels.length > 0) { + for (var i = 0; i < xCount; i++) { + x1 = this.xaxisLabels[i].position; + xAxisTicksPositions.push(x1); + } + } else { + var xCountForCategoryCharts = xCount; + + for (var _i3 = 0; _i3 < xCountForCategoryCharts; _i3++) { + var x1Count = xCountForCategoryCharts; + + if (w.globals.isXNumeric && w.config.chart.type !== 'bar') { + x1Count -= 1; + } + + x1 = x1 + w.globals.gridWidth / x1Count; + xAxisTicksPositions.push(x1); + } + } + + return xAxisTicksPositions; + } // to rotate x-axis labels or to put ... for longer text in xaxis + + }, { + key: "xAxisLabelCorrections", + value: function xAxisLabelCorrections() { + var w = this.w; + var graphics = new Graphics(this.ctx); + var xAxis = w.globals.dom.baseEl.querySelector('.apexcharts-xaxis-texts-g'); + var xAxisTexts = w.globals.dom.baseEl.querySelectorAll('.apexcharts-xaxis-texts-g text:not(.apexcharts-xaxis-group-label)'); + var yAxisTextsInversed = w.globals.dom.baseEl.querySelectorAll('.apexcharts-yaxis-inversed text'); + var xAxisTextsInversed = w.globals.dom.baseEl.querySelectorAll('.apexcharts-xaxis-inversed-texts-g text tspan'); + + if (w.globals.rotateXLabels || w.config.xaxis.labels.rotateAlways) { + for (var xat = 0; xat < xAxisTexts.length; xat++) { + var textRotatingCenter = graphics.rotateAroundCenter(xAxisTexts[xat]); + textRotatingCenter.y = textRotatingCenter.y - 1; // + tickWidth/4; + + textRotatingCenter.x = textRotatingCenter.x + 1; + xAxisTexts[xat].setAttribute('transform', "rotate(".concat(w.config.xaxis.labels.rotate, " ").concat(textRotatingCenter.x, " ").concat(textRotatingCenter.y, ")")); + xAxisTexts[xat].setAttribute('text-anchor', "end"); + var offsetHeight = 10; + xAxis.setAttribute('transform', "translate(0, ".concat(-offsetHeight, ")")); + var tSpan = xAxisTexts[xat].childNodes; + + if (w.config.xaxis.labels.trim) { + Array.prototype.forEach.call(tSpan, function (ts) { + graphics.placeTextWithEllipsis(ts, ts.textContent, w.globals.xAxisLabelsHeight - (w.config.legend.position === 'bottom' ? 20 : 10)); + }); + } + } + } else { + (function () { + var width = w.globals.gridWidth / (w.globals.labels.length + 1); + + for (var _xat = 0; _xat < xAxisTexts.length; _xat++) { + var _tSpan = xAxisTexts[_xat].childNodes; + + if (w.config.xaxis.labels.trim && w.config.xaxis.type !== 'datetime') { + Array.prototype.forEach.call(_tSpan, function (ts) { + graphics.placeTextWithEllipsis(ts, ts.textContent, width); + }); + } + } + })(); + } + + if (yAxisTextsInversed.length > 0) { + // truncate rotated y axis in bar chart (x axis) + var firstLabelPosX = yAxisTextsInversed[yAxisTextsInversed.length - 1].getBBox(); + var lastLabelPosX = yAxisTextsInversed[0].getBBox(); + + if (firstLabelPosX.x < -20) { + yAxisTextsInversed[yAxisTextsInversed.length - 1].parentNode.removeChild(yAxisTextsInversed[yAxisTextsInversed.length - 1]); + } + + if (lastLabelPosX.x + lastLabelPosX.width > w.globals.gridWidth && !w.globals.isBarHorizontal) { + yAxisTextsInversed[0].parentNode.removeChild(yAxisTextsInversed[0]); + } // truncate rotated x axis in bar chart (y axis) + + + for (var _xat2 = 0; _xat2 < xAxisTextsInversed.length; _xat2++) { + graphics.placeTextWithEllipsis(xAxisTextsInversed[_xat2], xAxisTextsInversed[_xat2].textContent, w.config.yaxis[0].labels.maxWidth - (w.config.yaxis[0].title.text ? parseFloat(w.config.yaxis[0].title.style.fontSize) * 2 : 0) - 15); + } + } + } // renderXAxisBands() { + // let w = this.w; + // let plotBand = document.createElementNS(w.globals.SVGNS, 'rect') + // w.globals.dom.elGraphical.add(plotBand) + // } + + }]); + + return XAxis; + }(); + + /** + * ApexCharts Grid Class for drawing Cartesian Grid. + * + * @module Grid + **/ + + var Grid = /*#__PURE__*/function () { + function Grid(ctx) { + _classCallCheck(this, Grid); + + this.ctx = ctx; + this.w = ctx.w; + var w = this.w; + this.xaxisLabels = w.globals.labels.slice(); + this.axesUtils = new AxesUtils(ctx); + this.isRangeBar = w.globals.seriesRange.length; + + if (w.globals.timescaleLabels.length > 0) { + // timescaleLabels labels are there + this.xaxisLabels = w.globals.timescaleLabels.slice(); + } + } // when using sparklines or when showing no grid, we need to have a grid area which is reused at many places for other calculations as well + + + _createClass(Grid, [{ + key: "drawGridArea", + value: function drawGridArea() { + var elGrid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + var w = this.w; + var graphics = new Graphics(this.ctx); + + if (elGrid === null) { + elGrid = graphics.group({ + class: 'apexcharts-grid' + }); + } + + var elVerticalLine = graphics.drawLine(w.globals.padHorizontal, 1, w.globals.padHorizontal, w.globals.gridHeight, 'transparent'); + var elHorzLine = graphics.drawLine(w.globals.padHorizontal, w.globals.gridHeight, w.globals.gridWidth, w.globals.gridHeight, 'transparent'); + elGrid.add(elHorzLine); + elGrid.add(elVerticalLine); + return elGrid; + } + }, { + key: "drawGrid", + value: function drawGrid() { + var gl = this.w.globals; + var elgrid = null; + + if (gl.axisCharts) { + // grid is drawn after xaxis and yaxis are drawn + elgrid = this.renderGrid(); + this.drawGridArea(elgrid.el); + } + + return elgrid; + } // This mask will clip off overflowing graphics from the drawable area + + }, { + key: "createGridMask", + value: function createGridMask() { + var w = this.w; + var gl = w.globals; + var graphics = new Graphics(this.ctx); + var strokeSize = Array.isArray(w.config.stroke.width) ? 0 : w.config.stroke.width; + + if (Array.isArray(w.config.stroke.width)) { + var strokeMaxSize = 0; + w.config.stroke.width.forEach(function (m) { + strokeMaxSize = Math.max(strokeMaxSize, m); + }); + strokeSize = strokeMaxSize; + } + + gl.dom.elGridRectMask = document.createElementNS(gl.SVGNS, 'clipPath'); + gl.dom.elGridRectMask.setAttribute('id', "gridRectMask".concat(gl.cuid)); + gl.dom.elGridRectMarkerMask = document.createElementNS(gl.SVGNS, 'clipPath'); + gl.dom.elGridRectMarkerMask.setAttribute('id', "gridRectMarkerMask".concat(gl.cuid)); + gl.dom.elForecastMask = document.createElementNS(gl.SVGNS, 'clipPath'); + gl.dom.elForecastMask.setAttribute('id', "forecastMask".concat(gl.cuid)); + gl.dom.elNonForecastMask = document.createElementNS(gl.SVGNS, 'clipPath'); + gl.dom.elNonForecastMask.setAttribute('id', "nonForecastMask".concat(gl.cuid)); // let barHalfWidth = 0 + + var type = w.config.chart.type; + var hasBar = type === 'bar' || type === 'rangeBar' || type === 'candlestick' || type === 'boxPlot' || w.globals.comboBarCount > 0; + var barWidthLeft = 0; + var barWidthRight = 0; + + if (hasBar && w.globals.isXNumeric && !w.globals.isBarHorizontal) { + barWidthLeft = w.config.grid.padding.left; + barWidthRight = w.config.grid.padding.right; + + if (gl.barPadForNumericAxis > barWidthLeft) { + barWidthLeft = gl.barPadForNumericAxis; + barWidthRight = gl.barPadForNumericAxis; + } + } + + gl.dom.elGridRect = graphics.drawRect(-strokeSize / 2 - barWidthLeft - 2, -strokeSize / 2, gl.gridWidth + strokeSize + barWidthRight + barWidthLeft + 4, gl.gridHeight + strokeSize, 0, '#fff'); + var markerSize = w.globals.markers.largestSize + 1; + gl.dom.elGridRectMarker = graphics.drawRect(-markerSize * 2, -markerSize * 2, gl.gridWidth + markerSize * 4, gl.gridHeight + markerSize * 4, 0, '#fff'); + gl.dom.elGridRectMask.appendChild(gl.dom.elGridRect.node); + gl.dom.elGridRectMarkerMask.appendChild(gl.dom.elGridRectMarker.node); + var defs = gl.dom.baseEl.querySelector('defs'); + defs.appendChild(gl.dom.elGridRectMask); + defs.appendChild(gl.dom.elForecastMask); + defs.appendChild(gl.dom.elNonForecastMask); + defs.appendChild(gl.dom.elGridRectMarkerMask); + } + }, { + key: "_drawGridLines", + value: function _drawGridLines(_ref) { + var i = _ref.i, + x1 = _ref.x1, + y1 = _ref.y1, + x2 = _ref.x2, + y2 = _ref.y2, + xCount = _ref.xCount, + parent = _ref.parent; + var w = this.w; + + var shouldDraw = function shouldDraw() { + if (i === 0 && w.globals.skipFirstTimelinelabel) { + return false; + } + + if (i === xCount - 1 && w.globals.skipLastTimelinelabel && !w.config.xaxis.labels.formatter) { + return false; + } + + if (w.config.chart.type === 'radar') { + return false; + } + + return true; + }; + + if (shouldDraw()) { + if (w.config.grid.xaxis.lines.show) { + this._drawGridLine({ + i: i, + x1: x1, + y1: y1, + x2: x2, + y2: y2, + xCount: xCount, + parent: parent + }); + } + + var y_2 = 0; + + if (w.globals.hasXaxisGroups && w.config.xaxis.tickPlacement === 'between') { + var groups = w.globals.groups; + + if (groups) { + var gacc = 0; + + for (var gi = 0; gacc < i && gi < groups.length; gi++) { + gacc += groups[gi].cols; + } + + if (gacc === i) { + y_2 = w.globals.xAxisLabelsHeight * 0.6; + } + } + } + + var xAxis = new XAxis(this.ctx); + xAxis.drawXaxisTicks(x1, y_2, w.globals.dom.elGraphical); + } + } + }, { + key: "_drawGridLine", + value: function _drawGridLine(_ref2) { + var i = _ref2.i, + x1 = _ref2.x1, + y1 = _ref2.y1, + x2 = _ref2.x2, + y2 = _ref2.y2, + xCount = _ref2.xCount, + parent = _ref2.parent; + var w = this.w; + var excludeBorders = false; + var isHorzLine = parent.node.classList.contains('apexcharts-gridlines-horizontal'); + var strokeDashArray = w.config.grid.strokeDashArray; + var offX = w.globals.barPadForNumericAxis; + + if (y1 === 0 && y2 === 0 || x1 === 0 && x2 === 0) { + excludeBorders = true; + } + + if (y1 === w.globals.gridHeight && y2 === w.globals.gridHeight) { + excludeBorders = true; + } + + if (w.globals.isBarHorizontal && (i === 0 || i === xCount - 1)) { + excludeBorders = true; + } + + var graphics = new Graphics(this); + var line = graphics.drawLine(x1 - (isHorzLine ? offX : 0), y1, x2 + (isHorzLine ? offX : 0), y2, w.config.grid.borderColor, strokeDashArray); + line.node.classList.add('apexcharts-gridline'); + + if (excludeBorders && w.config.grid.show) { + this.elGridBorders.add(line); + } else { + parent.add(line); + } + } + }, { + key: "_drawGridBandRect", + value: function _drawGridBandRect(_ref3) { + var c = _ref3.c, + x1 = _ref3.x1, + y1 = _ref3.y1, + x2 = _ref3.x2, + y2 = _ref3.y2, + type = _ref3.type; + var w = this.w; + var graphics = new Graphics(this.ctx); + var offX = w.globals.barPadForNumericAxis; + if (type === 'column' && w.config.xaxis.type === 'datetime') return; + var color = w.config.grid[type].colors[c]; + var rect = graphics.drawRect(x1 - (type === 'row' ? offX : 0), y1, x2 + (type === 'row' ? offX * 2 : 0), y2, 0, color, w.config.grid[type].opacity); + this.elg.add(rect); + rect.attr('clip-path', "url(#gridRectMask".concat(w.globals.cuid, ")")); + rect.node.classList.add("apexcharts-grid-".concat(type)); + } + }, { + key: "_drawXYLines", + value: function _drawXYLines(_ref4) { + var _this = this; + + var xCount = _ref4.xCount, + tickAmount = _ref4.tickAmount; + var w = this.w; + + var datetimeLines = function datetimeLines(_ref5) { + var xC = _ref5.xC, + x1 = _ref5.x1, + y1 = _ref5.y1, + x2 = _ref5.x2, + y2 = _ref5.y2; + + for (var i = 0; i < xC; i++) { + x1 = _this.xaxisLabels[i].position; + x2 = _this.xaxisLabels[i].position; + + _this._drawGridLines({ + i: i, + x1: x1, + y1: y1, + x2: x2, + y2: y2, + xCount: xCount, + parent: _this.elgridLinesV + }); + } + }; + + var categoryLines = function categoryLines(_ref6) { + var xC = _ref6.xC, + x1 = _ref6.x1, + y1 = _ref6.y1, + x2 = _ref6.x2, + y2 = _ref6.y2; + + for (var i = 0; i < xC + (w.globals.isXNumeric ? 0 : 1); i++) { + if (i === 0 && xC === 1 && w.globals.dataPoints === 1) { + // single datapoint + x1 = w.globals.gridWidth / 2; + x2 = x1; + } + + _this._drawGridLines({ + i: i, + x1: x1, + y1: y1, + x2: x2, + y2: y2, + xCount: xCount, + parent: _this.elgridLinesV + }); + + x1 = x1 + w.globals.gridWidth / (w.globals.isXNumeric ? xC - 1 : xC); + x2 = x1; + } + }; // draw vertical lines + + + if (w.config.grid.xaxis.lines.show || w.config.xaxis.axisTicks.show) { + var x1 = w.globals.padHorizontal; + var y1 = 0; + var x2; + var y2 = w.globals.gridHeight; + + if (w.globals.timescaleLabels.length) { + datetimeLines({ + xC: xCount, + x1: x1, + y1: y1, + x2: x2, + y2: y2 + }); + } else { + if (w.globals.isXNumeric) { + xCount = w.globals.xAxisScale.result.length; + } + + categoryLines({ + xC: xCount, + x1: x1, + y1: y1, + x2: x2, + y2: y2 + }); + } + } // draw horizontal lines + + + if (w.config.grid.yaxis.lines.show) { + var _x = 0; + var _y = 0; + var _y2 = 0; + var _x2 = w.globals.gridWidth; + var tA = tickAmount + 1; + + if (this.isRangeBar) { + tA = w.globals.labels.length; + } + + for (var i = 0; i < tA + (this.isRangeBar ? 1 : 0); i++) { + this._drawGridLine({ + i: i, + xCount: tA + (this.isRangeBar ? 1 : 0), + x1: _x, + y1: _y, + x2: _x2, + y2: _y2, + parent: this.elgridLinesH + }); + + _y = _y + w.globals.gridHeight / (this.isRangeBar ? tA : tickAmount); + _y2 = _y; + } + } + } + }, { + key: "_drawInvertedXYLines", + value: function _drawInvertedXYLines(_ref7) { + var xCount = _ref7.xCount; + var w = this.w; // draw vertical lines + + if (w.config.grid.xaxis.lines.show || w.config.xaxis.axisTicks.show) { + var x1 = w.globals.padHorizontal; + var y1 = 0; + var x2; + var y2 = w.globals.gridHeight; + + for (var i = 0; i < xCount + 1; i++) { + if (w.config.grid.xaxis.lines.show) { + this._drawGridLine({ + i: i, + xCount: xCount + 1, + x1: x1, + y1: y1, + x2: x2, + y2: y2, + parent: this.elgridLinesV + }); + } + + var xAxis = new XAxis(this.ctx); + xAxis.drawXaxisTicks(x1, 0, w.globals.dom.elGraphical); + x1 = x1 + w.globals.gridWidth / xCount + 0.3; + x2 = x1; + } + } // draw horizontal lines + + + if (w.config.grid.yaxis.lines.show) { + var _x3 = 0; + var _y3 = 0; + var _y4 = 0; + var _x4 = w.globals.gridWidth; + + for (var _i = 0; _i < w.globals.dataPoints + 1; _i++) { + this._drawGridLine({ + i: _i, + xCount: w.globals.dataPoints + 1, + x1: _x3, + y1: _y3, + x2: _x4, + y2: _y4, + parent: this.elgridLinesH + }); + + _y3 = _y3 + w.globals.gridHeight / w.globals.dataPoints; + _y4 = _y3; + } + } + } // actual grid rendering + + }, { + key: "renderGrid", + value: function renderGrid() { + var w = this.w; + var graphics = new Graphics(this.ctx); + this.elg = graphics.group({ + class: 'apexcharts-grid' + }); + this.elgridLinesH = graphics.group({ + class: 'apexcharts-gridlines-horizontal' + }); + this.elgridLinesV = graphics.group({ + class: 'apexcharts-gridlines-vertical' + }); + this.elGridBorders = graphics.group({ + class: 'apexcharts-grid-borders' + }); + this.elg.add(this.elgridLinesH); + this.elg.add(this.elgridLinesV); + + if (!w.config.grid.show) { + this.elgridLinesV.hide(); + this.elgridLinesH.hide(); + this.elGridBorders.hide(); + } + + var yTickAmount = w.globals.yAxisScale.length ? w.globals.yAxisScale[0].result.length - 1 : 5; + + for (var i = 0; i < w.globals.series.length; i++) { + if (typeof w.globals.yAxisScale[i] !== 'undefined') { + yTickAmount = w.globals.yAxisScale[i].result.length - 1; + } + + if (yTickAmount > 2) break; + } + + var xCount; + + if (!w.globals.isBarHorizontal || this.isRangeBar) { + xCount = this.xaxisLabels.length; + + if (this.isRangeBar) { + xCount--; + yTickAmount = w.globals.labels.length; + + if (w.config.xaxis.tickAmount && w.config.xaxis.labels.formatter) { + xCount = w.config.xaxis.tickAmount; + } + } + + this._drawXYLines({ + xCount: xCount, + tickAmount: yTickAmount + }); + } else { + xCount = yTickAmount; // for horizontal bar chart, get the xaxis tickamount + + yTickAmount = w.globals.xTickAmount; + + this._drawInvertedXYLines({ + xCount: xCount, + tickAmount: yTickAmount + }); + } + + this.drawGridBands(xCount, yTickAmount); + return { + el: this.elg, + elGridBorders: this.elGridBorders, + xAxisTickWidth: w.globals.gridWidth / xCount + }; + } + }, { + key: "drawGridBands", + value: function drawGridBands(xCount, tickAmount) { + var w = this.w; // rows background bands + + if (w.config.grid.row.colors !== undefined && w.config.grid.row.colors.length > 0) { + var x1 = 0; + var y1 = 0; + var y2 = w.globals.gridHeight / tickAmount; + var x2 = w.globals.gridWidth; + + for (var i = 0, c = 0; i < tickAmount; i++, c++) { + if (c >= w.config.grid.row.colors.length) { + c = 0; + } + + this._drawGridBandRect({ + c: c, + x1: x1, + y1: y1, + x2: x2, + y2: y2, + type: 'row' + }); + + y1 = y1 + w.globals.gridHeight / tickAmount; + } + } // columns background bands + + + if (w.config.grid.column.colors !== undefined && w.config.grid.column.colors.length > 0) { + var xc = !w.globals.isBarHorizontal && (w.config.xaxis.type === 'category' || w.config.xaxis.convertedCatToNumeric) ? xCount - 1 : xCount; + var _x5 = w.globals.padHorizontal; + var _y5 = 0; + + var _x6 = w.globals.padHorizontal + w.globals.gridWidth / xc; + + var _y6 = w.globals.gridHeight; + + for (var _i2 = 0, _c = 0; _i2 < xCount; _i2++, _c++) { + if (_c >= w.config.grid.column.colors.length) { + _c = 0; + } + + this._drawGridBandRect({ + c: _c, + x1: _x5, + y1: _y5, + x2: _x6, + y2: _y6, + type: 'column' + }); + + _x5 = _x5 + w.globals.gridWidth / xc; + } + } + } + }]); + + return Grid; + }(); + + var Range$1 = /*#__PURE__*/function () { + function Range(ctx) { + _classCallCheck(this, Range); + + this.ctx = ctx; + this.w = ctx.w; + } // http://stackoverflow.com/questions/326679/choosing-an-attractive-linear-scale-for-a-graphs-y-axiss + // This routine creates the Y axis values for a graph. + + + _createClass(Range, [{ + key: "niceScale", + value: function niceScale(yMin, yMax) { + var ticks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10; + var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + var NO_MIN_MAX_PROVIDED = arguments.length > 4 ? arguments[4] : undefined; + var w = this.w; // Determine Range + + var range = Math.abs(yMax - yMin); + ticks = this._adjustTicksForSmallRange(ticks, index, range); + + if (ticks === 'dataPoints') { + ticks = w.globals.dataPoints - 1; + } + + if (yMin === Number.MIN_VALUE && yMax === 0 || !Utils$1.isNumber(yMin) && !Utils$1.isNumber(yMax) || yMin === Number.MIN_VALUE && yMax === -Number.MAX_VALUE) { + // when all values are 0 + yMin = 0; + yMax = ticks; + var linearScale = this.linearScale(yMin, yMax, ticks); + return linearScale; + } + + if (yMin > yMax) { + // if somehow due to some wrong config, user sent max less than min, + // adjust the min/max again + console.warn('axis.min cannot be greater than axis.max'); + yMax = yMin + 0.1; + } else if (yMin === yMax) { + // If yMin and yMax are identical, then + // adjust the yMin and yMax values to actually + // make a graph. Also avoids division by zero errors. + yMin = yMin === 0 ? 0 : yMin - 0.5; // some small value + + yMax = yMax === 0 ? 2 : yMax + 0.5; // some small value + } // Calculate Min amd Max graphical labels and graph + // increments. The number of ticks defaults to + // 10 which is the SUGGESTED value. Any tick value + // entered is used as a suggested value which is + // adjusted to be a 'pretty' value. + // + // Output will be an array of the Y axis values that + // encompass the Y values. + + + var result = []; + + if (range < 1 && NO_MIN_MAX_PROVIDED && (w.config.chart.type === 'candlestick' || w.config.series[index].type === 'candlestick' || w.config.chart.type === 'boxPlot' || w.config.series[index].type === 'boxPlot' || w.globals.isRangeData)) { + /* fix https://github.com/apexcharts/apexcharts.js/issues/430 */ + yMax = yMax * 1.01; + } + + var tiks = ticks + 1; // Adjust ticks if needed + + if (tiks < 2) { + tiks = 2; + } else if (tiks > 2) { + tiks -= 2; + } // Get raw step value + + + var tempStep = range / tiks; // Calculate pretty step value + + var mag = Math.floor(Utils$1.log10(tempStep)); + var magPow = Math.pow(10, mag); + var magMsd = Math.round(tempStep / magPow); + + if (magMsd < 1) { + magMsd = 1; + } + + var stepSize = magMsd * magPow; // build Y label array. + // Lower and upper bounds calculations + + var lb = stepSize * Math.floor(yMin / stepSize); + var ub = stepSize * Math.ceil(yMax / stepSize); // Build array + + var val = lb; + + if (NO_MIN_MAX_PROVIDED && range > 2) { + while (1) { + result.push(val); + val += stepSize; + + if (val > ub) { + break; + } + } + + return { + result: result, + niceMin: result[0], + niceMax: result[result.length - 1] + }; + } else { + result = []; + var v = yMin; + result.push(v); + var valuesDivider = Math.abs(yMax - yMin) / ticks; + + for (var i = 0; i <= ticks; i++) { + v = v + valuesDivider; + result.push(v); + } + + if (result[result.length - 2] >= yMax) { + result.pop(); + } + + return { + result: result, + niceMin: result[0], + niceMax: result[result.length - 1] + }; + } + } + }, { + key: "linearScale", + value: function linearScale(yMin, yMax) { + var ticks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10; + var index = arguments.length > 3 ? arguments[3] : undefined; + var range = Math.abs(yMax - yMin); + ticks = this._adjustTicksForSmallRange(ticks, index, range); + + if (ticks === 'dataPoints') { + ticks = this.w.globals.dataPoints - 1; + } + + var step = range / ticks; + + if (ticks === Number.MAX_VALUE) { + ticks = 10; + step = 1; + } + + var result = []; + var v = yMin; + + while (ticks >= 0) { + result.push(v); + v = v + step; + ticks -= 1; + } + + return { + result: result, + niceMin: result[0], + niceMax: result[result.length - 1] + }; + } + }, { + key: "logarithmicScaleNice", + value: function logarithmicScaleNice(yMin, yMax, base) { + // Basic validation to avoid for loop starting at -inf. + if (yMax <= 0) yMax = Math.max(yMin, base); + if (yMin <= 0) yMin = Math.min(yMax, base); + var logs = []; + var logMax = Math.ceil(Math.log(yMax) / Math.log(base) + 1); // Get powers of base for our max and min + + var logMin = Math.floor(Math.log(yMin) / Math.log(base)); + + for (var i = logMin; i < logMax; i++) { + logs.push(Math.pow(base, i)); + } + + return { + result: logs, + niceMin: logs[0], + niceMax: logs[logs.length - 1] + }; + } + }, { + key: "logarithmicScale", + value: function logarithmicScale(yMin, yMax, base) { + // Basic validation to avoid for loop starting at -inf. + if (yMax <= 0) yMax = Math.max(yMin, base); + if (yMin <= 0) yMin = Math.min(yMax, base); + var logs = []; // Get the logarithmic range. + + var logMax = Math.log(yMax) / Math.log(base); + var logMin = Math.log(yMin) / Math.log(base); // Get the exact logarithmic range. + // (This is the exact number of multiples of the base there are between yMin and yMax). + + var logRange = logMax - logMin; // Round the logarithmic range to get the number of ticks we will create. + // If the chosen min/max values are multiples of each other WRT the base, this will be neat. + // If the chosen min/max aren't, we will at least still provide USEFUL ticks. + + var ticks = Math.round(logRange); // Get the logarithmic spacing between ticks. + + var logTickSpacing = logRange / ticks; // Create as many ticks as there is range in the logs. + + for (var i = 0, logTick = logMin; i < ticks; i++, logTick += logTickSpacing) { + logs.push(Math.pow(base, logTick)); + } // Add a final tick at the yMax. + + + logs.push(Math.pow(base, logMax)); + return { + result: logs, + niceMin: yMin, + niceMax: yMax + }; + } + }, { + key: "_adjustTicksForSmallRange", + value: function _adjustTicksForSmallRange(ticks, index, range) { + var newTicks = ticks; + + if (typeof index !== 'undefined' && this.w.config.yaxis[index].labels.formatter && this.w.config.yaxis[index].tickAmount === undefined) { + var formattedVal = Number(this.w.config.yaxis[index].labels.formatter(1)); + + if (Utils$1.isNumber(formattedVal) && this.w.globals.yValueDecimal === 0) { + newTicks = Math.ceil(range); + } + } + + return newTicks < ticks ? newTicks : ticks; + } + }, { + key: "setYScaleForIndex", + value: function setYScaleForIndex(index, minY, maxY) { + var gl = this.w.globals; + var cnf = this.w.config; + var y = gl.isBarHorizontal ? cnf.xaxis : cnf.yaxis[index]; + + if (typeof gl.yAxisScale[index] === 'undefined') { + gl.yAxisScale[index] = []; + } + + var diff = Math.abs(maxY - minY); + + if (y.logarithmic && diff <= 5) { + gl.invalidLogScale = true; + } + + if (y.logarithmic && diff > 5) { + gl.allSeriesCollapsed = false; + gl.yAxisScale[index] = this.logarithmicScale(minY, maxY, y.logBase); + gl.yAxisScale[index] = y.forceNiceScale ? this.logarithmicScaleNice(minY, maxY, y.logBase) : this.logarithmicScale(minY, maxY, y.logBase); + } else { + if (maxY === -Number.MAX_VALUE || !Utils$1.isNumber(maxY)) { + // no data in the chart. Either all series collapsed or user passed a blank array + gl.yAxisScale[index] = this.linearScale(0, 5, 5); + } else { + // there is some data. Turn off the allSeriesCollapsed flag + gl.allSeriesCollapsed = false; + + if ((y.min !== undefined || y.max !== undefined) && !y.forceNiceScale) { + // fix https://github.com/apexcharts/apexcharts.js/issues/492 + gl.yAxisScale[index] = this.linearScale(minY, maxY, y.tickAmount, index); + } else { + var noMinMaxProvided = cnf.yaxis[index].max === undefined && cnf.yaxis[index].min === undefined || cnf.yaxis[index].forceNiceScale; + gl.yAxisScale[index] = this.niceScale(minY, maxY, y.tickAmount ? y.tickAmount : diff < 5 && diff > 1 ? diff + 1 : 5, index, // fix https://github.com/apexcharts/apexcharts.js/issues/397 + noMinMaxProvided); + } + } + } + } + }, { + key: "setXScale", + value: function setXScale(minX, maxX) { + var w = this.w; + var gl = w.globals; + var x = w.config.xaxis; + var diff = Math.abs(maxX - minX); + + if (maxX === -Number.MAX_VALUE || !Utils$1.isNumber(maxX)) { + // no data in the chart. Either all series collapsed or user passed a blank array + gl.xAxisScale = this.linearScale(0, 5, 5); + } else { + gl.xAxisScale = this.linearScale(minX, maxX, x.tickAmount ? x.tickAmount : diff < 5 && diff > 1 ? diff + 1 : 5, 0); + } + + return gl.xAxisScale; + } + }, { + key: "setMultipleYScales", + value: function setMultipleYScales() { + var _this = this; + + var gl = this.w.globals; + var cnf = this.w.config; + var minYArr = gl.minYArr.concat([]); + var maxYArr = gl.maxYArr.concat([]); + var scalesIndices = []; // here, we loop through the yaxis array and find the item which has "seriesName" property + + cnf.yaxis.forEach(function (yaxe, i) { + var index = i; + cnf.series.forEach(function (s, si) { + // if seriesName matches and that series is not collapsed, we use that scale + // fix issue #1215 + // proceed even if si is in gl.collapsedSeriesIndices + if (s.name === yaxe.seriesName) { + index = si; + + if (i !== si) { + scalesIndices.push({ + index: si, + similarIndex: i, + alreadyExists: true + }); + } else { + scalesIndices.push({ + index: si + }); + } + } + }); + var minY = minYArr[index]; + var maxY = maxYArr[index]; + + _this.setYScaleForIndex(i, minY, maxY); + }); + this.sameScaleInMultipleAxes(minYArr, maxYArr, scalesIndices); + } + }, { + key: "sameScaleInMultipleAxes", + value: function sameScaleInMultipleAxes(minYArr, maxYArr, scalesIndices) { + var _this2 = this; + + var cnf = this.w.config; + var gl = this.w.globals; // we got the scalesIndices array in the above code, but we need to filter out the items which doesn't have same scales + + var similarIndices = []; + scalesIndices.forEach(function (scale) { + if (scale.alreadyExists) { + if (typeof similarIndices[scale.index] === 'undefined') { + similarIndices[scale.index] = []; + } + + similarIndices[scale.index].push(scale.index); + similarIndices[scale.index].push(scale.similarIndex); + } + }); + + function intersect(a, b) { + return a.filter(function (value) { + return b.indexOf(value) !== -1; + }); + } + + gl.yAxisSameScaleIndices = similarIndices; + similarIndices.forEach(function (si, i) { + similarIndices.forEach(function (sj, j) { + if (i !== j) { + if (intersect(si, sj).length > 0) { + similarIndices[i] = similarIndices[i].concat(similarIndices[j]); + } + } + }); + }); // then, we remove duplicates from the similarScale array + + var uniqueSimilarIndices = similarIndices.map(function (item) { + return item.filter(function (i, pos) { + return item.indexOf(i) === pos; + }); + }); // sort further to remove whole duplicate arrays later + + var sortedIndices = uniqueSimilarIndices.map(function (s) { + return s.sort(); + }); // remove undefined items + + similarIndices = similarIndices.filter(function (s) { + return !!s; + }); + var indices = sortedIndices.slice(); + var stringIndices = indices.map(function (ind) { + return JSON.stringify(ind); + }); + indices = indices.filter(function (ind, p) { + return stringIndices.indexOf(JSON.stringify(ind)) === p; + }); + var sameScaleMinYArr = []; + var sameScaleMaxYArr = []; + minYArr.forEach(function (minYValue, yi) { + indices.forEach(function (scale, i) { + // we compare only the yIndex which exists in the indices array + if (scale.indexOf(yi) > -1) { + if (typeof sameScaleMinYArr[i] === 'undefined') { + sameScaleMinYArr[i] = []; + sameScaleMaxYArr[i] = []; + } + + sameScaleMinYArr[i].push({ + key: yi, + value: minYValue + }); + sameScaleMaxYArr[i].push({ + key: yi, + value: maxYArr[yi] + }); + } + }); + }); + var sameScaleMin = Array.apply(null, Array(indices.length)).map(Number.prototype.valueOf, Number.MIN_VALUE); + var sameScaleMax = Array.apply(null, Array(indices.length)).map(Number.prototype.valueOf, -Number.MAX_VALUE); + sameScaleMinYArr.forEach(function (s, i) { + s.forEach(function (sc, j) { + sameScaleMin[i] = Math.min(sc.value, sameScaleMin[i]); + }); + }); + sameScaleMaxYArr.forEach(function (s, i) { + s.forEach(function (sc, j) { + sameScaleMax[i] = Math.max(sc.value, sameScaleMax[i]); + }); + }); + minYArr.forEach(function (min, i) { + sameScaleMaxYArr.forEach(function (s, si) { + var minY = sameScaleMin[si]; + var maxY = sameScaleMax[si]; + + if (cnf.chart.stacked) { + // for stacked charts, we need to add the values + maxY = 0; + s.forEach(function (ind, k) { + // fix incorrectly adjust y scale issue #1215 + if (ind.value !== -Number.MAX_VALUE) { + maxY += ind.value; + } + + if (minY !== Number.MIN_VALUE) { + minY += sameScaleMinYArr[si][k].value; + } + }); + } + + s.forEach(function (ind, k) { + if (s[k].key === i) { + if (cnf.yaxis[i].min !== undefined) { + if (typeof cnf.yaxis[i].min === 'function') { + minY = cnf.yaxis[i].min(gl.minY); + } else { + minY = cnf.yaxis[i].min; + } + } + + if (cnf.yaxis[i].max !== undefined) { + if (typeof cnf.yaxis[i].max === 'function') { + maxY = cnf.yaxis[i].max(gl.maxY); + } else { + maxY = cnf.yaxis[i].max; + } + } + + _this2.setYScaleForIndex(i, minY, maxY); + } + }); + }); + }); + } // experimental feature which scales the y-axis to a min/max based on x-axis range + + }, { + key: "autoScaleY", + value: function autoScaleY(ctx, yaxis, e) { + if (!ctx) { + ctx = this; + } + + var w = ctx.w; + + if (w.globals.isMultipleYAxis || w.globals.collapsedSeries.length) { + // The autoScale option for multiple y-axis is turned off as it leads to buggy behavior. + // Also, when a series is collapsed, it results in incorrect behavior. Hence turned it off for that too - fixes apexcharts.js#795 + console.warn('autoScaleYaxis is not supported in a multi-yaxis chart.'); + return yaxis; + } + + var seriesX = w.globals.seriesX[0]; + var isStacked = w.config.chart.stacked; + yaxis.forEach(function (yaxe, yi) { + var firstXIndex = 0; + + for (var xi = 0; xi < seriesX.length; xi++) { + if (seriesX[xi] >= e.xaxis.min) { + firstXIndex = xi; + break; + } + } + + var initialMin = w.globals.minYArr[yi]; + var initialMax = w.globals.maxYArr[yi]; + var min, max; + var stackedSer = w.globals.stackedSeriesTotals; + w.globals.series.forEach(function (serie, sI) { + var firstValue = serie[firstXIndex]; + + if (isStacked) { + firstValue = stackedSer[firstXIndex]; + min = max = firstValue; + stackedSer.forEach(function (y, yI) { + if (seriesX[yI] <= e.xaxis.max && seriesX[yI] >= e.xaxis.min) { + if (y > max && y !== null) max = y; + if (serie[yI] < min && serie[yI] !== null) min = serie[yI]; + } + }); + } else { + min = max = firstValue; + serie.forEach(function (y, yI) { + if (seriesX[yI] <= e.xaxis.max && seriesX[yI] >= e.xaxis.min) { + var valMin = y; + var valMax = y; + w.globals.series.forEach(function (wS, wSI) { + if (y !== null) { + valMin = Math.min(wS[yI], valMin); + valMax = Math.max(wS[yI], valMax); + } + }); + if (valMax > max && valMax !== null) max = valMax; + if (valMin < min && valMin !== null) min = valMin; + } + }); + } + + if (min === undefined && max === undefined) { + min = initialMin; + max = initialMax; + } + + min *= min < 0 ? 1.1 : 0.9; + max *= max < 0 ? 0.9 : 1.1; + + if (min === 0 && max === 0) { + min = -1; + max = 1; + } + + if (max < 0 && max < initialMax) { + max = initialMax; + } + + if (min < 0 && min > initialMin) { + min = initialMin; + } + + if (yaxis.length > 1) { + yaxis[sI].min = yaxe.min === undefined ? min : yaxe.min; + yaxis[sI].max = yaxe.max === undefined ? max : yaxe.max; + } else { + yaxis[0].min = yaxe.min === undefined ? min : yaxe.min; + yaxis[0].max = yaxe.max === undefined ? max : yaxe.max; + } + }); + }); + return yaxis; + } + }]); + + return Range; + }(); + + /** + * Range is used to generates values between min and max. + * + * @module Range + **/ + + var Range = /*#__PURE__*/function () { + function Range(ctx) { + _classCallCheck(this, Range); + + this.ctx = ctx; + this.w = ctx.w; + this.scales = new Range$1(ctx); + } + + _createClass(Range, [{ + key: "init", + value: function init() { + this.setYRange(); + this.setXRange(); + this.setZRange(); + } + }, { + key: "getMinYMaxY", + value: function getMinYMaxY(startingIndex) { + var lowestY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE; + var highestY = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -Number.MAX_VALUE; + var len = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + var cnf = this.w.config; + var gl = this.w.globals; + var maxY = -Number.MAX_VALUE; + var minY = Number.MIN_VALUE; + + if (len === null) { + len = startingIndex + 1; + } + + var series = gl.series; + var seriesMin = series; + var seriesMax = series; + + if (cnf.chart.type === 'candlestick') { + seriesMin = gl.seriesCandleL; + seriesMax = gl.seriesCandleH; + } else if (cnf.chart.type === 'boxPlot') { + seriesMin = gl.seriesCandleO; + seriesMax = gl.seriesCandleC; + } else if (gl.isRangeData) { + seriesMin = gl.seriesRangeStart; + seriesMax = gl.seriesRangeEnd; + } + + for (var i = startingIndex; i < len; i++) { + gl.dataPoints = Math.max(gl.dataPoints, series[i].length); + + if (gl.categoryLabels.length) { + gl.dataPoints = gl.categoryLabels.filter(function (label) { + return typeof label !== 'undefined'; + }).length; + } + + for (var j = 0; j < gl.series[i].length; j++) { + var val = series[i][j]; + + if (val !== null && Utils$1.isNumber(val)) { + if (typeof seriesMax[i][j] !== 'undefined') { + maxY = Math.max(maxY, seriesMax[i][j]); + lowestY = Math.min(lowestY, seriesMax[i][j]); + } + + if (typeof seriesMin[i][j] !== 'undefined') { + lowestY = Math.min(lowestY, seriesMin[i][j]); + highestY = Math.max(highestY, seriesMin[i][j]); + } + + if (this.w.config.chart.type === 'candlestick' || this.w.config.chart.type === 'boxPlot' || this.w.config.chart.type !== 'rangeArea' || this.w.config.chart.type !== 'rangeBar') { + if (this.w.config.chart.type === 'candlestick' || this.w.config.chart.type === 'boxPlot') { + if (typeof gl.seriesCandleC[i][j] !== 'undefined') { + maxY = Math.max(maxY, gl.seriesCandleO[i][j]); + maxY = Math.max(maxY, gl.seriesCandleH[i][j]); + maxY = Math.max(maxY, gl.seriesCandleL[i][j]); + maxY = Math.max(maxY, gl.seriesCandleC[i][j]); + + if (this.w.config.chart.type === 'boxPlot') { + maxY = Math.max(maxY, gl.seriesCandleM[i][j]); + } + } + } // there is a combo chart and the specified series in not either candlestick, boxplot, or rangeArea/rangeBar; find the max there + + + if (cnf.series[i].type && (cnf.series[i].type !== 'candlestick' || cnf.series[i].type !== 'boxPlot' || cnf.series[i].type !== 'rangeArea' || cnf.series[i].type !== 'rangeBar')) { + maxY = Math.max(maxY, gl.series[i][j]); + lowestY = Math.min(lowestY, gl.series[i][j]); + } + + highestY = maxY; + } + + if (gl.seriesGoals[i] && gl.seriesGoals[i][j] && Array.isArray(gl.seriesGoals[i][j])) { + gl.seriesGoals[i][j].forEach(function (g) { + if (minY !== Number.MIN_VALUE) { + minY = Math.min(minY, g.value); + lowestY = minY; + } + + maxY = Math.max(maxY, g.value); + highestY = maxY; + }); + } + + if (Utils$1.isFloat(val)) { + val = Utils$1.noExponents(val); + gl.yValueDecimal = Math.max(gl.yValueDecimal, val.toString().split('.')[1].length); + } + + if (minY > seriesMin[i][j] && seriesMin[i][j] < 0) { + minY = seriesMin[i][j]; + } + } else { + gl.hasNullValues = true; + } + } + } + + if (cnf.chart.type === 'rangeBar' && gl.seriesRangeStart.length && gl.isBarHorizontal) { + minY = lowestY; + } + + if (cnf.chart.type === 'bar') { + if (minY < 0 && maxY < 0) { + // all negative values in a bar chart, hence make the max to 0 + maxY = 0; + } + + if (minY === Number.MIN_VALUE) { + minY = 0; + } + } + + return { + minY: minY, + maxY: maxY, + lowestY: lowestY, + highestY: highestY + }; + } + }, { + key: "setYRange", + value: function setYRange() { + var gl = this.w.globals; + var cnf = this.w.config; + gl.maxY = -Number.MAX_VALUE; + gl.minY = Number.MIN_VALUE; + var lowestYInAllSeries = Number.MAX_VALUE; + + if (gl.isMultipleYAxis) { + // we need to get minY and maxY for multiple y axis + for (var i = 0; i < gl.series.length; i++) { + var minYMaxYArr = this.getMinYMaxY(i, lowestYInAllSeries, null, i + 1); + gl.minYArr.push(minYMaxYArr.minY); + gl.maxYArr.push(minYMaxYArr.maxY); + lowestYInAllSeries = minYMaxYArr.lowestY; + } + } // and then, get the minY and maxY from all series + + + var minYMaxY = this.getMinYMaxY(0, lowestYInAllSeries, null, gl.series.length); + gl.minY = minYMaxY.minY; + gl.maxY = minYMaxY.maxY; + lowestYInAllSeries = minYMaxY.lowestY; + + if (cnf.chart.stacked) { + this._setStackedMinMax(); + } // if the numbers are too big, reduce the range + // for eg, if number is between 100000-110000, putting 0 as the lowest value is not so good idea. So change the gl.minY for line/area/candlesticks/boxPlot + + + if (cnf.chart.type === 'line' || cnf.chart.type === 'area' || cnf.chart.type === 'candlestick' || cnf.chart.type === 'boxPlot' || cnf.chart.type === 'rangeBar' && !gl.isBarHorizontal) { + if (gl.minY === Number.MIN_VALUE && lowestYInAllSeries !== -Number.MAX_VALUE && lowestYInAllSeries !== gl.maxY // single value possibility + ) { + var diff = gl.maxY - lowestYInAllSeries; + + if (lowestYInAllSeries >= 0 && lowestYInAllSeries <= 10 || cnf.yaxis[0].min !== undefined || cnf.yaxis[0].max !== undefined) { + // if minY is already 0/low value, we don't want to go negatives here - so this check is essential. + diff = 0; + } + + gl.minY = lowestYInAllSeries - diff * 5 / 100; + /* fix https://github.com/apexcharts/apexcharts.js/issues/614 */ + + /* fix https://github.com/apexcharts/apexcharts.js/issues/968 */ + + if (lowestYInAllSeries > 0 && gl.minY < 0) { + gl.minY = 0; + } + /* fix https://github.com/apexcharts/apexcharts.js/issues/426 */ + + + gl.maxY = gl.maxY + diff * 5 / 100; + } + } + + cnf.yaxis.forEach(function (yaxe, index) { + // override all min/max values by user defined values (y axis) + if (yaxe.max !== undefined) { + if (typeof yaxe.max === 'number') { + gl.maxYArr[index] = yaxe.max; + } else if (typeof yaxe.max === 'function') { + // fixes apexcharts.js/issues/2098 + gl.maxYArr[index] = yaxe.max(gl.isMultipleYAxis ? gl.maxYArr[index] : gl.maxY); + } // gl.maxY is for single y-axis chart, it will be ignored in multi-yaxis + + + gl.maxY = gl.maxYArr[index]; + } + + if (yaxe.min !== undefined) { + if (typeof yaxe.min === 'number') { + gl.minYArr[index] = yaxe.min; + } else if (typeof yaxe.min === 'function') { + // fixes apexcharts.js/issues/2098 + gl.minYArr[index] = yaxe.min(gl.isMultipleYAxis ? gl.minYArr[index] === Number.MIN_VALUE ? 0 : gl.minYArr[index] : gl.minY); + } // gl.minY is for single y-axis chart, it will be ignored in multi-yaxis + + + gl.minY = gl.minYArr[index]; + } + }); // for horizontal bar charts, we need to check xaxis min/max as user may have specified there + + if (gl.isBarHorizontal) { + var minmax = ['min', 'max']; + minmax.forEach(function (m) { + if (cnf.xaxis[m] !== undefined && typeof cnf.xaxis[m] === 'number') { + m === 'min' ? gl.minY = cnf.xaxis[m] : gl.maxY = cnf.xaxis[m]; + } + }); + } // for multi y-axis we need different scales for each + + + if (gl.isMultipleYAxis) { + this.scales.setMultipleYScales(); + gl.minY = lowestYInAllSeries; + gl.yAxisScale.forEach(function (scale, i) { + gl.minYArr[i] = scale.niceMin; + gl.maxYArr[i] = scale.niceMax; + }); + } else { + this.scales.setYScaleForIndex(0, gl.minY, gl.maxY); + gl.minY = gl.yAxisScale[0].niceMin; + gl.maxY = gl.yAxisScale[0].niceMax; + gl.minYArr[0] = gl.yAxisScale[0].niceMin; + gl.maxYArr[0] = gl.yAxisScale[0].niceMax; + } + + return { + minY: gl.minY, + maxY: gl.maxY, + minYArr: gl.minYArr, + maxYArr: gl.maxYArr, + yAxisScale: gl.yAxisScale + }; + } + }, { + key: "setXRange", + value: function setXRange() { + var gl = this.w.globals; + var cnf = this.w.config; + var isXNumeric = cnf.xaxis.type === 'numeric' || cnf.xaxis.type === 'datetime' || cnf.xaxis.type === 'category' && !gl.noLabelsProvided || gl.noLabelsProvided || gl.isXNumeric; + + var getInitialMinXMaxX = function getInitialMinXMaxX() { + for (var i = 0; i < gl.series.length; i++) { + if (gl.labels[i]) { + for (var j = 0; j < gl.labels[i].length; j++) { + if (gl.labels[i][j] !== null && Utils$1.isNumber(gl.labels[i][j])) { + gl.maxX = Math.max(gl.maxX, gl.labels[i][j]); + gl.initialMaxX = Math.max(gl.maxX, gl.labels[i][j]); + gl.minX = Math.min(gl.minX, gl.labels[i][j]); + gl.initialMinX = Math.min(gl.minX, gl.labels[i][j]); + } + } + } + } + }; // minX maxX starts here + + + if (gl.isXNumeric) { + getInitialMinXMaxX(); + } + + if (gl.noLabelsProvided) { + if (cnf.xaxis.categories.length === 0) { + gl.maxX = gl.labels[gl.labels.length - 1]; + gl.initialMaxX = gl.labels[gl.labels.length - 1]; + gl.minX = 1; + gl.initialMinX = 1; + } + } + + if (gl.isXNumeric || gl.noLabelsProvided || gl.dataFormatXNumeric) { + var ticks; + + if (cnf.xaxis.tickAmount === undefined) { + ticks = Math.round(gl.svgWidth / 150); // no labels provided and total number of dataPoints is less than 30 + + if (cnf.xaxis.type === 'numeric' && gl.dataPoints < 30) { + ticks = gl.dataPoints - 1; + } // this check is for when ticks exceeds total datapoints and that would result in duplicate labels + + + if (ticks > gl.dataPoints && gl.dataPoints !== 0) { + ticks = gl.dataPoints - 1; + } + } else if (cnf.xaxis.tickAmount === 'dataPoints') { + if (gl.series.length > 1) { + ticks = gl.series[gl.maxValsInArrayIndex].length - 1; + } + + if (gl.isXNumeric) { + ticks = gl.maxX - gl.minX - 1; + } + } else { + ticks = cnf.xaxis.tickAmount; + } + + gl.xTickAmount = ticks; // override all min/max values by user defined values (x axis) + + if (cnf.xaxis.max !== undefined && typeof cnf.xaxis.max === 'number') { + gl.maxX = cnf.xaxis.max; + } + + if (cnf.xaxis.min !== undefined && typeof cnf.xaxis.min === 'number') { + gl.minX = cnf.xaxis.min; + } // if range is provided, adjust the new minX + + + if (cnf.xaxis.range !== undefined) { + gl.minX = gl.maxX - cnf.xaxis.range; + } + + if (gl.minX !== Number.MAX_VALUE && gl.maxX !== -Number.MAX_VALUE) { + if (cnf.xaxis.convertedCatToNumeric && !gl.dataFormatXNumeric) { + var catScale = []; + + for (var i = gl.minX - 1; i < gl.maxX; i++) { + catScale.push(i + 1); + } + + gl.xAxisScale = { + result: catScale, + niceMin: catScale[0], + niceMax: catScale[catScale.length - 1] + }; + } else { + gl.xAxisScale = this.scales.setXScale(gl.minX, gl.maxX); + } + } else { + gl.xAxisScale = this.scales.linearScale(1, ticks, ticks); + + if (gl.noLabelsProvided && gl.labels.length > 0) { + gl.xAxisScale = this.scales.linearScale(1, gl.labels.length, ticks - 1); // this is the only place seriesX is again mutated + + gl.seriesX = gl.labels.slice(); + } + } // we will still store these labels as the count for this will be different (to draw grid and labels placement) + + + if (isXNumeric) { + gl.labels = gl.xAxisScale.result.slice(); + } + } + + if (gl.isBarHorizontal && gl.labels.length) { + gl.xTickAmount = gl.labels.length; + } // single dataPoint + + + this._handleSingleDataPoint(); // minimum x difference to calculate bar width in numeric bars + + + this._getMinXDiff(); + + return { + minX: gl.minX, + maxX: gl.maxX + }; + } + }, { + key: "setZRange", + value: function setZRange() { + // minZ, maxZ starts here + var gl = this.w.globals; + if (!gl.isDataXYZ) return; + + for (var i = 0; i < gl.series.length; i++) { + if (typeof gl.seriesZ[i] !== 'undefined') { + for (var j = 0; j < gl.seriesZ[i].length; j++) { + if (gl.seriesZ[i][j] !== null && Utils$1.isNumber(gl.seriesZ[i][j])) { + gl.maxZ = Math.max(gl.maxZ, gl.seriesZ[i][j]); + gl.minZ = Math.min(gl.minZ, gl.seriesZ[i][j]); + } + } + } + } + } + }, { + key: "_handleSingleDataPoint", + value: function _handleSingleDataPoint() { + var gl = this.w.globals; + var cnf = this.w.config; + + if (gl.minX === gl.maxX) { + var datetimeObj = new DateTime(this.ctx); + + if (cnf.xaxis.type === 'datetime') { + var newMinX = datetimeObj.getDate(gl.minX); + + if (cnf.xaxis.labels.datetimeUTC) { + newMinX.setUTCDate(newMinX.getUTCDate() - 2); + } else { + newMinX.setDate(newMinX.getDate() - 2); + } + + gl.minX = new Date(newMinX).getTime(); + var newMaxX = datetimeObj.getDate(gl.maxX); + + if (cnf.xaxis.labels.datetimeUTC) { + newMaxX.setUTCDate(newMaxX.getUTCDate() + 2); + } else { + newMaxX.setDate(newMaxX.getDate() + 2); + } + + gl.maxX = new Date(newMaxX).getTime(); + } else if (cnf.xaxis.type === 'numeric' || cnf.xaxis.type === 'category' && !gl.noLabelsProvided) { + gl.minX = gl.minX - 2; + gl.initialMinX = gl.minX; + gl.maxX = gl.maxX + 2; + gl.initialMaxX = gl.maxX; + } + } + } + }, { + key: "_getMinXDiff", + value: function _getMinXDiff() { + var gl = this.w.globals; + + if (gl.isXNumeric) { + // get the least x diff if numeric x axis is present + gl.seriesX.forEach(function (sX, i) { + if (sX.length === 1) { + // a small hack to prevent overlapping multiple bars when there is just 1 datapoint in bar series. + // fix #811 + sX.push(gl.seriesX[gl.maxValsInArrayIndex][gl.seriesX[gl.maxValsInArrayIndex].length - 1]); + } // fix #983 (clone the array to avoid side effects) + + + var seriesX = sX.slice(); + seriesX.sort(function (a, b) { + return a - b; + }); + seriesX.forEach(function (s, j) { + if (j > 0) { + var xDiff = s - seriesX[j - 1]; + + if (xDiff > 0) { + gl.minXDiff = Math.min(xDiff, gl.minXDiff); + } + } + }); + + if (gl.dataPoints === 1 || gl.minXDiff === Number.MAX_VALUE) { + // fixes apexcharts.js #1221 + gl.minXDiff = 0.5; + } + }); + } + } + }, { + key: "_setStackedMinMax", + value: function _setStackedMinMax() { + var _this = this; + + var gl = this.w.globals; // for stacked charts, we calculate each series's parallel values. i.e, series[0][j] + series[1][j] .... [series[i.length][j]] and get the max out of it + + if (!gl.series.length) return; + var seriesGroups = gl.seriesGroups; + + if (!seriesGroups.length) { + seriesGroups = [this.w.config.series.map(function (serie) { + return serie.name; + })]; + } + + var stackedPoss = {}; + var stackedNegs = {}; + seriesGroups.forEach(function (group) { + stackedPoss[group] = []; + stackedNegs[group] = []; + + var indicesOfSeriesInGroup = _this.w.config.series.map(function (serie, si) { + return group.indexOf(serie.name) > -1 ? si : null; + }).filter(function (f) { + return f !== null; + }); + + indicesOfSeriesInGroup.forEach(function (i) { + for (var j = 0; j < gl.series[gl.maxValsInArrayIndex].length; j++) { + if (typeof stackedPoss[group][j] === 'undefined') { + stackedPoss[group][j] = 0; + stackedNegs[group][j] = 0; + } + + if (gl.series[i][j] !== null && Utils$1.isNumber(gl.series[i][j])) { + gl.series[i][j] > 0 ? stackedPoss[group][j] += parseFloat(gl.series[i][j]) + 0.0001 : stackedNegs[group][j] += parseFloat(gl.series[i][j]); + } + } + }); + }); + Object.entries(stackedPoss).forEach(function (_ref) { + var _ref2 = _slicedToArray(_ref, 1), + key = _ref2[0]; + + stackedPoss[key].forEach(function (_, stgi) { + gl.maxY = Math.max(gl.maxY, stackedPoss[key][stgi]); + gl.minY = Math.min(gl.minY, stackedNegs[key][stgi]); + }); + }); + } + }]); + + return Range; + }(); + + /** + * ApexCharts YAxis Class for drawing Y-Axis. + * + * @module YAxis + **/ + + var YAxis = /*#__PURE__*/function () { + function YAxis(ctx, elgrid) { + _classCallCheck(this, YAxis); + + this.ctx = ctx; + this.elgrid = elgrid; + this.w = ctx.w; + var w = this.w; + this.xaxisFontSize = w.config.xaxis.labels.style.fontSize; + this.axisFontFamily = w.config.xaxis.labels.style.fontFamily; + this.xaxisForeColors = w.config.xaxis.labels.style.colors; + this.isCategoryBarHorizontal = w.config.chart.type === 'bar' && w.config.plotOptions.bar.horizontal; + this.xAxisoffX = 0; + + if (w.config.xaxis.position === 'bottom') { + this.xAxisoffX = w.globals.gridHeight; + } + + this.drawnLabels = []; + this.axesUtils = new AxesUtils(ctx); + } + + _createClass(YAxis, [{ + key: "drawYaxis", + value: function drawYaxis(realIndex) { + var _this = this; + + var w = this.w; + var graphics = new Graphics(this.ctx); + var yaxisStyle = w.config.yaxis[realIndex].labels.style; + var yaxisFontSize = yaxisStyle.fontSize; + var yaxisFontFamily = yaxisStyle.fontFamily; + var yaxisFontWeight = yaxisStyle.fontWeight; + var elYaxis = graphics.group({ + class: 'apexcharts-yaxis', + rel: realIndex, + transform: 'translate(' + w.globals.translateYAxisX[realIndex] + ', 0)' + }); + + if (this.axesUtils.isYAxisHidden(realIndex)) { + return elYaxis; + } + + var elYaxisTexts = graphics.group({ + class: 'apexcharts-yaxis-texts-g' + }); + elYaxis.add(elYaxisTexts); + var tickAmount = w.globals.yAxisScale[realIndex].result.length - 1; // labelsDivider is simply svg height/number of ticks + + var labelsDivider = w.globals.gridHeight / tickAmount; // initial label position = 0; + + var l = w.globals.translateY; + var lbFormatter = w.globals.yLabelFormatters[realIndex]; + var labels = w.globals.yAxisScale[realIndex].result.slice(); + labels = this.axesUtils.checkForReversedLabels(realIndex, labels); + var firstLabel = ''; + + if (w.config.yaxis[realIndex].labels.show) { + var _loop = function _loop(i) { + var val = labels[i]; + val = lbFormatter(val, i, w); + var xPad = w.config.yaxis[realIndex].labels.padding; + + if (w.config.yaxis[realIndex].opposite && w.config.yaxis.length !== 0) { + xPad = xPad * -1; + } + + var textAnchor = 'end'; + + if (w.config.yaxis[realIndex].opposite) { + textAnchor = 'start'; + } + + if (w.config.yaxis[realIndex].labels.align === 'left') { + textAnchor = 'start'; + } else if (w.config.yaxis[realIndex].labels.align === 'center') { + textAnchor = 'middle'; + } else if (w.config.yaxis[realIndex].labels.align === 'right') { + textAnchor = 'end'; + } + + var yColors = _this.axesUtils.getYAxisForeColor(yaxisStyle.colors, realIndex); + + var getForeColor = function getForeColor() { + return Array.isArray(yColors) ? yColors[i] : yColors; + }; + + var label = graphics.drawText({ + x: xPad, + y: l + tickAmount / 10 + w.config.yaxis[realIndex].labels.offsetY + 1, + text: val, + textAnchor: textAnchor, + fontSize: yaxisFontSize, + fontFamily: yaxisFontFamily, + fontWeight: yaxisFontWeight, + maxWidth: w.config.yaxis[realIndex].labels.maxWidth, + foreColor: getForeColor(), + isPlainText: false, + cssClass: 'apexcharts-yaxis-label ' + yaxisStyle.cssClass + }); + + if (i === tickAmount) { + firstLabel = label; + } + + elYaxisTexts.add(label); + var elTooltipTitle = document.createElementNS(w.globals.SVGNS, 'title'); + elTooltipTitle.textContent = Array.isArray(val) ? val.join(' ') : val; + label.node.appendChild(elTooltipTitle); + + if (w.config.yaxis[realIndex].labels.rotate !== 0) { + var firstabelRotatingCenter = graphics.rotateAroundCenter(firstLabel.node); + var labelRotatingCenter = graphics.rotateAroundCenter(label.node); + label.node.setAttribute('transform', "rotate(".concat(w.config.yaxis[realIndex].labels.rotate, " ").concat(firstabelRotatingCenter.x, " ").concat(labelRotatingCenter.y, ")")); + } + + l = l + labelsDivider; + }; + + for (var i = tickAmount; i >= 0; i--) { + _loop(i); + } + } + + if (w.config.yaxis[realIndex].title.text !== undefined) { + var elYaxisTitle = graphics.group({ + class: 'apexcharts-yaxis-title' + }); + var _x = 0; + + if (w.config.yaxis[realIndex].opposite) { + _x = w.globals.translateYAxisX[realIndex]; + } + + var elYAxisTitleText = graphics.drawText({ + x: _x, + y: w.globals.gridHeight / 2 + w.globals.translateY + w.config.yaxis[realIndex].title.offsetY, + text: w.config.yaxis[realIndex].title.text, + textAnchor: 'end', + foreColor: w.config.yaxis[realIndex].title.style.color, + fontSize: w.config.yaxis[realIndex].title.style.fontSize, + fontWeight: w.config.yaxis[realIndex].title.style.fontWeight, + fontFamily: w.config.yaxis[realIndex].title.style.fontFamily, + cssClass: 'apexcharts-yaxis-title-text ' + w.config.yaxis[realIndex].title.style.cssClass + }); + elYaxisTitle.add(elYAxisTitleText); + elYaxis.add(elYaxisTitle); + } + + var axisBorder = w.config.yaxis[realIndex].axisBorder; + var x = 31 + axisBorder.offsetX; + + if (w.config.yaxis[realIndex].opposite) { + x = -31 - axisBorder.offsetX; + } + + if (axisBorder.show) { + var elVerticalLine = graphics.drawLine(x, w.globals.translateY + axisBorder.offsetY - 2, x, w.globals.gridHeight + w.globals.translateY + axisBorder.offsetY + 2, axisBorder.color, 0, axisBorder.width); + elYaxis.add(elVerticalLine); + } + + if (w.config.yaxis[realIndex].axisTicks.show) { + this.axesUtils.drawYAxisTicks(x, tickAmount, axisBorder, w.config.yaxis[realIndex].axisTicks, realIndex, labelsDivider, elYaxis); + } + + return elYaxis; + } // This actually becomes horizontal axis (for bar charts) + + }, { + key: "drawYaxisInversed", + value: function drawYaxisInversed(realIndex) { + var w = this.w; + var graphics = new Graphics(this.ctx); + var elXaxis = graphics.group({ + class: 'apexcharts-xaxis apexcharts-yaxis-inversed' + }); + var elXaxisTexts = graphics.group({ + class: 'apexcharts-xaxis-texts-g', + transform: "translate(".concat(w.globals.translateXAxisX, ", ").concat(w.globals.translateXAxisY, ")") + }); + elXaxis.add(elXaxisTexts); + var tickAmount = w.globals.yAxisScale[realIndex].result.length - 1; // labelsDivider is simply svg width/number of ticks + + var labelsDivider = w.globals.gridWidth / tickAmount + 0.1; // initial label position; + + var l = labelsDivider + w.config.xaxis.labels.offsetX; + var lbFormatter = w.globals.xLabelFormatter; + var labels = w.globals.yAxisScale[realIndex].result.slice(); + var timescaleLabels = w.globals.timescaleLabels; + + if (timescaleLabels.length > 0) { + this.xaxisLabels = timescaleLabels.slice(); + labels = timescaleLabels.slice(); + tickAmount = labels.length; + } + + labels = this.axesUtils.checkForReversedLabels(realIndex, labels); + var tl = timescaleLabels.length; + + if (w.config.xaxis.labels.show) { + for (var i = tl ? 0 : tickAmount; tl ? i < tl : i >= 0; tl ? i++ : i--) { + var val = labels[i]; + val = lbFormatter(val, i, w); + var x = w.globals.gridWidth + w.globals.padHorizontal - (l - labelsDivider + w.config.xaxis.labels.offsetX); + + if (timescaleLabels.length) { + var label = this.axesUtils.getLabel(labels, timescaleLabels, x, i, this.drawnLabels, this.xaxisFontSize); + x = label.x; + val = label.text; + this.drawnLabels.push(label.text); + + if (i === 0 && w.globals.skipFirstTimelinelabel) { + val = ''; + } + + if (i === labels.length - 1 && w.globals.skipLastTimelinelabel) { + val = ''; + } + } + + var elTick = graphics.drawText({ + x: x, + y: this.xAxisoffX + w.config.xaxis.labels.offsetY + 30 - (w.config.xaxis.position === 'top' ? w.globals.xAxisHeight + w.config.xaxis.axisTicks.height - 2 : 0), + text: val, + textAnchor: 'middle', + foreColor: Array.isArray(this.xaxisForeColors) ? this.xaxisForeColors[realIndex] : this.xaxisForeColors, + fontSize: this.xaxisFontSize, + fontFamily: this.xaxisFontFamily, + fontWeight: w.config.xaxis.labels.style.fontWeight, + isPlainText: false, + cssClass: 'apexcharts-xaxis-label ' + w.config.xaxis.labels.style.cssClass + }); + elXaxisTexts.add(elTick); + elTick.tspan(val); + var elTooltipTitle = document.createElementNS(w.globals.SVGNS, 'title'); + elTooltipTitle.textContent = val; + elTick.node.appendChild(elTooltipTitle); + l = l + labelsDivider; + } + } + + this.inversedYAxisTitleText(elXaxis); + this.inversedYAxisBorder(elXaxis); + return elXaxis; + } + }, { + key: "inversedYAxisBorder", + value: function inversedYAxisBorder(parent) { + var w = this.w; + var graphics = new Graphics(this.ctx); + var axisBorder = w.config.xaxis.axisBorder; + + if (axisBorder.show) { + var lineCorrection = 0; + + if (w.config.chart.type === 'bar' && w.globals.isXNumeric) { + lineCorrection = lineCorrection - 15; + } + + var elHorzLine = graphics.drawLine(w.globals.padHorizontal + lineCorrection + axisBorder.offsetX, this.xAxisoffX, w.globals.gridWidth, this.xAxisoffX, axisBorder.color, 0, axisBorder.height); // in horizontal bars, we append axisBorder to elGridBorders element to avoid z-index issues + + if (this.elgrid && this.elgrid.elGridBorders && w.config.grid.show) { + this.elgrid.elGridBorders.add(elHorzLine); + } else { + parent.add(elHorzLine); + } + } + } + }, { + key: "inversedYAxisTitleText", + value: function inversedYAxisTitleText(parent) { + var w = this.w; + var graphics = new Graphics(this.ctx); + + if (w.config.xaxis.title.text !== undefined) { + var elYaxisTitle = graphics.group({ + class: 'apexcharts-xaxis-title apexcharts-yaxis-title-inversed' + }); + var elYAxisTitleText = graphics.drawText({ + x: w.globals.gridWidth / 2 + w.config.xaxis.title.offsetX, + y: this.xAxisoffX + parseFloat(this.xaxisFontSize) + parseFloat(w.config.xaxis.title.style.fontSize) + w.config.xaxis.title.offsetY + 20, + text: w.config.xaxis.title.text, + textAnchor: 'middle', + fontSize: w.config.xaxis.title.style.fontSize, + fontFamily: w.config.xaxis.title.style.fontFamily, + fontWeight: w.config.xaxis.title.style.fontWeight, + foreColor: w.config.xaxis.title.style.color, + cssClass: 'apexcharts-xaxis-title-text ' + w.config.xaxis.title.style.cssClass + }); + elYaxisTitle.add(elYAxisTitleText); + parent.add(elYaxisTitle); + } + } + }, { + key: "yAxisTitleRotate", + value: function yAxisTitleRotate(realIndex, yAxisOpposite) { + var w = this.w; + var graphics = new Graphics(this.ctx); + var yAxisLabelsCoord = { + width: 0, + height: 0 + }; + var yAxisTitleCoord = { + width: 0, + height: 0 + }; + var elYAxisLabelsWrap = w.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(realIndex, "'] .apexcharts-yaxis-texts-g")); + + if (elYAxisLabelsWrap !== null) { + yAxisLabelsCoord = elYAxisLabelsWrap.getBoundingClientRect(); + } + + var yAxisTitle = w.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(realIndex, "'] .apexcharts-yaxis-title text")); + + if (yAxisTitle !== null) { + yAxisTitleCoord = yAxisTitle.getBoundingClientRect(); + } + + if (yAxisTitle !== null) { + var x = this.xPaddingForYAxisTitle(realIndex, yAxisLabelsCoord, yAxisTitleCoord, yAxisOpposite); + yAxisTitle.setAttribute('x', x.xPos - (yAxisOpposite ? 10 : 0)); + } + + if (yAxisTitle !== null) { + var titleRotatingCenter = graphics.rotateAroundCenter(yAxisTitle); + yAxisTitle.setAttribute('transform', "rotate(".concat(yAxisOpposite ? w.config.yaxis[realIndex].title.rotate * -1 : w.config.yaxis[realIndex].title.rotate, " ").concat(titleRotatingCenter.x, " ").concat(titleRotatingCenter.y, ")")); + } + } + }, { + key: "xPaddingForYAxisTitle", + value: function xPaddingForYAxisTitle(realIndex, yAxisLabelsCoord, yAxisTitleCoord, yAxisOpposite) { + var w = this.w; + var oppositeAxisCount = 0; + var x = 0; + var padd = 10; + + if (w.config.yaxis[realIndex].title.text === undefined || realIndex < 0) { + return { + xPos: x, + padd: 0 + }; + } + + if (yAxisOpposite) { + x = yAxisLabelsCoord.width + w.config.yaxis[realIndex].title.offsetX + yAxisTitleCoord.width / 2 + padd / 2; + oppositeAxisCount += 1; + + if (oppositeAxisCount === 0) { + x = x - padd / 2; + } + } else { + x = yAxisLabelsCoord.width * -1 + w.config.yaxis[realIndex].title.offsetX + padd / 2 + yAxisTitleCoord.width / 2; + + if (w.globals.isBarHorizontal) { + padd = 25; + x = yAxisLabelsCoord.width * -1 - w.config.yaxis[realIndex].title.offsetX - padd; + } + } + + return { + xPos: x, + padd: padd + }; + } // sets the x position of the y-axis by counting the labels width, title width and any offset + + }, { + key: "setYAxisXPosition", + value: function setYAxisXPosition(yaxisLabelCoords, yTitleCoords) { + var w = this.w; + var xLeft = 0; + var xRight = 0; + var leftOffsetX = 18; + var rightOffsetX = 1; + + if (w.config.yaxis.length > 1) { + this.multipleYs = true; + } + + w.config.yaxis.map(function (yaxe, index) { + var shouldNotDrawAxis = w.globals.ignoreYAxisIndexes.indexOf(index) > -1 || !yaxe.show || yaxe.floating || yaxisLabelCoords[index].width === 0; + var axisWidth = yaxisLabelCoords[index].width + yTitleCoords[index].width; + + if (!yaxe.opposite) { + xLeft = w.globals.translateX - leftOffsetX; + + if (!shouldNotDrawAxis) { + leftOffsetX = leftOffsetX + axisWidth + 20; + } + + w.globals.translateYAxisX[index] = xLeft + yaxe.labels.offsetX; + } else { + if (w.globals.isBarHorizontal) { + xRight = w.globals.gridWidth + w.globals.translateX - 1; + w.globals.translateYAxisX[index] = xRight - yaxe.labels.offsetX; + } else { + xRight = w.globals.gridWidth + w.globals.translateX + rightOffsetX; + + if (!shouldNotDrawAxis) { + rightOffsetX = rightOffsetX + axisWidth + 20; + } + + w.globals.translateYAxisX[index] = xRight - yaxe.labels.offsetX + 20; + } + } + }); + } + }, { + key: "setYAxisTextAlignments", + value: function setYAxisTextAlignments() { + var w = this.w; + var yaxis = w.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis"); + yaxis = Utils$1.listToArray(yaxis); + yaxis.forEach(function (y, index) { + var yaxe = w.config.yaxis[index]; // proceed only if user has specified alignment + + if (yaxe && !yaxe.floating && yaxe.labels.align !== undefined) { + var yAxisInner = w.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(index, "'] .apexcharts-yaxis-texts-g")); + var yAxisTexts = w.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(index, "'] .apexcharts-yaxis-label")); + yAxisTexts = Utils$1.listToArray(yAxisTexts); + var rect = yAxisInner.getBoundingClientRect(); + + if (yaxe.labels.align === 'left') { + yAxisTexts.forEach(function (label, lI) { + label.setAttribute('text-anchor', 'start'); + }); + + if (!yaxe.opposite) { + yAxisInner.setAttribute('transform', "translate(-".concat(rect.width, ", 0)")); + } + } else if (yaxe.labels.align === 'center') { + yAxisTexts.forEach(function (label, lI) { + label.setAttribute('text-anchor', 'middle'); + }); + yAxisInner.setAttribute('transform', "translate(".concat(rect.width / 2 * (!yaxe.opposite ? -1 : 1), ", 0)")); + } else if (yaxe.labels.align === 'right') { + yAxisTexts.forEach(function (label, lI) { + label.setAttribute('text-anchor', 'end'); + }); + + if (yaxe.opposite) { + yAxisInner.setAttribute('transform', "translate(".concat(rect.width, ", 0)")); + } + } + } + }); + } + }]); + + return YAxis; + }(); + + var Events = /*#__PURE__*/function () { + function Events(ctx) { + _classCallCheck(this, Events); + + this.ctx = ctx; + this.w = ctx.w; + this.documentEvent = Utils$1.bind(this.documentEvent, this); + } + + _createClass(Events, [{ + key: "addEventListener", + value: function addEventListener(name, handler) { + var w = this.w; + + if (w.globals.events.hasOwnProperty(name)) { + w.globals.events[name].push(handler); + } else { + w.globals.events[name] = [handler]; + } + } + }, { + key: "removeEventListener", + value: function removeEventListener(name, handler) { + var w = this.w; + + if (!w.globals.events.hasOwnProperty(name)) { + return; + } + + var index = w.globals.events[name].indexOf(handler); + + if (index !== -1) { + w.globals.events[name].splice(index, 1); + } + } + }, { + key: "fireEvent", + value: function fireEvent(name, args) { + var w = this.w; + + if (!w.globals.events.hasOwnProperty(name)) { + return; + } + + if (!args || !args.length) { + args = []; + } + + var evs = w.globals.events[name]; + var l = evs.length; + + for (var i = 0; i < l; i++) { + evs[i].apply(null, args); + } + } + }, { + key: "setupEventHandlers", + value: function setupEventHandlers() { + var _this = this; + + var w = this.w; + var me = this.ctx; + var clickableArea = w.globals.dom.baseEl.querySelector(w.globals.chartClass); + this.ctx.eventList.forEach(function (event) { + clickableArea.addEventListener(event, function (e) { + var opts = Object.assign({}, w, { + seriesIndex: w.globals.capturedSeriesIndex, + dataPointIndex: w.globals.capturedDataPointIndex + }); + + if (e.type === 'mousemove' || e.type === 'touchmove') { + if (typeof w.config.chart.events.mouseMove === 'function') { + w.config.chart.events.mouseMove(e, me, opts); + } + } else if (e.type === 'mouseleave' || e.type === 'touchleave') { + if (typeof w.config.chart.events.mouseLeave === 'function') { + w.config.chart.events.mouseLeave(e, me, opts); + } + } else if (e.type === 'mouseup' && e.which === 1 || e.type === 'touchend') { + if (typeof w.config.chart.events.click === 'function') { + w.config.chart.events.click(e, me, opts); + } + + me.ctx.events.fireEvent('click', [e, me, opts]); + } + }, { + capture: false, + passive: true + }); + }); + this.ctx.eventList.forEach(function (event) { + w.globals.dom.baseEl.addEventListener(event, _this.documentEvent, { + passive: true + }); + }); + this.ctx.core.setupBrushHandler(); + } + }, { + key: "documentEvent", + value: function documentEvent(e) { + var w = this.w; + var target = e.target.className; + + if (e.type === 'click') { + var elMenu = w.globals.dom.baseEl.querySelector('.apexcharts-menu'); + + if (elMenu && elMenu.classList.contains('apexcharts-menu-open') && target !== 'apexcharts-menu-icon') { + elMenu.classList.remove('apexcharts-menu-open'); + } + } + + w.globals.clientX = e.type === 'touchmove' ? e.touches[0].clientX : e.clientX; + w.globals.clientY = e.type === 'touchmove' ? e.touches[0].clientY : e.clientY; + } + }]); + + return Events; + }(); + + var Localization = /*#__PURE__*/function () { + function Localization(ctx) { + _classCallCheck(this, Localization); + + this.ctx = ctx; + this.w = ctx.w; + } + + _createClass(Localization, [{ + key: "setCurrentLocaleValues", + value: function setCurrentLocaleValues(localeName) { + var locales = this.w.config.chart.locales; // check if user has specified locales in global Apex variable + // if yes - then extend those with local chart's locale + + if (window.Apex.chart && window.Apex.chart.locales && window.Apex.chart.locales.length > 0) { + locales = this.w.config.chart.locales.concat(window.Apex.chart.locales); + } // find the locale from the array of locales which user has set (either by chart.defaultLocale or by calling setLocale() method.) + + + var selectedLocale = locales.filter(function (c) { + return c.name === localeName; + })[0]; + + if (selectedLocale) { + // create a complete locale object by extending defaults so you don't get undefined errors. + var ret = Utils$1.extend(en, selectedLocale); // store these locale options in global var for ease access + + this.w.globals.locale = ret.options; + } else { + throw new Error('Wrong locale name provided. Please make sure you set the correct locale name in options'); + } + } + }]); + + return Localization; + }(); + + var Axes = /*#__PURE__*/function () { + function Axes(ctx) { + _classCallCheck(this, Axes); + + this.ctx = ctx; + this.w = ctx.w; + } + + _createClass(Axes, [{ + key: "drawAxis", + value: function drawAxis(type, elgrid) { + var _this = this; + + var gl = this.w.globals; + var cnf = this.w.config; + var xAxis = new XAxis(this.ctx, elgrid); + var yAxis = new YAxis(this.ctx, elgrid); + + if (gl.axisCharts && type !== 'radar') { + var elXaxis, elYaxis; + + if (gl.isBarHorizontal) { + elYaxis = yAxis.drawYaxisInversed(0); + elXaxis = xAxis.drawXaxisInversed(0); + gl.dom.elGraphical.add(elXaxis); + gl.dom.elGraphical.add(elYaxis); + } else { + elXaxis = xAxis.drawXaxis(); + gl.dom.elGraphical.add(elXaxis); + cnf.yaxis.map(function (yaxe, index) { + if (gl.ignoreYAxisIndexes.indexOf(index) === -1) { + elYaxis = yAxis.drawYaxis(index); + gl.dom.Paper.add(elYaxis); + + if (_this.w.config.grid.position === 'back') { + var inner = gl.dom.Paper.children()[1]; + inner.remove(); + gl.dom.Paper.add(inner); + } + } + }); + } + } + } + }]); + + return Axes; + }(); + + var Crosshairs = /*#__PURE__*/function () { + function Crosshairs(ctx) { + _classCallCheck(this, Crosshairs); + + this.ctx = ctx; + this.w = ctx.w; + } + + _createClass(Crosshairs, [{ + key: "drawXCrosshairs", + value: function drawXCrosshairs() { + var w = this.w; + var graphics = new Graphics(this.ctx); + var filters = new Filters(this.ctx); + var crosshairGradient = w.config.xaxis.crosshairs.fill.gradient; + var crosshairShadow = w.config.xaxis.crosshairs.dropShadow; + var fillType = w.config.xaxis.crosshairs.fill.type; + var gradientFrom = crosshairGradient.colorFrom; + var gradientTo = crosshairGradient.colorTo; + var opacityFrom = crosshairGradient.opacityFrom; + var opacityTo = crosshairGradient.opacityTo; + var stops = crosshairGradient.stops; + var shadow = 'none'; + var dropShadow = crosshairShadow.enabled; + var shadowLeft = crosshairShadow.left; + var shadowTop = crosshairShadow.top; + var shadowBlur = crosshairShadow.blur; + var shadowColor = crosshairShadow.color; + var shadowOpacity = crosshairShadow.opacity; + var xcrosshairsFill = w.config.xaxis.crosshairs.fill.color; + + if (w.config.xaxis.crosshairs.show) { + if (fillType === 'gradient') { + xcrosshairsFill = graphics.drawGradient('vertical', gradientFrom, gradientTo, opacityFrom, opacityTo, null, stops, null); + } + + var xcrosshairs = graphics.drawRect(); + + if (w.config.xaxis.crosshairs.width === 1) { + // to prevent drawing 2 lines, convert rect to line + xcrosshairs = graphics.drawLine(); + } + + var gridHeight = w.globals.gridHeight; + + if (!Utils$1.isNumber(gridHeight) || gridHeight < 0) { + gridHeight = 0; + } + + var crosshairsWidth = w.config.xaxis.crosshairs.width; + + if (!Utils$1.isNumber(crosshairsWidth) || crosshairsWidth < 0) { + crosshairsWidth = 0; + } + + xcrosshairs.attr({ + class: 'apexcharts-xcrosshairs', + x: 0, + y: 0, + y2: gridHeight, + width: crosshairsWidth, + height: gridHeight, + fill: xcrosshairsFill, + filter: shadow, + 'fill-opacity': w.config.xaxis.crosshairs.opacity, + stroke: w.config.xaxis.crosshairs.stroke.color, + 'stroke-width': w.config.xaxis.crosshairs.stroke.width, + 'stroke-dasharray': w.config.xaxis.crosshairs.stroke.dashArray + }); + + if (dropShadow) { + xcrosshairs = filters.dropShadow(xcrosshairs, { + left: shadowLeft, + top: shadowTop, + blur: shadowBlur, + color: shadowColor, + opacity: shadowOpacity + }); + } + + w.globals.dom.elGraphical.add(xcrosshairs); + } + } + }, { + key: "drawYCrosshairs", + value: function drawYCrosshairs() { + var w = this.w; + var graphics = new Graphics(this.ctx); + var crosshair = w.config.yaxis[0].crosshairs; + var offX = w.globals.barPadForNumericAxis; + + if (w.config.yaxis[0].crosshairs.show) { + var ycrosshairs = graphics.drawLine(-offX, 0, w.globals.gridWidth + offX, 0, crosshair.stroke.color, crosshair.stroke.dashArray, crosshair.stroke.width); + ycrosshairs.attr({ + class: 'apexcharts-ycrosshairs' + }); + w.globals.dom.elGraphical.add(ycrosshairs); + } // draw an invisible crosshair to help in positioning the yaxis tooltip + + + var ycrosshairsHidden = graphics.drawLine(-offX, 0, w.globals.gridWidth + offX, 0, crosshair.stroke.color, 0, 0); + ycrosshairsHidden.attr({ + class: 'apexcharts-ycrosshairs-hidden' + }); + w.globals.dom.elGraphical.add(ycrosshairsHidden); + } + }]); + + return Crosshairs; + }(); + + /** + * ApexCharts Responsive Class to override options for different screen sizes. + * + * @module Responsive + **/ + + var Responsive = /*#__PURE__*/function () { + function Responsive(ctx) { + _classCallCheck(this, Responsive); + + this.ctx = ctx; + this.w = ctx.w; + } // the opts parameter if not null has to be set overriding everything + // as the opts is set by user externally + + + _createClass(Responsive, [{ + key: "checkResponsiveConfig", + value: function checkResponsiveConfig(opts) { + var _this = this; + + var w = this.w; + var cnf = w.config; // check if responsive config exists + + if (cnf.responsive.length === 0) return; + var res = cnf.responsive.slice(); + res.sort(function (a, b) { + return a.breakpoint > b.breakpoint ? 1 : b.breakpoint > a.breakpoint ? -1 : 0; + }).reverse(); + var config = new Config({}); + + var iterateResponsiveOptions = function iterateResponsiveOptions() { + var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var largestBreakpoint = res[0].breakpoint; + var width = window.innerWidth > 0 ? window.innerWidth : screen.width; + + if (width > largestBreakpoint) { + var options = CoreUtils.extendArrayProps(config, w.globals.initialConfig, w); + newOptions = Utils$1.extend(options, newOptions); + newOptions = Utils$1.extend(w.config, newOptions); + + _this.overrideResponsiveOptions(newOptions); + } else { + for (var i = 0; i < res.length; i++) { + if (width < res[i].breakpoint) { + newOptions = CoreUtils.extendArrayProps(config, res[i].options, w); + newOptions = Utils$1.extend(w.config, newOptions); + + _this.overrideResponsiveOptions(newOptions); + } + } + } + }; + + if (opts) { + var options = CoreUtils.extendArrayProps(config, opts, w); + options = Utils$1.extend(w.config, options); + options = Utils$1.extend(options, opts); + iterateResponsiveOptions(options); + } else { + iterateResponsiveOptions({}); + } + } + }, { + key: "overrideResponsiveOptions", + value: function overrideResponsiveOptions(newOptions) { + var newConfig = new Config(newOptions).init({ + responsiveOverride: true + }); + this.w.config = newConfig; + } + }]); + + return Responsive; + }(); + + /** + * ApexCharts Theme Class for setting the colors and palettes. + * + * @module Theme + **/ + + var Theme = /*#__PURE__*/function () { + function Theme(ctx) { + _classCallCheck(this, Theme); + + this.ctx = ctx; + this.colors = []; + this.w = ctx.w; + var w = this.w; + this.isColorFn = false; + this.isHeatmapDistributed = w.config.chart.type === 'treemap' && w.config.plotOptions.treemap.distributed || w.config.chart.type === 'heatmap' && w.config.plotOptions.heatmap.distributed; + this.isBarDistributed = w.config.plotOptions.bar.distributed && (w.config.chart.type === 'bar' || w.config.chart.type === 'rangeBar'); + } + + _createClass(Theme, [{ + key: "init", + value: function init() { + this.setDefaultColors(); + } + }, { + key: "setDefaultColors", + value: function setDefaultColors() { + var _this = this; + + var w = this.w; + var utils = new Utils$1(); + w.globals.dom.elWrap.classList.add("apexcharts-theme-".concat(w.config.theme.mode)); + + if (w.config.colors === undefined) { + w.globals.colors = this.predefined(); + } else { + w.globals.colors = w.config.colors; // if user provided a function in colors, we need to eval here + + if (Array.isArray(w.config.colors) && w.config.colors.length > 0 && typeof w.config.colors[0] === 'function') { + w.globals.colors = w.config.series.map(function (s, i) { + var c = w.config.colors[i]; + if (!c) c = w.config.colors[0]; + + if (typeof c === 'function') { + _this.isColorFn = true; + return c({ + value: w.globals.axisCharts ? w.globals.series[i][0] ? w.globals.series[i][0] : 0 : w.globals.series[i], + seriesIndex: i, + dataPointIndex: i, + w: w + }); + } + + return c; + }); + } + } // user defined colors in series array + + + w.globals.seriesColors.map(function (c, i) { + if (c) { + w.globals.colors[i] = c; + } + }); + + if (w.config.theme.monochrome.enabled) { + var monoArr = []; + var glsCnt = w.globals.series.length; + + if (this.isBarDistributed || this.isHeatmapDistributed) { + glsCnt = w.globals.series[0].length * w.globals.series.length; + } + + var mainColor = w.config.theme.monochrome.color; + var part = 1 / (glsCnt / w.config.theme.monochrome.shadeIntensity); + var shade = w.config.theme.monochrome.shadeTo; + var percent = 0; + + for (var gsl = 0; gsl < glsCnt; gsl++) { + var newColor = void 0; + + if (shade === 'dark') { + newColor = utils.shadeColor(percent * -1, mainColor); + percent = percent + part; + } else { + newColor = utils.shadeColor(percent, mainColor); + percent = percent + part; + } + + monoArr.push(newColor); + } + + w.globals.colors = monoArr.slice(); + } + + var defaultColors = w.globals.colors.slice(); // if user specified fewer colors than no. of series, push the same colors again + + this.pushExtraColors(w.globals.colors); + var colorTypes = ['fill', 'stroke']; + colorTypes.forEach(function (c) { + if (w.config[c].colors === undefined) { + w.globals[c].colors = _this.isColorFn ? w.config.colors : defaultColors; + } else { + w.globals[c].colors = w.config[c].colors.slice(); + } + + _this.pushExtraColors(w.globals[c].colors); + }); + + if (w.config.dataLabels.style.colors === undefined) { + w.globals.dataLabels.style.colors = defaultColors; + } else { + w.globals.dataLabels.style.colors = w.config.dataLabels.style.colors.slice(); + } + + this.pushExtraColors(w.globals.dataLabels.style.colors, 50); + + if (w.config.plotOptions.radar.polygons.fill.colors === undefined) { + w.globals.radarPolygons.fill.colors = [w.config.theme.mode === 'dark' ? '#424242' : 'none']; + } else { + w.globals.radarPolygons.fill.colors = w.config.plotOptions.radar.polygons.fill.colors.slice(); + } + + this.pushExtraColors(w.globals.radarPolygons.fill.colors, 20); // The point colors + + if (w.config.markers.colors === undefined) { + w.globals.markers.colors = defaultColors; + } else { + w.globals.markers.colors = w.config.markers.colors.slice(); + } + + this.pushExtraColors(w.globals.markers.colors); + } // When the number of colors provided is less than the number of series, this method + // will push same colors to the list + // params: + // distributed is only valid for distributed column/bar charts + + }, { + key: "pushExtraColors", + value: function pushExtraColors(colorSeries, length) { + var distributed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var w = this.w; + var len = length || w.globals.series.length; + + if (distributed === null) { + distributed = this.isBarDistributed || this.isHeatmapDistributed || w.config.chart.type === 'heatmap' && w.config.plotOptions.heatmap.colorScale.inverse; + } + + if (distributed && w.globals.series.length) { + len = w.globals.series[w.globals.maxValsInArrayIndex].length * w.globals.series.length; + } + + if (colorSeries.length < len) { + var diff = len - colorSeries.length; + + for (var i = 0; i < diff; i++) { + colorSeries.push(colorSeries[i]); + } + } + } + }, { + key: "updateThemeOptions", + value: function updateThemeOptions(options) { + options.chart = options.chart || {}; + options.tooltip = options.tooltip || {}; + var mode = options.theme.mode || 'light'; + var palette = options.theme.palette ? options.theme.palette : mode === 'dark' ? 'palette4' : 'palette1'; + var foreColor = options.chart.foreColor ? options.chart.foreColor : mode === 'dark' ? '#f6f7f8' : '#373d3f'; + options.tooltip.theme = mode; + options.chart.foreColor = foreColor; + options.theme.palette = palette; + return options; + } + }, { + key: "predefined", + value: function predefined() { + var palette = this.w.config.theme.palette; // D6E3F8, FCEFEF, DCE0D9, A5978B, EDDDD4, D6E3F8, FEF5EF + + switch (palette) { + case 'palette1': + this.colors = ['#008FFB', '#00E396', '#FEB019', '#FF4560', '#775DD0']; + break; + + case 'palette2': + this.colors = ['#3f51b5', '#03a9f4', '#4caf50', '#f9ce1d', '#FF9800']; + break; + + case 'palette3': + this.colors = ['#33b2df', '#546E7A', '#d4526e', '#13d8aa', '#A5978B']; + break; + + case 'palette4': + this.colors = ['#4ecdc4', '#c7f464', '#81D4FA', '#fd6a6a', '#546E7A']; + break; + + case 'palette5': + this.colors = ['#2b908f', '#f9a3a4', '#90ee7e', '#fa4443', '#69d2e7']; + break; + + case 'palette6': + this.colors = ['#449DD1', '#F86624', '#EA3546', '#662E9B', '#C5D86D']; + break; + + case 'palette7': + this.colors = ['#D7263D', '#1B998B', '#2E294E', '#F46036', '#E2C044']; + break; + + case 'palette8': + this.colors = ['#662E9B', '#F86624', '#F9C80E', '#EA3546', '#43BCCD']; + break; + + case 'palette9': + this.colors = ['#5C4742', '#A5978B', '#8D5B4C', '#5A2A27', '#C4BBAF']; + break; + + case 'palette10': + this.colors = ['#A300D6', '#7D02EB', '#5653FE', '#2983FF', '#00B1F2']; + break; + + default: + this.colors = ['#008FFB', '#00E396', '#FEB019', '#FF4560', '#775DD0']; + break; + } + + return this.colors; + } + }]); + + return Theme; + }(); + + var TitleSubtitle = /*#__PURE__*/function () { + function TitleSubtitle(ctx) { + _classCallCheck(this, TitleSubtitle); + + this.ctx = ctx; + this.w = ctx.w; + } + + _createClass(TitleSubtitle, [{ + key: "draw", + value: function draw() { + this.drawTitleSubtitle('title'); + this.drawTitleSubtitle('subtitle'); + } + }, { + key: "drawTitleSubtitle", + value: function drawTitleSubtitle(type) { + var w = this.w; + var tsConfig = type === 'title' ? w.config.title : w.config.subtitle; + var x = w.globals.svgWidth / 2; + var y = tsConfig.offsetY; + var textAnchor = 'middle'; + + if (tsConfig.align === 'left') { + x = 10; + textAnchor = 'start'; + } else if (tsConfig.align === 'right') { + x = w.globals.svgWidth - 10; + textAnchor = 'end'; + } + + x = x + tsConfig.offsetX; + y = y + parseInt(tsConfig.style.fontSize, 10) + tsConfig.margin / 2; + + if (tsConfig.text !== undefined) { + var graphics = new Graphics(this.ctx); + var titleText = graphics.drawText({ + x: x, + y: y, + text: tsConfig.text, + textAnchor: textAnchor, + fontSize: tsConfig.style.fontSize, + fontFamily: tsConfig.style.fontFamily, + fontWeight: tsConfig.style.fontWeight, + foreColor: tsConfig.style.color, + opacity: 1 + }); + titleText.node.setAttribute('class', "apexcharts-".concat(type, "-text")); + w.globals.dom.Paper.add(titleText); + } + } + }]); + + return TitleSubtitle; + }(); + + var Helpers$3 = /*#__PURE__*/function () { + function Helpers(dCtx) { + _classCallCheck(this, Helpers); + + this.w = dCtx.w; + this.dCtx = dCtx; + } + /** + * Get Chart Title/Subtitle Dimensions + * @memberof Dimensions + * @return {{width, height}} + **/ + + + _createClass(Helpers, [{ + key: "getTitleSubtitleCoords", + value: function getTitleSubtitleCoords(type) { + var w = this.w; + var width = 0; + var height = 0; + var floating = type === 'title' ? w.config.title.floating : w.config.subtitle.floating; + var el = w.globals.dom.baseEl.querySelector(".apexcharts-".concat(type, "-text")); + + if (el !== null && !floating) { + var coord = el.getBoundingClientRect(); + width = coord.width; + height = w.globals.axisCharts ? coord.height + 5 : coord.height; + } + + return { + width: width, + height: height + }; + } + }, { + key: "getLegendsRect", + value: function getLegendsRect() { + var w = this.w; + var elLegendWrap = w.globals.dom.elLegendWrap; + + if (!w.config.legend.height && (w.config.legend.position === 'top' || w.config.legend.position === 'bottom')) { + // avoid legend to take up all the space + elLegendWrap.style.maxHeight = w.globals.svgHeight / 2 + 'px'; + } + + var lgRect = Object.assign({}, Utils$1.getBoundingClientRect(elLegendWrap)); + + if (elLegendWrap !== null && !w.config.legend.floating && w.config.legend.show) { + this.dCtx.lgRect = { + x: lgRect.x, + y: lgRect.y, + height: lgRect.height, + width: lgRect.height === 0 ? 0 : lgRect.width + }; + } else { + this.dCtx.lgRect = { + x: 0, + y: 0, + height: 0, + width: 0 + }; + } // if legend takes up all of the chart space, we need to restrict it. + + + if (w.config.legend.position === 'left' || w.config.legend.position === 'right') { + if (this.dCtx.lgRect.width * 1.5 > w.globals.svgWidth) { + this.dCtx.lgRect.width = w.globals.svgWidth / 1.5; + } + } + + return this.dCtx.lgRect; + } + }, { + key: "getLargestStringFromMultiArr", + value: function getLargestStringFromMultiArr(val, arr) { + var w = this.w; + var valArr = val; + + if (w.globals.isMultiLineX) { + // if the xaxis labels has multiline texts (array) + var maxArrs = arr.map(function (xl, idx) { + return Array.isArray(xl) ? xl.length : 1; + }); + var maxArrLen = Math.max.apply(Math, _toConsumableArray(maxArrs)); + var maxArrIndex = maxArrs.indexOf(maxArrLen); + valArr = arr[maxArrIndex]; + } + + return valArr; + } + }]); + + return Helpers; + }(); + + var DimXAxis = /*#__PURE__*/function () { + function DimXAxis(dCtx) { + _classCallCheck(this, DimXAxis); + + this.w = dCtx.w; + this.dCtx = dCtx; + } + /** + * Get X Axis Dimensions + * @memberof Dimensions + * @return {{width, height}} + **/ + + + _createClass(DimXAxis, [{ + key: "getxAxisLabelsCoords", + value: function getxAxisLabelsCoords() { + var w = this.w; + var xaxisLabels = w.globals.labels.slice(); + + if (w.config.xaxis.convertedCatToNumeric && xaxisLabels.length === 0) { + xaxisLabels = w.globals.categoryLabels; + } + + var rect; + + if (w.globals.timescaleLabels.length > 0) { + var coords = this.getxAxisTimeScaleLabelsCoords(); + rect = { + width: coords.width, + height: coords.height + }; + w.globals.rotateXLabels = false; + } else { + this.dCtx.lgWidthForSideLegends = (w.config.legend.position === 'left' || w.config.legend.position === 'right') && !w.config.legend.floating ? this.dCtx.lgRect.width : 0; // get the longest string from the labels array and also apply label formatter + + var xlbFormatter = w.globals.xLabelFormatter; // prevent changing xaxisLabels to avoid issues in multi-yaxes - fix #522 + + var val = Utils$1.getLargestStringFromArr(xaxisLabels); + var valArr = this.dCtx.dimHelpers.getLargestStringFromMultiArr(val, xaxisLabels); // the labels gets changed for bar charts + + if (w.globals.isBarHorizontal) { + val = w.globals.yAxisScale[0].result.reduce(function (a, b) { + return a.length > b.length ? a : b; + }, 0); + valArr = val; + } + + var xFormat = new Formatters(this.dCtx.ctx); + var timestamp = val; + val = xFormat.xLabelFormat(xlbFormatter, val, timestamp, { + i: undefined, + dateFormatter: new DateTime(this.dCtx.ctx).formatDate, + w: w + }); + valArr = xFormat.xLabelFormat(xlbFormatter, valArr, timestamp, { + i: undefined, + dateFormatter: new DateTime(this.dCtx.ctx).formatDate, + w: w + }); + + if (w.config.xaxis.convertedCatToNumeric && typeof val === 'undefined' || String(val).trim() === '') { + val = '1'; + valArr = val; + } + + var graphics = new Graphics(this.dCtx.ctx); + var xLabelrect = graphics.getTextRects(val, w.config.xaxis.labels.style.fontSize); + var xArrLabelrect = xLabelrect; + + if (val !== valArr) { + xArrLabelrect = graphics.getTextRects(valArr, w.config.xaxis.labels.style.fontSize); + } + + rect = { + width: xLabelrect.width >= xArrLabelrect.width ? xLabelrect.width : xArrLabelrect.width, + height: xLabelrect.height >= xArrLabelrect.height ? xLabelrect.height : xArrLabelrect.height + }; + + if (rect.width * xaxisLabels.length > w.globals.svgWidth - this.dCtx.lgWidthForSideLegends - this.dCtx.yAxisWidth - this.dCtx.gridPad.left - this.dCtx.gridPad.right && w.config.xaxis.labels.rotate !== 0 || w.config.xaxis.labels.rotateAlways) { + if (!w.globals.isBarHorizontal) { + w.globals.rotateXLabels = true; + + var getRotatedTextRects = function getRotatedTextRects(text) { + return graphics.getTextRects(text, w.config.xaxis.labels.style.fontSize, w.config.xaxis.labels.style.fontFamily, "rotate(".concat(w.config.xaxis.labels.rotate, " 0 0)"), false); + }; + + xLabelrect = getRotatedTextRects(val); + + if (val !== valArr) { + xArrLabelrect = getRotatedTextRects(valArr); + } + + rect.height = (xLabelrect.height > xArrLabelrect.height ? xLabelrect.height : xArrLabelrect.height) / 1.5; + rect.width = xLabelrect.width > xArrLabelrect.width ? xLabelrect.width : xArrLabelrect.width; + } + } else { + w.globals.rotateXLabels = false; + } + } + + if (!w.config.xaxis.labels.show) { + rect = { + width: 0, + height: 0 + }; + } + + return { + width: rect.width, + height: rect.height + }; + } + /** + * Get X Axis Label Group height + * @memberof Dimensions + * @return {{width, height}} + */ + + }, { + key: "getxAxisGroupLabelsCoords", + value: function getxAxisGroupLabelsCoords() { + var _w$config$xaxis$group; + + var w = this.w; + + if (!w.globals.hasXaxisGroups) { + return { + width: 0, + height: 0 + }; + } + + var fontSize = ((_w$config$xaxis$group = w.config.xaxis.group.style) === null || _w$config$xaxis$group === void 0 ? void 0 : _w$config$xaxis$group.fontSize) || w.config.xaxis.labels.style.fontSize; + var xaxisLabels = w.globals.groups.map(function (g) { + return g.title; + }); + var rect; // prevent changing xaxisLabels to avoid issues in multi-yaxes - fix #522 + + var val = Utils$1.getLargestStringFromArr(xaxisLabels); + var valArr = this.dCtx.dimHelpers.getLargestStringFromMultiArr(val, xaxisLabels); + var graphics = new Graphics(this.dCtx.ctx); + var xLabelrect = graphics.getTextRects(val, fontSize); + var xArrLabelrect = xLabelrect; + + if (val !== valArr) { + xArrLabelrect = graphics.getTextRects(valArr, fontSize); + } + + rect = { + width: xLabelrect.width >= xArrLabelrect.width ? xLabelrect.width : xArrLabelrect.width, + height: xLabelrect.height >= xArrLabelrect.height ? xLabelrect.height : xArrLabelrect.height + }; + + if (!w.config.xaxis.labels.show) { + rect = { + width: 0, + height: 0 + }; + } + + return { + width: rect.width, + height: rect.height + }; + } + /** + * Get X Axis Title Dimensions + * @memberof Dimensions + * @return {{width, height}} + **/ + + }, { + key: "getxAxisTitleCoords", + value: function getxAxisTitleCoords() { + var w = this.w; + var width = 0; + var height = 0; + + if (w.config.xaxis.title.text !== undefined) { + var graphics = new Graphics(this.dCtx.ctx); + var rect = graphics.getTextRects(w.config.xaxis.title.text, w.config.xaxis.title.style.fontSize); + width = rect.width; + height = rect.height; + } + + return { + width: width, + height: height + }; + } + }, { + key: "getxAxisTimeScaleLabelsCoords", + value: function getxAxisTimeScaleLabelsCoords() { + var w = this.w; + var rect; + this.dCtx.timescaleLabels = w.globals.timescaleLabels.slice(); + var labels = this.dCtx.timescaleLabels.map(function (label) { + return label.value; + }); // get the longest string from the labels array and also apply label formatter to it + + var val = labels.reduce(function (a, b) { + // if undefined, maybe user didn't pass the datetime(x) values + if (typeof a === 'undefined') { + console.error('You have possibly supplied invalid Date format. Please supply a valid JavaScript Date'); + return 0; + } else { + return a.length > b.length ? a : b; + } + }, 0); + var graphics = new Graphics(this.dCtx.ctx); + rect = graphics.getTextRects(val, w.config.xaxis.labels.style.fontSize); + var totalWidthRotated = rect.width * 1.05 * labels.length; + + if (totalWidthRotated > w.globals.gridWidth && w.config.xaxis.labels.rotate !== 0) { + w.globals.overlappingXLabels = true; + } + + return rect; + } // In certain cases, the last labels gets cropped in xaxis. + // Hence, we add some additional padding based on the label length to avoid the last label being cropped or we don't draw it at all + + }, { + key: "additionalPaddingXLabels", + value: function additionalPaddingXLabels(xaxisLabelCoords) { + var _this = this; + + var w = this.w; + var gl = w.globals; + var cnf = w.config; + var xtype = cnf.xaxis.type; + var lbWidth = xaxisLabelCoords.width; + gl.skipLastTimelinelabel = false; + gl.skipFirstTimelinelabel = false; + var isBarOpposite = w.config.yaxis[0].opposite && w.globals.isBarHorizontal; + + var isCollapsed = function isCollapsed(i) { + return gl.collapsedSeriesIndices.indexOf(i) !== -1; + }; + + var rightPad = function rightPad(yaxe) { + if (_this.dCtx.timescaleLabels && _this.dCtx.timescaleLabels.length) { + // for timeline labels, we take the last label and check if it exceeds gridWidth + var firstimescaleLabel = _this.dCtx.timescaleLabels[0]; + var lastTimescaleLabel = _this.dCtx.timescaleLabels[_this.dCtx.timescaleLabels.length - 1]; + var lastLabelPosition = lastTimescaleLabel.position + lbWidth / 1.75 - _this.dCtx.yAxisWidthRight; + var firstLabelPosition = firstimescaleLabel.position - lbWidth / 1.75 + _this.dCtx.yAxisWidthLeft; + var lgRightRectWidth = w.config.legend.position === 'right' && _this.dCtx.lgRect.width > 0 ? _this.dCtx.lgRect.width : 0; + + if (lastLabelPosition > gl.svgWidth - gl.translateX - lgRightRectWidth) { + gl.skipLastTimelinelabel = true; + } + + if (firstLabelPosition < -((!yaxe.show || yaxe.floating) && (cnf.chart.type === 'bar' || cnf.chart.type === 'candlestick' || cnf.chart.type === 'rangeBar' || cnf.chart.type === 'boxPlot') ? lbWidth / 1.75 : 10)) { + gl.skipFirstTimelinelabel = true; + } + } else if (xtype === 'datetime') { + // If user has enabled DateTime, but uses own's formatter + if (_this.dCtx.gridPad.right < lbWidth && !gl.rotateXLabels) { + gl.skipLastTimelinelabel = true; + } + } else if (xtype !== 'datetime') { + if (_this.dCtx.gridPad.right < lbWidth / 2 - _this.dCtx.yAxisWidthRight && !gl.rotateXLabels && !w.config.xaxis.labels.trim && (w.config.xaxis.tickPlacement !== 'between' || w.globals.isBarHorizontal)) { + _this.dCtx.xPadRight = lbWidth / 2 + 1; + } + } + }; + + var padYAxe = function padYAxe(yaxe, i) { + if (cnf.yaxis.length > 1 && isCollapsed(i)) return; + rightPad(yaxe); + }; + + cnf.yaxis.forEach(function (yaxe, i) { + if (isBarOpposite) { + if (_this.dCtx.gridPad.left < lbWidth) { + _this.dCtx.xPadLeft = lbWidth / 2 + 1; + } + + _this.dCtx.xPadRight = lbWidth / 2 + 1; + } else { + padYAxe(yaxe, i); + } + }); + } + }]); + + return DimXAxis; + }(); + + var DimYAxis = /*#__PURE__*/function () { + function DimYAxis(dCtx) { + _classCallCheck(this, DimYAxis); + + this.w = dCtx.w; + this.dCtx = dCtx; + } + /** + * Get Y Axis Dimensions + * @memberof Dimensions + * @return {{width, height}} + **/ + + + _createClass(DimYAxis, [{ + key: "getyAxisLabelsCoords", + value: function getyAxisLabelsCoords() { + var _this = this; + + var w = this.w; + var width = 0; + var height = 0; + var ret = []; + var labelPad = 10; + var axesUtils = new AxesUtils(this.dCtx.ctx); + w.config.yaxis.map(function (yaxe, index) { + var yS = w.globals.yAxisScale[index]; + var yAxisMinWidth = 0; + if (!axesUtils.isYAxisHidden(index) && yaxe.labels.show && yaxe.labels.minWidth !== undefined) yAxisMinWidth = yaxe.labels.minWidth; + + if (!axesUtils.isYAxisHidden(index) && yaxe.labels.show && yS.result.length) { + var lbFormatter = w.globals.yLabelFormatters[index]; + var minV = yS.niceMin === Number.MIN_VALUE ? 0 : yS.niceMin; + var longestStr = String(minV).length > String(yS.niceMax).length ? minV : yS.niceMax; // the second parameter -1 is the index of tick which user can use in the formatter + + var val = lbFormatter(longestStr, { + seriesIndex: index, + dataPointIndex: -1, + w: w + }); + var valArr = val; // if user has specified a custom formatter, and the result is null or empty, we need to discard the formatter and take the value as it is. + + if (typeof val === 'undefined' || val.length === 0) { + val = longestStr; + } + + if (w.globals.isBarHorizontal) { + labelPad = 0; + var barYaxisLabels = w.globals.labels.slice(); // get the longest string from the labels array and also apply label formatter to it + + val = Utils$1.getLargestStringFromArr(barYaxisLabels); + val = lbFormatter(val, { + seriesIndex: index, + dataPointIndex: -1, + w: w + }); + valArr = _this.dCtx.dimHelpers.getLargestStringFromMultiArr(val, barYaxisLabels); + } + + var graphics = new Graphics(_this.dCtx.ctx); + var rotateStr = 'rotate('.concat(yaxe.labels.rotate, ' 0 0)'); + var rect = graphics.getTextRects(val, yaxe.labels.style.fontSize, yaxe.labels.style.fontFamily, rotateStr, false); + var arrLabelrect = rect; + + if (val !== valArr) { + arrLabelrect = graphics.getTextRects(valArr, yaxe.labels.style.fontSize, yaxe.labels.style.fontFamily, rotateStr, false); + } + + ret.push({ + width: (yAxisMinWidth > arrLabelrect.width || yAxisMinWidth > rect.width ? yAxisMinWidth : arrLabelrect.width > rect.width ? arrLabelrect.width : rect.width) + labelPad, + height: arrLabelrect.height > rect.height ? arrLabelrect.height : rect.height + }); + } else { + ret.push({ + width: width, + height: height + }); + } + }); + return ret; + } + /** + * Get Y Axis Dimensions + * @memberof Dimensions + * @return {{width, height}} + **/ + + }, { + key: "getyAxisTitleCoords", + value: function getyAxisTitleCoords() { + var _this2 = this; + + var w = this.w; + var ret = []; + w.config.yaxis.map(function (yaxe, index) { + if (yaxe.show && yaxe.title.text !== undefined) { + var graphics = new Graphics(_this2.dCtx.ctx); + var rotateStr = 'rotate('.concat(yaxe.title.rotate, ' 0 0)'); + var rect = graphics.getTextRects(yaxe.title.text, yaxe.title.style.fontSize, yaxe.title.style.fontFamily, rotateStr, false); + ret.push({ + width: rect.width, + height: rect.height + }); + } else { + ret.push({ + width: 0, + height: 0 + }); + } + }); + return ret; + } + }, { + key: "getTotalYAxisWidth", + value: function getTotalYAxisWidth() { + var w = this.w; + var yAxisWidth = 0; + var yAxisWidthLeft = 0; + var yAxisWidthRight = 0; + var padding = w.globals.yAxisScale.length > 1 ? 10 : 0; + var axesUtils = new AxesUtils(this.dCtx.ctx); + + var isHiddenYAxis = function isHiddenYAxis(index) { + return w.globals.ignoreYAxisIndexes.indexOf(index) > -1; + }; + + var padForLabelTitle = function padForLabelTitle(coord, index) { + var floating = w.config.yaxis[index].floating; + var width = 0; + + if (coord.width > 0 && !floating) { + width = coord.width + padding; + + if (isHiddenYAxis(index)) { + width = width - coord.width - padding; + } + } else { + width = floating || axesUtils.isYAxisHidden(index) ? 0 : 5; + } + + w.config.yaxis[index].opposite ? yAxisWidthRight = yAxisWidthRight + width : yAxisWidthLeft = yAxisWidthLeft + width; + yAxisWidth = yAxisWidth + width; + }; + + w.globals.yLabelsCoords.map(function (yLabelCoord, index) { + padForLabelTitle(yLabelCoord, index); + }); + w.globals.yTitleCoords.map(function (yTitleCoord, index) { + padForLabelTitle(yTitleCoord, index); + }); + + if (w.globals.isBarHorizontal && !w.config.yaxis[0].floating) { + yAxisWidth = w.globals.yLabelsCoords[0].width + w.globals.yTitleCoords[0].width + 15; + } + + this.dCtx.yAxisWidthLeft = yAxisWidthLeft; + this.dCtx.yAxisWidthRight = yAxisWidthRight; + return yAxisWidth; + } + }]); + + return DimYAxis; + }(); + + var DimGrid = /*#__PURE__*/function () { + function DimGrid(dCtx) { + _classCallCheck(this, DimGrid); + + this.w = dCtx.w; + this.dCtx = dCtx; + } + + _createClass(DimGrid, [{ + key: "gridPadForColumnsInNumericAxis", + value: function gridPadForColumnsInNumericAxis(gridWidth) { + var w = this.w; + + if (w.globals.noData || w.globals.allSeriesCollapsed) { + return 0; + } + + var hasBar = function hasBar(type) { + return type === 'bar' || type === 'rangeBar' || type === 'candlestick' || type === 'boxPlot'; + }; + + var type = w.config.chart.type; + var barWidth = 0; + var seriesLen = hasBar(type) ? w.config.series.length : 1; + + if (w.globals.comboBarCount > 0) { + seriesLen = w.globals.comboBarCount; + } + + w.globals.collapsedSeries.forEach(function (c) { + if (hasBar(c.type)) { + seriesLen = seriesLen - 1; + } + }); + + if (w.config.chart.stacked) { + seriesLen = 1; + } + + var barsPresent = hasBar(type) || w.globals.comboBarCount > 0; + + if (barsPresent && w.globals.isXNumeric && !w.globals.isBarHorizontal && seriesLen > 0) { + var xRatio = 0; + var xRange = Math.abs(w.globals.initialMaxX - w.globals.initialMinX); + + if (xRange <= 3) { + xRange = w.globals.dataPoints; + } + + xRatio = xRange / gridWidth; + var xDivision; // max barwidth should be equal to minXDiff to avoid overlap + + if (w.globals.minXDiff && w.globals.minXDiff / xRatio > 0) { + xDivision = w.globals.minXDiff / xRatio; + } + + if (xDivision > gridWidth / 2) { + xDivision = xDivision / 2; + } + + barWidth = xDivision / seriesLen * parseInt(w.config.plotOptions.bar.columnWidth, 10) / 100; + + if (barWidth < 1) { + barWidth = 1; + } + + barWidth = barWidth / (seriesLen > 1 ? 1 : 1.5) + 5; + w.globals.barPadForNumericAxis = barWidth; + } + + return barWidth; + } + }, { + key: "gridPadFortitleSubtitle", + value: function gridPadFortitleSubtitle() { + var _this = this; + + var w = this.w; + var gl = w.globals; + var gridShrinkOffset = this.dCtx.isSparkline || !w.globals.axisCharts ? 0 : 10; + var titleSubtitle = ['title', 'subtitle']; + titleSubtitle.forEach(function (t) { + if (w.config[t].text !== undefined) { + gridShrinkOffset += w.config[t].margin; + } else { + gridShrinkOffset += _this.dCtx.isSparkline || !w.globals.axisCharts ? 0 : 5; + } + }); + + if (w.config.legend.show && w.config.legend.position === 'bottom' && !w.config.legend.floating && !w.globals.axisCharts) { + gridShrinkOffset += 10; + } + + var titleCoords = this.dCtx.dimHelpers.getTitleSubtitleCoords('title'); + var subtitleCoords = this.dCtx.dimHelpers.getTitleSubtitleCoords('subtitle'); + gl.gridHeight = gl.gridHeight - titleCoords.height - subtitleCoords.height - gridShrinkOffset; + gl.translateY = gl.translateY + titleCoords.height + subtitleCoords.height + gridShrinkOffset; + } + }, { + key: "setGridXPosForDualYAxis", + value: function setGridXPosForDualYAxis(yTitleCoords, yaxisLabelCoords) { + var w = this.w; + var axesUtils = new AxesUtils(this.dCtx.ctx); + w.config.yaxis.map(function (yaxe, index) { + if (w.globals.ignoreYAxisIndexes.indexOf(index) === -1 && !yaxe.floating && !axesUtils.isYAxisHidden(index)) { + if (yaxe.opposite) { + w.globals.translateX = w.globals.translateX - (yaxisLabelCoords[index].width + yTitleCoords[index].width) - parseInt(w.config.yaxis[index].labels.style.fontSize, 10) / 1.2 - 12; + } // fixes apexcharts.js#1599 + + + if (w.globals.translateX < 2) { + w.globals.translateX = 2; + } + } + }); + } + }]); + + return DimGrid; + }(); + + /** + * ApexCharts Dimensions Class for calculating rects of all elements that are drawn and will be drawn. + * + * @module Dimensions + **/ + + var Dimensions = /*#__PURE__*/function () { + function Dimensions(ctx) { + _classCallCheck(this, Dimensions); + + this.ctx = ctx; + this.w = ctx.w; + this.lgRect = {}; + this.yAxisWidth = 0; + this.yAxisWidthLeft = 0; + this.yAxisWidthRight = 0; + this.xAxisHeight = 0; + this.isSparkline = this.w.config.chart.sparkline.enabled; + this.dimHelpers = new Helpers$3(this); + this.dimYAxis = new DimYAxis(this); + this.dimXAxis = new DimXAxis(this); + this.dimGrid = new DimGrid(this); + this.lgWidthForSideLegends = 0; + this.gridPad = this.w.config.grid.padding; + this.xPadRight = 0; + this.xPadLeft = 0; + } + /** + * @memberof Dimensions + * @param {object} w - chart context + **/ + + + _createClass(Dimensions, [{ + key: "plotCoords", + value: function plotCoords() { + var _this = this; + + var w = this.w; + var gl = w.globals; + this.lgRect = this.dimHelpers.getLegendsRect(); + + if (this.isSparkline && (w.config.markers.discrete.length > 0 || w.config.markers.size > 0)) { + Object.entries(this.gridPad).forEach(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + k = _ref2[0], + v = _ref2[1]; + + _this.gridPad[k] = Math.max(v, _this.w.globals.markers.largestSize / 1.5); + }); + } + + if (gl.axisCharts) { + // for line / area / scatter / column + this.setDimensionsForAxisCharts(); + } else { + // for pie / donuts / circle + this.setDimensionsForNonAxisCharts(); + } + + this.dimGrid.gridPadFortitleSubtitle(); // after calculating everything, apply padding set by user + + gl.gridHeight = gl.gridHeight - this.gridPad.top - this.gridPad.bottom; + gl.gridWidth = gl.gridWidth - this.gridPad.left - this.gridPad.right - this.xPadRight - this.xPadLeft; + var barWidth = this.dimGrid.gridPadForColumnsInNumericAxis(gl.gridWidth); + gl.gridWidth = gl.gridWidth - barWidth * 2; + gl.translateX = gl.translateX + this.gridPad.left + this.xPadLeft + (barWidth > 0 ? barWidth + 4 : 0); + gl.translateY = gl.translateY + this.gridPad.top; + } + }, { + key: "setDimensionsForAxisCharts", + value: function setDimensionsForAxisCharts() { + var _this2 = this; + + var w = this.w; + var gl = w.globals; + var yaxisLabelCoords = this.dimYAxis.getyAxisLabelsCoords(); + var yTitleCoords = this.dimYAxis.getyAxisTitleCoords(); + w.globals.yLabelsCoords = []; + w.globals.yTitleCoords = []; + w.config.yaxis.map(function (yaxe, index) { + // store the labels and titles coords in global vars + w.globals.yLabelsCoords.push({ + width: yaxisLabelCoords[index].width, + index: index + }); + w.globals.yTitleCoords.push({ + width: yTitleCoords[index].width, + index: index + }); + }); + this.yAxisWidth = this.dimYAxis.getTotalYAxisWidth(); + var xaxisLabelCoords = this.dimXAxis.getxAxisLabelsCoords(); + var xaxisGroupLabelCoords = this.dimXAxis.getxAxisGroupLabelsCoords(); + var xtitleCoords = this.dimXAxis.getxAxisTitleCoords(); + this.conditionalChecksForAxisCoords(xaxisLabelCoords, xtitleCoords, xaxisGroupLabelCoords); + gl.translateXAxisY = w.globals.rotateXLabels ? this.xAxisHeight / 8 : -4; + gl.translateXAxisX = w.globals.rotateXLabels && w.globals.isXNumeric && w.config.xaxis.labels.rotate <= -45 ? -this.xAxisWidth / 4 : 0; + + if (w.globals.isBarHorizontal) { + gl.rotateXLabels = false; + gl.translateXAxisY = -1 * (parseInt(w.config.xaxis.labels.style.fontSize, 10) / 1.5); + } + + gl.translateXAxisY = gl.translateXAxisY + w.config.xaxis.labels.offsetY; + gl.translateXAxisX = gl.translateXAxisX + w.config.xaxis.labels.offsetX; + var yAxisWidth = this.yAxisWidth; + var xAxisHeight = this.xAxisHeight; + gl.xAxisLabelsHeight = this.xAxisHeight - xtitleCoords.height; + gl.xAxisGroupLabelsHeight = gl.xAxisLabelsHeight - xaxisLabelCoords.height; + gl.xAxisLabelsWidth = this.xAxisWidth; + gl.xAxisHeight = this.xAxisHeight; + var translateY = 10; + + if (w.config.chart.type === 'radar' || this.isSparkline) { + yAxisWidth = 0; + xAxisHeight = gl.goldenPadding; + } + + if (this.isSparkline) { + this.lgRect = { + height: 0, + width: 0 + }; + } + + if (this.isSparkline || w.config.chart.type === 'treemap') { + yAxisWidth = 0; + xAxisHeight = 0; + translateY = 0; + } + + if (!this.isSparkline) { + this.dimXAxis.additionalPaddingXLabels(xaxisLabelCoords); + } + + var legendTopBottom = function legendTopBottom() { + gl.translateX = yAxisWidth; + gl.gridHeight = gl.svgHeight - _this2.lgRect.height - xAxisHeight - (!_this2.isSparkline && w.config.chart.type !== 'treemap' ? w.globals.rotateXLabels ? 10 : 15 : 0); + gl.gridWidth = gl.svgWidth - yAxisWidth; + }; + + if (w.config.xaxis.position === 'top') translateY = gl.xAxisHeight - w.config.xaxis.axisTicks.height - 5; + + switch (w.config.legend.position) { + case 'bottom': + gl.translateY = translateY; + legendTopBottom(); + break; + + case 'top': + gl.translateY = this.lgRect.height + translateY; + legendTopBottom(); + break; + + case 'left': + gl.translateY = translateY; + gl.translateX = this.lgRect.width + yAxisWidth; + gl.gridHeight = gl.svgHeight - xAxisHeight - 12; + gl.gridWidth = gl.svgWidth - this.lgRect.width - yAxisWidth; + break; + + case 'right': + gl.translateY = translateY; + gl.translateX = yAxisWidth; + gl.gridHeight = gl.svgHeight - xAxisHeight - 12; + gl.gridWidth = gl.svgWidth - this.lgRect.width - yAxisWidth - 5; + break; + + default: + throw new Error('Legend position not supported'); + } + + this.dimGrid.setGridXPosForDualYAxis(yTitleCoords, yaxisLabelCoords); // after drawing everything, set the Y axis positions + + var objyAxis = new YAxis(this.ctx); + objyAxis.setYAxisXPosition(yaxisLabelCoords, yTitleCoords); + } + }, { + key: "setDimensionsForNonAxisCharts", + value: function setDimensionsForNonAxisCharts() { + var w = this.w; + var gl = w.globals; + var cnf = w.config; + var xPad = 0; + + if (w.config.legend.show && !w.config.legend.floating) { + xPad = 20; + } + + var type = cnf.chart.type === 'pie' || cnf.chart.type === 'polarArea' || cnf.chart.type === 'donut' ? 'pie' : 'radialBar'; + var offY = cnf.plotOptions[type].offsetY; + var offX = cnf.plotOptions[type].offsetX; + + if (!cnf.legend.show || cnf.legend.floating) { + gl.gridHeight = gl.svgHeight - cnf.grid.padding.left + cnf.grid.padding.right; + gl.gridWidth = gl.gridHeight; + gl.translateY = offY; + gl.translateX = offX + (gl.svgWidth - gl.gridWidth) / 2; + return; + } + + switch (cnf.legend.position) { + case 'bottom': + gl.gridHeight = gl.svgHeight - this.lgRect.height - gl.goldenPadding; + gl.gridWidth = gl.svgWidth; + gl.translateY = offY - 10; + gl.translateX = offX + (gl.svgWidth - gl.gridWidth) / 2; + break; + + case 'top': + gl.gridHeight = gl.svgHeight - this.lgRect.height - gl.goldenPadding; + gl.gridWidth = gl.svgWidth; + gl.translateY = this.lgRect.height + offY + 10; + gl.translateX = offX + (gl.svgWidth - gl.gridWidth) / 2; + break; + + case 'left': + gl.gridWidth = gl.svgWidth - this.lgRect.width - xPad; + gl.gridHeight = cnf.chart.height !== 'auto' ? gl.svgHeight : gl.gridWidth; + gl.translateY = offY; + gl.translateX = offX + this.lgRect.width + xPad; + break; + + case 'right': + gl.gridWidth = gl.svgWidth - this.lgRect.width - xPad - 5; + gl.gridHeight = cnf.chart.height !== 'auto' ? gl.svgHeight : gl.gridWidth; + gl.translateY = offY; + gl.translateX = offX + 10; + break; + + default: + throw new Error('Legend position not supported'); + } + } + }, { + key: "conditionalChecksForAxisCoords", + value: function conditionalChecksForAxisCoords(xaxisLabelCoords, xtitleCoords, xaxisGroupLabelCoords) { + var w = this.w; + var xAxisNum = w.globals.hasXaxisGroups ? 2 : 1; + var baseXAxisHeight = xaxisGroupLabelCoords.height + xaxisLabelCoords.height + xtitleCoords.height; + var xAxisHeightMultiplicate = w.globals.isMultiLineX ? 1.2 : w.globals.LINE_HEIGHT_RATIO; + var rotatedXAxisOffset = w.globals.rotateXLabels ? 22 : 10; + var rotatedXAxisLegendOffset = w.globals.rotateXLabels && w.config.legend.position === 'bottom'; + var additionalOffset = rotatedXAxisLegendOffset ? 10 : 0; + this.xAxisHeight = baseXAxisHeight * xAxisHeightMultiplicate + xAxisNum * rotatedXAxisOffset + additionalOffset; + this.xAxisWidth = xaxisLabelCoords.width; + + if (this.xAxisHeight - xtitleCoords.height > w.config.xaxis.labels.maxHeight) { + this.xAxisHeight = w.config.xaxis.labels.maxHeight; + } + + if (w.config.xaxis.labels.minHeight && this.xAxisHeight < w.config.xaxis.labels.minHeight) { + this.xAxisHeight = w.config.xaxis.labels.minHeight; + } + + if (w.config.xaxis.floating) { + this.xAxisHeight = 0; + } + + var minYAxisWidth = 0; + var maxYAxisWidth = 0; + w.config.yaxis.forEach(function (y) { + minYAxisWidth += y.labels.minWidth; + maxYAxisWidth += y.labels.maxWidth; + }); + + if (this.yAxisWidth < minYAxisWidth) { + this.yAxisWidth = minYAxisWidth; + } + + if (this.yAxisWidth > maxYAxisWidth) { + this.yAxisWidth = maxYAxisWidth; + } + } + }]); + + return Dimensions; + }(); + + var Helpers$2 = /*#__PURE__*/function () { + function Helpers(lgCtx) { + _classCallCheck(this, Helpers); + + this.w = lgCtx.w; + this.lgCtx = lgCtx; + } + + _createClass(Helpers, [{ + key: "getLegendStyles", + value: function getLegendStyles() { + var stylesheet = document.createElement('style'); + stylesheet.setAttribute('type', 'text/css'); + var text = "\t\n \t\n .apexcharts-legend {\t\n display: flex;\t\n overflow: auto;\t\n padding: 0 10px;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\t\n flex-wrap: wrap\t\n }\t\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n flex-direction: column;\t\n bottom: 0;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n justify-content: flex-start;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\t\n justify-content: center; \t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\t\n justify-content: flex-end;\t\n }\t\n .apexcharts-legend-series {\t\n cursor: pointer;\t\n line-height: normal;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\t\n display: flex;\t\n align-items: center;\t\n }\t\n .apexcharts-legend-text {\t\n position: relative;\t\n font-size: 14px;\t\n }\t\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\t\n pointer-events: none;\t\n }\t\n .apexcharts-legend-marker {\t\n position: relative;\t\n display: inline-block;\t\n cursor: pointer;\t\n margin-right: 3px;\t\n border-style: solid;\n }\t\n \t\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\t\n display: inline-block;\t\n }\t\n .apexcharts-legend-series.apexcharts-no-click {\t\n cursor: auto;\t\n }\t\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\t\n display: none !important;\t\n }\t\n .apexcharts-inactive-legend {\t\n opacity: 0.45;\t\n }"; + var rules = document.createTextNode(text); + stylesheet.appendChild(rules); + return stylesheet; + } + }, { + key: "getLegendBBox", + value: function getLegendBBox() { + var w = this.w; + var currLegendsWrap = w.globals.dom.baseEl.querySelector('.apexcharts-legend'); + var currLegendsWrapRect = currLegendsWrap.getBoundingClientRect(); + var currLegendsWrapWidth = currLegendsWrapRect.width; + var currLegendsWrapHeight = currLegendsWrapRect.height; + return { + clwh: currLegendsWrapHeight, + clww: currLegendsWrapWidth + }; + } + }, { + key: "appendToForeignObject", + value: function appendToForeignObject() { + var gl = this.w.globals; + gl.dom.elLegendForeign.appendChild(this.getLegendStyles()); + } + }, { + key: "toggleDataSeries", + value: function toggleDataSeries(seriesCnt, isHidden) { + var _this = this; + + var w = this.w; + + if (w.globals.axisCharts || w.config.chart.type === 'radialBar') { + w.globals.resized = true; // we don't want initial animations again + + var seriesEl = null; + var realIndex = null; // yes, make it null. 1 series will rise at a time + + w.globals.risingSeries = []; + + if (w.globals.axisCharts) { + seriesEl = w.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(seriesCnt, "']")); + realIndex = parseInt(seriesEl.getAttribute('data:realIndex'), 10); + } else { + seriesEl = w.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(seriesCnt + 1, "']")); + realIndex = parseInt(seriesEl.getAttribute('rel'), 10) - 1; + } + + if (isHidden) { + var seriesToMakeVisible = [{ + cs: w.globals.collapsedSeries, + csi: w.globals.collapsedSeriesIndices + }, { + cs: w.globals.ancillaryCollapsedSeries, + csi: w.globals.ancillaryCollapsedSeriesIndices + }]; + seriesToMakeVisible.forEach(function (r) { + _this.riseCollapsedSeries(r.cs, r.csi, realIndex); + }); + } else { + this.hideSeries({ + seriesEl: seriesEl, + realIndex: realIndex + }); + } + } else { + // for non-axis charts i.e pie / donuts + var _seriesEl = w.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(seriesCnt + 1, "'] path")); + + var type = w.config.chart.type; + + if (type === 'pie' || type === 'polarArea' || type === 'donut') { + var dataLabels = w.config.plotOptions.pie.donut.labels; + var graphics = new Graphics(this.lgCtx.ctx); + graphics.pathMouseDown(_seriesEl.members[0], null); + this.lgCtx.ctx.pie.printDataLabelsInner(_seriesEl.members[0].node, dataLabels); + } + + _seriesEl.fire('click'); + } + } + }, { + key: "hideSeries", + value: function hideSeries(_ref) { + var seriesEl = _ref.seriesEl, + realIndex = _ref.realIndex; + var w = this.w; + var series = Utils$1.clone(w.config.series); + + if (w.globals.axisCharts) { + var shouldNotHideYAxis = false; + + if (w.config.yaxis[realIndex] && w.config.yaxis[realIndex].show && w.config.yaxis[realIndex].showAlways) { + shouldNotHideYAxis = true; + + if (w.globals.ancillaryCollapsedSeriesIndices.indexOf(realIndex) < 0) { + w.globals.ancillaryCollapsedSeries.push({ + index: realIndex, + data: series[realIndex].data.slice(), + type: seriesEl.parentNode.className.baseVal.split('-')[1] + }); + w.globals.ancillaryCollapsedSeriesIndices.push(realIndex); + } + } + + if (!shouldNotHideYAxis) { + w.globals.collapsedSeries.push({ + index: realIndex, + data: series[realIndex].data.slice(), + type: seriesEl.parentNode.className.baseVal.split('-')[1] + }); + w.globals.collapsedSeriesIndices.push(realIndex); + var removeIndexOfRising = w.globals.risingSeries.indexOf(realIndex); + w.globals.risingSeries.splice(removeIndexOfRising, 1); + } + } else { + w.globals.collapsedSeries.push({ + index: realIndex, + data: series[realIndex] + }); + w.globals.collapsedSeriesIndices.push(realIndex); + } + + var seriesChildren = seriesEl.childNodes; + + for (var sc = 0; sc < seriesChildren.length; sc++) { + if (seriesChildren[sc].classList.contains('apexcharts-series-markers-wrap')) { + if (seriesChildren[sc].classList.contains('apexcharts-hide')) { + seriesChildren[sc].classList.remove('apexcharts-hide'); + } else { + seriesChildren[sc].classList.add('apexcharts-hide'); + } + } + } + + w.globals.allSeriesCollapsed = w.globals.collapsedSeries.length === w.config.series.length; + series = this._getSeriesBasedOnCollapsedState(series); + + this.lgCtx.ctx.updateHelpers._updateSeries(series, w.config.chart.animations.dynamicAnimation.enabled); + } + }, { + key: "riseCollapsedSeries", + value: function riseCollapsedSeries(collapsedSeries, seriesIndices, realIndex) { + var w = this.w; + var series = Utils$1.clone(w.config.series); + + if (collapsedSeries.length > 0) { + for (var c = 0; c < collapsedSeries.length; c++) { + if (collapsedSeries[c].index === realIndex) { + if (w.globals.axisCharts) { + series[realIndex].data = collapsedSeries[c].data.slice(); + collapsedSeries.splice(c, 1); + seriesIndices.splice(c, 1); + w.globals.risingSeries.push(realIndex); + } else { + series[realIndex] = collapsedSeries[c].data; + collapsedSeries.splice(c, 1); + seriesIndices.splice(c, 1); + w.globals.risingSeries.push(realIndex); + } + } + } + + series = this._getSeriesBasedOnCollapsedState(series); + + this.lgCtx.ctx.updateHelpers._updateSeries(series, w.config.chart.animations.dynamicAnimation.enabled); + } + } + }, { + key: "_getSeriesBasedOnCollapsedState", + value: function _getSeriesBasedOnCollapsedState(series) { + var w = this.w; + + if (w.globals.axisCharts) { + series.forEach(function (s, sI) { + if (w.globals.collapsedSeriesIndices.indexOf(sI) > -1) { + series[sI].data = []; + } + }); + } else { + series.forEach(function (s, sI) { + if (w.globals.collapsedSeriesIndices.indexOf(sI) > -1) { + series[sI] = 0; + } + }); + } + + return series; + } + }]); + + return Helpers; + }(); + + /** + * ApexCharts Legend Class to draw legend. + * + * @module Legend + **/ + + var Legend = /*#__PURE__*/function () { + function Legend(ctx) { + _classCallCheck(this, Legend); + + this.ctx = ctx; + this.w = ctx.w; + this.onLegendClick = this.onLegendClick.bind(this); + this.onLegendHovered = this.onLegendHovered.bind(this); + this.isBarsDistributed = this.w.config.chart.type === 'bar' && this.w.config.plotOptions.bar.distributed && this.w.config.series.length === 1; + this.legendHelpers = new Helpers$2(this); + } + + _createClass(Legend, [{ + key: "init", + value: function init() { + var w = this.w; + var gl = w.globals; + var cnf = w.config; + var showLegendAlways = cnf.legend.showForSingleSeries && gl.series.length === 1 || this.isBarsDistributed || gl.series.length > 1; + + if ((showLegendAlways || !gl.axisCharts) && cnf.legend.show) { + while (gl.dom.elLegendWrap.firstChild) { + gl.dom.elLegendWrap.removeChild(gl.dom.elLegendWrap.firstChild); + } + + this.drawLegends(); + + if (!Utils$1.isIE11()) { + this.legendHelpers.appendToForeignObject(); + } else { + // IE11 doesn't supports foreignObject, hence append it to + document.getElementsByTagName('head')[0].appendChild(this.legendHelpers.getLegendStyles()); + } + + if (cnf.legend.position === 'bottom' || cnf.legend.position === 'top') { + this.legendAlignHorizontal(); + } else if (cnf.legend.position === 'right' || cnf.legend.position === 'left') { + this.legendAlignVertical(); + } + } + } + }, { + key: "drawLegends", + value: function drawLegends() { + var me = this; + var w = this.w; + var fontFamily = w.config.legend.fontFamily; + var legendNames = w.globals.seriesNames; + var fillcolor = w.globals.colors.slice(); + + if (w.config.chart.type === 'heatmap') { + var ranges = w.config.plotOptions.heatmap.colorScale.ranges; + legendNames = ranges.map(function (colorScale) { + return colorScale.name ? colorScale.name : colorScale.from + ' - ' + colorScale.to; + }); + fillcolor = ranges.map(function (color) { + return color.color; + }); + } else if (this.isBarsDistributed) { + legendNames = w.globals.labels.slice(); + } + + if (w.config.legend.customLegendItems.length) { + legendNames = w.config.legend.customLegendItems; + } + + var legendFormatter = w.globals.legendFormatter; + var isLegendInversed = w.config.legend.inverseOrder; + + for (var i = isLegendInversed ? legendNames.length - 1 : 0; isLegendInversed ? i >= 0 : i <= legendNames.length - 1; isLegendInversed ? i-- : i++) { + var text = legendFormatter(legendNames[i], { + seriesIndex: i, + w: w + }); + var collapsedSeries = false; + var ancillaryCollapsedSeries = false; + + if (w.globals.collapsedSeries.length > 0) { + for (var c = 0; c < w.globals.collapsedSeries.length; c++) { + if (w.globals.collapsedSeries[c].index === i) { + collapsedSeries = true; + } + } + } + + if (w.globals.ancillaryCollapsedSeriesIndices.length > 0) { + for (var _c = 0; _c < w.globals.ancillaryCollapsedSeriesIndices.length; _c++) { + if (w.globals.ancillaryCollapsedSeriesIndices[_c] === i) { + ancillaryCollapsedSeries = true; + } + } + } + + var elMarker = document.createElement('span'); + elMarker.classList.add('apexcharts-legend-marker'); + var mOffsetX = w.config.legend.markers.offsetX; + var mOffsetY = w.config.legend.markers.offsetY; + var mHeight = w.config.legend.markers.height; + var mWidth = w.config.legend.markers.width; + var mBorderWidth = w.config.legend.markers.strokeWidth; + var mBorderColor = w.config.legend.markers.strokeColor; + var mBorderRadius = w.config.legend.markers.radius; + var mStyle = elMarker.style; + mStyle.background = fillcolor[i]; + mStyle.color = fillcolor[i]; + mStyle.setProperty('background', fillcolor[i], 'important'); // override fill color with custom legend.markers.fillColors + + if (w.config.legend.markers.fillColors && w.config.legend.markers.fillColors[i]) { + mStyle.background = w.config.legend.markers.fillColors[i]; + } // override with data color + + + if (w.globals.seriesColors[i] !== undefined) { + mStyle.background = w.globals.seriesColors[i]; + mStyle.color = w.globals.seriesColors[i]; + } + + mStyle.height = Array.isArray(mHeight) ? parseFloat(mHeight[i]) + 'px' : parseFloat(mHeight) + 'px'; + mStyle.width = Array.isArray(mWidth) ? parseFloat(mWidth[i]) + 'px' : parseFloat(mWidth) + 'px'; + mStyle.left = (Array.isArray(mOffsetX) ? parseFloat(mOffsetX[i]) : parseFloat(mOffsetX)) + 'px'; + mStyle.top = (Array.isArray(mOffsetY) ? parseFloat(mOffsetY[i]) : parseFloat(mOffsetY)) + 'px'; + mStyle.borderWidth = Array.isArray(mBorderWidth) ? mBorderWidth[i] : mBorderWidth; + mStyle.borderColor = Array.isArray(mBorderColor) ? mBorderColor[i] : mBorderColor; + mStyle.borderRadius = Array.isArray(mBorderRadius) ? parseFloat(mBorderRadius[i]) + 'px' : parseFloat(mBorderRadius) + 'px'; + + if (w.config.legend.markers.customHTML) { + if (Array.isArray(w.config.legend.markers.customHTML)) { + if (w.config.legend.markers.customHTML[i]) { + elMarker.innerHTML = w.config.legend.markers.customHTML[i](); + } + } else { + elMarker.innerHTML = w.config.legend.markers.customHTML(); + } + } + + Graphics.setAttrs(elMarker, { + rel: i + 1, + 'data:collapsed': collapsedSeries || ancillaryCollapsedSeries + }); + + if (collapsedSeries || ancillaryCollapsedSeries) { + elMarker.classList.add('apexcharts-inactive-legend'); + } + + var elLegend = document.createElement('div'); + var elLegendText = document.createElement('span'); + elLegendText.classList.add('apexcharts-legend-text'); + elLegendText.innerHTML = Array.isArray(text) ? text.join(' ') : text; + var textColor = w.config.legend.labels.useSeriesColors ? w.globals.colors[i] : w.config.legend.labels.colors; + + if (!textColor) { + textColor = w.config.chart.foreColor; + } + + elLegendText.style.color = textColor; + elLegendText.style.fontSize = parseFloat(w.config.legend.fontSize) + 'px'; + elLegendText.style.fontWeight = w.config.legend.fontWeight; + elLegendText.style.fontFamily = fontFamily || w.config.chart.fontFamily; + Graphics.setAttrs(elLegendText, { + rel: i + 1, + i: i, + 'data:default-text': encodeURIComponent(text), + 'data:collapsed': collapsedSeries || ancillaryCollapsedSeries + }); + elLegend.appendChild(elMarker); + elLegend.appendChild(elLegendText); + var coreUtils = new CoreUtils(this.ctx); + + if (!w.config.legend.showForZeroSeries) { + var total = coreUtils.getSeriesTotalByIndex(i); + + if (total === 0 && coreUtils.seriesHaveSameValues(i) && !coreUtils.isSeriesNull(i) && w.globals.collapsedSeriesIndices.indexOf(i) === -1 && w.globals.ancillaryCollapsedSeriesIndices.indexOf(i) === -1) { + elLegend.classList.add('apexcharts-hidden-zero-series'); + } + } + + if (!w.config.legend.showForNullSeries) { + if (coreUtils.isSeriesNull(i) && w.globals.collapsedSeriesIndices.indexOf(i) === -1 && w.globals.ancillaryCollapsedSeriesIndices.indexOf(i) === -1) { + elLegend.classList.add('apexcharts-hidden-null-series'); + } + } + + w.globals.dom.elLegendWrap.appendChild(elLegend); + w.globals.dom.elLegendWrap.classList.add("apexcharts-align-".concat(w.config.legend.horizontalAlign)); + w.globals.dom.elLegendWrap.classList.add('apx-legend-position-' + w.config.legend.position); + elLegend.classList.add('apexcharts-legend-series'); + elLegend.style.margin = "".concat(w.config.legend.itemMargin.vertical, "px ").concat(w.config.legend.itemMargin.horizontal, "px"); + w.globals.dom.elLegendWrap.style.width = w.config.legend.width ? w.config.legend.width + 'px' : ''; + w.globals.dom.elLegendWrap.style.height = w.config.legend.height ? w.config.legend.height + 'px' : ''; + Graphics.setAttrs(elLegend, { + rel: i + 1, + seriesName: Utils$1.escapeString(legendNames[i]), + 'data:collapsed': collapsedSeries || ancillaryCollapsedSeries + }); + + if (collapsedSeries || ancillaryCollapsedSeries) { + elLegend.classList.add('apexcharts-inactive-legend'); + } + + if (!w.config.legend.onItemClick.toggleDataSeries) { + elLegend.classList.add('apexcharts-no-click'); + } + } + + w.globals.dom.elWrap.addEventListener('click', me.onLegendClick, true); + + if (w.config.legend.onItemHover.highlightDataSeries && w.config.legend.customLegendItems.length === 0) { + w.globals.dom.elWrap.addEventListener('mousemove', me.onLegendHovered, true); + w.globals.dom.elWrap.addEventListener('mouseout', me.onLegendHovered, true); + } + } + }, { + key: "setLegendWrapXY", + value: function setLegendWrapXY(offsetX, offsetY) { + var w = this.w; + var elLegendWrap = w.globals.dom.elLegendWrap; + var legendRect = elLegendWrap.getBoundingClientRect(); + var x = 0; + var y = 0; + + if (w.config.legend.position === 'bottom') { + y = y + (w.globals.svgHeight - legendRect.height / 2); + } else if (w.config.legend.position === 'top') { + var dim = new Dimensions(this.ctx); + var titleH = dim.dimHelpers.getTitleSubtitleCoords('title').height; + var subtitleH = dim.dimHelpers.getTitleSubtitleCoords('subtitle').height; + y = y + (titleH > 0 ? titleH - 10 : 0) + (subtitleH > 0 ? subtitleH - 10 : 0); + } + + elLegendWrap.style.position = 'absolute'; + x = x + offsetX + w.config.legend.offsetX; + y = y + offsetY + w.config.legend.offsetY; + elLegendWrap.style.left = x + 'px'; + elLegendWrap.style.top = y + 'px'; + + if (w.config.legend.position === 'bottom') { + elLegendWrap.style.top = 'auto'; + elLegendWrap.style.bottom = 5 - w.config.legend.offsetY + 'px'; + } else if (w.config.legend.position === 'right') { + elLegendWrap.style.left = 'auto'; + elLegendWrap.style.right = 25 + w.config.legend.offsetX + 'px'; + } + + var fixedHeigthWidth = ['width', 'height']; + fixedHeigthWidth.forEach(function (hw) { + if (elLegendWrap.style[hw]) { + elLegendWrap.style[hw] = parseInt(w.config.legend[hw], 10) + 'px'; + } + }); + } + }, { + key: "legendAlignHorizontal", + value: function legendAlignHorizontal() { + var w = this.w; + var elLegendWrap = w.globals.dom.elLegendWrap; + elLegendWrap.style.right = 0; + var lRect = this.legendHelpers.getLegendBBox(); + var dimensions = new Dimensions(this.ctx); + var titleRect = dimensions.dimHelpers.getTitleSubtitleCoords('title'); + var subtitleRect = dimensions.dimHelpers.getTitleSubtitleCoords('subtitle'); + var offsetX = 20; + var offsetY = 0; // the whole legend box is set to bottom + + if (w.config.legend.position === 'bottom') { + offsetY = -lRect.clwh / 1.8; + } else if (w.config.legend.position === 'top') { + offsetY = titleRect.height + subtitleRect.height + w.config.title.margin + w.config.subtitle.margin - 10; + } + + this.setLegendWrapXY(offsetX, offsetY); + } + }, { + key: "legendAlignVertical", + value: function legendAlignVertical() { + var w = this.w; + var lRect = this.legendHelpers.getLegendBBox(); + var offsetY = 20; + var offsetX = 0; + + if (w.config.legend.position === 'left') { + offsetX = 20; + } + + if (w.config.legend.position === 'right') { + offsetX = w.globals.svgWidth - lRect.clww - 10; + } + + this.setLegendWrapXY(offsetX, offsetY); + } + }, { + key: "onLegendHovered", + value: function onLegendHovered(e) { + var w = this.w; + var hoverOverLegend = e.target.classList.contains('apexcharts-legend-text') || e.target.classList.contains('apexcharts-legend-marker'); + + if (w.config.chart.type !== 'heatmap' && !this.isBarsDistributed) { + if (!e.target.classList.contains('apexcharts-inactive-legend') && hoverOverLegend) { + var series = new Series(this.ctx); + series.toggleSeriesOnHover(e, e.target); + } + } else { + // for heatmap handling + if (hoverOverLegend) { + var seriesCnt = parseInt(e.target.getAttribute('rel'), 10) - 1; + this.ctx.events.fireEvent('legendHover', [this.ctx, seriesCnt, this.w]); + + var _series = new Series(this.ctx); + + _series.highlightRangeInSeries(e, e.target); + } + } + } + }, { + key: "onLegendClick", + value: function onLegendClick(e) { + var w = this.w; + if (w.config.legend.customLegendItems.length) return; + + if (e.target.classList.contains('apexcharts-legend-text') || e.target.classList.contains('apexcharts-legend-marker')) { + var seriesCnt = parseInt(e.target.getAttribute('rel'), 10) - 1; + var isHidden = e.target.getAttribute('data:collapsed') === 'true'; + var legendClick = this.w.config.chart.events.legendClick; + + if (typeof legendClick === 'function') { + legendClick(this.ctx, seriesCnt, this.w); + } + + this.ctx.events.fireEvent('legendClick', [this.ctx, seriesCnt, this.w]); + var markerClick = this.w.config.legend.markers.onClick; + + if (typeof markerClick === 'function' && e.target.classList.contains('apexcharts-legend-marker')) { + markerClick(this.ctx, seriesCnt, this.w); + this.ctx.events.fireEvent('legendMarkerClick', [this.ctx, seriesCnt, this.w]); + } // for now - just prevent click on heatmap legend - and allow hover only + + + var clickAllowed = w.config.chart.type !== 'treemap' && w.config.chart.type !== 'heatmap' && !this.isBarsDistributed; + + if (clickAllowed && w.config.legend.onItemClick.toggleDataSeries) { + this.legendHelpers.toggleDataSeries(seriesCnt, isHidden); + } + } + } + }]); + + return Legend; + }(); + + var icoPan = "\n \n \n \n \n \n \n \n"; + + var icoZoom = "\n \n \n \n"; + + var icoReset = "\n \n \n"; + + var icoZoomIn = "\n \n \n\n"; + + var icoZoomOut = "\n \n \n\n"; + + var icoSelect = "\n \n \n"; + + var icoMenu = ""; + + /** + * ApexCharts Toolbar Class for creating toolbar in axis based charts. + * + * @module Toolbar + **/ + + var Toolbar = /*#__PURE__*/function () { + function Toolbar(ctx) { + _classCallCheck(this, Toolbar); + + this.ctx = ctx; + this.w = ctx.w; + var w = this.w; + this.ev = this.w.config.chart.events; + this.selectedClass = 'apexcharts-selected'; + this.localeValues = this.w.globals.locale.toolbar; + this.minX = w.globals.minX; + this.maxX = w.globals.maxX; + } + + _createClass(Toolbar, [{ + key: "createToolbar", + value: function createToolbar() { + var _this = this; + + var w = this.w; + + var createDiv = function createDiv() { + return document.createElement('div'); + }; + + var elToolbarWrap = createDiv(); + elToolbarWrap.setAttribute('class', 'apexcharts-toolbar'); + elToolbarWrap.style.top = w.config.chart.toolbar.offsetY + 'px'; + elToolbarWrap.style.right = -w.config.chart.toolbar.offsetX + 3 + 'px'; + w.globals.dom.elWrap.appendChild(elToolbarWrap); + this.elZoom = createDiv(); + this.elZoomIn = createDiv(); + this.elZoomOut = createDiv(); + this.elPan = createDiv(); + this.elSelection = createDiv(); + this.elZoomReset = createDiv(); + this.elMenuIcon = createDiv(); + this.elMenu = createDiv(); + this.elCustomIcons = []; + this.t = w.config.chart.toolbar.tools; + + if (Array.isArray(this.t.customIcons)) { + for (var i = 0; i < this.t.customIcons.length; i++) { + this.elCustomIcons.push(createDiv()); + } + } + + var toolbarControls = []; + + var appendZoomControl = function appendZoomControl(type, el, ico) { + var tool = type.toLowerCase(); + + if (_this.t[tool] && w.config.chart.zoom.enabled) { + toolbarControls.push({ + el: el, + icon: typeof _this.t[tool] === 'string' ? _this.t[tool] : ico, + title: _this.localeValues[type], + class: "apexcharts-".concat(tool, "-icon") + }); + } + }; + + appendZoomControl('zoomIn', this.elZoomIn, icoZoomIn); + appendZoomControl('zoomOut', this.elZoomOut, icoZoomOut); + + var zoomSelectionCtrls = function zoomSelectionCtrls(z) { + if (_this.t[z] && w.config.chart[z].enabled) { + toolbarControls.push({ + el: z === 'zoom' ? _this.elZoom : _this.elSelection, + icon: typeof _this.t[z] === 'string' ? _this.t[z] : z === 'zoom' ? icoZoom : icoSelect, + title: _this.localeValues[z === 'zoom' ? 'selectionZoom' : 'selection'], + class: w.globals.isTouchDevice ? 'apexcharts-element-hidden' : "apexcharts-".concat(z, "-icon") + }); + } + }; + + zoomSelectionCtrls('zoom'); + zoomSelectionCtrls('selection'); + + if (this.t.pan && w.config.chart.zoom.enabled) { + toolbarControls.push({ + el: this.elPan, + icon: typeof this.t.pan === 'string' ? this.t.pan : icoPan, + title: this.localeValues.pan, + class: w.globals.isTouchDevice ? 'apexcharts-element-hidden' : 'apexcharts-pan-icon' + }); + } + + appendZoomControl('reset', this.elZoomReset, icoReset); + + if (this.t.download) { + toolbarControls.push({ + el: this.elMenuIcon, + icon: typeof this.t.download === 'string' ? this.t.download : icoMenu, + title: this.localeValues.menu, + class: 'apexcharts-menu-icon' + }); + } + + for (var _i = 0; _i < this.elCustomIcons.length; _i++) { + toolbarControls.push({ + el: this.elCustomIcons[_i], + icon: this.t.customIcons[_i].icon, + title: this.t.customIcons[_i].title, + index: this.t.customIcons[_i].index, + class: 'apexcharts-toolbar-custom-icon ' + this.t.customIcons[_i].class + }); + } + + toolbarControls.forEach(function (t, index) { + if (t.index) { + Utils$1.moveIndexInArray(toolbarControls, index, t.index); + } + }); + + for (var _i2 = 0; _i2 < toolbarControls.length; _i2++) { + Graphics.setAttrs(toolbarControls[_i2].el, { + class: toolbarControls[_i2].class, + title: toolbarControls[_i2].title + }); + toolbarControls[_i2].el.innerHTML = toolbarControls[_i2].icon; + elToolbarWrap.appendChild(toolbarControls[_i2].el); + } + + this._createHamburgerMenu(elToolbarWrap); + + if (w.globals.zoomEnabled) { + this.elZoom.classList.add(this.selectedClass); + } else if (w.globals.panEnabled) { + this.elPan.classList.add(this.selectedClass); + } else if (w.globals.selectionEnabled) { + this.elSelection.classList.add(this.selectedClass); + } + + this.addToolbarEventListeners(); + } + }, { + key: "_createHamburgerMenu", + value: function _createHamburgerMenu(parent) { + this.elMenuItems = []; + parent.appendChild(this.elMenu); + Graphics.setAttrs(this.elMenu, { + class: 'apexcharts-menu' + }); + var menuItems = [{ + name: 'exportSVG', + title: this.localeValues.exportToSVG + }, { + name: 'exportPNG', + title: this.localeValues.exportToPNG + }, { + name: 'exportCSV', + title: this.localeValues.exportToCSV + }]; + + if (!this.w.globals.allSeriesHasEqualX) { + // if it is a multi series, and all series have variable x values, export CSV won't work + menuItems.splice(2, 1); + } + + for (var i = 0; i < menuItems.length; i++) { + this.elMenuItems.push(document.createElement('div')); + this.elMenuItems[i].innerHTML = menuItems[i].title; + Graphics.setAttrs(this.elMenuItems[i], { + class: "apexcharts-menu-item ".concat(menuItems[i].name), + title: menuItems[i].title + }); + this.elMenu.appendChild(this.elMenuItems[i]); + } + } + }, { + key: "addToolbarEventListeners", + value: function addToolbarEventListeners() { + var _this2 = this; + + this.elZoomReset.addEventListener('click', this.handleZoomReset.bind(this)); + this.elSelection.addEventListener('click', this.toggleZoomSelection.bind(this, 'selection')); + this.elZoom.addEventListener('click', this.toggleZoomSelection.bind(this, 'zoom')); + this.elZoomIn.addEventListener('click', this.handleZoomIn.bind(this)); + this.elZoomOut.addEventListener('click', this.handleZoomOut.bind(this)); + this.elPan.addEventListener('click', this.togglePanning.bind(this)); + this.elMenuIcon.addEventListener('click', this.toggleMenu.bind(this)); + this.elMenuItems.forEach(function (m) { + if (m.classList.contains('exportSVG')) { + m.addEventListener('click', _this2.handleDownload.bind(_this2, 'svg')); + } else if (m.classList.contains('exportPNG')) { + m.addEventListener('click', _this2.handleDownload.bind(_this2, 'png')); + } else if (m.classList.contains('exportCSV')) { + m.addEventListener('click', _this2.handleDownload.bind(_this2, 'csv')); + } + }); + + for (var i = 0; i < this.t.customIcons.length; i++) { + this.elCustomIcons[i].addEventListener('click', this.t.customIcons[i].click.bind(this, this.ctx, this.ctx.w)); + } + } + }, { + key: "toggleZoomSelection", + value: function toggleZoomSelection(type) { + var charts = this.ctx.getSyncedCharts(); + charts.forEach(function (ch) { + ch.ctx.toolbar.toggleOtherControls(); + var el = type === 'selection' ? ch.ctx.toolbar.elSelection : ch.ctx.toolbar.elZoom; + var enabledType = type === 'selection' ? 'selectionEnabled' : 'zoomEnabled'; + ch.w.globals[enabledType] = !ch.w.globals[enabledType]; + + if (!el.classList.contains(ch.ctx.toolbar.selectedClass)) { + el.classList.add(ch.ctx.toolbar.selectedClass); + } else { + el.classList.remove(ch.ctx.toolbar.selectedClass); + } + }); + } + }, { + key: "getToolbarIconsReference", + value: function getToolbarIconsReference() { + var w = this.w; + + if (!this.elZoom) { + this.elZoom = w.globals.dom.baseEl.querySelector('.apexcharts-zoom-icon'); + } + + if (!this.elPan) { + this.elPan = w.globals.dom.baseEl.querySelector('.apexcharts-pan-icon'); + } + + if (!this.elSelection) { + this.elSelection = w.globals.dom.baseEl.querySelector('.apexcharts-selection-icon'); + } + } + }, { + key: "enableZoomPanFromToolbar", + value: function enableZoomPanFromToolbar(type) { + this.toggleOtherControls(); + type === 'pan' ? this.w.globals.panEnabled = true : this.w.globals.zoomEnabled = true; + var el = type === 'pan' ? this.elPan : this.elZoom; + var el2 = type === 'pan' ? this.elZoom : this.elPan; + + if (el) { + el.classList.add(this.selectedClass); + } + + if (el2) { + el2.classList.remove(this.selectedClass); + } + } + }, { + key: "togglePanning", + value: function togglePanning() { + var charts = this.ctx.getSyncedCharts(); + charts.forEach(function (ch) { + ch.ctx.toolbar.toggleOtherControls(); + ch.w.globals.panEnabled = !ch.w.globals.panEnabled; + + if (!ch.ctx.toolbar.elPan.classList.contains(ch.ctx.toolbar.selectedClass)) { + ch.ctx.toolbar.elPan.classList.add(ch.ctx.toolbar.selectedClass); + } else { + ch.ctx.toolbar.elPan.classList.remove(ch.ctx.toolbar.selectedClass); + } + }); + } + }, { + key: "toggleOtherControls", + value: function toggleOtherControls() { + var _this3 = this; + + var w = this.w; + w.globals.panEnabled = false; + w.globals.zoomEnabled = false; + w.globals.selectionEnabled = false; + this.getToolbarIconsReference(); + var toggleEls = [this.elPan, this.elSelection, this.elZoom]; + toggleEls.forEach(function (el) { + if (el) { + el.classList.remove(_this3.selectedClass); + } + }); + } + }, { + key: "handleZoomIn", + value: function handleZoomIn() { + var w = this.w; + + if (w.globals.isRangeBar) { + this.minX = w.globals.minY; + this.maxX = w.globals.maxY; + } + + var centerX = (this.minX + this.maxX) / 2; + var newMinX = (this.minX + centerX) / 2; + var newMaxX = (this.maxX + centerX) / 2; + + var newMinXMaxX = this._getNewMinXMaxX(newMinX, newMaxX); + + if (!w.globals.disableZoomIn) { + this.zoomUpdateOptions(newMinXMaxX.minX, newMinXMaxX.maxX); + } + } + }, { + key: "handleZoomOut", + value: function handleZoomOut() { + var w = this.w; + + if (w.globals.isRangeBar) { + this.minX = w.globals.minY; + this.maxX = w.globals.maxY; + } // avoid zooming out beyond 1000 which may result in NaN values being printed on x-axis + + + if (w.config.xaxis.type === 'datetime' && new Date(this.minX).getUTCFullYear() < 1000) { + return; + } + + var centerX = (this.minX + this.maxX) / 2; + var newMinX = this.minX - (centerX - this.minX); + var newMaxX = this.maxX - (centerX - this.maxX); + + var newMinXMaxX = this._getNewMinXMaxX(newMinX, newMaxX); + + if (!w.globals.disableZoomOut) { + this.zoomUpdateOptions(newMinXMaxX.minX, newMinXMaxX.maxX); + } + } + }, { + key: "_getNewMinXMaxX", + value: function _getNewMinXMaxX(newMinX, newMaxX) { + var shouldFloor = this.w.config.xaxis.convertedCatToNumeric; + return { + minX: shouldFloor ? Math.floor(newMinX) : newMinX, + maxX: shouldFloor ? Math.floor(newMaxX) : newMaxX + }; + } + }, { + key: "zoomUpdateOptions", + value: function zoomUpdateOptions(newMinX, newMaxX) { + var w = this.w; + + if (newMinX === undefined && newMaxX === undefined) { + this.handleZoomReset(); + return; + } + + if (w.config.xaxis.convertedCatToNumeric) { + // in category charts, avoid zooming out beyond min and max + if (newMinX < 1) { + newMinX = 1; + newMaxX = w.globals.dataPoints; + } + + if (newMaxX - newMinX < 2) { + return; + } + } + + var xaxis = { + min: newMinX, + max: newMaxX + }; + var beforeZoomRange = this.getBeforeZoomRange(xaxis); + + if (beforeZoomRange) { + xaxis = beforeZoomRange.xaxis; + } + + var options = { + xaxis: xaxis + }; + var yaxis = Utils$1.clone(w.globals.initialConfig.yaxis); + + if (w.config.chart.zoom.autoScaleYaxis) { + var scale = new Range$1(this.ctx); + yaxis = scale.autoScaleY(this.ctx, yaxis, { + xaxis: xaxis + }); + } + + if (!w.config.chart.group) { + // if chart in a group, prevent yaxis update here + // fix issue #650 + options.yaxis = yaxis; + } + + this.w.globals.zoomed = true; + + this.ctx.updateHelpers._updateOptions(options, false, this.w.config.chart.animations.dynamicAnimation.enabled); + + this.zoomCallback(xaxis, yaxis); + } + }, { + key: "zoomCallback", + value: function zoomCallback(xaxis, yaxis) { + if (typeof this.ev.zoomed === 'function') { + this.ev.zoomed(this.ctx, { + xaxis: xaxis, + yaxis: yaxis + }); + } + } + }, { + key: "getBeforeZoomRange", + value: function getBeforeZoomRange(xaxis, yaxis) { + var newRange = null; + + if (typeof this.ev.beforeZoom === 'function') { + newRange = this.ev.beforeZoom(this, { + xaxis: xaxis, + yaxis: yaxis + }); + } + + return newRange; + } + }, { + key: "toggleMenu", + value: function toggleMenu() { + var _this4 = this; + + window.setTimeout(function () { + if (_this4.elMenu.classList.contains('apexcharts-menu-open')) { + _this4.elMenu.classList.remove('apexcharts-menu-open'); + } else { + _this4.elMenu.classList.add('apexcharts-menu-open'); + } + }, 0); + } + }, { + key: "handleDownload", + value: function handleDownload(type) { + var w = this.w; + var exprt = new Exports(this.ctx); + + switch (type) { + case 'svg': + exprt.exportToSVG(this.ctx); + break; + + case 'png': + exprt.exportToPng(this.ctx); + break; + + case 'csv': + exprt.exportToCSV({ + series: w.config.series, + columnDelimiter: w.config.chart.toolbar.export.csv.columnDelimiter + }); + break; + } + } + }, { + key: "handleZoomReset", + value: function handleZoomReset(e) { + var charts = this.ctx.getSyncedCharts(); + charts.forEach(function (ch) { + var w = ch.w; // forget lastXAxis min/max as reset button isn't resetting the x-axis completely if zoomX is called before + + w.globals.lastXAxis.min = undefined; + w.globals.lastXAxis.max = undefined; + ch.updateHelpers.revertDefaultAxisMinMax(); + + if (typeof w.config.chart.events.beforeResetZoom === 'function') { + // here, user get an option to control xaxis and yaxis when resetZoom is called + // at this point, whatever is returned from w.config.chart.events.beforeResetZoom + // is set as the new xaxis/yaxis min/max + var resetZoomRange = w.config.chart.events.beforeResetZoom(ch, w); + + if (resetZoomRange) { + ch.updateHelpers.revertDefaultAxisMinMax(resetZoomRange); + } + } + + if (typeof w.config.chart.events.zoomed === 'function') { + ch.ctx.toolbar.zoomCallback({ + min: w.config.xaxis.min, + max: w.config.xaxis.max + }); + } + + w.globals.zoomed = false; // if user has some series collapsed before hitting zoom reset button, + // those series should stay collapsed + + var series = ch.ctx.series.emptyCollapsedSeries(Utils$1.clone(w.globals.initialSeries)); + + ch.updateHelpers._updateSeries(series, w.config.chart.animations.dynamicAnimation.enabled); + }); + } + }, { + key: "destroy", + value: function destroy() { + this.elZoom = null; + this.elZoomIn = null; + this.elZoomOut = null; + this.elPan = null; + this.elSelection = null; + this.elZoomReset = null; + this.elMenuIcon = null; + } + }]); + + return Toolbar; + }(); + + /** + * ApexCharts Zoom Class for handling zooming and panning on axes based charts. + * + * @module ZoomPanSelection + **/ + + var ZoomPanSelection = /*#__PURE__*/function (_Toolbar) { + _inherits(ZoomPanSelection, _Toolbar); + + var _super = _createSuper(ZoomPanSelection); + + function ZoomPanSelection(ctx) { + var _this; + + _classCallCheck(this, ZoomPanSelection); + + _this = _super.call(this, ctx); + _this.ctx = ctx; + _this.w = ctx.w; + _this.dragged = false; + _this.graphics = new Graphics(_this.ctx); + _this.eventList = ['mousedown', 'mouseleave', 'mousemove', 'touchstart', 'touchmove', 'mouseup', 'touchend']; + _this.clientX = 0; + _this.clientY = 0; + _this.startX = 0; + _this.endX = 0; + _this.dragX = 0; + _this.startY = 0; + _this.endY = 0; + _this.dragY = 0; + _this.moveDirection = 'none'; + return _this; + } + + _createClass(ZoomPanSelection, [{ + key: "init", + value: function init(_ref) { + var _this2 = this; + + var xyRatios = _ref.xyRatios; + var w = this.w; + var me = this; + this.xyRatios = xyRatios; + this.zoomRect = this.graphics.drawRect(0, 0, 0, 0); + this.selectionRect = this.graphics.drawRect(0, 0, 0, 0); + this.gridRect = w.globals.dom.baseEl.querySelector('.apexcharts-grid'); + this.zoomRect.node.classList.add('apexcharts-zoom-rect'); + this.selectionRect.node.classList.add('apexcharts-selection-rect'); + w.globals.dom.elGraphical.add(this.zoomRect); + w.globals.dom.elGraphical.add(this.selectionRect); + + if (w.config.chart.selection.type === 'x') { + this.slDraggableRect = this.selectionRect.draggable({ + minX: 0, + minY: 0, + maxX: w.globals.gridWidth, + maxY: w.globals.gridHeight + }).on('dragmove', this.selectionDragging.bind(this, 'dragging')); + } else if (w.config.chart.selection.type === 'y') { + this.slDraggableRect = this.selectionRect.draggable({ + minX: 0, + maxX: w.globals.gridWidth + }).on('dragmove', this.selectionDragging.bind(this, 'dragging')); + } else { + this.slDraggableRect = this.selectionRect.draggable().on('dragmove', this.selectionDragging.bind(this, 'dragging')); + } + + this.preselectedSelection(); + this.hoverArea = w.globals.dom.baseEl.querySelector("".concat(w.globals.chartClass, " .apexcharts-svg")); + this.hoverArea.classList.add('apexcharts-zoomable'); + this.eventList.forEach(function (event) { + _this2.hoverArea.addEventListener(event, me.svgMouseEvents.bind(me, xyRatios), { + capture: false, + passive: true + }); + }); + } // remove the event listeners which were previously added on hover area + + }, { + key: "destroy", + value: function destroy() { + if (this.slDraggableRect) { + this.slDraggableRect.draggable(false); + this.slDraggableRect.off(); + this.selectionRect.off(); + } + + this.selectionRect = null; + this.zoomRect = null; + this.gridRect = null; + } + }, { + key: "svgMouseEvents", + value: function svgMouseEvents(xyRatios, e) { + var w = this.w; + var me = this; + var toolbar = this.ctx.toolbar; + var zoomtype = w.globals.zoomEnabled ? w.config.chart.zoom.type : w.config.chart.selection.type; + var autoSelected = w.config.chart.toolbar.autoSelected; + + if (e.shiftKey) { + this.shiftWasPressed = true; + toolbar.enableZoomPanFromToolbar(autoSelected === 'pan' ? 'zoom' : 'pan'); + } else { + if (this.shiftWasPressed) { + toolbar.enableZoomPanFromToolbar(autoSelected); + this.shiftWasPressed = false; + } + } + + if (!e.target) return; + var tc = e.target.classList; + var pc; + + if (e.target.parentNode && e.target.parentNode !== null) { + pc = e.target.parentNode.classList; + } + + var falsePositives = tc.contains('apexcharts-selection-rect') || tc.contains('apexcharts-legend-marker') || tc.contains('apexcharts-legend-text') || pc && pc.contains('apexcharts-toolbar'); + if (falsePositives) return; + me.clientX = e.type === 'touchmove' || e.type === 'touchstart' ? e.touches[0].clientX : e.type === 'touchend' ? e.changedTouches[0].clientX : e.clientX; + me.clientY = e.type === 'touchmove' || e.type === 'touchstart' ? e.touches[0].clientY : e.type === 'touchend' ? e.changedTouches[0].clientY : e.clientY; + + if (e.type === 'mousedown' && e.which === 1) { + var gridRectDim = me.gridRect.getBoundingClientRect(); + me.startX = me.clientX - gridRectDim.left; + me.startY = me.clientY - gridRectDim.top; + me.dragged = false; + me.w.globals.mousedown = true; + } + + if (e.type === 'mousemove' && e.which === 1 || e.type === 'touchmove') { + me.dragged = true; + + if (w.globals.panEnabled) { + w.globals.selection = null; + + if (me.w.globals.mousedown) { + me.panDragging({ + context: me, + zoomtype: zoomtype, + xyRatios: xyRatios + }); + } + } else { + if (me.w.globals.mousedown && w.globals.zoomEnabled || me.w.globals.mousedown && w.globals.selectionEnabled) { + me.selection = me.selectionDrawing({ + context: me, + zoomtype: zoomtype + }); + } + } + } + + if (e.type === 'mouseup' || e.type === 'touchend' || e.type === 'mouseleave') { + // we will be calling getBoundingClientRect on each mousedown/mousemove/mouseup + var _gridRectDim = me.gridRect.getBoundingClientRect(); + + if (me.w.globals.mousedown) { + // user released the drag, now do all the calculations + me.endX = me.clientX - _gridRectDim.left; + me.endY = me.clientY - _gridRectDim.top; + me.dragX = Math.abs(me.endX - me.startX); + me.dragY = Math.abs(me.endY - me.startY); + + if (w.globals.zoomEnabled || w.globals.selectionEnabled) { + me.selectionDrawn({ + context: me, + zoomtype: zoomtype + }); + } + + if (w.globals.panEnabled && w.config.xaxis.convertedCatToNumeric) { + me.delayedPanScrolled(); + } + } + + if (w.globals.zoomEnabled) { + me.hideSelectionRect(this.selectionRect); + } + + me.dragged = false; + me.w.globals.mousedown = false; + } + + this.makeSelectionRectDraggable(); + } + }, { + key: "makeSelectionRectDraggable", + value: function makeSelectionRectDraggable() { + var w = this.w; + if (!this.selectionRect) return; + var rectDim = this.selectionRect.node.getBoundingClientRect(); + + if (rectDim.width > 0 && rectDim.height > 0) { + this.slDraggableRect.selectize({ + points: 'l, r', + pointSize: 8, + pointType: 'rect' + }).resize({ + constraint: { + minX: 0, + minY: 0, + maxX: w.globals.gridWidth, + maxY: w.globals.gridHeight + } + }).on('resizing', this.selectionDragging.bind(this, 'resizing')); + } + } + }, { + key: "preselectedSelection", + value: function preselectedSelection() { + var w = this.w; + var xyRatios = this.xyRatios; + + if (!w.globals.zoomEnabled) { + if (typeof w.globals.selection !== 'undefined' && w.globals.selection !== null) { + this.drawSelectionRect(w.globals.selection); + } else { + if (w.config.chart.selection.xaxis.min !== undefined && w.config.chart.selection.xaxis.max !== undefined) { + var x = (w.config.chart.selection.xaxis.min - w.globals.minX) / xyRatios.xRatio; + var width = w.globals.gridWidth - (w.globals.maxX - w.config.chart.selection.xaxis.max) / xyRatios.xRatio - x; + var selectionRect = { + x: x, + y: 0, + width: width, + height: w.globals.gridHeight, + translateX: 0, + translateY: 0, + selectionEnabled: true + }; + this.drawSelectionRect(selectionRect); + this.makeSelectionRectDraggable(); + + if (typeof w.config.chart.events.selection === 'function') { + w.config.chart.events.selection(this.ctx, { + xaxis: { + min: w.config.chart.selection.xaxis.min, + max: w.config.chart.selection.xaxis.max + }, + yaxis: {} + }); + } + } + } + } + } + }, { + key: "drawSelectionRect", + value: function drawSelectionRect(_ref2) { + var x = _ref2.x, + y = _ref2.y, + width = _ref2.width, + height = _ref2.height, + _ref2$translateX = _ref2.translateX, + translateX = _ref2$translateX === void 0 ? 0 : _ref2$translateX, + _ref2$translateY = _ref2.translateY, + translateY = _ref2$translateY === void 0 ? 0 : _ref2$translateY; + var w = this.w; + var zoomRect = this.zoomRect; + var selectionRect = this.selectionRect; + + if (this.dragged || w.globals.selection !== null) { + var scalingAttrs = { + transform: 'translate(' + translateX + ', ' + translateY + ')' + }; // change styles based on zoom or selection + // zoom is Enabled and user has dragged, so draw blue rect + + if (w.globals.zoomEnabled && this.dragged) { + if (width < 0) width = 1; // fixes apexcharts.js#1168 + + zoomRect.attr({ + x: x, + y: y, + width: width, + height: height, + fill: w.config.chart.zoom.zoomedArea.fill.color, + 'fill-opacity': w.config.chart.zoom.zoomedArea.fill.opacity, + stroke: w.config.chart.zoom.zoomedArea.stroke.color, + 'stroke-width': w.config.chart.zoom.zoomedArea.stroke.width, + 'stroke-opacity': w.config.chart.zoom.zoomedArea.stroke.opacity + }); + Graphics.setAttrs(zoomRect.node, scalingAttrs); + } // selection is enabled + + + if (w.globals.selectionEnabled) { + selectionRect.attr({ + x: x, + y: y, + width: width > 0 ? width : 0, + height: height > 0 ? height : 0, + fill: w.config.chart.selection.fill.color, + 'fill-opacity': w.config.chart.selection.fill.opacity, + stroke: w.config.chart.selection.stroke.color, + 'stroke-width': w.config.chart.selection.stroke.width, + 'stroke-dasharray': w.config.chart.selection.stroke.dashArray, + 'stroke-opacity': w.config.chart.selection.stroke.opacity + }); + Graphics.setAttrs(selectionRect.node, scalingAttrs); + } + } + } + }, { + key: "hideSelectionRect", + value: function hideSelectionRect(rect) { + if (rect) { + rect.attr({ + x: 0, + y: 0, + width: 0, + height: 0 + }); + } + } + }, { + key: "selectionDrawing", + value: function selectionDrawing(_ref3) { + var context = _ref3.context, + zoomtype = _ref3.zoomtype; + var w = this.w; + var me = context; + var gridRectDim = this.gridRect.getBoundingClientRect(); + var startX = me.startX - 1; + var startY = me.startY; + var inversedX = false; + var inversedY = false; + var selectionWidth = me.clientX - gridRectDim.left - startX; + var selectionHeight = me.clientY - gridRectDim.top - startY; + var selectionRect = {}; + + if (Math.abs(selectionWidth + startX) > w.globals.gridWidth) { + // user dragged the mouse outside drawing area to the right + selectionWidth = w.globals.gridWidth - startX; + } else if (me.clientX - gridRectDim.left < 0) { + // user dragged the mouse outside drawing area to the left + selectionWidth = startX; + } // inverse selection X + + + if (startX > me.clientX - gridRectDim.left) { + inversedX = true; + selectionWidth = Math.abs(selectionWidth); + } // inverse selection Y + + + if (startY > me.clientY - gridRectDim.top) { + inversedY = true; + selectionHeight = Math.abs(selectionHeight); + } + + if (zoomtype === 'x') { + selectionRect = { + x: inversedX ? startX - selectionWidth : startX, + y: 0, + width: selectionWidth, + height: w.globals.gridHeight + }; + } else if (zoomtype === 'y') { + selectionRect = { + x: 0, + y: inversedY ? startY - selectionHeight : startY, + width: w.globals.gridWidth, + height: selectionHeight + }; + } else { + selectionRect = { + x: inversedX ? startX - selectionWidth : startX, + y: inversedY ? startY - selectionHeight : startY, + width: selectionWidth, + height: selectionHeight + }; + } + + me.drawSelectionRect(selectionRect); + me.selectionDragging('resizing'); + return selectionRect; + } + }, { + key: "selectionDragging", + value: function selectionDragging(type, e) { + var _this3 = this; + + var w = this.w; + var xyRatios = this.xyRatios; + var selRect = this.selectionRect; + var timerInterval = 0; + + if (type === 'resizing') { + timerInterval = 30; + } // update selection when selection rect is dragged + + + var getSelAttr = function getSelAttr(attr) { + return parseFloat(selRect.node.getAttribute(attr)); + }; + + var draggedProps = { + x: getSelAttr('x'), + y: getSelAttr('y'), + width: getSelAttr('width'), + height: getSelAttr('height') + }; + w.globals.selection = draggedProps; // update selection ends + + if (typeof w.config.chart.events.selection === 'function' && w.globals.selectionEnabled) { + // a small debouncer is required when resizing to avoid freezing the chart + clearTimeout(this.w.globals.selectionResizeTimer); + this.w.globals.selectionResizeTimer = window.setTimeout(function () { + var gridRectDim = _this3.gridRect.getBoundingClientRect(); + + var selectionRect = selRect.node.getBoundingClientRect(); + var minX = w.globals.xAxisScale.niceMin + (selectionRect.left - gridRectDim.left) * xyRatios.xRatio; + var maxX = w.globals.xAxisScale.niceMin + (selectionRect.right - gridRectDim.left) * xyRatios.xRatio; + var minY = w.globals.yAxisScale[0].niceMin + (gridRectDim.bottom - selectionRect.bottom) * xyRatios.yRatio[0]; + var maxY = w.globals.yAxisScale[0].niceMax - (selectionRect.top - gridRectDim.top) * xyRatios.yRatio[0]; + var xyAxis = { + xaxis: { + min: minX, + max: maxX + }, + yaxis: { + min: minY, + max: maxY + } + }; + w.config.chart.events.selection(_this3.ctx, xyAxis); + + if (w.config.chart.brush.enabled && w.config.chart.events.brushScrolled !== undefined) { + w.config.chart.events.brushScrolled(_this3.ctx, xyAxis); + } + }, timerInterval); + } + } + }, { + key: "selectionDrawn", + value: function selectionDrawn(_ref4) { + var context = _ref4.context, + zoomtype = _ref4.zoomtype; + var w = this.w; + var me = context; + var xyRatios = this.xyRatios; + var toolbar = this.ctx.toolbar; + + if (me.startX > me.endX) { + var tempX = me.startX; + me.startX = me.endX; + me.endX = tempX; + } + + if (me.startY > me.endY) { + var tempY = me.startY; + me.startY = me.endY; + me.endY = tempY; + } + + var xLowestValue = undefined; + var xHighestValue = undefined; + + if (!w.globals.isRangeBar) { + xLowestValue = w.globals.xAxisScale.niceMin + me.startX * xyRatios.xRatio; + xHighestValue = w.globals.xAxisScale.niceMin + me.endX * xyRatios.xRatio; + } else { + xLowestValue = w.globals.yAxisScale[0].niceMin + me.startX * xyRatios.invertedYRatio; + xHighestValue = w.globals.yAxisScale[0].niceMin + me.endX * xyRatios.invertedYRatio; + } // TODO: we will consider the 1st y axis values here for getting highest and lowest y + + + var yHighestValue = []; + var yLowestValue = []; + w.config.yaxis.forEach(function (yaxe, index) { + yHighestValue.push(w.globals.yAxisScale[index].niceMax - xyRatios.yRatio[index] * me.startY); + yLowestValue.push(w.globals.yAxisScale[index].niceMax - xyRatios.yRatio[index] * me.endY); + }); + + if (me.dragged && (me.dragX > 10 || me.dragY > 10) && xLowestValue !== xHighestValue) { + if (w.globals.zoomEnabled) { + var yaxis = Utils$1.clone(w.globals.initialConfig.yaxis); + var xaxis = Utils$1.clone(w.globals.initialConfig.xaxis); + w.globals.zoomed = true; + + if (w.config.xaxis.convertedCatToNumeric) { + xLowestValue = Math.floor(xLowestValue); + xHighestValue = Math.floor(xHighestValue); + + if (xLowestValue < 1) { + xLowestValue = 1; + xHighestValue = w.globals.dataPoints; + } + + if (xHighestValue - xLowestValue < 2) { + xHighestValue = xLowestValue + 1; + } + } + + if (zoomtype === 'xy' || zoomtype === 'x') { + xaxis = { + min: xLowestValue, + max: xHighestValue + }; + } + + if (zoomtype === 'xy' || zoomtype === 'y') { + yaxis.forEach(function (yaxe, index) { + yaxis[index].min = yLowestValue[index]; + yaxis[index].max = yHighestValue[index]; + }); + } + + if (w.config.chart.zoom.autoScaleYaxis) { + var scale = new Range$1(me.ctx); + yaxis = scale.autoScaleY(me.ctx, yaxis, { + xaxis: xaxis + }); + } + + if (toolbar) { + var beforeZoomRange = toolbar.getBeforeZoomRange(xaxis, yaxis); + + if (beforeZoomRange) { + xaxis = beforeZoomRange.xaxis ? beforeZoomRange.xaxis : xaxis; + yaxis = beforeZoomRange.yaxis ? beforeZoomRange.yaxis : yaxis; + } + } + + var options = { + xaxis: xaxis + }; + + if (!w.config.chart.group) { + // if chart in a group, prevent yaxis update here + // fix issue #650 + options.yaxis = yaxis; + } + + me.ctx.updateHelpers._updateOptions(options, false, me.w.config.chart.animations.dynamicAnimation.enabled); + + if (typeof w.config.chart.events.zoomed === 'function') { + toolbar.zoomCallback(xaxis, yaxis); + } + } else if (w.globals.selectionEnabled) { + var _yaxis = null; + var _xaxis = null; + _xaxis = { + min: xLowestValue, + max: xHighestValue + }; + + if (zoomtype === 'xy' || zoomtype === 'y') { + _yaxis = Utils$1.clone(w.config.yaxis); + + _yaxis.forEach(function (yaxe, index) { + _yaxis[index].min = yLowestValue[index]; + _yaxis[index].max = yHighestValue[index]; + }); + } + + w.globals.selection = me.selection; + + if (typeof w.config.chart.events.selection === 'function') { + w.config.chart.events.selection(me.ctx, { + xaxis: _xaxis, + yaxis: _yaxis + }); + } + } + } + } + }, { + key: "panDragging", + value: function panDragging(_ref5) { + var context = _ref5.context; + var w = this.w; + var me = context; // check to make sure there is data to compare against + + if (typeof w.globals.lastClientPosition.x !== 'undefined') { + // get the change from last position to this position + var deltaX = w.globals.lastClientPosition.x - me.clientX; + var deltaY = w.globals.lastClientPosition.y - me.clientY; // check which direction had the highest amplitude and then figure out direction by checking if the value is greater or less than zero + + if (Math.abs(deltaX) > Math.abs(deltaY) && deltaX > 0) { + this.moveDirection = 'left'; + } else if (Math.abs(deltaX) > Math.abs(deltaY) && deltaX < 0) { + this.moveDirection = 'right'; + } else if (Math.abs(deltaY) > Math.abs(deltaX) && deltaY > 0) { + this.moveDirection = 'up'; + } else if (Math.abs(deltaY) > Math.abs(deltaX) && deltaY < 0) { + this.moveDirection = 'down'; + } + } // set the new last position to the current for next time (to get the position of drag) + + + w.globals.lastClientPosition = { + x: me.clientX, + y: me.clientY + }; + var xLowestValue = w.globals.isRangeBar ? w.globals.minY : w.globals.minX; + var xHighestValue = w.globals.isRangeBar ? w.globals.maxY : w.globals.maxX; // on a category, we don't pan continuosly as it causes bugs + + if (!w.config.xaxis.convertedCatToNumeric) { + me.panScrolled(xLowestValue, xHighestValue); + } + } + }, { + key: "delayedPanScrolled", + value: function delayedPanScrolled() { + var w = this.w; + var newMinX = w.globals.minX; + var newMaxX = w.globals.maxX; + var centerX = (w.globals.maxX - w.globals.minX) / 2; + + if (this.moveDirection === 'left') { + newMinX = w.globals.minX + centerX; + newMaxX = w.globals.maxX + centerX; + } else if (this.moveDirection === 'right') { + newMinX = w.globals.minX - centerX; + newMaxX = w.globals.maxX - centerX; + } + + newMinX = Math.floor(newMinX); + newMaxX = Math.floor(newMaxX); + this.updateScrolledChart({ + xaxis: { + min: newMinX, + max: newMaxX + } + }, newMinX, newMaxX); + } + }, { + key: "panScrolled", + value: function panScrolled(xLowestValue, xHighestValue) { + var w = this.w; + var xyRatios = this.xyRatios; + var yaxis = Utils$1.clone(w.globals.initialConfig.yaxis); + var xRatio = xyRatios.xRatio; + var minX = w.globals.minX; + var maxX = w.globals.maxX; + + if (w.globals.isRangeBar) { + xRatio = xyRatios.invertedYRatio; + minX = w.globals.minY; + maxX = w.globals.maxY; + } + + if (this.moveDirection === 'left') { + xLowestValue = minX + w.globals.gridWidth / 15 * xRatio; + xHighestValue = maxX + w.globals.gridWidth / 15 * xRatio; + } else if (this.moveDirection === 'right') { + xLowestValue = minX - w.globals.gridWidth / 15 * xRatio; + xHighestValue = maxX - w.globals.gridWidth / 15 * xRatio; + } + + if (!w.globals.isRangeBar) { + if (xLowestValue < w.globals.initialMinX || xHighestValue > w.globals.initialMaxX) { + xLowestValue = minX; + xHighestValue = maxX; + } + } + + var xaxis = { + min: xLowestValue, + max: xHighestValue + }; + + if (w.config.chart.zoom.autoScaleYaxis) { + var scale = new Range$1(this.ctx); + yaxis = scale.autoScaleY(this.ctx, yaxis, { + xaxis: xaxis + }); + } + + var options = { + xaxis: { + min: xLowestValue, + max: xHighestValue + } + }; + + if (!w.config.chart.group) { + // if chart in a group, prevent yaxis update here + // fix issue #650 + options.yaxis = yaxis; + } + + this.updateScrolledChart(options, xLowestValue, xHighestValue); + } + }, { + key: "updateScrolledChart", + value: function updateScrolledChart(options, xLowestValue, xHighestValue) { + var w = this.w; + + this.ctx.updateHelpers._updateOptions(options, false, false); + + if (typeof w.config.chart.events.scrolled === 'function') { + w.config.chart.events.scrolled(this.ctx, { + xaxis: { + min: xLowestValue, + max: xHighestValue + } + }); + } + } + }]); + + return ZoomPanSelection; + }(Toolbar); + + /** + * ApexCharts Tooltip.Utils Class to support Tooltip functionality. + * + * @module Tooltip.Utils + **/ + + var Utils = /*#__PURE__*/function () { + function Utils(tooltipContext) { + _classCallCheck(this, Utils); + + this.w = tooltipContext.w; + this.ttCtx = tooltipContext; + this.ctx = tooltipContext.ctx; + } + /** + ** When hovering over series, you need to capture which series is being hovered on. + ** This function will return both capturedseries index as well as inner index of that series + * @memberof Utils + * @param {object} + * - hoverArea = the rect on which user hovers + * - elGrid = dimensions of the hover rect (it can be different than hoverarea) + */ + + + _createClass(Utils, [{ + key: "getNearestValues", + value: function getNearestValues(_ref) { + var hoverArea = _ref.hoverArea, + elGrid = _ref.elGrid, + clientX = _ref.clientX, + clientY = _ref.clientY; + var w = this.w; + var seriesBound = elGrid.getBoundingClientRect(); + var hoverWidth = seriesBound.width; + var hoverHeight = seriesBound.height; + var xDivisor = hoverWidth / (w.globals.dataPoints - 1); + var yDivisor = hoverHeight / w.globals.dataPoints; + var hasBars = this.hasBars(); + + if ((w.globals.comboCharts || hasBars) && !w.config.xaxis.convertedCatToNumeric) { + xDivisor = hoverWidth / w.globals.dataPoints; + } + + var hoverX = clientX - seriesBound.left - w.globals.barPadForNumericAxis; + var hoverY = clientY - seriesBound.top; + var notInRect = hoverX < 0 || hoverY < 0 || hoverX > hoverWidth || hoverY > hoverHeight; + + if (notInRect) { + hoverArea.classList.remove('hovering-zoom'); + hoverArea.classList.remove('hovering-pan'); + } else { + if (w.globals.zoomEnabled) { + hoverArea.classList.remove('hovering-pan'); + hoverArea.classList.add('hovering-zoom'); + } else if (w.globals.panEnabled) { + hoverArea.classList.remove('hovering-zoom'); + hoverArea.classList.add('hovering-pan'); + } + } + + var j = Math.round(hoverX / xDivisor); + var jHorz = Math.floor(hoverY / yDivisor); + + if (hasBars && !w.config.xaxis.convertedCatToNumeric) { + j = Math.ceil(hoverX / xDivisor); + j = j - 1; + } + + var capturedSeries = null; + var closest = null; + var seriesXValArr = []; + var seriesYValArr = []; //add extra values to show markers for the first points. Included both axes to avoid incorrect positioning of the marker + + w.globals.seriesXvalues.forEach(function (value) { + seriesXValArr.push([value[0] + 0.000001].concat(value)); + }); + w.globals.seriesYvalues.forEach(function (value) { + seriesYValArr.push([value[0] + 0.000001].concat(value)); + }); + seriesXValArr = seriesXValArr.map(function (seriesXVal) { + return seriesXVal.filter(function (s) { + return Utils$1.isNumber(s); + }); + }); + seriesYValArr = seriesYValArr.map(function (seriesYVal) { + return seriesYVal.filter(function (s) { + return Utils$1.isNumber(s); + }); + }); // if X axis type is not category and tooltip is not shared, then we need to find the cursor position and get the nearest value + + if (w.globals.isXNumeric) { + // Change origin of cursor position so that we can compute the relative nearest point to the cursor on our chart + // we only need to scale because all points are relative to the bounds.left and bounds.top => origin is virtually (0, 0) + var chartGridEl = this.ttCtx.getElGrid(); + var chartGridElBoundingRect = chartGridEl.getBoundingClientRect(); + var transformedHoverX = hoverX * (chartGridElBoundingRect.width / hoverWidth); + var transformedHoverY = hoverY * (chartGridElBoundingRect.height / hoverHeight); + closest = this.closestInMultiArray(transformedHoverX, transformedHoverY, seriesXValArr, seriesYValArr); + capturedSeries = closest.index; + j = closest.j; + + if (capturedSeries !== null) { + // initial push, it should be a little smaller than the 1st val + seriesXValArr = w.globals.seriesXvalues[capturedSeries]; + closest = this.closestInArray(transformedHoverX, seriesXValArr); + j = closest.index; + } + } + + w.globals.capturedSeriesIndex = capturedSeries === null ? -1 : capturedSeries; + if (!j || j < 1) j = 0; + + if (w.globals.isBarHorizontal) { + w.globals.capturedDataPointIndex = jHorz; + } else { + w.globals.capturedDataPointIndex = j; + } + + return { + capturedSeries: capturedSeries, + j: w.globals.isBarHorizontal ? jHorz : j, + hoverX: hoverX, + hoverY: hoverY + }; + } + }, { + key: "closestInMultiArray", + value: function closestInMultiArray(hoverX, hoverY, Xarrays, Yarrays) { + var w = this.w; + var activeIndex = 0; + var currIndex = null; + var j = -1; + + if (w.globals.series.length > 1) { + activeIndex = this.getFirstActiveXArray(Xarrays); + } else { + currIndex = 0; + } + + var currX = Xarrays[activeIndex][0]; + var diffX = Math.abs(hoverX - currX); // find nearest point on x-axis + + Xarrays.forEach(function (arrX) { + arrX.forEach(function (x, iX) { + var newDiff = Math.abs(hoverX - x); + + if (newDiff < diffX) { + diffX = newDiff; + j = iX; + } + }); + }); + + if (j !== -1) { + // find nearest graph on y-axis relevanted to nearest point on x-axis + var currY = Yarrays[activeIndex][j]; + var diffY = Math.abs(hoverY - currY); + currIndex = activeIndex; + Yarrays.forEach(function (arrY, iAY) { + var newDiff = Math.abs(hoverY - arrY[j]); + + if (newDiff < diffY) { + diffY = newDiff; + currIndex = iAY; + } + }); + } + + return { + index: currIndex, + j: j + }; + } + }, { + key: "getFirstActiveXArray", + value: function getFirstActiveXArray(Xarrays) { + var w = this.w; + var activeIndex = 0; + var firstActiveSeriesIndex = Xarrays.map(function (xarr, index) { + return xarr.length > 0 ? index : -1; + }); + + for (var a = 0; a < firstActiveSeriesIndex.length; a++) { + if (firstActiveSeriesIndex[a] !== -1 && w.globals.collapsedSeriesIndices.indexOf(a) === -1 && w.globals.ancillaryCollapsedSeriesIndices.indexOf(a) === -1) { + activeIndex = firstActiveSeriesIndex[a]; + break; + } + } + + return activeIndex; + } + }, { + key: "closestInArray", + value: function closestInArray(val, arr) { + var curr = arr[0]; + var currIndex = null; + var diff = Math.abs(val - curr); + + for (var i = 0; i < arr.length; i++) { + var newdiff = Math.abs(val - arr[i]); + + if (newdiff < diff) { + diff = newdiff; + currIndex = i; + } + } + + return { + index: currIndex + }; + } + /** + * When there are multiple series, it is possible to have different x values for each series. + * But it may be possible in those multiple series, that there is same x value for 2 or more + * series. + * @memberof Utils + * @param {int} + * - j = is the inner index of series -> (series[i][j]) + * @return {bool} + */ + + }, { + key: "isXoverlap", + value: function isXoverlap(j) { + var w = this.w; + var xSameForAllSeriesJArr = []; + var seriesX = w.globals.seriesX.filter(function (s) { + return typeof s[0] !== 'undefined'; + }); + + if (seriesX.length > 0) { + for (var i = 0; i < seriesX.length - 1; i++) { + if (typeof seriesX[i][j] !== 'undefined' && typeof seriesX[i + 1][j] !== 'undefined') { + if (seriesX[i][j] !== seriesX[i + 1][j]) { + xSameForAllSeriesJArr.push('unEqual'); + } + } + } + } + + if (xSameForAllSeriesJArr.length === 0) { + return true; + } + + return false; + } + }, { + key: "isInitialSeriesSameLen", + value: function isInitialSeriesSameLen() { + var sameLen = true; + var initialSeries = this.w.globals.initialSeries; + + for (var i = 0; i < initialSeries.length - 1; i++) { + if (initialSeries[i].data.length !== initialSeries[i + 1].data.length) { + sameLen = false; + break; + } + } + + return sameLen; + } + }, { + key: "getBarsHeight", + value: function getBarsHeight(allbars) { + var bars = _toConsumableArray(allbars); + + var totalHeight = bars.reduce(function (acc, bar) { + return acc + bar.getBBox().height; + }, 0); + return totalHeight; + } + }, { + key: "getElMarkers", + value: function getElMarkers(capturedSeries) { + // The selector .apexcharts-series-markers-wrap > * includes marker groups for which the + // .apexcharts-series-markers class is not added due to null values or discrete markers + if (typeof capturedSeries == 'number') { + return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:realIndex='".concat(capturedSeries, "'] .apexcharts-series-markers-wrap > *")); + } + + return this.w.globals.dom.baseEl.querySelectorAll('.apexcharts-series-markers-wrap > *'); + } + }, { + key: "getAllMarkers", + value: function getAllMarkers() { + // first get all marker parents. This parent class contains series-index + // which helps to sort the markers as they are dynamic + var markersWraps = this.w.globals.dom.baseEl.querySelectorAll('.apexcharts-series-markers-wrap'); + markersWraps = _toConsumableArray(markersWraps); + markersWraps.sort(function (a, b) { + var indexA = Number(a.getAttribute('data:realIndex')); + var indexB = Number(b.getAttribute('data:realIndex')); + return indexB < indexA ? 1 : indexB > indexA ? -1 : 0; + }); + var markers = []; + markersWraps.forEach(function (m) { + markers.push(m.querySelector('.apexcharts-marker')); + }); + return markers; + } + }, { + key: "hasMarkers", + value: function hasMarkers(capturedSeries) { + var markers = this.getElMarkers(capturedSeries); + return markers.length > 0; + } + }, { + key: "getElBars", + value: function getElBars() { + return this.w.globals.dom.baseEl.querySelectorAll('.apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series'); + } + }, { + key: "hasBars", + value: function hasBars() { + var bars = this.getElBars(); + return bars.length > 0; + } + }, { + key: "getHoverMarkerSize", + value: function getHoverMarkerSize(index) { + var w = this.w; + var hoverSize = w.config.markers.hover.size; + + if (hoverSize === undefined) { + hoverSize = w.globals.markers.size[index] + w.config.markers.hover.sizeOffset; + } + + return hoverSize; + } + }, { + key: "toggleAllTooltipSeriesGroups", + value: function toggleAllTooltipSeriesGroups(state) { + var w = this.w; + var ttCtx = this.ttCtx; + + if (ttCtx.allTooltipSeriesGroups.length === 0) { + ttCtx.allTooltipSeriesGroups = w.globals.dom.baseEl.querySelectorAll('.apexcharts-tooltip-series-group'); + } + + var allTooltipSeriesGroups = ttCtx.allTooltipSeriesGroups; + + for (var i = 0; i < allTooltipSeriesGroups.length; i++) { + if (state === 'enable') { + allTooltipSeriesGroups[i].classList.add('apexcharts-active'); + allTooltipSeriesGroups[i].style.display = w.config.tooltip.items.display; + } else { + allTooltipSeriesGroups[i].classList.remove('apexcharts-active'); + allTooltipSeriesGroups[i].style.display = 'none'; + } + } + } + }]); + + return Utils; + }(); + + /** + * ApexCharts Tooltip.Labels Class to draw texts on the tooltip. + * This file deals with printing actual text on the tooltip. + * + * @module Tooltip.Labels + **/ + + var Labels = /*#__PURE__*/function () { + function Labels(tooltipContext) { + _classCallCheck(this, Labels); + + this.w = tooltipContext.w; + this.ctx = tooltipContext.ctx; + this.ttCtx = tooltipContext; + this.tooltipUtil = new Utils(tooltipContext); + } + + _createClass(Labels, [{ + key: "drawSeriesTexts", + value: function drawSeriesTexts(_ref) { + var _ref$shared = _ref.shared, + shared = _ref$shared === void 0 ? true : _ref$shared, + ttItems = _ref.ttItems, + _ref$i = _ref.i, + i = _ref$i === void 0 ? 0 : _ref$i, + _ref$j = _ref.j, + j = _ref$j === void 0 ? null : _ref$j, + y1 = _ref.y1, + y2 = _ref.y2, + e = _ref.e; + var w = this.w; + + if (w.config.tooltip.custom !== undefined) { + this.handleCustomTooltip({ + i: i, + j: j, + y1: y1, + y2: y2, + w: w + }); + } else { + this.toggleActiveInactiveSeries(shared); + } + + var values = this.getValuesToPrint({ + i: i, + j: j + }); + this.printLabels({ + i: i, + j: j, + values: values, + ttItems: ttItems, + shared: shared, + e: e + }); // Re-calculate tooltip dimensions now that we have drawn the text + + var tooltipEl = this.ttCtx.getElTooltip(); + this.ttCtx.tooltipRect.ttWidth = tooltipEl.getBoundingClientRect().width; + this.ttCtx.tooltipRect.ttHeight = tooltipEl.getBoundingClientRect().height; + } + }, { + key: "printLabels", + value: function printLabels(_ref2) { + var _this = this; + + var i = _ref2.i, + j = _ref2.j, + values = _ref2.values, + ttItems = _ref2.ttItems, + shared = _ref2.shared, + e = _ref2.e; + var w = this.w; + var val; + var goalVals = []; + + var hasGoalValues = function hasGoalValues(gi) { + return w.globals.seriesGoals[gi] && w.globals.seriesGoals[gi][j] && Array.isArray(w.globals.seriesGoals[gi][j]); + }; + + var xVal = values.xVal, + zVal = values.zVal, + xAxisTTVal = values.xAxisTTVal; + var seriesName = ''; + var pColor = w.globals.colors[i]; // The pColor here is for the markers inside tooltip + + if (j !== null && w.config.plotOptions.bar.distributed) { + pColor = w.globals.colors[j]; + } + + var _loop = function _loop(t, inverset) { + var f = _this.getFormatters(i); + + seriesName = _this.getSeriesName({ + fn: f.yLbTitleFormatter, + index: i, + seriesIndex: i, + j: j + }); + + if (w.config.chart.type === 'treemap') { + seriesName = f.yLbTitleFormatter(String(w.config.series[i].data[j].x), { + series: w.globals.series, + seriesIndex: i, + dataPointIndex: j, + w: w + }); + } + + var tIndex = w.config.tooltip.inverseOrder ? inverset : t; + + if (w.globals.axisCharts) { + var getValBySeriesIndex = function getValBySeriesIndex(index) { + if (w.globals.isRangeData) { + var _w$globals$seriesRang, _w$globals$seriesRang2, _w$globals$seriesRang3, _w$globals$seriesRang4; + + return f.yLbFormatter((_w$globals$seriesRang = w.globals.seriesRangeStart) === null || _w$globals$seriesRang === void 0 ? void 0 : (_w$globals$seriesRang2 = _w$globals$seriesRang[index]) === null || _w$globals$seriesRang2 === void 0 ? void 0 : _w$globals$seriesRang2[j], { + series: w.globals.seriesRangeStart, + seriesIndex: index, + dataPointIndex: j, + w: w + }) + ' - ' + f.yLbFormatter((_w$globals$seriesRang3 = w.globals.seriesRangeEnd) === null || _w$globals$seriesRang3 === void 0 ? void 0 : (_w$globals$seriesRang4 = _w$globals$seriesRang3[index]) === null || _w$globals$seriesRang4 === void 0 ? void 0 : _w$globals$seriesRang4[j], { + series: w.globals.seriesRangeEnd, + seriesIndex: index, + dataPointIndex: j, + w: w + }); + } + + return f.yLbFormatter(w.globals.series[index][j], { + series: w.globals.series, + seriesIndex: index, + dataPointIndex: j, + w: w + }); + }; + + if (shared) { + f = _this.getFormatters(tIndex); + seriesName = _this.getSeriesName({ + fn: f.yLbTitleFormatter, + index: tIndex, + seriesIndex: i, + j: j + }); + pColor = w.globals.colors[tIndex]; + val = getValBySeriesIndex(tIndex); + + if (hasGoalValues(tIndex)) { + goalVals = w.globals.seriesGoals[tIndex][j].map(function (goal) { + return { + attrs: goal, + val: f.yLbFormatter(goal.value, { + seriesIndex: tIndex, + dataPointIndex: j, + w: w + }) + }; + }); + } + } else { + var _e$target; + + // get a color from a hover area (if it's a line pattern then get from a first line) + var targetFill = e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.getAttribute('fill'); + + if (targetFill) { + pColor = targetFill.indexOf('url') !== -1 ? document.querySelector(targetFill.substr(4).slice(0, -1)).childNodes[0].getAttribute('stroke') : targetFill; + } + + val = getValBySeriesIndex(i); + + if (hasGoalValues(i) && Array.isArray(w.globals.seriesGoals[i][j])) { + goalVals = w.globals.seriesGoals[i][j].map(function (goal) { + return { + attrs: goal, + val: f.yLbFormatter(goal.value, { + seriesIndex: i, + dataPointIndex: j, + w: w + }) + }; + }); + } + } + } // for pie / donuts + + + if (j === null) { + val = f.yLbFormatter(w.globals.series[i], _objectSpread2(_objectSpread2({}, w), {}, { + seriesIndex: i, + dataPointIndex: i + })); + } + + _this.DOMHandling({ + i: i, + t: tIndex, + j: j, + ttItems: ttItems, + values: { + val: val, + goalVals: goalVals, + xVal: xVal, + xAxisTTVal: xAxisTTVal, + zVal: zVal + }, + seriesName: seriesName, + shared: shared, + pColor: pColor + }); + }; + + for (var t = 0, inverset = w.globals.series.length - 1; t < w.globals.series.length; t++, inverset--) { + _loop(t, inverset); + } + } + }, { + key: "getFormatters", + value: function getFormatters(i) { + var w = this.w; + var yLbFormatter = w.globals.yLabelFormatters[i]; + var yLbTitleFormatter; + + if (w.globals.ttVal !== undefined) { + if (Array.isArray(w.globals.ttVal)) { + yLbFormatter = w.globals.ttVal[i] && w.globals.ttVal[i].formatter; + yLbTitleFormatter = w.globals.ttVal[i] && w.globals.ttVal[i].title && w.globals.ttVal[i].title.formatter; + } else { + yLbFormatter = w.globals.ttVal.formatter; + + if (typeof w.globals.ttVal.title.formatter === 'function') { + yLbTitleFormatter = w.globals.ttVal.title.formatter; + } + } + } else { + yLbTitleFormatter = w.config.tooltip.y.title.formatter; + } + + if (typeof yLbFormatter !== 'function') { + if (w.globals.yLabelFormatters[0]) { + yLbFormatter = w.globals.yLabelFormatters[0]; + } else { + yLbFormatter = function yLbFormatter(label) { + return label; + }; + } + } + + if (typeof yLbTitleFormatter !== 'function') { + yLbTitleFormatter = function yLbTitleFormatter(label) { + return label; + }; + } + + return { + yLbFormatter: yLbFormatter, + yLbTitleFormatter: yLbTitleFormatter + }; + } + }, { + key: "getSeriesName", + value: function getSeriesName(_ref3) { + var fn = _ref3.fn, + index = _ref3.index, + seriesIndex = _ref3.seriesIndex, + j = _ref3.j; + var w = this.w; + return fn(String(w.globals.seriesNames[index]), { + series: w.globals.series, + seriesIndex: seriesIndex, + dataPointIndex: j, + w: w + }); + } + }, { + key: "DOMHandling", + value: function DOMHandling(_ref4) { + _ref4.i; + var t = _ref4.t, + j = _ref4.j, + ttItems = _ref4.ttItems, + values = _ref4.values, + seriesName = _ref4.seriesName, + shared = _ref4.shared, + pColor = _ref4.pColor; + var w = this.w; + var ttCtx = this.ttCtx; + var val = values.val, + goalVals = values.goalVals, + xVal = values.xVal, + xAxisTTVal = values.xAxisTTVal, + zVal = values.zVal; + var ttItemsChildren = null; + ttItemsChildren = ttItems[t].children; + + if (w.config.tooltip.fillSeriesColor) { + ttItems[t].style.backgroundColor = pColor; + ttItemsChildren[0].style.display = 'none'; + } + + if (ttCtx.showTooltipTitle) { + if (ttCtx.tooltipTitle === null) { + // get it once if null, and store it in class property + ttCtx.tooltipTitle = w.globals.dom.baseEl.querySelector('.apexcharts-tooltip-title'); + } + + ttCtx.tooltipTitle.innerHTML = xVal; + } // if xaxis tooltip is constructed, we need to replace the innerHTML + + + if (ttCtx.isXAxisTooltipEnabled) { + ttCtx.xaxisTooltipText.innerHTML = xAxisTTVal !== '' ? xAxisTTVal : xVal; + } + + var ttYLabel = ttItems[t].querySelector('.apexcharts-tooltip-text-y-label'); + + if (ttYLabel) { + ttYLabel.innerHTML = seriesName ? seriesName : ''; + } + + var ttYVal = ttItems[t].querySelector('.apexcharts-tooltip-text-y-value'); + + if (ttYVal) { + ttYVal.innerHTML = typeof val !== 'undefined' ? val : ''; + } + + if (ttItemsChildren[0] && ttItemsChildren[0].classList.contains('apexcharts-tooltip-marker')) { + if (w.config.tooltip.marker.fillColors && Array.isArray(w.config.tooltip.marker.fillColors)) { + pColor = w.config.tooltip.marker.fillColors[t]; + } + + ttItemsChildren[0].style.backgroundColor = pColor; + } + + if (!w.config.tooltip.marker.show) { + ttItemsChildren[0].style.display = 'none'; + } + + var ttGLabel = ttItems[t].querySelector('.apexcharts-tooltip-text-goals-label'); + var ttGVal = ttItems[t].querySelector('.apexcharts-tooltip-text-goals-value'); + + if (goalVals.length && w.globals.seriesGoals[t]) { + var createGoalsHtml = function createGoalsHtml() { + var gLabels = '
'; + var gVals = '
'; + goalVals.forEach(function (goal, gi) { + gLabels += "
").concat(goal.attrs.name, "
"); + gVals += "
".concat(goal.val, "
"); + }); + ttGLabel.innerHTML = gLabels + "
"; + ttGVal.innerHTML = gVals + "
"; + }; + + if (shared) { + if (w.globals.seriesGoals[t][j] && Array.isArray(w.globals.seriesGoals[t][j])) { + createGoalsHtml(); + } else { + ttGLabel.innerHTML = ''; + ttGVal.innerHTML = ''; + } + } else { + createGoalsHtml(); + } + } else { + ttGLabel.innerHTML = ''; + ttGVal.innerHTML = ''; + } + + if (zVal !== null) { + var ttZLabel = ttItems[t].querySelector('.apexcharts-tooltip-text-z-label'); + ttZLabel.innerHTML = w.config.tooltip.z.title; + var ttZVal = ttItems[t].querySelector('.apexcharts-tooltip-text-z-value'); + ttZVal.innerHTML = typeof zVal !== 'undefined' ? zVal : ''; + } + + if (shared && ttItemsChildren[0]) { + // hide when no Val or series collapsed + if (typeof val === 'undefined' || val === null || w.globals.ancillaryCollapsedSeriesIndices.indexOf(t) > -1 || w.globals.collapsedSeriesIndices.indexOf(t) > -1) { + ttItemsChildren[0].parentNode.style.display = 'none'; + } else { + ttItemsChildren[0].parentNode.style.display = w.config.tooltip.items.display; + } + } + } + }, { + key: "toggleActiveInactiveSeries", + value: function toggleActiveInactiveSeries(shared) { + var w = this.w; + + if (shared) { + // make all tooltips active + this.tooltipUtil.toggleAllTooltipSeriesGroups('enable'); + } else { + // disable all tooltip text groups + this.tooltipUtil.toggleAllTooltipSeriesGroups('disable'); // enable the first tooltip text group + + var firstTooltipSeriesGroup = w.globals.dom.baseEl.querySelector('.apexcharts-tooltip-series-group'); + + if (firstTooltipSeriesGroup) { + firstTooltipSeriesGroup.classList.add('apexcharts-active'); + firstTooltipSeriesGroup.style.display = w.config.tooltip.items.display; + } + } + } + }, { + key: "getValuesToPrint", + value: function getValuesToPrint(_ref5) { + var i = _ref5.i, + j = _ref5.j; + var w = this.w; + var filteredSeriesX = this.ctx.series.filteredSeriesX(); + var xVal = ''; + var xAxisTTVal = ''; + var zVal = null; + var val = null; + var customFormatterOpts = { + series: w.globals.series, + seriesIndex: i, + dataPointIndex: j, + w: w + }; + var zFormatter = w.globals.ttZFormatter; + + if (j === null) { + val = w.globals.series[i]; + } else { + if (w.globals.isXNumeric && w.config.chart.type !== 'treemap') { + xVal = filteredSeriesX[i][j]; + + if (filteredSeriesX[i].length === 0) { + // a series (possibly the first one) might be collapsed, so get the next active index + var firstActiveSeriesIndex = this.tooltipUtil.getFirstActiveXArray(filteredSeriesX); + xVal = filteredSeriesX[firstActiveSeriesIndex][j]; + } + } else { + xVal = typeof w.globals.labels[j] !== 'undefined' ? w.globals.labels[j] : ''; + } + } + + var bufferXVal = xVal; + + if (w.globals.isXNumeric && w.config.xaxis.type === 'datetime') { + var xFormat = new Formatters(this.ctx); + xVal = xFormat.xLabelFormat(w.globals.ttKeyFormatter, bufferXVal, bufferXVal, { + i: undefined, + dateFormatter: new DateTime(this.ctx).formatDate, + w: this.w + }); + } else { + if (w.globals.isBarHorizontal) { + xVal = w.globals.yLabelFormatters[0](bufferXVal, customFormatterOpts); + } else { + xVal = w.globals.xLabelFormatter(bufferXVal, customFormatterOpts); + } + } // override default x-axis formatter with tooltip formatter + + + if (w.config.tooltip.x.formatter !== undefined) { + xVal = w.globals.ttKeyFormatter(bufferXVal, customFormatterOpts); + } + + if (w.globals.seriesZ.length > 0 && w.globals.seriesZ[i].length > 0) { + zVal = zFormatter(w.globals.seriesZ[i][j], w); + } + + if (typeof w.config.xaxis.tooltip.formatter === 'function') { + xAxisTTVal = w.globals.xaxisTooltipFormatter(bufferXVal, customFormatterOpts); + } else { + xAxisTTVal = xVal; + } + + return { + val: Array.isArray(val) ? val.join(' ') : val, + xVal: Array.isArray(xVal) ? xVal.join(' ') : xVal, + xAxisTTVal: Array.isArray(xAxisTTVal) ? xAxisTTVal.join(' ') : xAxisTTVal, + zVal: zVal + }; + } + }, { + key: "handleCustomTooltip", + value: function handleCustomTooltip(_ref6) { + var i = _ref6.i, + j = _ref6.j, + y1 = _ref6.y1, + y2 = _ref6.y2, + w = _ref6.w; + var tooltipEl = this.ttCtx.getElTooltip(); + var fn = w.config.tooltip.custom; + + if (Array.isArray(fn) && fn[i]) { + fn = fn[i]; + } // override everything with a custom html tooltip and replace it + + + tooltipEl.innerHTML = fn({ + ctx: this.ctx, + series: w.globals.series, + seriesIndex: i, + dataPointIndex: j, + y1: y1, + y2: y2, + w: w + }); + } + }]); + + return Labels; + }(); + + /** + * ApexCharts Tooltip.Position Class to move the tooltip based on x and y position. + * + * @module Tooltip.Position + **/ + + var Position = /*#__PURE__*/function () { + function Position(tooltipContext) { + _classCallCheck(this, Position); + + this.ttCtx = tooltipContext; + this.ctx = tooltipContext.ctx; + this.w = tooltipContext.w; + } + /** + * This will move the crosshair (the vertical/horz line that moves along with mouse) + * Along with this, this function also calls the xaxisMove function + * @memberof Position + * @param {int} - cx = point's x position, wherever point's x is, you need to move crosshair + */ + + + _createClass(Position, [{ + key: "moveXCrosshairs", + value: function moveXCrosshairs(cx) { + var j = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var ttCtx = this.ttCtx; + var w = this.w; + var xcrosshairs = ttCtx.getElXCrosshairs(); + var x = cx - ttCtx.xcrosshairsWidth / 2; + var tickAmount = w.globals.labels.slice().length; + + if (j !== null) { + x = w.globals.gridWidth / tickAmount * j; + } + + if (xcrosshairs !== null && !w.globals.isBarHorizontal) { + xcrosshairs.setAttribute('x', x); + xcrosshairs.setAttribute('x1', x); + xcrosshairs.setAttribute('x2', x); + xcrosshairs.setAttribute('y2', w.globals.gridHeight); + xcrosshairs.classList.add('apexcharts-active'); + } + + if (x < 0) { + x = 0; + } + + if (x > w.globals.gridWidth) { + x = w.globals.gridWidth; + } + + if (ttCtx.isXAxisTooltipEnabled) { + var tx = x; + + if (w.config.xaxis.crosshairs.width === 'tickWidth' || w.config.xaxis.crosshairs.width === 'barWidth') { + tx = x + ttCtx.xcrosshairsWidth / 2; + } + + this.moveXAxisTooltip(tx); + } + } + /** + * This will move the crosshair (the vertical/horz line that moves along with mouse) + * Along with this, this function also calls the xaxisMove function + * @memberof Position + * @param {int} - cx = point's x position, wherever point's x is, you need to move crosshair + */ + + }, { + key: "moveYCrosshairs", + value: function moveYCrosshairs(cy) { + var ttCtx = this.ttCtx; + + if (ttCtx.ycrosshairs !== null) { + Graphics.setAttrs(ttCtx.ycrosshairs, { + y1: cy, + y2: cy + }); + } + + if (ttCtx.ycrosshairsHidden !== null) { + Graphics.setAttrs(ttCtx.ycrosshairsHidden, { + y1: cy, + y2: cy + }); + } + } + /** + ** AxisTooltip is the small rectangle which appears on x axis with x value, when user moves + * @memberof Position + * @param {int} - cx = point's x position, wherever point's x is, you need to move + */ + + }, { + key: "moveXAxisTooltip", + value: function moveXAxisTooltip(cx) { + var w = this.w; + var ttCtx = this.ttCtx; + + if (ttCtx.xaxisTooltip !== null && ttCtx.xcrosshairsWidth !== 0) { + ttCtx.xaxisTooltip.classList.add('apexcharts-active'); + var cy = ttCtx.xaxisOffY + w.config.xaxis.tooltip.offsetY + w.globals.translateY + 1 + w.config.xaxis.offsetY; + var xaxisTTText = ttCtx.xaxisTooltip.getBoundingClientRect(); + var xaxisTTTextWidth = xaxisTTText.width; + cx = cx - xaxisTTTextWidth / 2; + + if (!isNaN(cx)) { + cx = cx + w.globals.translateX; + var textRect = 0; + var graphics = new Graphics(this.ctx); + textRect = graphics.getTextRects(ttCtx.xaxisTooltipText.innerHTML); + ttCtx.xaxisTooltipText.style.minWidth = textRect.width + 'px'; + ttCtx.xaxisTooltip.style.left = cx + 'px'; + ttCtx.xaxisTooltip.style.top = cy + 'px'; + } + } + } + }, { + key: "moveYAxisTooltip", + value: function moveYAxisTooltip(index) { + var w = this.w; + var ttCtx = this.ttCtx; + + if (ttCtx.yaxisTTEls === null) { + ttCtx.yaxisTTEls = w.globals.dom.baseEl.querySelectorAll('.apexcharts-yaxistooltip'); + } + + var ycrosshairsHiddenRectY1 = parseInt(ttCtx.ycrosshairsHidden.getAttribute('y1'), 10); + var cy = w.globals.translateY + ycrosshairsHiddenRectY1; + var yAxisTTRect = ttCtx.yaxisTTEls[index].getBoundingClientRect(); + var yAxisTTHeight = yAxisTTRect.height; + var cx = w.globals.translateYAxisX[index] - 2; + + if (w.config.yaxis[index].opposite) { + cx = cx - 26; + } + + cy = cy - yAxisTTHeight / 2; + + if (w.globals.ignoreYAxisIndexes.indexOf(index) === -1) { + ttCtx.yaxisTTEls[index].classList.add('apexcharts-active'); + ttCtx.yaxisTTEls[index].style.top = cy + 'px'; + ttCtx.yaxisTTEls[index].style.left = cx + w.config.yaxis[index].tooltip.offsetX + 'px'; + } else { + ttCtx.yaxisTTEls[index].classList.remove('apexcharts-active'); + } + } + /** + ** moves the whole tooltip by changing x, y attrs + * @memberof Position + * @param {int} - cx = point's x position, wherever point's x is, you need to move tooltip + * @param {int} - cy = point's y position, wherever point's y is, you need to move tooltip + * @param {int} - r = point's radius + */ + + }, { + key: "moveTooltip", + value: function moveTooltip(cx, cy) { + var r = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var w = this.w; + var ttCtx = this.ttCtx; + var tooltipEl = ttCtx.getElTooltip(); + var tooltipRect = ttCtx.tooltipRect; + var pointR = r !== null ? parseFloat(r) : 1; + var x = parseFloat(cx) + pointR + 5; + var y = parseFloat(cy) + pointR / 2; // - tooltipRect.ttHeight / 2 + + if (x > w.globals.gridWidth / 2) { + x = x - tooltipRect.ttWidth - pointR - 10; + } + + if (x > w.globals.gridWidth - tooltipRect.ttWidth - 10) { + x = w.globals.gridWidth - tooltipRect.ttWidth; + } + + if (x < -20) { + x = -20; + } + + if (w.config.tooltip.followCursor) { + var elGrid = ttCtx.getElGrid(); + var seriesBound = elGrid.getBoundingClientRect(); + x = ttCtx.e.clientX - seriesBound.left; + + if (x > w.globals.gridWidth / 2) { + x = x - ttCtx.tooltipRect.ttWidth; + } + + y = ttCtx.e.clientY + w.globals.translateY - seriesBound.top; + + if (y > w.globals.gridHeight / 2) { + y = y - ttCtx.tooltipRect.ttHeight; + } + } else { + if (!w.globals.isBarHorizontal) { + if (tooltipRect.ttHeight / 2 + y > w.globals.gridHeight) { + y = w.globals.gridHeight - tooltipRect.ttHeight + w.globals.translateY; + } + } + } + + if (!isNaN(x)) { + x = x + w.globals.translateX; + tooltipEl.style.left = x + 'px'; + tooltipEl.style.top = y + 'px'; + } + } + }, { + key: "moveMarkers", + value: function moveMarkers(i, j) { + var w = this.w; + var ttCtx = this.ttCtx; + + if (w.globals.markers.size[i] > 0) { + var allPoints = w.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(i, "'] .apexcharts-marker")); + + for (var p = 0; p < allPoints.length; p++) { + if (parseInt(allPoints[p].getAttribute('rel'), 10) === j) { + ttCtx.marker.resetPointsSize(); + ttCtx.marker.enlargeCurrentPoint(j, allPoints[p]); + } + } + } else { + ttCtx.marker.resetPointsSize(); + this.moveDynamicPointOnHover(j, i); + } + } // This function is used when you need to show markers/points only on hover - + // DIFFERENT X VALUES in multiple series + + }, { + key: "moveDynamicPointOnHover", + value: function moveDynamicPointOnHover(j, capturedSeries) { + var w = this.w; + var ttCtx = this.ttCtx; + var cx = 0; + var cy = 0; + var pointsArr = w.globals.pointsArray; + var hoverSize = ttCtx.tooltipUtil.getHoverMarkerSize(capturedSeries); + var serType = w.config.series[capturedSeries].type; + + if (serType && (serType === 'column' || serType === 'candlestick' || serType === 'boxPlot')) { + // fix error mentioned in #811 + return; + } + + cx = pointsArr[capturedSeries][j][0]; + cy = pointsArr[capturedSeries][j][1] ? pointsArr[capturedSeries][j][1] : 0; + var point = w.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(capturedSeries, "'] .apexcharts-series-markers circle")); + + if (point && cy < w.globals.gridHeight && cy > 0) { + point.setAttribute('r', hoverSize); + point.setAttribute('cx', cx); + point.setAttribute('cy', cy); + } // point.style.opacity = w.config.markers.hover.opacity + + + this.moveXCrosshairs(cx); + + if (!ttCtx.fixedTooltip) { + this.moveTooltip(cx, cy, hoverSize); + } + } // This function is used when you need to show markers/points only on hover - + // SAME X VALUES in multiple series + + }, { + key: "moveDynamicPointsOnHover", + value: function moveDynamicPointsOnHover(j) { + var ttCtx = this.ttCtx; + var w = ttCtx.w; + var cx = 0; + var cy = 0; + var activeSeries = 0; + var pointsArr = w.globals.pointsArray; + var series = new Series(this.ctx); + activeSeries = series.getActiveConfigSeriesIndex('asc', ['line', 'area', 'scatter', 'bubble']); + var hoverSize = ttCtx.tooltipUtil.getHoverMarkerSize(activeSeries); + + if (pointsArr[activeSeries]) { + cx = pointsArr[activeSeries][j][0]; + cy = pointsArr[activeSeries][j][1]; + } + + var points = ttCtx.tooltipUtil.getAllMarkers(); + + if (points !== null) { + for (var p = 0; p < w.globals.series.length; p++) { + var pointArr = pointsArr[p]; + + if (w.globals.comboCharts) { + // in a combo chart, if column charts are present, markers will not match with the number of series, hence this patch to push a null value in points array + if (typeof pointArr === 'undefined') { + // nodelist to array + points.splice(p, 0, null); + } + } + + if (pointArr && pointArr.length) { + var pcy = pointsArr[p][j][1]; + var pcy2 = void 0; + points[p].setAttribute('cx', cx); + + if (w.config.chart.type === 'rangeArea' && !w.globals.comboCharts) { + var rangeStartIndex = j + w.globals.series[p].length; + pcy2 = pointsArr[p][rangeStartIndex][1]; + var pcyDiff = Math.abs(pcy - pcy2) / 2; + pcy = pcy - pcyDiff; + } + + if (pcy !== null && !isNaN(pcy) && pcy < w.globals.gridHeight + hoverSize && pcy + hoverSize > 0) { + points[p] && points[p].setAttribute('r', hoverSize); + points[p] && points[p].setAttribute('cy', pcy); + } else { + points[p] && points[p].setAttribute('r', 0); + } + } + } + } + + this.moveXCrosshairs(cx); + + if (!ttCtx.fixedTooltip) { + this.moveTooltip(cx, cy || w.globals.gridHeight, hoverSize); + } + } + }, { + key: "moveStickyTooltipOverBars", + value: function moveStickyTooltipOverBars(j, capturedSeries) { + var w = this.w; + var ttCtx = this.ttCtx; + var barLen = w.globals.columnSeries ? w.globals.columnSeries.length : w.globals.series.length; + var i = barLen >= 2 && barLen % 2 === 0 ? Math.floor(barLen / 2) : Math.floor(barLen / 2) + 1; + + if (w.globals.isBarHorizontal) { + var series = new Series(this.ctx); + i = series.getActiveConfigSeriesIndex('desc') + 1; + } + + var jBar = w.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(i, "'] path[j='").concat(j, "'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(i, "'] path[j='").concat(j, "'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(i, "'] path[j='").concat(j, "'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(i, "'] path[j='").concat(j, "']")); + + if (!jBar && typeof capturedSeries === 'number') { + // Try with captured series index + jBar = w.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(capturedSeries, "'] path[j='").concat(j, "'],\n .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='").concat(capturedSeries, "'] path[j='").concat(j, "'],\n .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='").concat(capturedSeries, "'] path[j='").concat(j, "'],\n .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='").concat(capturedSeries, "'] path[j='").concat(j, "']")); + } + + var bcx = jBar ? parseFloat(jBar.getAttribute('cx')) : 0; + var bcy = jBar ? parseFloat(jBar.getAttribute('cy')) : 0; + var bw = jBar ? parseFloat(jBar.getAttribute('barWidth')) : 0; + var elGrid = ttCtx.getElGrid(); + var seriesBound = elGrid.getBoundingClientRect(); + var isBoxOrCandle = jBar && (jBar.classList.contains('apexcharts-candlestick-area') || jBar.classList.contains('apexcharts-boxPlot-area')); + + if (w.globals.isXNumeric) { + if (jBar && !isBoxOrCandle) { + bcx = bcx - (barLen % 2 !== 0 ? bw / 2 : 0); + } + + if (jBar && // fixes apexcharts.js#2354 + isBoxOrCandle && w.globals.comboCharts) { + bcx = bcx - bw / 2; + } + } else { + if (!w.globals.isBarHorizontal) { + bcx = ttCtx.xAxisTicksPositions[j - 1] + ttCtx.dataPointsDividedWidth / 2; + + if (isNaN(bcx)) { + bcx = ttCtx.xAxisTicksPositions[j] - ttCtx.dataPointsDividedWidth / 2; + } + } + } + + if (!w.globals.isBarHorizontal) { + if (w.config.tooltip.followCursor) { + bcy = ttCtx.e.clientY - seriesBound.top - ttCtx.tooltipRect.ttHeight / 2; + } else { + if (bcy + ttCtx.tooltipRect.ttHeight + 15 > w.globals.gridHeight) { + bcy = w.globals.gridHeight; + } + } + } else { + bcy = bcy - ttCtx.tooltipRect.ttHeight; + } + + if (!w.globals.isBarHorizontal) { + this.moveXCrosshairs(bcx); + } + + if (!ttCtx.fixedTooltip) { + this.moveTooltip(bcx, bcy || w.globals.gridHeight); + } + } + }]); + + return Position; + }(); + + /** + * ApexCharts Tooltip.Marker Class to draw texts on the tooltip. + * This file deals with the markers that appear near tooltip in line/area charts. + * These markers helps the user to associate the data-points and the values + * that are shown in the tooltip + * + * @module Tooltip.Marker + **/ + + var Marker = /*#__PURE__*/function () { + function Marker(tooltipContext) { + _classCallCheck(this, Marker); + + this.w = tooltipContext.w; + this.ttCtx = tooltipContext; + this.ctx = tooltipContext.ctx; + this.tooltipPosition = new Position(tooltipContext); + } + + _createClass(Marker, [{ + key: "drawDynamicPoints", + value: function drawDynamicPoints() { + var w = this.w; + var graphics = new Graphics(this.ctx); + var marker = new Markers(this.ctx); + var elsSeries = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series'); + elsSeries = _toConsumableArray(elsSeries); + + if (w.config.chart.stacked) { + elsSeries.sort(function (a, b) { + return parseFloat(a.getAttribute('data:realIndex')) - parseFloat(b.getAttribute('data:realIndex')); + }); + } + + for (var i = 0; i < elsSeries.length; i++) { + var pointsMain = elsSeries[i].querySelector(".apexcharts-series-markers-wrap"); + + if (pointsMain !== null) { + // it can be null as we have tooltips in donut/bar charts + var point = void 0; + var PointClasses = "apexcharts-marker w".concat((Math.random() + 1).toString(36).substring(4)); + + if ((w.config.chart.type === 'line' || w.config.chart.type === 'area') && !w.globals.comboCharts && !w.config.tooltip.intersect) { + PointClasses += ' no-pointer-events'; + } + + var elPointOptions = marker.getMarkerConfig({ + cssClass: PointClasses, + seriesIndex: Number(pointsMain.getAttribute('data:realIndex')) // fixes apexcharts/apexcharts.js #1427 + + }); + point = graphics.drawMarker(0, 0, elPointOptions); + point.node.setAttribute('default-marker-size', 0); + var elPointsG = document.createElementNS(w.globals.SVGNS, 'g'); + elPointsG.classList.add('apexcharts-series-markers'); + elPointsG.appendChild(point.node); + pointsMain.appendChild(elPointsG); + } + } + } + }, { + key: "enlargeCurrentPoint", + value: function enlargeCurrentPoint(rel, point) { + var x = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var y = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + var w = this.w; + + if (w.config.chart.type !== 'bubble') { + this.newPointSize(rel, point); + } + + var cx = point.getAttribute('cx'); + var cy = point.getAttribute('cy'); + + if (x !== null && y !== null) { + cx = x; + cy = y; + } + + this.tooltipPosition.moveXCrosshairs(cx); + + if (!this.fixedTooltip) { + if (w.config.chart.type === 'radar') { + var elGrid = this.ttCtx.getElGrid(); + var seriesBound = elGrid.getBoundingClientRect(); + cx = this.ttCtx.e.clientX - seriesBound.left; + } + + this.tooltipPosition.moveTooltip(cx, cy, w.config.markers.hover.size); + } + } + }, { + key: "enlargePoints", + value: function enlargePoints(j) { + var w = this.w; + var me = this; + var ttCtx = this.ttCtx; + var col = j; + var points = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker'); + var newSize = w.config.markers.hover.size; + + for (var p = 0; p < points.length; p++) { + var rel = points[p].getAttribute('rel'); + var index = points[p].getAttribute('index'); + + if (newSize === undefined) { + newSize = w.globals.markers.size[index] + w.config.markers.hover.sizeOffset; + } + + if (col === parseInt(rel, 10)) { + me.newPointSize(col, points[p]); + var cx = points[p].getAttribute('cx'); + var cy = points[p].getAttribute('cy'); + me.tooltipPosition.moveXCrosshairs(cx); + + if (!ttCtx.fixedTooltip) { + me.tooltipPosition.moveTooltip(cx, cy, newSize); + } + } else { + me.oldPointSize(points[p]); + } + } + } + }, { + key: "newPointSize", + value: function newPointSize(rel, point) { + var w = this.w; + var newSize = w.config.markers.hover.size; + var elPoint = rel === 0 ? point.parentNode.firstChild : point.parentNode.lastChild; + + if (elPoint.getAttribute('default-marker-size') !== '0') { + var index = parseInt(elPoint.getAttribute('index'), 10); + + if (newSize === undefined) { + newSize = w.globals.markers.size[index] + w.config.markers.hover.sizeOffset; + } + + if (newSize < 0) newSize = 0; + elPoint.setAttribute('r', newSize); + } + } + }, { + key: "oldPointSize", + value: function oldPointSize(point) { + var size = parseFloat(point.getAttribute('default-marker-size')); + point.setAttribute('r', size); + } + }, { + key: "resetPointsSize", + value: function resetPointsSize() { + var w = this.w; + var points = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker'); + + for (var p = 0; p < points.length; p++) { + var size = parseFloat(points[p].getAttribute('default-marker-size')); + + if (Utils$1.isNumber(size) && size >= 0) { + points[p].setAttribute('r', size); + } else { + points[p].setAttribute('r', 0); + } + } + } + }]); + + return Marker; + }(); + + /** + * ApexCharts Tooltip.Intersect Class. + * This file deals with functions related to intersecting tooltips + * (tooltips that appear when user hovers directly over a data-point whether) + * + * @module Tooltip.Intersect + **/ + + var Intersect = /*#__PURE__*/function () { + function Intersect(tooltipContext) { + _classCallCheck(this, Intersect); + + this.w = tooltipContext.w; + this.ttCtx = tooltipContext; + } // a helper function to get an element's attribute value + + + _createClass(Intersect, [{ + key: "getAttr", + value: function getAttr(e, attr) { + return parseFloat(e.target.getAttribute(attr)); + } // handle tooltip for heatmaps and treemaps + + }, { + key: "handleHeatTreeTooltip", + value: function handleHeatTreeTooltip(_ref) { + var e = _ref.e, + opt = _ref.opt, + x = _ref.x, + y = _ref.y, + type = _ref.type; + var ttCtx = this.ttCtx; + var w = this.w; + + if (e.target.classList.contains("apexcharts-".concat(type, "-rect"))) { + var i = this.getAttr(e, 'i'); + var j = this.getAttr(e, 'j'); + var cx = this.getAttr(e, 'cx'); + var cy = this.getAttr(e, 'cy'); + var width = this.getAttr(e, 'width'); + var height = this.getAttr(e, 'height'); + ttCtx.tooltipLabels.drawSeriesTexts({ + ttItems: opt.ttItems, + i: i, + j: j, + shared: false, + e: e + }); + w.globals.capturedSeriesIndex = i; + w.globals.capturedDataPointIndex = j; + x = cx + ttCtx.tooltipRect.ttWidth / 2 + width; + y = cy + ttCtx.tooltipRect.ttHeight / 2 - height / 2; + ttCtx.tooltipPosition.moveXCrosshairs(cx + width / 2); + + if (x > w.globals.gridWidth / 2) { + x = cx - ttCtx.tooltipRect.ttWidth / 2 + width; + } + + if (ttCtx.w.config.tooltip.followCursor) { + var seriesBound = w.globals.dom.elWrap.getBoundingClientRect(); + x = w.globals.clientX - seriesBound.left - (x > w.globals.gridWidth / 2 ? ttCtx.tooltipRect.ttWidth : 0); + y = w.globals.clientY - seriesBound.top - (y > w.globals.gridHeight / 2 ? ttCtx.tooltipRect.ttHeight : 0); + } + } + + return { + x: x, + y: y + }; + } + /** + * handle tooltips for line/area/scatter charts where tooltip.intersect is true + * when user hovers over the marker directly, this function is executed + */ + + }, { + key: "handleMarkerTooltip", + value: function handleMarkerTooltip(_ref2) { + var e = _ref2.e, + opt = _ref2.opt, + x = _ref2.x, + y = _ref2.y; + var w = this.w; + var ttCtx = this.ttCtx; + var i; + var j; + + if (e.target.classList.contains('apexcharts-marker')) { + var cx = parseInt(opt.paths.getAttribute('cx'), 10); + var cy = parseInt(opt.paths.getAttribute('cy'), 10); + var val = parseFloat(opt.paths.getAttribute('val')); + j = parseInt(opt.paths.getAttribute('rel'), 10); + i = parseInt(opt.paths.parentNode.parentNode.parentNode.getAttribute('rel'), 10) - 1; + + if (ttCtx.intersect) { + var el = Utils$1.findAncestor(opt.paths, 'apexcharts-series'); + + if (el) { + i = parseInt(el.getAttribute('data:realIndex'), 10); + } + } + + ttCtx.tooltipLabels.drawSeriesTexts({ + ttItems: opt.ttItems, + i: i, + j: j, + shared: ttCtx.showOnIntersect ? false : w.config.tooltip.shared, + e: e + }); + + if (e.type === 'mouseup') { + ttCtx.markerClick(e, i, j); + } + + w.globals.capturedSeriesIndex = i; + w.globals.capturedDataPointIndex = j; + x = cx; + y = cy + w.globals.translateY - ttCtx.tooltipRect.ttHeight * 1.4; + + if (ttCtx.w.config.tooltip.followCursor) { + var elGrid = ttCtx.getElGrid(); + var seriesBound = elGrid.getBoundingClientRect(); + y = ttCtx.e.clientY + w.globals.translateY - seriesBound.top; + } + + if (val < 0) { + y = cy; + } + + ttCtx.marker.enlargeCurrentPoint(j, opt.paths, x, y); + } + + return { + x: x, + y: y + }; + } + /** + * handle tooltips for bar/column charts + */ + + }, { + key: "handleBarTooltip", + value: function handleBarTooltip(_ref3) { + var e = _ref3.e, + opt = _ref3.opt; + var w = this.w; + var ttCtx = this.ttCtx; + var tooltipEl = ttCtx.getElTooltip(); + var bx = 0; + var x = 0; + var y = 0; + var i = 0; + var strokeWidth; + var barXY = this.getBarTooltipXY({ + e: e, + opt: opt + }); + i = barXY.i; + var barHeight = barXY.barHeight; + var j = barXY.j; + w.globals.capturedSeriesIndex = i; + w.globals.capturedDataPointIndex = j; + + if (w.globals.isBarHorizontal && ttCtx.tooltipUtil.hasBars() || !w.config.tooltip.shared) { + x = barXY.x; + y = barXY.y; + strokeWidth = Array.isArray(w.config.stroke.width) ? w.config.stroke.width[i] : w.config.stroke.width; + bx = x; + } else { + if (!w.globals.comboCharts && !w.config.tooltip.shared) { + // todo: re-check this condition as it's always 0 + bx = bx / 2; + } + } // y is NaN, make it touch the bottom of grid area + + + if (isNaN(y)) { + y = w.globals.svgHeight - ttCtx.tooltipRect.ttHeight; + } + + var seriesIndex = parseInt(opt.paths.parentNode.getAttribute('data:realIndex'), 10); + var isReversed = w.globals.isMultipleYAxis ? w.config.yaxis[seriesIndex] && w.config.yaxis[seriesIndex].reversed : w.config.yaxis[0].reversed; + + if (x + ttCtx.tooltipRect.ttWidth > w.globals.gridWidth && !isReversed) { + x = x - ttCtx.tooltipRect.ttWidth; + } else if (x < 0) { + x = 0; + } + + if (ttCtx.w.config.tooltip.followCursor) { + var elGrid = ttCtx.getElGrid(); + var seriesBound = elGrid.getBoundingClientRect(); + y = ttCtx.e.clientY - seriesBound.top; + } // if tooltip is still null, querySelector + + + if (ttCtx.tooltip === null) { + ttCtx.tooltip = w.globals.dom.baseEl.querySelector('.apexcharts-tooltip'); + } + + if (!w.config.tooltip.shared) { + if (w.globals.comboBarCount > 0) { + ttCtx.tooltipPosition.moveXCrosshairs(bx + strokeWidth / 2); + } else { + ttCtx.tooltipPosition.moveXCrosshairs(bx); + } + } // move tooltip here + + + if (!ttCtx.fixedTooltip && (!w.config.tooltip.shared || w.globals.isBarHorizontal && ttCtx.tooltipUtil.hasBars())) { + if (isReversed) { + x = x - ttCtx.tooltipRect.ttWidth; + + if (x < 0) { + x = 0; + } + } + + if (isReversed && !(w.globals.isBarHorizontal && ttCtx.tooltipUtil.hasBars())) { + y = y + barHeight - (w.globals.series[i][j] < 0 ? barHeight : 0) * 2; + } + + y = y + w.globals.translateY - ttCtx.tooltipRect.ttHeight / 2; + tooltipEl.style.left = x + w.globals.translateX + 'px'; + tooltipEl.style.top = y + 'px'; + } + } + }, { + key: "getBarTooltipXY", + value: function getBarTooltipXY(_ref4) { + var e = _ref4.e, + opt = _ref4.opt; + var w = this.w; + var j = null; + var ttCtx = this.ttCtx; + var i = 0; + var x = 0; + var y = 0; + var barWidth = 0; + var barHeight = 0; + var cl = e.target.classList; + + if (cl.contains('apexcharts-bar-area') || cl.contains('apexcharts-candlestick-area') || cl.contains('apexcharts-boxPlot-area') || cl.contains('apexcharts-rangebar-area')) { + var bar = e.target; + var barRect = bar.getBoundingClientRect(); + var seriesBound = opt.elGrid.getBoundingClientRect(); + var bh = barRect.height; + barHeight = barRect.height; + var bw = barRect.width; + var cx = parseInt(bar.getAttribute('cx'), 10); + var cy = parseInt(bar.getAttribute('cy'), 10); + barWidth = parseFloat(bar.getAttribute('barWidth')); + var clientX = e.type === 'touchmove' ? e.touches[0].clientX : e.clientX; + j = parseInt(bar.getAttribute('j'), 10); + i = parseInt(bar.parentNode.getAttribute('rel'), 10) - 1; + var y1 = bar.getAttribute('data-range-y1'); + var y2 = bar.getAttribute('data-range-y2'); + + if (w.globals.comboCharts) { + i = parseInt(bar.parentNode.getAttribute('data:realIndex'), 10); + } // if (w.config.tooltip.shared) { + // this check not needed at the moment + // const yDivisor = w.globals.gridHeight / (w.globals.series.length) + // const hoverY = ttCtx.clientY - ttCtx.seriesBound.top + // j = Math.ceil(hoverY / yDivisor) + // } + + + ttCtx.tooltipLabels.drawSeriesTexts({ + ttItems: opt.ttItems, + i: i, + j: j, + y1: y1 ? parseInt(y1, 10) : null, + y2: y2 ? parseInt(y2, 10) : null, + shared: ttCtx.showOnIntersect ? false : w.config.tooltip.shared, + e: e + }); + + if (w.config.tooltip.followCursor) { + if (w.globals.isBarHorizontal) { + x = clientX - seriesBound.left + 15; + y = cy - ttCtx.dataPointsDividedHeight + bh / 2 - ttCtx.tooltipRect.ttHeight / 2; + } else { + if (w.globals.isXNumeric) { + x = cx - bw / 2; + } else { + x = cx - ttCtx.dataPointsDividedWidth + bw / 2; + } + + y = e.clientY - seriesBound.top - ttCtx.tooltipRect.ttHeight / 2 - 15; + } + } else { + if (w.globals.isBarHorizontal) { + x = cx; + + if (x < ttCtx.xyRatios.baseLineInvertedY) { + x = cx - ttCtx.tooltipRect.ttWidth; + } + + y = cy - ttCtx.dataPointsDividedHeight + bh / 2 - ttCtx.tooltipRect.ttHeight / 2; + } else { + // if columns + if (w.globals.isXNumeric) { + x = cx - bw / 2; + } else { + x = cx - ttCtx.dataPointsDividedWidth + bw / 2; + } + + y = cy; // - ttCtx.tooltipRect.ttHeight / 2 + 10 + } + } + } + + return { + x: x, + y: y, + barHeight: barHeight, + barWidth: barWidth, + i: i, + j: j + }; + } + }]); + + return Intersect; + }(); + + /** + * ApexCharts Tooltip.AxesTooltip Class. + * This file deals with the x-axis and y-axis tooltips. + * + * @module Tooltip.AxesTooltip + **/ + var AxesTooltip = /*#__PURE__*/function () { + function AxesTooltip(tooltipContext) { + _classCallCheck(this, AxesTooltip); + + this.w = tooltipContext.w; + this.ttCtx = tooltipContext; + } + /** + * This method adds the secondary tooltip which appears below x axis + * @memberof Tooltip + **/ + + + _createClass(AxesTooltip, [{ + key: "drawXaxisTooltip", + value: function drawXaxisTooltip() { + var w = this.w; + var ttCtx = this.ttCtx; + var isBottom = w.config.xaxis.position === 'bottom'; + ttCtx.xaxisOffY = isBottom ? w.globals.gridHeight + 1 : -w.globals.xAxisHeight - w.config.xaxis.axisTicks.height + 3; + var tooltipCssClass = isBottom ? 'apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom' : 'apexcharts-xaxistooltip apexcharts-xaxistooltip-top'; + var renderTo = w.globals.dom.elWrap; + + if (ttCtx.isXAxisTooltipEnabled) { + var xaxisTooltip = w.globals.dom.baseEl.querySelector('.apexcharts-xaxistooltip'); + + if (xaxisTooltip === null) { + ttCtx.xaxisTooltip = document.createElement('div'); + ttCtx.xaxisTooltip.setAttribute('class', tooltipCssClass + ' apexcharts-theme-' + w.config.tooltip.theme); + renderTo.appendChild(ttCtx.xaxisTooltip); + ttCtx.xaxisTooltipText = document.createElement('div'); + ttCtx.xaxisTooltipText.classList.add('apexcharts-xaxistooltip-text'); + ttCtx.xaxisTooltipText.style.fontFamily = w.config.xaxis.tooltip.style.fontFamily || w.config.chart.fontFamily; + ttCtx.xaxisTooltipText.style.fontSize = w.config.xaxis.tooltip.style.fontSize; + ttCtx.xaxisTooltip.appendChild(ttCtx.xaxisTooltipText); + } + } + } + /** + * This method adds the secondary tooltip which appears below x axis + * @memberof Tooltip + **/ + + }, { + key: "drawYaxisTooltip", + value: function drawYaxisTooltip() { + var w = this.w; + var ttCtx = this.ttCtx; + + var _loop = function _loop(i) { + var isRight = w.config.yaxis[i].opposite || w.config.yaxis[i].crosshairs.opposite; + ttCtx.yaxisOffX = isRight ? w.globals.gridWidth + 1 : 1; + var tooltipCssClass = isRight ? "apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i, " apexcharts-yaxistooltip-right") : "apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i, " apexcharts-yaxistooltip-left"); + w.globals.yAxisSameScaleIndices.map(function (samescales, ssi) { + samescales.map(function (s, si) { + if (si === i) { + tooltipCssClass += w.config.yaxis[si].show ? " " : " apexcharts-yaxistooltip-hidden"; + } + }); + }); + var renderTo = w.globals.dom.elWrap; + var yaxisTooltip = w.globals.dom.baseEl.querySelector(".apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i)); + + if (yaxisTooltip === null) { + ttCtx.yaxisTooltip = document.createElement('div'); + ttCtx.yaxisTooltip.setAttribute('class', tooltipCssClass + ' apexcharts-theme-' + w.config.tooltip.theme); + renderTo.appendChild(ttCtx.yaxisTooltip); + if (i === 0) ttCtx.yaxisTooltipText = []; + ttCtx.yaxisTooltipText[i] = document.createElement('div'); + ttCtx.yaxisTooltipText[i].classList.add('apexcharts-yaxistooltip-text'); + ttCtx.yaxisTooltip.appendChild(ttCtx.yaxisTooltipText[i]); + } + }; + + for (var i = 0; i < w.config.yaxis.length; i++) { + _loop(i); + } + } + /** + * @memberof Tooltip + **/ + + }, { + key: "setXCrosshairWidth", + value: function setXCrosshairWidth() { + var w = this.w; + var ttCtx = this.ttCtx; // set xcrosshairs width + + var xcrosshairs = ttCtx.getElXCrosshairs(); + ttCtx.xcrosshairsWidth = parseInt(w.config.xaxis.crosshairs.width, 10); + + if (!w.globals.comboCharts) { + if (w.config.xaxis.crosshairs.width === 'tickWidth') { + var count = w.globals.labels.length; + ttCtx.xcrosshairsWidth = w.globals.gridWidth / count; + } else if (w.config.xaxis.crosshairs.width === 'barWidth') { + var bar = w.globals.dom.baseEl.querySelector('.apexcharts-bar-area'); + + if (bar !== null) { + var barWidth = parseFloat(bar.getAttribute('barWidth')); + ttCtx.xcrosshairsWidth = barWidth; + } else { + ttCtx.xcrosshairsWidth = 1; + } + } + } else { + var _bar = w.globals.dom.baseEl.querySelector('.apexcharts-bar-area'); + + if (_bar !== null && w.config.xaxis.crosshairs.width === 'barWidth') { + var _barWidth = parseFloat(_bar.getAttribute('barWidth')); + + ttCtx.xcrosshairsWidth = _barWidth; + } else { + if (w.config.xaxis.crosshairs.width === 'tickWidth') { + var _count = w.globals.labels.length; + ttCtx.xcrosshairsWidth = w.globals.gridWidth / _count; + } + } + } + + if (w.globals.isBarHorizontal) { + ttCtx.xcrosshairsWidth = 0; + } + + if (xcrosshairs !== null && ttCtx.xcrosshairsWidth > 0) { + xcrosshairs.setAttribute('width', ttCtx.xcrosshairsWidth); + } + } + }, { + key: "handleYCrosshair", + value: function handleYCrosshair() { + var w = this.w; + var ttCtx = this.ttCtx; // set ycrosshairs height + + ttCtx.ycrosshairs = w.globals.dom.baseEl.querySelector('.apexcharts-ycrosshairs'); + ttCtx.ycrosshairsHidden = w.globals.dom.baseEl.querySelector('.apexcharts-ycrosshairs-hidden'); + } + }, { + key: "drawYaxisTooltipText", + value: function drawYaxisTooltipText(index, clientY, xyRatios) { + var ttCtx = this.ttCtx; + var w = this.w; + var lbFormatter = w.globals.yLabelFormatters[index]; + + if (ttCtx.yaxisTooltips[index]) { + var elGrid = ttCtx.getElGrid(); + var seriesBound = elGrid.getBoundingClientRect(); + var hoverY = (clientY - seriesBound.top) * xyRatios.yRatio[index]; + var height = w.globals.maxYArr[index] - w.globals.minYArr[index]; + var val = w.globals.minYArr[index] + (height - hoverY); + ttCtx.tooltipPosition.moveYCrosshairs(clientY - seriesBound.top); + ttCtx.yaxisTooltipText[index].innerHTML = lbFormatter(val); + ttCtx.tooltipPosition.moveYAxisTooltip(index); + } + } + }]); + + return AxesTooltip; + }(); + + /** + * ApexCharts Core Tooltip Class to handle the tooltip generation. + * + * @module Tooltip + **/ + + var Tooltip = /*#__PURE__*/function () { + function Tooltip(ctx) { + _classCallCheck(this, Tooltip); + + this.ctx = ctx; + this.w = ctx.w; + var w = this.w; + this.tConfig = w.config.tooltip; + this.tooltipUtil = new Utils(this); + this.tooltipLabels = new Labels(this); + this.tooltipPosition = new Position(this); + this.marker = new Marker(this); + this.intersect = new Intersect(this); + this.axesTooltip = new AxesTooltip(this); + this.showOnIntersect = this.tConfig.intersect; + this.showTooltipTitle = this.tConfig.x.show; + this.fixedTooltip = this.tConfig.fixed.enabled; + this.xaxisTooltip = null; + this.yaxisTTEls = null; + this.isBarShared = !w.globals.isBarHorizontal && this.tConfig.shared; + this.lastHoverTime = Date.now(); + } + + _createClass(Tooltip, [{ + key: "getElTooltip", + value: function getElTooltip(ctx) { + if (!ctx) ctx = this; + if (!ctx.w.globals.dom.baseEl) return null; + return ctx.w.globals.dom.baseEl.querySelector('.apexcharts-tooltip'); + } + }, { + key: "getElXCrosshairs", + value: function getElXCrosshairs() { + return this.w.globals.dom.baseEl.querySelector('.apexcharts-xcrosshairs'); + } + }, { + key: "getElGrid", + value: function getElGrid() { + return this.w.globals.dom.baseEl.querySelector('.apexcharts-grid'); + } + }, { + key: "drawTooltip", + value: function drawTooltip(xyRatios) { + var w = this.w; + this.xyRatios = xyRatios; + this.isXAxisTooltipEnabled = w.config.xaxis.tooltip.enabled && w.globals.axisCharts; + this.yaxisTooltips = w.config.yaxis.map(function (y, i) { + return y.show && y.tooltip.enabled && w.globals.axisCharts ? true : false; + }); + this.allTooltipSeriesGroups = []; + + if (!w.globals.axisCharts) { + this.showTooltipTitle = false; + } + + var tooltipEl = document.createElement('div'); + tooltipEl.classList.add('apexcharts-tooltip'); + + if (w.config.tooltip.cssClass) { + tooltipEl.classList.add(w.config.tooltip.cssClass); + } + + tooltipEl.classList.add("apexcharts-theme-".concat(this.tConfig.theme)); + w.globals.dom.elWrap.appendChild(tooltipEl); + + if (w.globals.axisCharts) { + this.axesTooltip.drawXaxisTooltip(); + this.axesTooltip.drawYaxisTooltip(); + this.axesTooltip.setXCrosshairWidth(); + this.axesTooltip.handleYCrosshair(); + var xAxis = new XAxis(this.ctx); + this.xAxisTicksPositions = xAxis.getXAxisTicksPositions(); + } // we forcefully set intersect true for these conditions + + + if ((w.globals.comboCharts || this.tConfig.intersect || w.config.chart.type === 'rangeBar') && !this.tConfig.shared) { + this.showOnIntersect = true; + } + + if (w.config.markers.size === 0 || w.globals.markers.largestSize === 0) { + // when user don't want to show points all the time, but only on when hovering on series + this.marker.drawDynamicPoints(this); + } // no visible series, exit + + + if (w.globals.collapsedSeries.length === w.globals.series.length) return; + this.dataPointsDividedHeight = w.globals.gridHeight / w.globals.dataPoints; + this.dataPointsDividedWidth = w.globals.gridWidth / w.globals.dataPoints; + + if (this.showTooltipTitle) { + this.tooltipTitle = document.createElement('div'); + this.tooltipTitle.classList.add('apexcharts-tooltip-title'); + this.tooltipTitle.style.fontFamily = this.tConfig.style.fontFamily || w.config.chart.fontFamily; + this.tooltipTitle.style.fontSize = this.tConfig.style.fontSize; + tooltipEl.appendChild(this.tooltipTitle); + } + + var ttItemsCnt = w.globals.series.length; // whether shared or not, default is shared + + if ((w.globals.xyCharts || w.globals.comboCharts) && this.tConfig.shared) { + if (!this.showOnIntersect) { + ttItemsCnt = w.globals.series.length; + } else { + ttItemsCnt = 1; + } + } + + this.legendLabels = w.globals.dom.baseEl.querySelectorAll('.apexcharts-legend-text'); + this.ttItems = this.createTTElements(ttItemsCnt); + this.addSVGEvents(); + } + }, { + key: "createTTElements", + value: function createTTElements(ttItemsCnt) { + var _this = this; + + var w = this.w; + var ttItems = []; + var tooltipEl = this.getElTooltip(); + + var _loop = function _loop(i) { + var gTxt = document.createElement('div'); + gTxt.classList.add('apexcharts-tooltip-series-group'); + gTxt.style.order = w.config.tooltip.inverseOrder ? ttItemsCnt - i : i + 1; + + if (_this.tConfig.shared && _this.tConfig.enabledOnSeries && Array.isArray(_this.tConfig.enabledOnSeries)) { + if (_this.tConfig.enabledOnSeries.indexOf(i) < 0) { + gTxt.classList.add('apexcharts-tooltip-series-group-hidden'); + } + } + + var point = document.createElement('span'); + point.classList.add('apexcharts-tooltip-marker'); + point.style.backgroundColor = w.globals.colors[i]; + gTxt.appendChild(point); + var gYZ = document.createElement('div'); + gYZ.classList.add('apexcharts-tooltip-text'); + gYZ.style.fontFamily = _this.tConfig.style.fontFamily || w.config.chart.fontFamily; + gYZ.style.fontSize = _this.tConfig.style.fontSize; + ['y', 'goals', 'z'].forEach(function (g) { + var gValText = document.createElement('div'); + gValText.classList.add("apexcharts-tooltip-".concat(g, "-group")); + var txtLabel = document.createElement('span'); + txtLabel.classList.add("apexcharts-tooltip-text-".concat(g, "-label")); + gValText.appendChild(txtLabel); + var txtValue = document.createElement('span'); + txtValue.classList.add("apexcharts-tooltip-text-".concat(g, "-value")); + gValText.appendChild(txtValue); + gYZ.appendChild(gValText); + }); + gTxt.appendChild(gYZ); + tooltipEl.appendChild(gTxt); + ttItems.push(gTxt); + }; + + for (var i = 0; i < ttItemsCnt; i++) { + _loop(i); + } + + return ttItems; + } + }, { + key: "addSVGEvents", + value: function addSVGEvents() { + var w = this.w; + var type = w.config.chart.type; + var tooltipEl = this.getElTooltip(); + var commonBar = !!(type === 'bar' || type === 'candlestick' || type === 'boxPlot' || type === 'rangeBar'); + var chartWithmarkers = type === 'area' || type === 'line' || type === 'scatter' || type === 'bubble' || type === 'radar'; + var hoverArea = w.globals.dom.Paper.node; + var elGrid = this.getElGrid(); + + if (elGrid) { + this.seriesBound = elGrid.getBoundingClientRect(); + } + + var tooltipY = []; + var tooltipX = []; + var seriesHoverParams = { + hoverArea: hoverArea, + elGrid: elGrid, + tooltipEl: tooltipEl, + tooltipY: tooltipY, + tooltipX: tooltipX, + ttItems: this.ttItems + }; + var points; + + if (w.globals.axisCharts) { + if (chartWithmarkers) { + points = w.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:longestSeries='true'] .apexcharts-marker"); + } else if (commonBar) { + points = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series .apexcharts-bar-area, .apexcharts-series .apexcharts-candlestick-area, .apexcharts-series .apexcharts-boxPlot-area, .apexcharts-series .apexcharts-rangebar-area'); + } else if (type === 'heatmap' || type === 'treemap') { + points = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series .apexcharts-heatmap, .apexcharts-series .apexcharts-treemap'); + } + + if (points && points.length) { + for (var p = 0; p < points.length; p++) { + tooltipY.push(points[p].getAttribute('cy')); + tooltipX.push(points[p].getAttribute('cx')); + } + } + } + + var validSharedChartTypes = w.globals.xyCharts && !this.showOnIntersect || w.globals.comboCharts && !this.showOnIntersect || commonBar && this.tooltipUtil.hasBars() && this.tConfig.shared; + + if (validSharedChartTypes) { + this.addPathsEventListeners([hoverArea], seriesHoverParams); + } else if (commonBar && !w.globals.comboCharts || chartWithmarkers && this.showOnIntersect) { + this.addDatapointEventsListeners(seriesHoverParams); + } else if (!w.globals.axisCharts || type === 'heatmap' || type === 'treemap') { + var seriesAll = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series'); + this.addPathsEventListeners(seriesAll, seriesHoverParams); + } + + if (this.showOnIntersect) { + var lineAreaPoints = w.globals.dom.baseEl.querySelectorAll('.apexcharts-line-series .apexcharts-marker, .apexcharts-area-series .apexcharts-marker'); + + if (lineAreaPoints.length > 0) { + // if we find any lineSeries, addEventListeners for them + this.addPathsEventListeners(lineAreaPoints, seriesHoverParams); + } // combo charts may have bars, so add event listeners here too + + + if (this.tooltipUtil.hasBars() && !this.tConfig.shared) { + this.addDatapointEventsListeners(seriesHoverParams); + } + } + } + }, { + key: "drawFixedTooltipRect", + value: function drawFixedTooltipRect() { + var w = this.w; + var tooltipEl = this.getElTooltip(); + var tooltipRect = tooltipEl.getBoundingClientRect(); + var ttWidth = tooltipRect.width + 10; + var ttHeight = tooltipRect.height + 10; + var x = this.tConfig.fixed.offsetX; + var y = this.tConfig.fixed.offsetY; + var fixed = this.tConfig.fixed.position.toLowerCase(); + + if (fixed.indexOf('right') > -1) { + x = x + w.globals.svgWidth - ttWidth + 10; + } + + if (fixed.indexOf('bottom') > -1) { + y = y + w.globals.svgHeight - ttHeight - 10; + } + + tooltipEl.style.left = x + 'px'; + tooltipEl.style.top = y + 'px'; + return { + x: x, + y: y, + ttWidth: ttWidth, + ttHeight: ttHeight + }; + } + }, { + key: "addDatapointEventsListeners", + value: function addDatapointEventsListeners(seriesHoverParams) { + var w = this.w; + var points = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area'); + this.addPathsEventListeners(points, seriesHoverParams); + } + }, { + key: "addPathsEventListeners", + value: function addPathsEventListeners(paths, opts) { + var self = this; + + var _loop2 = function _loop2(p) { + var extendedOpts = { + paths: paths[p], + tooltipEl: opts.tooltipEl, + tooltipY: opts.tooltipY, + tooltipX: opts.tooltipX, + elGrid: opts.elGrid, + hoverArea: opts.hoverArea, + ttItems: opts.ttItems + }; + var events = ['mousemove', 'mouseup', 'touchmove', 'mouseout', 'touchend']; + events.map(function (ev) { + return paths[p].addEventListener(ev, self.onSeriesHover.bind(self, extendedOpts), { + capture: false, + passive: true + }); + }); + }; + + for (var p = 0; p < paths.length; p++) { + _loop2(p); + } + } + /* + ** Check to see if the tooltips should be updated based on a mouse / touch event + */ + + }, { + key: "onSeriesHover", + value: function onSeriesHover(opt, e) { + var _this2 = this; + + // If a user is moving their mouse quickly, don't bother updating the tooltip every single frame + var targetDelay = 100; + var timeSinceLastUpdate = Date.now() - this.lastHoverTime; + + if (timeSinceLastUpdate >= targetDelay) { + // The tooltip was last updated over 100ms ago - redraw it even if the user is still moving their + // mouse so they get some feedback that their moves are being registered + this.seriesHover(opt, e); + } else { + // The tooltip was last updated less than 100ms ago + // Cancel any other delayed draw, so we don't show stale data + clearTimeout(this.seriesHoverTimeout); // Schedule the next draw so that it happens about 100ms after the last update + + this.seriesHoverTimeout = setTimeout(function () { + _this2.seriesHover(opt, e); + }, targetDelay - timeSinceLastUpdate); + } + } + /* + ** The actual series hover function + */ + + }, { + key: "seriesHover", + value: function seriesHover(opt, e) { + var _this3 = this; + + this.lastHoverTime = Date.now(); + var chartGroups = []; + var w = this.w; // if user has more than one charts in group, we need to sync + + if (w.config.chart.group) { + chartGroups = this.ctx.getGroupedCharts(); + } + + if (w.globals.axisCharts && (w.globals.minX === -Infinity && w.globals.maxX === Infinity || w.globals.dataPoints === 0)) { + return; + } + + if (chartGroups.length) { + chartGroups.forEach(function (ch) { + var tooltipEl = _this3.getElTooltip(ch); + + var newOpts = { + paths: opt.paths, + tooltipEl: tooltipEl, + tooltipY: opt.tooltipY, + tooltipX: opt.tooltipX, + elGrid: opt.elGrid, + hoverArea: opt.hoverArea, + ttItems: ch.w.globals.tooltip.ttItems + }; // all the charts should have the same minX and maxX (same xaxis) for multiple tooltips to work correctly + + if (ch.w.globals.minX === _this3.w.globals.minX && ch.w.globals.maxX === _this3.w.globals.maxX) { + ch.w.globals.tooltip.seriesHoverByContext({ + chartCtx: ch, + ttCtx: ch.w.globals.tooltip, + opt: newOpts, + e: e + }); + } + }); + } else { + this.seriesHoverByContext({ + chartCtx: this.ctx, + ttCtx: this.w.globals.tooltip, + opt: opt, + e: e + }); + } + } + }, { + key: "seriesHoverByContext", + value: function seriesHoverByContext(_ref) { + var chartCtx = _ref.chartCtx, + ttCtx = _ref.ttCtx, + opt = _ref.opt, + e = _ref.e; + var w = chartCtx.w; + var tooltipEl = this.getElTooltip(); + if (!tooltipEl) return; // tooltipRect is calculated on every mousemove, because the text is dynamic + + ttCtx.tooltipRect = { + x: 0, + y: 0, + ttWidth: tooltipEl.getBoundingClientRect().width, + ttHeight: tooltipEl.getBoundingClientRect().height + }; + ttCtx.e = e; // highlight the current hovered bars + + if (ttCtx.tooltipUtil.hasBars() && !w.globals.comboCharts && !ttCtx.isBarShared) { + if (this.tConfig.onDatasetHover.highlightDataSeries) { + var series = new Series(chartCtx); + series.toggleSeriesOnHover(e, e.target.parentNode); + } + } + + if (ttCtx.fixedTooltip) { + ttCtx.drawFixedTooltipRect(); + } + + if (w.globals.axisCharts) { + ttCtx.axisChartsTooltips({ + e: e, + opt: opt, + tooltipRect: ttCtx.tooltipRect + }); + } else { + // non-plot charts i.e pie/donut/circle + ttCtx.nonAxisChartsTooltips({ + e: e, + opt: opt, + tooltipRect: ttCtx.tooltipRect + }); + } + } // tooltip handling for line/area/bar/columns/scatter + + }, { + key: "axisChartsTooltips", + value: function axisChartsTooltips(_ref2) { + var e = _ref2.e, + opt = _ref2.opt; + var w = this.w; + var x, y; + var seriesBound = opt.elGrid.getBoundingClientRect(); + var clientX = e.type === 'touchmove' ? e.touches[0].clientX : e.clientX; + var clientY = e.type === 'touchmove' ? e.touches[0].clientY : e.clientY; + this.clientY = clientY; + this.clientX = clientX; + w.globals.capturedSeriesIndex = -1; + w.globals.capturedDataPointIndex = -1; + + if (clientY < seriesBound.top || clientY > seriesBound.top + seriesBound.height) { + this.handleMouseOut(opt); + return; + } + + if (Array.isArray(this.tConfig.enabledOnSeries) && !w.config.tooltip.shared) { + var index = parseInt(opt.paths.getAttribute('index'), 10); + + if (this.tConfig.enabledOnSeries.indexOf(index) < 0) { + this.handleMouseOut(opt); + return; + } + } + + var tooltipEl = this.getElTooltip(); + var xcrosshairs = this.getElXCrosshairs(); + var isStickyTooltip = w.globals.xyCharts || w.config.chart.type === 'bar' && !w.globals.isBarHorizontal && this.tooltipUtil.hasBars() && this.tConfig.shared || w.globals.comboCharts && this.tooltipUtil.hasBars(); + + if (e.type === 'mousemove' || e.type === 'touchmove' || e.type === 'mouseup') { + // there is no series to hover over + if (w.globals.collapsedSeries.length + w.globals.ancillaryCollapsedSeries.length === w.globals.series.length) { + return; + } + + if (xcrosshairs !== null) { + xcrosshairs.classList.add('apexcharts-active'); + } + + var hasYAxisTooltip = this.yaxisTooltips.filter(function (b) { + return b === true; + }); + + if (this.ycrosshairs !== null && hasYAxisTooltip.length) { + this.ycrosshairs.classList.add('apexcharts-active'); + } + + if (isStickyTooltip && !this.showOnIntersect) { + this.handleStickyTooltip(e, clientX, clientY, opt); + } else { + if (w.config.chart.type === 'heatmap' || w.config.chart.type === 'treemap') { + var markerXY = this.intersect.handleHeatTreeTooltip({ + e: e, + opt: opt, + x: x, + y: y, + type: w.config.chart.type + }); + x = markerXY.x; + y = markerXY.y; + tooltipEl.style.left = x + 'px'; + tooltipEl.style.top = y + 'px'; + } else { + if (this.tooltipUtil.hasBars()) { + this.intersect.handleBarTooltip({ + e: e, + opt: opt + }); + } + + if (this.tooltipUtil.hasMarkers()) { + // intersect - line/area/scatter/bubble + this.intersect.handleMarkerTooltip({ + e: e, + opt: opt, + x: x, + y: y + }); + } + } + } + + if (this.yaxisTooltips.length) { + for (var yt = 0; yt < w.config.yaxis.length; yt++) { + this.axesTooltip.drawYaxisTooltipText(yt, clientY, this.xyRatios); + } + } + + opt.tooltipEl.classList.add('apexcharts-active'); + } else if (e.type === 'mouseout' || e.type === 'touchend') { + this.handleMouseOut(opt); + } + } // tooltip handling for pie/donuts + + }, { + key: "nonAxisChartsTooltips", + value: function nonAxisChartsTooltips(_ref3) { + var e = _ref3.e, + opt = _ref3.opt, + tooltipRect = _ref3.tooltipRect; + var w = this.w; + var rel = opt.paths.getAttribute('rel'); + var tooltipEl = this.getElTooltip(); + var seriesBound = w.globals.dom.elWrap.getBoundingClientRect(); + + if (e.type === 'mousemove' || e.type === 'touchmove') { + tooltipEl.classList.add('apexcharts-active'); + this.tooltipLabels.drawSeriesTexts({ + ttItems: opt.ttItems, + i: parseInt(rel, 10) - 1, + shared: false + }); + var x = w.globals.clientX - seriesBound.left - tooltipRect.ttWidth / 2; + var y = w.globals.clientY - seriesBound.top - tooltipRect.ttHeight - 10; + tooltipEl.style.left = x + 'px'; + tooltipEl.style.top = y + 'px'; + + if (w.config.legend.tooltipHoverFormatter) { + var legendFormatter = w.config.legend.tooltipHoverFormatter; + var i = rel - 1; + var legendName = this.legendLabels[i].getAttribute('data:default-text'); + var text = legendFormatter(legendName, { + seriesIndex: i, + dataPointIndex: i, + w: w + }); + this.legendLabels[i].innerHTML = text; + } + } else if (e.type === 'mouseout' || e.type === 'touchend') { + tooltipEl.classList.remove('apexcharts-active'); + + if (w.config.legend.tooltipHoverFormatter) { + this.legendLabels.forEach(function (l) { + var defaultText = l.getAttribute('data:default-text'); + l.innerHTML = decodeURIComponent(defaultText); + }); + } + } + } + }, { + key: "handleStickyTooltip", + value: function handleStickyTooltip(e, clientX, clientY, opt) { + var w = this.w; + var capj = this.tooltipUtil.getNearestValues({ + context: this, + hoverArea: opt.hoverArea, + elGrid: opt.elGrid, + clientX: clientX, + clientY: clientY + }); + var j = capj.j; + var capturedSeries = capj.capturedSeries; + if (w.globals.collapsedSeriesIndices.includes(capturedSeries)) capturedSeries = null; + var bounds = opt.elGrid.getBoundingClientRect(); + + if (capj.hoverX < 0 || capj.hoverX > bounds.width) { + this.handleMouseOut(opt); + return; + } + + if (capturedSeries !== null) { + this.handleStickyCapturedSeries(e, capturedSeries, opt, j); + } else { + // couldn't capture any series. check if shared X is same, + // if yes, draw a grouped tooltip + if (this.tooltipUtil.isXoverlap(j) || w.globals.isBarHorizontal) { + var firstVisibleSeries = w.globals.series.findIndex(function (s, i) { + return !w.globals.collapsedSeriesIndices.includes(i); + }); + this.create(e, this, firstVisibleSeries, j, opt.ttItems); + } + } + } + }, { + key: "handleStickyCapturedSeries", + value: function handleStickyCapturedSeries(e, capturedSeries, opt, j) { + var w = this.w; + + if (!this.tConfig.shared) { + var ignoreNull = w.globals.series[capturedSeries][j] === null; + + if (ignoreNull) { + this.handleMouseOut(opt); + return; + } + } + + if (typeof w.globals.series[capturedSeries][j] !== 'undefined') { + if (this.tConfig.shared && this.tooltipUtil.isXoverlap(j) && this.tooltipUtil.isInitialSeriesSameLen()) { + this.create(e, this, capturedSeries, j, opt.ttItems); + } else { + this.create(e, this, capturedSeries, j, opt.ttItems, false); + } + } else { + if (this.tooltipUtil.isXoverlap(j)) { + var firstVisibleSeries = w.globals.series.findIndex(function (s, i) { + return !w.globals.collapsedSeriesIndices.includes(i); + }); + this.create(e, this, firstVisibleSeries, j, opt.ttItems); + } + } + } + }, { + key: "deactivateHoverFilter", + value: function deactivateHoverFilter() { + var w = this.w; + var graphics = new Graphics(this.ctx); + var allPaths = w.globals.dom.Paper.select(".apexcharts-bar-area"); + + for (var b = 0; b < allPaths.length; b++) { + graphics.pathMouseLeave(allPaths[b]); + } + } + }, { + key: "handleMouseOut", + value: function handleMouseOut(opt) { + var w = this.w; + var xcrosshairs = this.getElXCrosshairs(); + opt.tooltipEl.classList.remove('apexcharts-active'); + this.deactivateHoverFilter(); + + if (w.config.chart.type !== 'bubble') { + this.marker.resetPointsSize(); + } + + if (xcrosshairs !== null) { + xcrosshairs.classList.remove('apexcharts-active'); + } + + if (this.ycrosshairs !== null) { + this.ycrosshairs.classList.remove('apexcharts-active'); + } + + if (this.isXAxisTooltipEnabled) { + this.xaxisTooltip.classList.remove('apexcharts-active'); + } + + if (this.yaxisTooltips.length) { + if (this.yaxisTTEls === null) { + this.yaxisTTEls = w.globals.dom.baseEl.querySelectorAll('.apexcharts-yaxistooltip'); + } + + for (var i = 0; i < this.yaxisTTEls.length; i++) { + this.yaxisTTEls[i].classList.remove('apexcharts-active'); + } + } + + if (w.config.legend.tooltipHoverFormatter) { + this.legendLabels.forEach(function (l) { + var defaultText = l.getAttribute('data:default-text'); + l.innerHTML = decodeURIComponent(defaultText); + }); + } + } + }, { + key: "markerClick", + value: function markerClick(e, seriesIndex, dataPointIndex) { + var w = this.w; + + if (typeof w.config.chart.events.markerClick === 'function') { + w.config.chart.events.markerClick(e, this.ctx, { + seriesIndex: seriesIndex, + dataPointIndex: dataPointIndex, + w: w + }); + } + + this.ctx.events.fireEvent('markerClick', [e, this.ctx, { + seriesIndex: seriesIndex, + dataPointIndex: dataPointIndex, + w: w + }]); + } + }, { + key: "create", + value: function create(e, context, capturedSeries, j, ttItems) { + var _w$globals$seriesRang, _w$globals$seriesRang2, _w$globals$seriesRang3, _w$globals$seriesRang4, _w$globals$seriesRang5, _w$globals$seriesRang6, _w$globals$seriesRang7, _w$globals$seriesRang8, _w$globals$seriesRang9, _w$globals$seriesRang10, _w$globals$seriesRang11, _w$globals$seriesRang12, _w$globals$seriesRang13, _w$globals$seriesRang14, _w$globals$seriesRang15, _w$globals$seriesRang16; + + var shared = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null; + var w = this.w; + var ttCtx = context; + + if (e.type === 'mouseup') { + this.markerClick(e, capturedSeries, j); + } + + if (shared === null) shared = this.tConfig.shared; + var hasMarkers = this.tooltipUtil.hasMarkers(capturedSeries); + var bars = this.tooltipUtil.getElBars(); + + if (w.config.legend.tooltipHoverFormatter) { + var legendFormatter = w.config.legend.tooltipHoverFormatter; + var els = Array.from(this.legendLabels); // reset all legend values first + + els.forEach(function (l) { + var legendName = l.getAttribute('data:default-text'); + l.innerHTML = decodeURIComponent(legendName); + }); // for irregular time series + + for (var i = 0; i < els.length; i++) { + var l = els[i]; + var lsIndex = parseInt(l.getAttribute('i'), 10); + var legendName = decodeURIComponent(l.getAttribute('data:default-text')); + var text = legendFormatter(legendName, { + seriesIndex: shared ? lsIndex : capturedSeries, + dataPointIndex: j, + w: w + }); + + if (!shared) { + l.innerHTML = lsIndex === capturedSeries ? text : legendName; + + if (capturedSeries === lsIndex) { + break; + } + } else { + l.innerHTML = w.globals.collapsedSeriesIndices.indexOf(lsIndex) < 0 ? text : legendName; + } + } + } + + var commonSeriesTextsParams = _objectSpread2(_objectSpread2({ + ttItems: ttItems, + i: capturedSeries, + j: j + }, typeof ((_w$globals$seriesRang = w.globals.seriesRange) === null || _w$globals$seriesRang === void 0 ? void 0 : (_w$globals$seriesRang2 = _w$globals$seriesRang[capturedSeries]) === null || _w$globals$seriesRang2 === void 0 ? void 0 : (_w$globals$seriesRang3 = _w$globals$seriesRang2[j]) === null || _w$globals$seriesRang3 === void 0 ? void 0 : (_w$globals$seriesRang4 = _w$globals$seriesRang3.y[0]) === null || _w$globals$seriesRang4 === void 0 ? void 0 : _w$globals$seriesRang4.y1) !== 'undefined' && { + y1: (_w$globals$seriesRang5 = w.globals.seriesRange) === null || _w$globals$seriesRang5 === void 0 ? void 0 : (_w$globals$seriesRang6 = _w$globals$seriesRang5[capturedSeries]) === null || _w$globals$seriesRang6 === void 0 ? void 0 : (_w$globals$seriesRang7 = _w$globals$seriesRang6[j]) === null || _w$globals$seriesRang7 === void 0 ? void 0 : (_w$globals$seriesRang8 = _w$globals$seriesRang7.y[0]) === null || _w$globals$seriesRang8 === void 0 ? void 0 : _w$globals$seriesRang8.y1 + }), typeof ((_w$globals$seriesRang9 = w.globals.seriesRange) === null || _w$globals$seriesRang9 === void 0 ? void 0 : (_w$globals$seriesRang10 = _w$globals$seriesRang9[capturedSeries]) === null || _w$globals$seriesRang10 === void 0 ? void 0 : (_w$globals$seriesRang11 = _w$globals$seriesRang10[j]) === null || _w$globals$seriesRang11 === void 0 ? void 0 : (_w$globals$seriesRang12 = _w$globals$seriesRang11.y[0]) === null || _w$globals$seriesRang12 === void 0 ? void 0 : _w$globals$seriesRang12.y2) !== 'undefined' && { + y2: (_w$globals$seriesRang13 = w.globals.seriesRange) === null || _w$globals$seriesRang13 === void 0 ? void 0 : (_w$globals$seriesRang14 = _w$globals$seriesRang13[capturedSeries]) === null || _w$globals$seriesRang14 === void 0 ? void 0 : (_w$globals$seriesRang15 = _w$globals$seriesRang14[j]) === null || _w$globals$seriesRang15 === void 0 ? void 0 : (_w$globals$seriesRang16 = _w$globals$seriesRang15.y[0]) === null || _w$globals$seriesRang16 === void 0 ? void 0 : _w$globals$seriesRang16.y2 + }); + + if (shared) { + ttCtx.tooltipLabels.drawSeriesTexts(_objectSpread2(_objectSpread2({}, commonSeriesTextsParams), {}, { + shared: this.showOnIntersect ? false : this.tConfig.shared + })); + + if (hasMarkers) { + if (w.globals.markers.largestSize > 0) { + ttCtx.marker.enlargePoints(j); + } else { + ttCtx.tooltipPosition.moveDynamicPointsOnHover(j); + } + } else if (this.tooltipUtil.hasBars()) { + this.barSeriesHeight = this.tooltipUtil.getBarsHeight(bars); + + if (this.barSeriesHeight > 0) { + // hover state, activate snap filter + var graphics = new Graphics(this.ctx); + var paths = w.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(j, "']")); // de-activate first + + this.deactivateHoverFilter(); + this.tooltipPosition.moveStickyTooltipOverBars(j, capturedSeries); + + for (var b = 0; b < paths.length; b++) { + graphics.pathMouseEnter(paths[b]); + } + } + } + } else { + ttCtx.tooltipLabels.drawSeriesTexts(_objectSpread2({ + shared: false + }, commonSeriesTextsParams)); + + if (this.tooltipUtil.hasBars()) { + ttCtx.tooltipPosition.moveStickyTooltipOverBars(j, capturedSeries); + } + + if (hasMarkers) { + ttCtx.tooltipPosition.moveMarkers(capturedSeries, j); + } + } + } + }]); + + return Tooltip; + }(); + + var BarDataLabels = /*#__PURE__*/function () { + function BarDataLabels(barCtx) { + _classCallCheck(this, BarDataLabels); + + this.w = barCtx.w; + this.barCtx = barCtx; + this.totalFormatter = this.w.config.plotOptions.bar.dataLabels.total.formatter; + + if (!this.totalFormatter) { + this.totalFormatter = this.w.config.dataLabels.formatter; + } + } + /** handleBarDataLabels is used to calculate the positions for the data-labels + * It also sets the element's data attr for bars and calls drawCalculatedBarDataLabels() + * After calculating, it also calls the function to draw data labels + * @memberof Bar + * @param {object} {barProps} most of the bar properties used throughout the bar + * drawing function + * @return {object} dataLabels node-element which you can append later + **/ + + + _createClass(BarDataLabels, [{ + key: "handleBarDataLabels", + value: function handleBarDataLabels(opts) { + var x = opts.x, + y = opts.y, + y1 = opts.y1, + y2 = opts.y2, + i = opts.i, + j = opts.j, + realIndex = opts.realIndex, + groupIndex = opts.groupIndex, + series = opts.series, + barHeight = opts.barHeight, + barWidth = opts.barWidth, + barYPosition = opts.barYPosition, + visibleSeries = opts.visibleSeries, + renderedPath = opts.renderedPath; + var w = this.w; + var graphics = new Graphics(this.barCtx.ctx); + var strokeWidth = Array.isArray(this.barCtx.strokeWidth) ? this.barCtx.strokeWidth[realIndex] : this.barCtx.strokeWidth; + var bcx = x + parseFloat(barWidth * visibleSeries); + var bcy = y + parseFloat(barHeight * visibleSeries); + + if (w.globals.isXNumeric && !w.globals.isBarHorizontal) { + bcx = x + parseFloat(barWidth * (visibleSeries + 1)); + bcy = y + parseFloat(barHeight * (visibleSeries + 1)) - strokeWidth; + } + + var dataLabels = null; + var totalDataLabels = null; + var dataLabelsX = x; + var dataLabelsY = y; + var dataLabelsPos = {}; + var dataLabelsConfig = w.config.dataLabels; + var barDataLabelsConfig = this.barCtx.barOptions.dataLabels; + var barTotalDataLabelsConfig = this.barCtx.barOptions.dataLabels.total; + + if (typeof barYPosition !== 'undefined' && this.barCtx.isRangeBar) { + bcy = barYPosition; + dataLabelsY = barYPosition; + } + + var offX = dataLabelsConfig.offsetX; + var offY = dataLabelsConfig.offsetY; + var textRects = { + width: 0, + height: 0 + }; + + if (w.config.dataLabels.enabled) { + var yLabel = this.barCtx.series[i][j]; + textRects = graphics.getTextRects(w.globals.yLabelFormatters[0](yLabel), parseFloat(dataLabelsConfig.style.fontSize)); + } + + var params = { + x: x, + y: y, + i: i, + j: j, + realIndex: realIndex, + groupIndex: !!groupIndex ? groupIndex : -1, + renderedPath: renderedPath, + bcx: bcx, + bcy: bcy, + barHeight: barHeight, + barWidth: barWidth, + textRects: textRects, + strokeWidth: strokeWidth, + dataLabelsX: dataLabelsX, + dataLabelsY: dataLabelsY, + dataLabelsConfig: dataLabelsConfig, + barDataLabelsConfig: barDataLabelsConfig, + barTotalDataLabelsConfig: barTotalDataLabelsConfig, + offX: offX, + offY: offY + }; + + if (this.barCtx.isHorizontal) { + dataLabelsPos = this.calculateBarsDataLabelsPosition(params); + } else { + dataLabelsPos = this.calculateColumnsDataLabelsPosition(params); + } + + renderedPath.attr({ + cy: dataLabelsPos.bcy, + cx: dataLabelsPos.bcx, + j: j, + val: series[i][j], + barHeight: barHeight, + barWidth: barWidth + }); + dataLabels = this.drawCalculatedDataLabels({ + x: dataLabelsPos.dataLabelsX, + y: dataLabelsPos.dataLabelsY, + val: this.barCtx.isRangeBar ? [y1, y2] : series[i][j], + i: realIndex, + j: j, + barWidth: barWidth, + barHeight: barHeight, + textRects: textRects, + dataLabelsConfig: dataLabelsConfig + }); + + if (w.config.chart.stacked && barTotalDataLabelsConfig.enabled) { + totalDataLabels = this.drawTotalDataLabels({ + x: dataLabelsPos.totalDataLabelsX, + y: dataLabelsPos.totalDataLabelsY, + realIndex: realIndex, + textAnchor: dataLabelsPos.totalDataLabelsAnchor, + val: this.getStackedTotalDataLabel({ + realIndex: realIndex, + j: j + }), + dataLabelsConfig: dataLabelsConfig, + barTotalDataLabelsConfig: barTotalDataLabelsConfig + }); + } + + return { + dataLabels: dataLabels, + totalDataLabels: totalDataLabels + }; + } + }, { + key: "getStackedTotalDataLabel", + value: function getStackedTotalDataLabel(_ref) { + var realIndex = _ref.realIndex, + j = _ref.j; + var w = this.w; + var val = this.barCtx.stackedSeriesTotals[j]; + + if (this.totalFormatter) { + val = this.totalFormatter(val, _objectSpread2(_objectSpread2({}, w), {}, { + seriesIndex: realIndex, + dataPointIndex: j, + w: w + })); + } + + return val; + } + }, { + key: "calculateColumnsDataLabelsPosition", + value: function calculateColumnsDataLabelsPosition(opts) { + var w = this.w; + var i = opts.i, + j = opts.j, + realIndex = opts.realIndex, + groupIndex = opts.groupIndex, + y = opts.y, + bcx = opts.bcx, + barWidth = opts.barWidth, + barHeight = opts.barHeight, + textRects = opts.textRects, + dataLabelsY = opts.dataLabelsY, + dataLabelsConfig = opts.dataLabelsConfig, + barDataLabelsConfig = opts.barDataLabelsConfig, + barTotalDataLabelsConfig = opts.barTotalDataLabelsConfig, + strokeWidth = opts.strokeWidth, + offX = opts.offX, + offY = opts.offY; + var dataLabelsX; + var totalDataLabelsY; + var totalDataLabelsX; + var totalDataLabelsAnchor = 'middle'; + barHeight = Math.abs(barHeight); + var vertical = w.config.plotOptions.bar.dataLabels.orientation === 'vertical'; + bcx = bcx - strokeWidth / 2 + (groupIndex !== -1 ? groupIndex * barWidth : 0); + var dataPointsDividedWidth = w.globals.gridWidth / w.globals.dataPoints; + + if (w.globals.isXNumeric) { + dataLabelsX = bcx - barWidth / 2 + offX; + } else { + dataLabelsX = bcx - dataPointsDividedWidth + barWidth / 2 + offX; + } + + if (vertical) { + var offsetDLX = 2; + dataLabelsX = dataLabelsX + textRects.height / 2 - strokeWidth / 2 - offsetDLX; + } + + var valIsNegative = this.barCtx.series[i][j] < 0; + var newY = y; + + if (this.barCtx.isReversed) { + newY = y - barHeight + (valIsNegative ? barHeight * 2 : 0); + y = y - barHeight; + } + + switch (barDataLabelsConfig.position) { + case 'center': + if (vertical) { + if (valIsNegative) { + dataLabelsY = newY + barHeight / 2 + offY; + } else { + dataLabelsY = newY + barHeight / 2 - offY; + } + } else { + if (valIsNegative) { + dataLabelsY = newY - barHeight / 2 + textRects.height / 2 + offY; + } else { + dataLabelsY = newY + barHeight / 2 + textRects.height / 2 - offY; + } + } + + break; + + case 'bottom': + if (vertical) { + if (valIsNegative) { + dataLabelsY = newY + barHeight + offY; + } else { + dataLabelsY = newY + barHeight - offY; + } + } else { + if (valIsNegative) { + dataLabelsY = newY - barHeight + textRects.height + strokeWidth + offY; + } else { + dataLabelsY = newY + barHeight - textRects.height / 2 + strokeWidth - offY; + } + } + + break; + + case 'top': + if (vertical) { + if (valIsNegative) { + dataLabelsY = newY + offY; + } else { + dataLabelsY = newY - offY; + } + } else { + if (valIsNegative) { + dataLabelsY = newY - textRects.height / 2 - offY; + } else { + dataLabelsY = newY + textRects.height + offY; + } + } + + break; + } + + if (this.barCtx.lastActiveBarSerieIndex === realIndex && barTotalDataLabelsConfig.enabled) { + var ADDITIONAL_OFFX = 18; + var graphics = new Graphics(this.barCtx.ctx); + var totalLabeltextRects = graphics.getTextRects(this.getStackedTotalDataLabel({ + realIndex: realIndex, + j: j + }), dataLabelsConfig.fontSize); + + if (valIsNegative) { + totalDataLabelsY = newY - totalLabeltextRects.height / 2 - offY - barTotalDataLabelsConfig.offsetY + ADDITIONAL_OFFX; + } else { + totalDataLabelsY = newY + totalLabeltextRects.height + offY + barTotalDataLabelsConfig.offsetY - ADDITIONAL_OFFX; + } + + totalDataLabelsX = dataLabelsX + barTotalDataLabelsConfig.offsetX; + } + + if (!w.config.chart.stacked) { + if (dataLabelsY < 0) { + dataLabelsY = 0 + strokeWidth; + } else if (dataLabelsY + textRects.height / 3 > w.globals.gridHeight) { + dataLabelsY = w.globals.gridHeight - strokeWidth; + } + } + + return { + bcx: bcx, + bcy: y, + dataLabelsX: dataLabelsX, + dataLabelsY: dataLabelsY, + totalDataLabelsX: totalDataLabelsX, + totalDataLabelsY: totalDataLabelsY, + totalDataLabelsAnchor: totalDataLabelsAnchor + }; + } + }, { + key: "calculateBarsDataLabelsPosition", + value: function calculateBarsDataLabelsPosition(opts) { + var w = this.w; + var x = opts.x, + i = opts.i, + j = opts.j, + realIndex = opts.realIndex, + groupIndex = opts.groupIndex, + bcy = opts.bcy, + barHeight = opts.barHeight, + barWidth = opts.barWidth, + textRects = opts.textRects, + dataLabelsX = opts.dataLabelsX, + strokeWidth = opts.strokeWidth, + dataLabelsConfig = opts.dataLabelsConfig, + barDataLabelsConfig = opts.barDataLabelsConfig, + barTotalDataLabelsConfig = opts.barTotalDataLabelsConfig, + offX = opts.offX, + offY = opts.offY; + var dataPointsDividedHeight = w.globals.gridHeight / w.globals.dataPoints; + barWidth = Math.abs(barWidth); + bcy = bcy + (groupIndex !== -1 ? groupIndex * barHeight : 0); + var dataLabelsY = bcy - (this.barCtx.isRangeBar ? 0 : dataPointsDividedHeight) + barHeight / 2 + textRects.height / 2 + offY - 3; + var totalDataLabelsX; + var totalDataLabelsY; + var totalDataLabelsAnchor = 'start'; + var valIsNegative = this.barCtx.series[i][j] < 0; + var newX = x; + + if (this.barCtx.isReversed) { + newX = x + barWidth - (valIsNegative ? barWidth * 2 : 0); + x = w.globals.gridWidth - barWidth; + } + + switch (barDataLabelsConfig.position) { + case 'center': + if (valIsNegative) { + dataLabelsX = newX + barWidth / 2 - offX; + } else { + dataLabelsX = Math.max(textRects.width / 2, newX - barWidth / 2) + offX; + } + + break; + + case 'bottom': + if (valIsNegative) { + dataLabelsX = newX + barWidth - strokeWidth - Math.round(textRects.width / 2) - offX; + } else { + dataLabelsX = newX - barWidth + strokeWidth + Math.round(textRects.width / 2) + offX; + } + + break; + + case 'top': + if (valIsNegative) { + dataLabelsX = newX - strokeWidth + Math.round(textRects.width / 2) - offX; + } else { + dataLabelsX = newX - strokeWidth - Math.round(textRects.width / 2) + offX; + } + + break; + } + + if (this.barCtx.lastActiveBarSerieIndex === realIndex && barTotalDataLabelsConfig.enabled) { + var ADDITIONAL_OFFX = 15; + var graphics = new Graphics(this.barCtx.ctx); + var totalLabeltextRects = graphics.getTextRects(this.getStackedTotalDataLabel({ + realIndex: realIndex, + j: j + }), dataLabelsConfig.fontSize); + + if (valIsNegative) { + totalDataLabelsX = newX - strokeWidth + Math.round(totalLabeltextRects.width / 2) - offX - barTotalDataLabelsConfig.offsetX - ADDITIONAL_OFFX; + totalDataLabelsAnchor = 'end'; + } else { + totalDataLabelsX = newX - strokeWidth - Math.round(totalLabeltextRects.width / 2) + offX + barTotalDataLabelsConfig.offsetX + ADDITIONAL_OFFX; + } + + totalDataLabelsY = dataLabelsY + barTotalDataLabelsConfig.offsetY; + } + + if (!w.config.chart.stacked) { + if (dataLabelsX < 0) { + dataLabelsX = dataLabelsX + textRects.width + strokeWidth; + } else if (dataLabelsX + textRects.width / 2 > w.globals.gridWidth) { + dataLabelsX = w.globals.gridWidth - textRects.width - strokeWidth; + } + } + + return { + bcx: x, + bcy: bcy, + dataLabelsX: dataLabelsX, + dataLabelsY: dataLabelsY, + totalDataLabelsX: totalDataLabelsX, + totalDataLabelsY: totalDataLabelsY, + totalDataLabelsAnchor: totalDataLabelsAnchor + }; + } + }, { + key: "drawCalculatedDataLabels", + value: function drawCalculatedDataLabels(_ref2) { + var x = _ref2.x, + y = _ref2.y, + val = _ref2.val, + i = _ref2.i, + j = _ref2.j, + textRects = _ref2.textRects, + barHeight = _ref2.barHeight, + barWidth = _ref2.barWidth, + dataLabelsConfig = _ref2.dataLabelsConfig; + var w = this.w; + var rotate = 'rotate(0)'; + if (w.config.plotOptions.bar.dataLabels.orientation === 'vertical') rotate = "rotate(-90, ".concat(x, ", ").concat(y, ")"); + var dataLabels = new DataLabels(this.barCtx.ctx); + var graphics = new Graphics(this.barCtx.ctx); + var formatter = dataLabelsConfig.formatter; + var elDataLabelsWrap = null; + var isSeriesNotCollapsed = w.globals.collapsedSeriesIndices.indexOf(i) > -1; + + if (dataLabelsConfig.enabled && !isSeriesNotCollapsed) { + elDataLabelsWrap = graphics.group({ + class: 'apexcharts-data-labels', + transform: rotate + }); + var text = ''; + + if (typeof val !== 'undefined') { + text = formatter(val, _objectSpread2(_objectSpread2({}, w), {}, { + seriesIndex: i, + dataPointIndex: j, + w: w + })); + } + + if (!val && w.config.plotOptions.bar.hideZeroBarsWhenGrouped) { + text = ''; + } + + var valIsNegative = w.globals.series[i][j] < 0; + var position = w.config.plotOptions.bar.dataLabels.position; + + if (w.config.plotOptions.bar.dataLabels.orientation === 'vertical') { + if (position === 'top') { + if (valIsNegative) dataLabelsConfig.textAnchor = 'end';else dataLabelsConfig.textAnchor = 'start'; + } + + if (position === 'center') { + dataLabelsConfig.textAnchor = 'middle'; + } + + if (position === 'bottom') { + if (valIsNegative) dataLabelsConfig.textAnchor = 'end';else dataLabelsConfig.textAnchor = 'start'; + } + } + + if (this.barCtx.isRangeBar && this.barCtx.barOptions.dataLabels.hideOverflowingLabels) { + // hide the datalabel if it cannot fit into the rect + var txRect = graphics.getTextRects(text, parseFloat(dataLabelsConfig.style.fontSize)); + + if (barWidth < txRect.width) { + text = ''; + } + } + + if (w.config.chart.stacked && this.barCtx.barOptions.dataLabels.hideOverflowingLabels) { + // if there is not enough space to draw the label in the bar/column rect, check hideOverflowingLabels property to prevent overflowing on wrong rect + // Note: This issue is only seen in stacked charts + if (this.barCtx.isHorizontal) { + if (textRects.width / 1.6 > Math.abs(barWidth)) { + text = ''; + } + } else { + if (textRects.height / 1.6 > Math.abs(barHeight)) { + text = ''; + } + } + } + + var modifiedDataLabelsConfig = _objectSpread2({}, dataLabelsConfig); + + if (this.barCtx.isHorizontal) { + if (val < 0) { + if (dataLabelsConfig.textAnchor === 'start') { + modifiedDataLabelsConfig.textAnchor = 'end'; + } else if (dataLabelsConfig.textAnchor === 'end') { + modifiedDataLabelsConfig.textAnchor = 'start'; + } + } + } + + dataLabels.plotDataLabelsText({ + x: x, + y: y, + text: text, + i: i, + j: j, + parent: elDataLabelsWrap, + dataLabelsConfig: modifiedDataLabelsConfig, + alwaysDrawDataLabel: true, + offsetCorrection: true + }); + } + + return elDataLabelsWrap; + } + }, { + key: "drawTotalDataLabels", + value: function drawTotalDataLabels(_ref3) { + var x = _ref3.x, + y = _ref3.y, + val = _ref3.val, + realIndex = _ref3.realIndex, + textAnchor = _ref3.textAnchor, + barTotalDataLabelsConfig = _ref3.barTotalDataLabelsConfig; + var graphics = new Graphics(this.barCtx.ctx); + var totalDataLabelText; + + if (barTotalDataLabelsConfig.enabled && typeof x !== 'undefined' && typeof y !== 'undefined' && this.barCtx.lastActiveBarSerieIndex === realIndex) { + totalDataLabelText = graphics.drawText({ + x: x, + y: y, + foreColor: barTotalDataLabelsConfig.style.color, + text: val, + textAnchor: textAnchor, + fontFamily: barTotalDataLabelsConfig.style.fontFamily, + fontSize: barTotalDataLabelsConfig.style.fontSize, + fontWeight: barTotalDataLabelsConfig.style.fontWeight + }); + } + + return totalDataLabelText; + } + }]); + + return BarDataLabels; + }(); + + var Helpers$1 = /*#__PURE__*/function () { + function Helpers(barCtx) { + _classCallCheck(this, Helpers); + + this.w = barCtx.w; + this.barCtx = barCtx; + } + + _createClass(Helpers, [{ + key: "initVariables", + value: function initVariables(series) { + var w = this.w; + this.barCtx.series = series; + this.barCtx.totalItems = 0; + this.barCtx.seriesLen = 0; + this.barCtx.visibleI = -1; // visible Series + + this.barCtx.visibleItems = 1; // number of visible bars after user zoomed in/out + + for (var sl = 0; sl < series.length; sl++) { + if (series[sl].length > 0) { + this.barCtx.seriesLen = this.barCtx.seriesLen + 1; + this.barCtx.totalItems += series[sl].length; + } + + if (w.globals.isXNumeric) { + // get max visible items + for (var j = 0; j < series[sl].length; j++) { + if (w.globals.seriesX[sl][j] > w.globals.minX && w.globals.seriesX[sl][j] < w.globals.maxX) { + this.barCtx.visibleItems++; + } + } + } else { + this.barCtx.visibleItems = w.globals.dataPoints; + } + } + + if (this.barCtx.seriesLen === 0) { + // A small adjustment when combo charts are used + this.barCtx.seriesLen = 1; + } + + this.barCtx.zeroSerieses = []; + + if (!w.globals.comboCharts) { + this.checkZeroSeries({ + series: series + }); + } + } + }, { + key: "initialPositions", + value: function initialPositions() { + var w = this.w; + var x, y, yDivision, xDivision, barHeight, barWidth, zeroH, zeroW; + var dataPoints = w.globals.dataPoints; + + if (this.barCtx.isRangeBar) { + // timeline rangebar chart + dataPoints = w.globals.labels.length; + } + + var seriesLen = this.barCtx.seriesLen; + + if (w.config.plotOptions.bar.rangeBarGroupRows) { + seriesLen = 1; + } + + if (this.barCtx.isHorizontal) { + // height divided into equal parts + yDivision = w.globals.gridHeight / dataPoints; + barHeight = yDivision / seriesLen; + + if (w.globals.isXNumeric) { + yDivision = w.globals.gridHeight / this.barCtx.totalItems; + barHeight = yDivision / this.barCtx.seriesLen; + } + + barHeight = barHeight * parseInt(this.barCtx.barOptions.barHeight, 10) / 100; + + if (String(this.barCtx.barOptions.barHeight).indexOf('%') === -1) { + barHeight = parseInt(this.barCtx.barOptions.barHeight, 10); + } + + zeroW = this.barCtx.baseLineInvertedY + w.globals.padHorizontal + (this.barCtx.isReversed ? w.globals.gridWidth : 0) - (this.barCtx.isReversed ? this.barCtx.baseLineInvertedY * 2 : 0); + y = (yDivision - barHeight * this.barCtx.seriesLen) / 2; + } else { + // width divided into equal parts + xDivision = w.globals.gridWidth / this.barCtx.visibleItems; + + if (w.config.xaxis.convertedCatToNumeric) { + xDivision = w.globals.gridWidth / w.globals.dataPoints; + } + + barWidth = xDivision / this.barCtx.seriesLen * parseInt(this.barCtx.barOptions.columnWidth, 10) / 100; + + if (w.globals.isXNumeric) { + // max barwidth should be equal to minXDiff to avoid overlap + var xRatio = this.barCtx.xRatio; + + if (w.config.xaxis.convertedCatToNumeric) { + xRatio = this.barCtx.initialXRatio; + } + + if (w.globals.minXDiff && w.globals.minXDiff !== 0.5 && w.globals.minXDiff / xRatio > 0) { + xDivision = w.globals.minXDiff / xRatio; + } + + barWidth = xDivision / this.barCtx.seriesLen * parseInt(this.barCtx.barOptions.columnWidth, 10) / 100; + + if (barWidth < 1) { + barWidth = 1; + } + } + + if (String(this.barCtx.barOptions.columnWidth).indexOf('%') === -1) { + barWidth = parseInt(this.barCtx.barOptions.columnWidth, 10); + } + + zeroH = w.globals.gridHeight - this.barCtx.baseLineY[this.barCtx.yaxisIndex] - (this.barCtx.isReversed ? w.globals.gridHeight : 0) + (this.barCtx.isReversed ? this.barCtx.baseLineY[this.barCtx.yaxisIndex] * 2 : 0); + x = w.globals.padHorizontal + (xDivision - barWidth * this.barCtx.seriesLen) / 2; + } + + return { + x: x, + y: y, + yDivision: yDivision, + xDivision: xDivision, + barHeight: barHeight, + barWidth: barWidth, + zeroH: zeroH, + zeroW: zeroW + }; + } + }, { + key: "initializeStackedPrevVars", + value: function initializeStackedPrevVars(ctx) { + var w = ctx.w; + + if (w.globals.hasSeriesGroups) { + w.globals.seriesGroups.forEach(function (group) { + if (!ctx[group]) ctx[group] = {}; + ctx[group].prevY = []; + ctx[group].prevX = []; + ctx[group].prevYF = []; + ctx[group].prevXF = []; + ctx[group].prevYVal = []; + ctx[group].prevXVal = []; + }); + } else { + ctx.prevY = []; // y position on chart (in columns) + + ctx.prevX = []; // x position on chart (in horz bars) + + ctx.prevYF = []; // starting y and ending y (height) in columns + + ctx.prevXF = []; // starting x and ending x (width) in bars + + ctx.prevYVal = []; // y values (series[i][j]) in columns + + ctx.prevXVal = []; // x values (series[i][j]) in bars + } + } + }, { + key: "initializeStackedXYVars", + value: function initializeStackedXYVars(ctx) { + var w = ctx.w; + + if (w.globals.hasSeriesGroups) { + w.globals.seriesGroups.forEach(function (group) { + if (!ctx[group]) ctx[group] = {}; + ctx[group].xArrj = []; + ctx[group].xArrjF = []; + ctx[group].xArrjVal = []; + ctx[group].yArrj = []; + ctx[group].yArrjF = []; + ctx[group].yArrjVal = []; + }); + } else { + ctx.xArrj = []; // xj indicates x position on graph in bars + + ctx.xArrjF = []; // xjF indicates bar's x position + x2 positions in bars + + ctx.xArrjVal = []; // x val means the actual series's y values in horizontal/bars + + ctx.yArrj = []; // yj indicates y position on graph in columns + + ctx.yArrjF = []; // yjF indicates bar's y position + y2 positions in columns + + ctx.yArrjVal = []; // y val means the actual series's y values in columns + } + } + }, { + key: "getPathFillColor", + value: function getPathFillColor(series, i, j, realIndex) { + var _w$config$series$i$da, _w$config$series$i$da2, _w$config$series$i$da3, _w$config$series$i$da4; + + var w = this.w; + var fill = new Fill(this.barCtx.ctx); + var fillColor = null; + var seriesNumber = this.barCtx.barOptions.distributed ? j : i; + + if (this.barCtx.barOptions.colors.ranges.length > 0) { + var colorRange = this.barCtx.barOptions.colors.ranges; + colorRange.map(function (range) { + if (series[i][j] >= range.from && series[i][j] <= range.to) { + fillColor = range.color; + } + }); + } + + if (w.config.series[i].data[j] && w.config.series[i].data[j].fillColor) { + fillColor = w.config.series[i].data[j].fillColor; + } + + var pathFill = fill.fillPath({ + seriesNumber: this.barCtx.barOptions.distributed ? seriesNumber : realIndex, + dataPointIndex: j, + color: fillColor, + value: series[i][j], + fillConfig: (_w$config$series$i$da = w.config.series[i].data[j]) === null || _w$config$series$i$da === void 0 ? void 0 : _w$config$series$i$da.fill, + fillType: (_w$config$series$i$da2 = w.config.series[i].data[j]) !== null && _w$config$series$i$da2 !== void 0 && (_w$config$series$i$da3 = _w$config$series$i$da2.fill) !== null && _w$config$series$i$da3 !== void 0 && _w$config$series$i$da3.type ? (_w$config$series$i$da4 = w.config.series[i].data[j]) === null || _w$config$series$i$da4 === void 0 ? void 0 : _w$config$series$i$da4.fill.type : w.config.fill.type + }); + return pathFill; + } + }, { + key: "getStrokeWidth", + value: function getStrokeWidth(i, j, realIndex) { + var strokeWidth = 0; + var w = this.w; + + if (!this.barCtx.series[i][j]) { + this.barCtx.isNullValue = true; + } else { + this.barCtx.isNullValue = false; + } + + if (w.config.stroke.show) { + if (!this.barCtx.isNullValue) { + strokeWidth = Array.isArray(this.barCtx.strokeWidth) ? this.barCtx.strokeWidth[realIndex] : this.barCtx.strokeWidth; + } + } + + return strokeWidth; + } + }, { + key: "shouldApplyRadius", + value: function shouldApplyRadius(realIndex) { + var w = this.w; + var applyRadius = false; + + if (w.config.plotOptions.bar.borderRadius > 0) { + if (w.config.chart.stacked) { + if (w.config.plotOptions.bar.borderRadiusWhenStacked === 'last') { + if (this.barCtx.lastActiveBarSerieIndex === realIndex) { + applyRadius = true; + } + } else { + applyRadius = true; + } + } else { + applyRadius = true; + } + } + + return applyRadius; + } + }, { + key: "barBackground", + value: function barBackground(_ref) { + var j = _ref.j, + i = _ref.i, + x1 = _ref.x1, + x2 = _ref.x2, + y1 = _ref.y1, + y2 = _ref.y2, + elSeries = _ref.elSeries; + var w = this.w; + var graphics = new Graphics(this.barCtx.ctx); + var sr = new Series(this.barCtx.ctx); + var activeSeriesIndex = sr.getActiveConfigSeriesIndex(); + + if (this.barCtx.barOptions.colors.backgroundBarColors.length > 0 && activeSeriesIndex === i) { + if (j >= this.barCtx.barOptions.colors.backgroundBarColors.length) { + j %= this.barCtx.barOptions.colors.backgroundBarColors.length; + } + + var bcolor = this.barCtx.barOptions.colors.backgroundBarColors[j]; + var rect = graphics.drawRect(typeof x1 !== 'undefined' ? x1 : 0, typeof y1 !== 'undefined' ? y1 : 0, typeof x2 !== 'undefined' ? x2 : w.globals.gridWidth, typeof y2 !== 'undefined' ? y2 : w.globals.gridHeight, this.barCtx.barOptions.colors.backgroundBarRadius, bcolor, this.barCtx.barOptions.colors.backgroundBarOpacity); + elSeries.add(rect); + rect.node.classList.add('apexcharts-backgroundBar'); + } + } + }, { + key: "getColumnPaths", + value: function getColumnPaths(_ref2) { + var _w$config$series$real; + + var barWidth = _ref2.barWidth, + barXPosition = _ref2.barXPosition, + y1 = _ref2.y1, + y2 = _ref2.y2, + strokeWidth = _ref2.strokeWidth, + seriesGroup = _ref2.seriesGroup, + realIndex = _ref2.realIndex, + i = _ref2.i, + j = _ref2.j, + w = _ref2.w; + var graphics = new Graphics(this.barCtx.ctx); + strokeWidth = Array.isArray(strokeWidth) ? strokeWidth[realIndex] : strokeWidth; + if (!strokeWidth) strokeWidth = 0; + var bW = barWidth; + var bXP = barXPosition; + + if ((_w$config$series$real = w.config.series[realIndex].data[j]) !== null && _w$config$series$real !== void 0 && _w$config$series$real.columnWidthOffset) { + bXP = barXPosition - w.config.series[realIndex].data[j].columnWidthOffset / 2; + bW = barWidth + w.config.series[realIndex].data[j].columnWidthOffset; + } + + var x1 = bXP; + var x2 = bXP + bW; // append tiny pixels to avoid exponentials (which cause issues in border-radius) + + y1 += 0.001; + y2 += 0.001; + var pathTo = graphics.move(x1, y1); + var pathFrom = graphics.move(x1, y1); + var sl = graphics.line(x2 - strokeWidth, y1); + + if (w.globals.previousPaths.length > 0) { + pathFrom = this.barCtx.getPreviousPath(realIndex, j, false); + } + + pathTo = pathTo + graphics.line(x1, y2) + graphics.line(x2 - strokeWidth, y2) + graphics.line(x2 - strokeWidth, y1) + (w.config.plotOptions.bar.borderRadiusApplication === 'around' ? ' Z' : ' z'); // the lines in pathFrom are repeated to equal it to the points of pathTo + // this is to avoid weird animation (bug in svg.js) + + pathFrom = pathFrom + graphics.line(x1, y1) + sl + sl + sl + sl + sl + graphics.line(x1, y1) + (w.config.plotOptions.bar.borderRadiusApplication === 'around' ? ' Z' : ' z'); + + if (this.shouldApplyRadius(realIndex)) { + pathTo = graphics.roundPathCorners(pathTo, w.config.plotOptions.bar.borderRadius); + } + + if (w.config.chart.stacked) { + var _ctx = this.barCtx; + + if (w.globals.hasSeriesGroups && seriesGroup) { + _ctx = this.barCtx[seriesGroup]; + } + + _ctx.yArrj.push(y2); + + _ctx.yArrjF.push(Math.abs(y1 - y2)); + + _ctx.yArrjVal.push(this.barCtx.series[i][j]); + } + + return { + pathTo: pathTo, + pathFrom: pathFrom + }; + } + }, { + key: "getBarpaths", + value: function getBarpaths(_ref3) { + var _w$config$series$real2; + + var barYPosition = _ref3.barYPosition, + barHeight = _ref3.barHeight, + x1 = _ref3.x1, + x2 = _ref3.x2, + strokeWidth = _ref3.strokeWidth, + seriesGroup = _ref3.seriesGroup, + realIndex = _ref3.realIndex, + i = _ref3.i, + j = _ref3.j, + w = _ref3.w; + var graphics = new Graphics(this.barCtx.ctx); + strokeWidth = Array.isArray(strokeWidth) ? strokeWidth[realIndex] : strokeWidth; + if (!strokeWidth) strokeWidth = 0; + var bYP = barYPosition; + var bH = barHeight; + + if ((_w$config$series$real2 = w.config.series[realIndex].data[j]) !== null && _w$config$series$real2 !== void 0 && _w$config$series$real2.barHeightOffset) { + bYP = barYPosition - w.config.series[realIndex].data[j].barHeightOffset / 2; + bH = barHeight + w.config.series[realIndex].data[j].barHeightOffset; + } + + var y1 = bYP; + var y2 = bYP + bH; // append tiny pixels to avoid exponentials (which cause issues in border-radius) + + x1 += 0.001; + x2 += 0.001; + var pathTo = graphics.move(x1, y1); + var pathFrom = graphics.move(x1, y1); + + if (w.globals.previousPaths.length > 0) { + pathFrom = this.barCtx.getPreviousPath(realIndex, j, false); + } + + var sl = graphics.line(x1, y2 - strokeWidth); + pathTo = pathTo + graphics.line(x2, y1) + graphics.line(x2, y2 - strokeWidth) + sl + (w.config.plotOptions.bar.borderRadiusApplication === 'around' ? ' Z' : ' z'); + pathFrom = pathFrom + graphics.line(x1, y1) + sl + sl + sl + sl + sl + graphics.line(x1, y1) + (w.config.plotOptions.bar.borderRadiusApplication === 'around' ? ' Z' : ' z'); + + if (this.shouldApplyRadius(realIndex)) { + pathTo = graphics.roundPathCorners(pathTo, w.config.plotOptions.bar.borderRadius); + } + + if (w.config.chart.stacked) { + var _ctx = this.barCtx; + + if (w.globals.hasSeriesGroups && seriesGroup) { + _ctx = this.barCtx[seriesGroup]; + } + + _ctx.xArrj.push(x2); + + _ctx.xArrjF.push(Math.abs(x1 - x2)); + + _ctx.xArrjVal.push(this.barCtx.series[i][j]); + } + + return { + pathTo: pathTo, + pathFrom: pathFrom + }; + } + }, { + key: "checkZeroSeries", + value: function checkZeroSeries(_ref4) { + var series = _ref4.series; + var w = this.w; + + for (var zs = 0; zs < series.length; zs++) { + var total = 0; + + for (var zsj = 0; zsj < series[w.globals.maxValsInArrayIndex].length; zsj++) { + total += series[zs][zsj]; + } + + if (total === 0) { + this.barCtx.zeroSerieses.push(zs); + } + } + } + }, { + key: "getXForValue", + value: function getXForValue(value, zeroW) { + var zeroPositionForNull = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var xForVal = zeroPositionForNull ? zeroW : null; + + if (typeof value !== 'undefined' && value !== null) { + xForVal = zeroW + value / this.barCtx.invertedYRatio - (this.barCtx.isReversed ? value / this.barCtx.invertedYRatio : 0) * 2; + } + + return xForVal; + } + }, { + key: "getYForValue", + value: function getYForValue(value, zeroH) { + var zeroPositionForNull = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var yForVal = zeroPositionForNull ? zeroH : null; + + if (typeof value !== 'undefined' && value !== null) { + yForVal = zeroH - value / this.barCtx.yRatio[this.barCtx.yaxisIndex] + (this.barCtx.isReversed ? value / this.barCtx.yRatio[this.barCtx.yaxisIndex] : 0) * 2; + } + + return yForVal; + } + }, { + key: "getGoalValues", + value: function getGoalValues(type, zeroW, zeroH, i, j) { + var _this = this; + + var w = this.w; + var goals = []; + + var pushGoal = function pushGoal(value, attrs) { + var _goals$push; + + goals.push((_goals$push = {}, _defineProperty(_goals$push, type, type === 'x' ? _this.getXForValue(value, zeroW, false) : _this.getYForValue(value, zeroH, false)), _defineProperty(_goals$push, "attrs", attrs), _goals$push)); + }; + + if (w.globals.seriesGoals[i] && w.globals.seriesGoals[i][j] && Array.isArray(w.globals.seriesGoals[i][j])) { + w.globals.seriesGoals[i][j].forEach(function (goal) { + pushGoal(goal.value, goal); + }); + } + + if (this.barCtx.barOptions.isDumbbell && w.globals.seriesRange.length) { + var colors = this.barCtx.barOptions.dumbbellColors ? this.barCtx.barOptions.dumbbellColors : w.globals.colors; + var commonAttrs = { + strokeHeight: type === 'x' ? 0 : w.globals.markers.size[i], + strokeWidth: type === 'x' ? w.globals.markers.size[i] : 0, + strokeDashArray: 0, + strokeLineCap: 'round', + strokeColor: Array.isArray(colors[i]) ? colors[i][0] : colors[i] + }; + pushGoal(w.globals.seriesRangeStart[i][j], commonAttrs); + pushGoal(w.globals.seriesRangeEnd[i][j], _objectSpread2(_objectSpread2({}, commonAttrs), {}, { + strokeColor: Array.isArray(colors[i]) ? colors[i][1] : colors[i] + })); + } + + return goals; + } + }, { + key: "drawGoalLine", + value: function drawGoalLine(_ref5) { + var barXPosition = _ref5.barXPosition, + barYPosition = _ref5.barYPosition, + goalX = _ref5.goalX, + goalY = _ref5.goalY, + barWidth = _ref5.barWidth, + barHeight = _ref5.barHeight; + var graphics = new Graphics(this.barCtx.ctx); + var lineGroup = graphics.group({ + className: 'apexcharts-bar-goals-groups' + }); + lineGroup.node.classList.add('apexcharts-element-hidden'); + this.barCtx.w.globals.delayedElements.push({ + el: lineGroup.node + }); + lineGroup.attr('clip-path', "url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid, ")")); + var line = null; + + if (this.barCtx.isHorizontal) { + if (Array.isArray(goalX)) { + goalX.forEach(function (goal) { + var sHeight = typeof goal.attrs.strokeHeight !== 'undefined' ? goal.attrs.strokeHeight : barHeight / 2; + var y = barYPosition + sHeight + barHeight / 2; + line = graphics.drawLine(goal.x, y - sHeight * 2, goal.x, y, goal.attrs.strokeColor ? goal.attrs.strokeColor : undefined, goal.attrs.strokeDashArray, goal.attrs.strokeWidth ? goal.attrs.strokeWidth : 2, goal.attrs.strokeLineCap); + lineGroup.add(line); + }); + } + } else { + if (Array.isArray(goalY)) { + goalY.forEach(function (goal) { + var sWidth = typeof goal.attrs.strokeWidth !== 'undefined' ? goal.attrs.strokeWidth : barWidth / 2; + var x = barXPosition + sWidth + barWidth / 2; + line = graphics.drawLine(x - sWidth * 2, goal.y, x, goal.y, goal.attrs.strokeColor ? goal.attrs.strokeColor : undefined, goal.attrs.strokeDashArray, goal.attrs.strokeHeight ? goal.attrs.strokeHeight : 2, goal.attrs.strokeLineCap); + lineGroup.add(line); + }); + } + } + + return lineGroup; + } + }]); + + return Helpers; + }(); + + /** + * ApexCharts Bar Class responsible for drawing both Columns and Bars. + * + * @module Bar + **/ + + var Bar = /*#__PURE__*/function () { + function Bar(ctx, xyRatios) { + _classCallCheck(this, Bar); + + this.ctx = ctx; + this.w = ctx.w; + var w = this.w; + this.barOptions = w.config.plotOptions.bar; + this.isHorizontal = this.barOptions.horizontal; + this.strokeWidth = w.config.stroke.width; + this.isNullValue = false; + this.isRangeBar = w.globals.seriesRange.length && this.isHorizontal; + this.xyRatios = xyRatios; + + if (this.xyRatios !== null) { + this.xRatio = xyRatios.xRatio; + this.initialXRatio = xyRatios.initialXRatio; + this.yRatio = xyRatios.yRatio; + this.invertedXRatio = xyRatios.invertedXRatio; + this.invertedYRatio = xyRatios.invertedYRatio; + this.baseLineY = xyRatios.baseLineY; + this.baseLineInvertedY = xyRatios.baseLineInvertedY; + } + + this.yaxisIndex = 0; + this.seriesLen = 0; + var ser = new Series(this.ctx); + this.lastActiveBarSerieIndex = ser.getActiveConfigSeriesIndex('desc', ['bar', 'column']); + var barSeriesIndices = ser.getBarSeriesIndices(); + var coreUtils = new CoreUtils(this.ctx); + this.stackedSeriesTotals = coreUtils.getStackedSeriesTotals(this.w.config.series.map(function (s, i) { + return barSeriesIndices.indexOf(i) === -1 ? i : -1; + }).filter(function (s) { + return s !== -1; + })); + this.barHelpers = new Helpers$1(this); + } + /** primary draw method which is called on bar object + * @memberof Bar + * @param {array} series - user supplied series values + * @param {int} seriesIndex - the index by which series will be drawn on the svg + * @return {node} element which is supplied to parent chart draw method for appending + **/ + + + _createClass(Bar, [{ + key: "draw", + value: function draw(series, seriesIndex) { + var w = this.w; + var graphics = new Graphics(this.ctx); + var coreUtils = new CoreUtils(this.ctx, w); + series = coreUtils.getLogSeries(series); + this.series = series; + this.yRatio = coreUtils.getLogYRatios(this.yRatio); + this.barHelpers.initVariables(series); + var ret = graphics.group({ + class: 'apexcharts-bar-series apexcharts-plot-series' + }); + + if (w.config.dataLabels.enabled) { + if (this.totalItems > this.barOptions.dataLabels.maxItems) { + console.warn('WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.'); + } + } + + for (var i = 0, bc = 0; i < series.length; i++, bc++) { + var x = void 0, + y = void 0, + xDivision = void 0, + // xDivision is the GRIDWIDTH divided by number of datapoints (columns) + yDivision = void 0, + // yDivision is the GRIDHEIGHT divided by number of datapoints (bars) + zeroH = void 0, + // zeroH is the baseline where 0 meets y axis + zeroW = void 0; // zeroW is the baseline where 0 meets x axis + + var yArrj = []; // hold y values of current iterating series + + var xArrj = []; // hold x values of current iterating series + + var realIndex = w.globals.comboCharts ? seriesIndex[i] : i; // el to which series will be drawn + + var elSeries = graphics.group({ + class: "apexcharts-series", + rel: i + 1, + seriesName: Utils$1.escapeString(w.globals.seriesNames[realIndex]), + 'data:realIndex': realIndex + }); + this.ctx.series.addCollapsedClassToSeries(elSeries, realIndex); + + if (series[i].length > 0) { + this.visibleI = this.visibleI + 1; + } + + var barHeight = 0; + var barWidth = 0; + + if (this.yRatio.length > 1) { + this.yaxisIndex = realIndex; + } + + this.isReversed = w.config.yaxis[this.yaxisIndex] && w.config.yaxis[this.yaxisIndex].reversed; + var initPositions = this.barHelpers.initialPositions(); + y = initPositions.y; + barHeight = initPositions.barHeight; + yDivision = initPositions.yDivision; + zeroW = initPositions.zeroW; + x = initPositions.x; + barWidth = initPositions.barWidth; + xDivision = initPositions.xDivision; + zeroH = initPositions.zeroH; + + if (!this.horizontal) { + xArrj.push(x + barWidth / 2); + } // eldatalabels + + + var elDataLabelsWrap = graphics.group({ + class: 'apexcharts-datalabels', + 'data:realIndex': realIndex + }); + var elGoalsMarkers = graphics.group({ + class: 'apexcharts-bar-goals-markers', + style: "pointer-events: none" + }); + + for (var j = 0; j < w.globals.dataPoints; j++) { + var strokeWidth = this.barHelpers.getStrokeWidth(i, j, realIndex); + var paths = null; + var pathsParams = { + indexes: { + i: i, + j: j, + realIndex: realIndex, + bc: bc + }, + x: x, + y: y, + strokeWidth: strokeWidth, + elSeries: elSeries + }; + + if (this.isHorizontal) { + paths = this.drawBarPaths(_objectSpread2(_objectSpread2({}, pathsParams), {}, { + barHeight: barHeight, + zeroW: zeroW, + yDivision: yDivision + })); + barWidth = this.series[i][j] / this.invertedYRatio; + } else { + paths = this.drawColumnPaths(_objectSpread2(_objectSpread2({}, pathsParams), {}, { + xDivision: xDivision, + barWidth: barWidth, + zeroH: zeroH + })); + barHeight = this.series[i][j] / this.yRatio[this.yaxisIndex]; + } + + var barGoalLine = this.barHelpers.drawGoalLine({ + barXPosition: paths.barXPosition, + barYPosition: paths.barYPosition, + goalX: paths.goalX, + goalY: paths.goalY, + barHeight: barHeight, + barWidth: barWidth + }); + + if (barGoalLine) { + elGoalsMarkers.add(barGoalLine); + } + + y = paths.y; + x = paths.x; // push current X + + if (j > 0) { + xArrj.push(x + barWidth / 2); + } + + yArrj.push(y); + var pathFill = this.barHelpers.getPathFillColor(series, i, j, realIndex); + this.renderSeries({ + realIndex: realIndex, + pathFill: pathFill, + j: j, + i: i, + pathFrom: paths.pathFrom, + pathTo: paths.pathTo, + strokeWidth: strokeWidth, + elSeries: elSeries, + x: x, + y: y, + series: series, + barHeight: paths.barHeight ? paths.barHeight : barHeight, + barWidth: paths.barWidth ? paths.barWidth : barWidth, + elDataLabelsWrap: elDataLabelsWrap, + elGoalsMarkers: elGoalsMarkers, + visibleSeries: this.visibleI, + type: 'bar' + }); + } // push all x val arrays into main xArr + + + w.globals.seriesXvalues[realIndex] = xArrj; + w.globals.seriesYvalues[realIndex] = yArrj; + ret.add(elSeries); + } + + return ret; + } + }, { + key: "renderSeries", + value: function renderSeries(_ref) { + var realIndex = _ref.realIndex, + pathFill = _ref.pathFill, + lineFill = _ref.lineFill, + j = _ref.j, + i = _ref.i, + groupIndex = _ref.groupIndex, + pathFrom = _ref.pathFrom, + pathTo = _ref.pathTo, + strokeWidth = _ref.strokeWidth, + elSeries = _ref.elSeries, + x = _ref.x, + y = _ref.y, + y1 = _ref.y1, + y2 = _ref.y2, + series = _ref.series, + barHeight = _ref.barHeight, + barWidth = _ref.barWidth, + barYPosition = _ref.barYPosition, + elDataLabelsWrap = _ref.elDataLabelsWrap, + elGoalsMarkers = _ref.elGoalsMarkers, + visibleSeries = _ref.visibleSeries, + type = _ref.type; + var w = this.w; + var graphics = new Graphics(this.ctx); + + if (!lineFill) { + /* fix apexcharts#341 */ + lineFill = this.barOptions.distributed ? w.globals.stroke.colors[j] : w.globals.stroke.colors[realIndex]; + } + + if (w.config.series[i].data[j] && w.config.series[i].data[j].strokeColor) { + lineFill = w.config.series[i].data[j].strokeColor; + } + + if (this.isNullValue) { + pathFill = 'none'; + } + + var delay = j / w.config.chart.animations.animateGradually.delay * (w.config.chart.animations.speed / w.globals.dataPoints) / 2.4; + var renderedPath = graphics.renderPaths({ + i: i, + j: j, + realIndex: realIndex, + pathFrom: pathFrom, + pathTo: pathTo, + stroke: lineFill, + strokeWidth: strokeWidth, + strokeLineCap: w.config.stroke.lineCap, + fill: pathFill, + animationDelay: delay, + initialSpeed: w.config.chart.animations.speed, + dataChangeSpeed: w.config.chart.animations.dynamicAnimation.speed, + className: "apexcharts-".concat(type, "-area") + }); + renderedPath.attr('clip-path', "url(#gridRectMask".concat(w.globals.cuid, ")")); + var forecast = w.config.forecastDataPoints; + + if (forecast.count > 0) { + if (j >= w.globals.dataPoints - forecast.count) { + renderedPath.node.setAttribute('stroke-dasharray', forecast.dashArray); + renderedPath.node.setAttribute('stroke-width', forecast.strokeWidth); + renderedPath.node.setAttribute('fill-opacity', forecast.fillOpacity); + } + } + + if (typeof y1 !== 'undefined' && typeof y2 !== 'undefined') { + renderedPath.attr('data-range-y1', y1); + renderedPath.attr('data-range-y2', y2); + } + + var filters = new Filters(this.ctx); + filters.setSelectionFilter(renderedPath, realIndex, j); + elSeries.add(renderedPath); + var barDataLabels = new BarDataLabels(this); + var dataLabelsObj = barDataLabels.handleBarDataLabels({ + x: x, + y: y, + y1: y1, + y2: y2, + i: i, + j: j, + series: series, + realIndex: realIndex, + groupIndex: groupIndex, + barHeight: barHeight, + barWidth: barWidth, + barYPosition: barYPosition, + renderedPath: renderedPath, + visibleSeries: visibleSeries + }); + + if (dataLabelsObj.dataLabels !== null) { + elDataLabelsWrap.add(dataLabelsObj.dataLabels); + } + + if (dataLabelsObj.totalDataLabels) { + elDataLabelsWrap.add(dataLabelsObj.totalDataLabels); + } + + elSeries.add(elDataLabelsWrap); + + if (elGoalsMarkers) { + elSeries.add(elGoalsMarkers); + } + + return elSeries; + } + }, { + key: "drawBarPaths", + value: function drawBarPaths(_ref2) { + var indexes = _ref2.indexes, + barHeight = _ref2.barHeight, + strokeWidth = _ref2.strokeWidth, + zeroW = _ref2.zeroW, + x = _ref2.x, + y = _ref2.y, + yDivision = _ref2.yDivision, + elSeries = _ref2.elSeries; + var w = this.w; + var i = indexes.i; + var j = indexes.j; + var barYPosition; + + if (w.globals.isXNumeric) { + y = (w.globals.seriesX[i][j] - w.globals.minX) / this.invertedXRatio - barHeight; + barYPosition = y + barHeight * this.visibleI; + } else { + if (w.config.plotOptions.bar.hideZeroBarsWhenGrouped) { + var nonZeroColumns = 0; + var zeroEncounters = 0; + w.globals.seriesPercent.forEach(function (_s, _si) { + if (_s[j]) { + nonZeroColumns++; + } + + if (_si < i && _s[j] === 0) { + zeroEncounters++; + } + }); + + if (nonZeroColumns > 0) { + barHeight = this.seriesLen * barHeight / nonZeroColumns; + } + + barYPosition = y + barHeight * this.visibleI; + barYPosition -= barHeight * zeroEncounters; + } else { + barYPosition = y + barHeight * this.visibleI; + } + } + + x = this.barHelpers.getXForValue(this.series[i][j], zeroW); + var paths = this.barHelpers.getBarpaths({ + barYPosition: barYPosition, + barHeight: barHeight, + x1: zeroW, + x2: x, + strokeWidth: strokeWidth, + series: this.series, + realIndex: indexes.realIndex, + i: i, + j: j, + w: w + }); + + if (!w.globals.isXNumeric) { + y = y + yDivision; + } + + this.barHelpers.barBackground({ + j: j, + i: i, + y1: barYPosition - barHeight * this.visibleI, + y2: barHeight * this.seriesLen, + elSeries: elSeries + }); + return { + pathTo: paths.pathTo, + pathFrom: paths.pathFrom, + x: x, + y: y, + goalX: this.barHelpers.getGoalValues('x', zeroW, null, i, j), + barYPosition: barYPosition, + barHeight: barHeight + }; + } + }, { + key: "drawColumnPaths", + value: function drawColumnPaths(_ref3) { + var indexes = _ref3.indexes, + x = _ref3.x, + y = _ref3.y, + xDivision = _ref3.xDivision, + barWidth = _ref3.barWidth, + zeroH = _ref3.zeroH, + strokeWidth = _ref3.strokeWidth, + elSeries = _ref3.elSeries; + var w = this.w; + var realIndex = indexes.realIndex; + var i = indexes.i; + var j = indexes.j; + var bc = indexes.bc; + var barXPosition; + + if (w.globals.isXNumeric) { + var sxI = realIndex; + + if (!w.globals.seriesX[realIndex].length) { + sxI = w.globals.maxValsInArrayIndex; + } + + if (w.globals.seriesX[sxI][j]) { + x = (w.globals.seriesX[sxI][j] - w.globals.minX) / this.xRatio - barWidth * this.seriesLen / 2; + } // re-calc barXPosition as x changed + + + barXPosition = x + barWidth * this.visibleI; + } else { + if (w.config.plotOptions.bar.hideZeroBarsWhenGrouped) { + var nonZeroColumns = 0; + var zeroEncounters = 0; + w.globals.seriesPercent.forEach(function (_s, _si) { + if (_s[j]) { + nonZeroColumns++; + } + + if (_si < i && _s[j] === 0) { + zeroEncounters++; + } + }); + + if (nonZeroColumns > 0) { + barWidth = this.seriesLen * barWidth / nonZeroColumns; + } + + barXPosition = x + barWidth * this.visibleI; + barXPosition -= barWidth * zeroEncounters; + } else { + barXPosition = x + barWidth * this.visibleI; + } + } + + y = this.barHelpers.getYForValue(this.series[i][j], zeroH); + var paths = this.barHelpers.getColumnPaths({ + barXPosition: barXPosition, + barWidth: barWidth, + y1: zeroH, + y2: y, + strokeWidth: strokeWidth, + series: this.series, + realIndex: indexes.realIndex, + i: i, + j: j, + w: w + }); + + if (!w.globals.isXNumeric) { + x = x + xDivision; + } + + this.barHelpers.barBackground({ + bc: bc, + j: j, + i: i, + x1: barXPosition - strokeWidth / 2 - barWidth * this.visibleI, + x2: barWidth * this.seriesLen + strokeWidth / 2, + elSeries: elSeries + }); + return { + pathTo: paths.pathTo, + pathFrom: paths.pathFrom, + x: x, + y: y, + goalY: this.barHelpers.getGoalValues('y', null, zeroH, i, j), + barXPosition: barXPosition, + barWidth: barWidth + }; + } + /** getPreviousPath is a common function for bars/columns which is used to get previous paths when data changes. + * @memberof Bar + * @param {int} realIndex - current iterating i + * @param {int} j - current iterating series's j index + * @return {string} pathFrom is the string which will be appended in animations + **/ + + }, { + key: "getPreviousPath", + value: function getPreviousPath(realIndex, j) { + var w = this.w; + var pathFrom; + + for (var pp = 0; pp < w.globals.previousPaths.length; pp++) { + var gpp = w.globals.previousPaths[pp]; + + if (gpp.paths && gpp.paths.length > 0 && parseInt(gpp.realIndex, 10) === parseInt(realIndex, 10)) { + if (typeof w.globals.previousPaths[pp].paths[j] !== 'undefined') { + pathFrom = w.globals.previousPaths[pp].paths[j].d; + } + } + } + + return pathFrom; + } + }]); + + return Bar; + }(); + + /** + * ApexCharts BarStacked Class responsible for drawing both Stacked Columns and Bars. + * + * @module BarStacked + * The whole calculation for stacked bar/column is different from normal bar/column, + * hence it makes sense to derive a new class for it extending most of the props of Parent Bar + **/ + + var BarStacked = /*#__PURE__*/function (_Bar) { + _inherits(BarStacked, _Bar); + + var _super = _createSuper(BarStacked); + + function BarStacked() { + _classCallCheck(this, BarStacked); + + return _super.apply(this, arguments); + } + + _createClass(BarStacked, [{ + key: "draw", + value: function draw(series, seriesIndex) { + var _this = this; + + var w = this.w; + this.graphics = new Graphics(this.ctx); + this.bar = new Bar(this.ctx, this.xyRatios); + var coreUtils = new CoreUtils(this.ctx, w); + series = coreUtils.getLogSeries(series); + this.yRatio = coreUtils.getLogYRatios(this.yRatio); + this.barHelpers.initVariables(series); + + if (w.config.chart.stackType === '100%') { + series = w.globals.seriesPercent.slice(); + } + + this.series = series; + this.barHelpers.initializeStackedPrevVars(this); + var ret = this.graphics.group({ + class: 'apexcharts-bar-series apexcharts-plot-series' + }); + var x = 0; + var y = 0; + + var _loop = function _loop(i, bc) { + var xDivision = void 0; // xDivision is the GRIDWIDTH divided by number of datapoints (columns) + + var yDivision = void 0; // yDivision is the GRIDHEIGHT divided by number of datapoints (bars) + + var zeroH = void 0; // zeroH is the baseline where 0 meets y axis + + var zeroW = void 0; // zeroW is the baseline where 0 meets x axis + + var groupIndex = -1; // groupIndex is the index of group buckets (group1, group2, ...) + + _this.groupCtx = _this; + w.globals.seriesGroups.forEach(function (group, gIndex) { + if (group.indexOf(w.config.series[i].name) > -1) { + groupIndex = gIndex; + } + }); + + if (groupIndex !== -1) { + _this.groupCtx = _this[w.globals.seriesGroups[groupIndex]]; + } + + var xArrValues = []; + var yArrValues = []; + var realIndex = w.globals.comboCharts ? seriesIndex[i] : i; + + if (_this.yRatio.length > 1) { + _this.yaxisIndex = realIndex; + } + + _this.isReversed = w.config.yaxis[_this.yaxisIndex] && w.config.yaxis[_this.yaxisIndex].reversed; // el to which series will be drawn + + var elSeries = _this.graphics.group({ + class: "apexcharts-series", + seriesName: Utils$1.escapeString(w.globals.seriesNames[realIndex]), + rel: i + 1, + 'data:realIndex': realIndex + }); + + _this.ctx.series.addCollapsedClassToSeries(elSeries, realIndex); // eldatalabels + + + var elDataLabelsWrap = _this.graphics.group({ + class: 'apexcharts-datalabels', + 'data:realIndex': realIndex + }); + + var elGoalsMarkers = _this.graphics.group({ + class: 'apexcharts-bar-goals-markers', + style: "pointer-events: none" + }); + + var barHeight = 0; + var barWidth = 0; + + var initPositions = _this.initialPositions(x, y, xDivision, yDivision, zeroH, zeroW); + + y = initPositions.y; + barHeight = initPositions.barHeight; + yDivision = initPositions.yDivision; + zeroW = initPositions.zeroW; + x = initPositions.x; + barWidth = initPositions.barWidth; + xDivision = initPositions.xDivision; + zeroH = initPositions.zeroH; + + _this.barHelpers.initializeStackedXYVars(_this); // where all stack bar disappear after collapsing the first series + + + if (_this.groupCtx.prevY.length === 1 && _this.groupCtx.prevY[0].every(function (val) { + return isNaN(val); + })) { + _this.groupCtx.prevY[0] = _this.groupCtx.prevY[0].map(function (val) { + return zeroH; + }); + _this.groupCtx.prevYF[0] = _this.groupCtx.prevYF[0].map(function (val) { + return 0; + }); + } + + for (var j = 0; j < w.globals.dataPoints; j++) { + var strokeWidth = _this.barHelpers.getStrokeWidth(i, j, realIndex); + + var commonPathOpts = { + indexes: { + i: i, + j: j, + realIndex: realIndex, + bc: bc + }, + strokeWidth: strokeWidth, + x: x, + y: y, + elSeries: elSeries, + groupIndex: groupIndex, + seriesGroup: w.globals.seriesGroups[groupIndex] + }; + var paths = null; + + if (_this.isHorizontal) { + paths = _this.drawStackedBarPaths(_objectSpread2(_objectSpread2({}, commonPathOpts), {}, { + zeroW: zeroW, + barHeight: barHeight, + yDivision: yDivision + })); + barWidth = _this.series[i][j] / _this.invertedYRatio; + } else { + paths = _this.drawStackedColumnPaths(_objectSpread2(_objectSpread2({}, commonPathOpts), {}, { + xDivision: xDivision, + barWidth: barWidth, + zeroH: zeroH + })); + barHeight = _this.series[i][j] / _this.yRatio[_this.yaxisIndex]; + } + + var barGoalLine = _this.barHelpers.drawGoalLine({ + barXPosition: paths.barXPosition, + barYPosition: paths.barYPosition, + goalX: paths.goalX, + goalY: paths.goalY, + barHeight: barHeight, + barWidth: barWidth + }); + + if (barGoalLine) { + elGoalsMarkers.add(barGoalLine); + } + + y = paths.y; + x = paths.x; + xArrValues.push(x); + yArrValues.push(y); + + var pathFill = _this.barHelpers.getPathFillColor(series, i, j, realIndex); + + elSeries = _this.renderSeries({ + realIndex: realIndex, + pathFill: pathFill, + j: j, + i: i, + groupIndex: groupIndex, + pathFrom: paths.pathFrom, + pathTo: paths.pathTo, + strokeWidth: strokeWidth, + elSeries: elSeries, + x: x, + y: y, + series: series, + barHeight: barHeight, + barWidth: barWidth, + elDataLabelsWrap: elDataLabelsWrap, + elGoalsMarkers: elGoalsMarkers, + type: 'bar', + visibleSeries: 0 + }); + } // push all x val arrays into main xArr + + + w.globals.seriesXvalues[realIndex] = xArrValues; + w.globals.seriesYvalues[realIndex] = yArrValues; // push all current y values array to main PrevY Array + + _this.groupCtx.prevY.push(_this.groupCtx.yArrj); + + _this.groupCtx.prevYF.push(_this.groupCtx.yArrjF); + + _this.groupCtx.prevYVal.push(_this.groupCtx.yArrjVal); + + _this.groupCtx.prevX.push(_this.groupCtx.xArrj); + + _this.groupCtx.prevXF.push(_this.groupCtx.xArrjF); + + _this.groupCtx.prevXVal.push(_this.groupCtx.xArrjVal); + + ret.add(elSeries); + }; + + for (var i = 0, bc = 0; i < series.length; i++, bc++) { + _loop(i, bc); + } + + return ret; + } + }, { + key: "initialPositions", + value: function initialPositions(x, y, xDivision, yDivision, zeroH, zeroW) { + var w = this.w; + var barHeight, barWidth; + + if (this.isHorizontal) { + var _w$globals$seriesGrou; + + // height divided into equal parts + yDivision = w.globals.gridHeight / w.globals.dataPoints; + barHeight = yDivision; + barHeight = barHeight * parseInt(w.config.plotOptions.bar.barHeight, 10) / 100; + + if ((_w$globals$seriesGrou = w.globals.seriesGroups) !== null && _w$globals$seriesGrou !== void 0 && _w$globals$seriesGrou.length) { + barHeight = barHeight / w.globals.seriesGroups.length; + } + + if (String(w.config.plotOptions.bar.barHeight).indexOf('%') === -1) { + barHeight = parseInt(w.config.plotOptions.bar.barHeight, 10); + } + + zeroW = this.baseLineInvertedY + w.globals.padHorizontal + (this.isReversed ? w.globals.gridWidth : 0) - (this.isReversed ? this.baseLineInvertedY * 2 : 0); // initial y position is half of barHeight * half of number of Bars + + y = (yDivision - barHeight) / 2; + } else { + var _w$globals$seriesGrou2; + + // width divided into equal parts + xDivision = w.globals.gridWidth / w.globals.dataPoints; + barWidth = xDivision; + + if (w.globals.isXNumeric && w.globals.dataPoints > 1) { + // the check (w.globals.dataPoints > 1) fixes apexcharts.js #1617 + xDivision = w.globals.minXDiff / this.xRatio; + barWidth = xDivision * parseInt(this.barOptions.columnWidth, 10) / 100; + } else { + barWidth = barWidth * parseInt(w.config.plotOptions.bar.columnWidth, 10) / 100; + } + + if ((_w$globals$seriesGrou2 = w.globals.seriesGroups) !== null && _w$globals$seriesGrou2 !== void 0 && _w$globals$seriesGrou2.length) { + barWidth = barWidth / w.globals.seriesGroups.length; + } + + if (String(w.config.plotOptions.bar.columnWidth).indexOf('%') === -1) { + barWidth = parseInt(w.config.plotOptions.bar.columnWidth, 10); + } + + zeroH = w.globals.gridHeight - this.baseLineY[this.yaxisIndex] - (this.isReversed ? w.globals.gridHeight : 0) + (this.isReversed ? this.baseLineY[this.yaxisIndex] * 2 : 0); // initial x position is one third of barWidth + + x = w.globals.padHorizontal + (xDivision - barWidth) / 2; + } + + return { + x: x, + y: y, + yDivision: yDivision, + xDivision: xDivision, + barHeight: barHeight, + barWidth: barWidth, + zeroH: zeroH, + zeroW: zeroW + }; + } + }, { + key: "drawStackedBarPaths", + value: function drawStackedBarPaths(_ref) { + var indexes = _ref.indexes, + barHeight = _ref.barHeight, + strokeWidth = _ref.strokeWidth, + zeroW = _ref.zeroW, + x = _ref.x, + y = _ref.y, + groupIndex = _ref.groupIndex, + seriesGroup = _ref.seriesGroup, + yDivision = _ref.yDivision, + elSeries = _ref.elSeries; + var w = this.w; + var barYPosition = y + (groupIndex !== -1 ? groupIndex * barHeight : 0); + var barXPosition; + var i = indexes.i; + var j = indexes.j; + var prevBarW = 0; + + for (var k = 0; k < this.groupCtx.prevXF.length; k++) { + prevBarW = prevBarW + this.groupCtx.prevXF[k][j]; + } + + var gsi = i; // an index to keep track of the series inside a group + + if (seriesGroup) { + gsi = seriesGroup.indexOf(w.config.series[i].name); + } + + if (gsi > 0) { + var bXP = zeroW; + + if (this.groupCtx.prevXVal[gsi - 1][j] < 0) { + bXP = this.series[i][j] >= 0 ? this.groupCtx.prevX[gsi - 1][j] + prevBarW - (this.isReversed ? prevBarW : 0) * 2 : this.groupCtx.prevX[gsi - 1][j]; + } else if (this.groupCtx.prevXVal[gsi - 1][j] >= 0) { + bXP = this.series[i][j] >= 0 ? this.groupCtx.prevX[gsi - 1][j] : this.groupCtx.prevX[gsi - 1][j] - prevBarW + (this.isReversed ? prevBarW : 0) * 2; + } + + barXPosition = bXP; + } else { + // the first series will not have prevX values + barXPosition = zeroW; + } + + if (this.series[i][j] === null) { + x = barXPosition; + } else { + x = barXPosition + this.series[i][j] / this.invertedYRatio - (this.isReversed ? this.series[i][j] / this.invertedYRatio : 0) * 2; + } + + var paths = this.barHelpers.getBarpaths({ + barYPosition: barYPosition, + barHeight: barHeight, + x1: barXPosition, + x2: x, + strokeWidth: strokeWidth, + series: this.series, + realIndex: indexes.realIndex, + seriesGroup: seriesGroup, + i: i, + j: j, + w: w + }); + this.barHelpers.barBackground({ + j: j, + i: i, + y1: barYPosition, + y2: barHeight, + elSeries: elSeries + }); + y = y + yDivision; + return { + pathTo: paths.pathTo, + pathFrom: paths.pathFrom, + goalX: this.barHelpers.getGoalValues('x', zeroW, null, i, j), + barYPosition: barYPosition, + x: x, + y: y + }; + } + }, { + key: "drawStackedColumnPaths", + value: function drawStackedColumnPaths(_ref2) { + var indexes = _ref2.indexes, + x = _ref2.x, + y = _ref2.y, + xDivision = _ref2.xDivision, + barWidth = _ref2.barWidth, + zeroH = _ref2.zeroH, + groupIndex = _ref2.groupIndex, + seriesGroup = _ref2.seriesGroup, + elSeries = _ref2.elSeries; + var w = this.w; + var i = indexes.i; + var j = indexes.j; + var bc = indexes.bc; + + if (w.globals.isXNumeric) { + var seriesVal = w.globals.seriesX[i][j]; + if (!seriesVal) seriesVal = 0; + x = (seriesVal - w.globals.minX) / this.xRatio - barWidth / 2; + + if (w.globals.seriesGroups.length) { + x = (seriesVal - w.globals.minX) / this.xRatio - barWidth / 2 * w.globals.seriesGroups.length; + } + } + + var barXPosition = x + (groupIndex !== -1 ? groupIndex * barWidth : 0); + var barYPosition; + var prevBarH = 0; + + for (var k = 0; k < this.groupCtx.prevYF.length; k++) { + // fix issue #1215 + // in case where this.groupCtx.prevYF[k][j] is NaN, use 0 instead + prevBarH = prevBarH + (!isNaN(this.groupCtx.prevYF[k][j]) ? this.groupCtx.prevYF[k][j] : 0); + } + + var gsi = i; // an index to keep track of the series inside a group + + if (seriesGroup) { + gsi = seriesGroup.indexOf(w.config.series[i].name); + } + + if (gsi > 0 && !w.globals.isXNumeric || gsi > 0 && w.globals.isXNumeric && w.globals.seriesX[i - 1][j] === w.globals.seriesX[i][j]) { + var _this$groupCtx$prevYF; + + var bYP; + var prevYValue; + var p = Math.min(this.yRatio.length + 1, i + 1); + + if (this.groupCtx.prevY[gsi - 1] !== undefined && this.groupCtx.prevY[gsi - 1].length) { + for (var ii = 1; ii < p; ii++) { + var _this$groupCtx$prevY; + + if (!isNaN((_this$groupCtx$prevY = this.groupCtx.prevY[gsi - ii]) === null || _this$groupCtx$prevY === void 0 ? void 0 : _this$groupCtx$prevY[j])) { + // find the previous available value to give prevYValue + prevYValue = this.groupCtx.prevY[gsi - ii][j]; // if found it, break the loop + + break; + } + } + } + + for (var _ii = 1; _ii < p; _ii++) { + var _this$groupCtx$prevYV, _this$groupCtx$prevYV2; + + // find the previous available value(non-NaN) to give bYP + if (((_this$groupCtx$prevYV = this.groupCtx.prevYVal[gsi - _ii]) === null || _this$groupCtx$prevYV === void 0 ? void 0 : _this$groupCtx$prevYV[j]) < 0) { + bYP = this.series[i][j] >= 0 ? prevYValue - prevBarH + (this.isReversed ? prevBarH : 0) * 2 : prevYValue; // found it? break the loop + + break; + } else if (((_this$groupCtx$prevYV2 = this.groupCtx.prevYVal[gsi - _ii]) === null || _this$groupCtx$prevYV2 === void 0 ? void 0 : _this$groupCtx$prevYV2[j]) >= 0) { + bYP = this.series[i][j] >= 0 ? prevYValue : prevYValue + prevBarH - (this.isReversed ? prevBarH : 0) * 2; // found it? break the loop + + break; + } + } + + if (typeof bYP === 'undefined') bYP = w.globals.gridHeight; // if this.prevYF[0] is all 0 resulted from line #486 + // AND every arr starting from the second only contains NaN + + if ((_this$groupCtx$prevYF = this.groupCtx.prevYF[0]) !== null && _this$groupCtx$prevYF !== void 0 && _this$groupCtx$prevYF.every(function (val) { + return val === 0; + }) && this.groupCtx.prevYF.slice(1, gsi).every(function (arr) { + return arr.every(function (val) { + return isNaN(val); + }); + })) { + barYPosition = zeroH; + } else { + // Nothing special + barYPosition = bYP; + } + } else { + // the first series will not have prevY values, also if the prev index's series X doesn't matches the current index's series X, then start from zero + barYPosition = zeroH; + } + + if (this.series[i][j]) { + y = barYPosition - this.series[i][j] / this.yRatio[this.yaxisIndex] + (this.isReversed ? this.series[i][j] / this.yRatio[this.yaxisIndex] : 0) * 2; + } else { + // fixes #3610 + y = barYPosition; + } + + var paths = this.barHelpers.getColumnPaths({ + barXPosition: barXPosition, + barWidth: barWidth, + y1: barYPosition, + y2: y, + yRatio: this.yRatio[this.yaxisIndex], + strokeWidth: this.strokeWidth, + series: this.series, + seriesGroup: seriesGroup, + realIndex: indexes.realIndex, + i: i, + j: j, + w: w + }); + this.barHelpers.barBackground({ + bc: bc, + j: j, + i: i, + x1: barXPosition, + x2: barWidth, + elSeries: elSeries + }); + x = x + xDivision; + return { + pathTo: paths.pathTo, + pathFrom: paths.pathFrom, + goalY: this.barHelpers.getGoalValues('y', null, zeroH, i, j), + barXPosition: barXPosition, + x: w.globals.isXNumeric ? x - xDivision : x, + y: y + }; + } + }]); + + return BarStacked; + }(Bar); + + /** + * ApexCharts BoxCandleStick Class responsible for drawing both Stacked Columns and Bars. + * + * @module BoxCandleStick + **/ + + var BoxCandleStick = /*#__PURE__*/function (_Bar) { + _inherits(BoxCandleStick, _Bar); + + var _super = _createSuper(BoxCandleStick); + + function BoxCandleStick() { + _classCallCheck(this, BoxCandleStick); + + return _super.apply(this, arguments); + } + + _createClass(BoxCandleStick, [{ + key: "draw", + value: function draw(series, ctype, seriesIndex) { + var _this = this; + + var w = this.w; + var graphics = new Graphics(this.ctx); + var type = w.globals.comboCharts ? ctype : w.config.chart.type; + var fill = new Fill(this.ctx); + this.candlestickOptions = this.w.config.plotOptions.candlestick; + this.boxOptions = this.w.config.plotOptions.boxPlot; + this.isHorizontal = w.config.plotOptions.bar.horizontal; + var coreUtils = new CoreUtils(this.ctx, w); + series = coreUtils.getLogSeries(series); + this.series = series; + this.yRatio = coreUtils.getLogYRatios(this.yRatio); + this.barHelpers.initVariables(series); + var ret = graphics.group({ + class: "apexcharts-".concat(type, "-series apexcharts-plot-series") + }); + + var _loop = function _loop(i) { + _this.isBoxPlot = w.config.chart.type === 'boxPlot' || w.config.series[i].type === 'boxPlot'; + var x = void 0, + y = void 0, + xDivision = void 0, + // xDivision is the GRIDWIDTH divided by number of datapoints (columns) + yDivision = void 0, + // yDivision is the GRIDHEIGHT divided by number of datapoints (bars) + zeroH = void 0, + // zeroH is the baseline where 0 meets y axis + zeroW = void 0; // zeroW is the baseline where 0 meets x axis + + var yArrj = []; // hold y values of current iterating series + + var xArrj = []; // hold x values of current iterating series + + var realIndex = w.globals.comboCharts ? seriesIndex[i] : i; // el to which series will be drawn + + var elSeries = graphics.group({ + class: "apexcharts-series", + seriesName: Utils$1.escapeString(w.globals.seriesNames[realIndex]), + rel: i + 1, + 'data:realIndex': realIndex + }); + + _this.ctx.series.addCollapsedClassToSeries(elSeries, realIndex); + + if (series[i].length > 0) { + _this.visibleI = _this.visibleI + 1; + } + + var barHeight = 0; + var barWidth = 0; + + if (_this.yRatio.length > 1) { + _this.yaxisIndex = realIndex; + } + + var initPositions = _this.barHelpers.initialPositions(); + + y = initPositions.y; + barHeight = initPositions.barHeight; + yDivision = initPositions.yDivision; + zeroW = initPositions.zeroW; + x = initPositions.x; + barWidth = initPositions.barWidth; + xDivision = initPositions.xDivision; + zeroH = initPositions.zeroH; + xArrj.push(x + barWidth / 2); // eldatalabels + + var elDataLabelsWrap = graphics.group({ + class: 'apexcharts-datalabels', + 'data:realIndex': realIndex + }); + + var _loop2 = function _loop2(j) { + var strokeWidth = _this.barHelpers.getStrokeWidth(i, j, realIndex); + + var paths = null; + var pathsParams = { + indexes: { + i: i, + j: j, + realIndex: realIndex + }, + x: x, + y: y, + strokeWidth: strokeWidth, + elSeries: elSeries + }; + + if (_this.isHorizontal) { + paths = _this.drawHorizontalBoxPaths(_objectSpread2(_objectSpread2({}, pathsParams), {}, { + yDivision: yDivision, + barHeight: barHeight, + zeroW: zeroW + })); + } else { + paths = _this.drawVerticalBoxPaths(_objectSpread2(_objectSpread2({}, pathsParams), {}, { + xDivision: xDivision, + barWidth: barWidth, + zeroH: zeroH + })); + } + + y = paths.y; + x = paths.x; // push current X + + if (j > 0) { + xArrj.push(x + barWidth / 2); + } + + yArrj.push(y); + paths.pathTo.forEach(function (pathTo, pi) { + var lineFill = !_this.isBoxPlot && _this.candlestickOptions.wick.useFillColor ? paths.color[pi] : w.globals.stroke.colors[i]; + var pathFill = fill.fillPath({ + seriesNumber: realIndex, + dataPointIndex: j, + color: paths.color[pi], + value: series[i][j] + }); + + _this.renderSeries({ + realIndex: realIndex, + pathFill: pathFill, + lineFill: lineFill, + j: j, + i: i, + pathFrom: paths.pathFrom, + pathTo: pathTo, + strokeWidth: strokeWidth, + elSeries: elSeries, + x: x, + y: y, + series: series, + barHeight: barHeight, + barWidth: barWidth, + elDataLabelsWrap: elDataLabelsWrap, + visibleSeries: _this.visibleI, + type: w.config.chart.type + }); + }); + }; + + for (var j = 0; j < w.globals.dataPoints; j++) { + _loop2(j); + } // push all x val arrays into main xArr + + + w.globals.seriesXvalues[realIndex] = xArrj; + w.globals.seriesYvalues[realIndex] = yArrj; + ret.add(elSeries); + }; + + for (var i = 0; i < series.length; i++) { + _loop(i); + } + + return ret; + } + }, { + key: "drawVerticalBoxPaths", + value: function drawVerticalBoxPaths(_ref) { + var indexes = _ref.indexes, + x = _ref.x; + _ref.y; + var xDivision = _ref.xDivision, + barWidth = _ref.barWidth, + zeroH = _ref.zeroH, + strokeWidth = _ref.strokeWidth; + var w = this.w; + var graphics = new Graphics(this.ctx); + var i = indexes.i; + var j = indexes.j; + var isPositive = true; + var colorPos = w.config.plotOptions.candlestick.colors.upward; + var colorNeg = w.config.plotOptions.candlestick.colors.downward; + var color = ''; + + if (this.isBoxPlot) { + color = [this.boxOptions.colors.lower, this.boxOptions.colors.upper]; + } + + var yRatio = this.yRatio[this.yaxisIndex]; + var realIndex = indexes.realIndex; + var ohlc = this.getOHLCValue(realIndex, j); + var l1 = zeroH; + var l2 = zeroH; + + if (ohlc.o > ohlc.c) { + isPositive = false; + } + + var y1 = Math.min(ohlc.o, ohlc.c); + var y2 = Math.max(ohlc.o, ohlc.c); + var m = ohlc.m; + + if (w.globals.isXNumeric) { + x = (w.globals.seriesX[realIndex][j] - w.globals.minX) / this.xRatio - barWidth / 2; + } + + var barXPosition = x + barWidth * this.visibleI; + + if (typeof this.series[i][j] === 'undefined' || this.series[i][j] === null) { + y1 = zeroH; + y2 = zeroH; + } else { + y1 = zeroH - y1 / yRatio; + y2 = zeroH - y2 / yRatio; + l1 = zeroH - ohlc.h / yRatio; + l2 = zeroH - ohlc.l / yRatio; + m = zeroH - ohlc.m / yRatio; + } + + var pathTo = graphics.move(barXPosition, zeroH); + var pathFrom = graphics.move(barXPosition + barWidth / 2, y1); + + if (w.globals.previousPaths.length > 0) { + pathFrom = this.getPreviousPath(realIndex, j, true); + } + + if (this.isBoxPlot) { + pathTo = [graphics.move(barXPosition, y1) + graphics.line(barXPosition + barWidth / 2, y1) + graphics.line(barXPosition + barWidth / 2, l1) + graphics.line(barXPosition + barWidth / 4, l1) + graphics.line(barXPosition + barWidth - barWidth / 4, l1) + graphics.line(barXPosition + barWidth / 2, l1) + graphics.line(barXPosition + barWidth / 2, y1) + graphics.line(barXPosition + barWidth, y1) + graphics.line(barXPosition + barWidth, m) + graphics.line(barXPosition, m) + graphics.line(barXPosition, y1 + strokeWidth / 2), graphics.move(barXPosition, m) + graphics.line(barXPosition + barWidth, m) + graphics.line(barXPosition + barWidth, y2) + graphics.line(barXPosition + barWidth / 2, y2) + graphics.line(barXPosition + barWidth / 2, l2) + graphics.line(barXPosition + barWidth - barWidth / 4, l2) + graphics.line(barXPosition + barWidth / 4, l2) + graphics.line(barXPosition + barWidth / 2, l2) + graphics.line(barXPosition + barWidth / 2, y2) + graphics.line(barXPosition, y2) + graphics.line(barXPosition, m) + 'z']; + } else { + // candlestick + pathTo = [graphics.move(barXPosition, y2) + graphics.line(barXPosition + barWidth / 2, y2) + graphics.line(barXPosition + barWidth / 2, l1) + graphics.line(barXPosition + barWidth / 2, y2) + graphics.line(barXPosition + barWidth, y2) + graphics.line(barXPosition + barWidth, y1) + graphics.line(barXPosition + barWidth / 2, y1) + graphics.line(barXPosition + barWidth / 2, l2) + graphics.line(barXPosition + barWidth / 2, y1) + graphics.line(barXPosition, y1) + graphics.line(barXPosition, y2 - strokeWidth / 2)]; + } + + pathFrom = pathFrom + graphics.move(barXPosition, y1); + + if (!w.globals.isXNumeric) { + x = x + xDivision; + } + + return { + pathTo: pathTo, + pathFrom: pathFrom, + x: x, + y: y2, + barXPosition: barXPosition, + color: this.isBoxPlot ? color : isPositive ? [colorPos] : [colorNeg] + }; + } + }, { + key: "drawHorizontalBoxPaths", + value: function drawHorizontalBoxPaths(_ref2) { + var indexes = _ref2.indexes; + _ref2.x; + var y = _ref2.y, + yDivision = _ref2.yDivision, + barHeight = _ref2.barHeight, + zeroW = _ref2.zeroW, + strokeWidth = _ref2.strokeWidth; + var w = this.w; + var graphics = new Graphics(this.ctx); + var i = indexes.i; + var j = indexes.j; + var color = this.boxOptions.colors.lower; + + if (this.isBoxPlot) { + color = [this.boxOptions.colors.lower, this.boxOptions.colors.upper]; + } + + var yRatio = this.invertedYRatio; + var realIndex = indexes.realIndex; + var ohlc = this.getOHLCValue(realIndex, j); + var l1 = zeroW; + var l2 = zeroW; + var x1 = Math.min(ohlc.o, ohlc.c); + var x2 = Math.max(ohlc.o, ohlc.c); + var m = ohlc.m; + + if (w.globals.isXNumeric) { + y = (w.globals.seriesX[realIndex][j] - w.globals.minX) / this.invertedXRatio - barHeight / 2; + } + + var barYPosition = y + barHeight * this.visibleI; + + if (typeof this.series[i][j] === 'undefined' || this.series[i][j] === null) { + x1 = zeroW; + x2 = zeroW; + } else { + x1 = zeroW + x1 / yRatio; + x2 = zeroW + x2 / yRatio; + l1 = zeroW + ohlc.h / yRatio; + l2 = zeroW + ohlc.l / yRatio; + m = zeroW + ohlc.m / yRatio; + } + + var pathTo = graphics.move(zeroW, barYPosition); + var pathFrom = graphics.move(x1, barYPosition + barHeight / 2); + + if (w.globals.previousPaths.length > 0) { + pathFrom = this.getPreviousPath(realIndex, j, true); + } + + pathTo = [graphics.move(x1, barYPosition) + graphics.line(x1, barYPosition + barHeight / 2) + graphics.line(l1, barYPosition + barHeight / 2) + graphics.line(l1, barYPosition + barHeight / 2 - barHeight / 4) + graphics.line(l1, barYPosition + barHeight / 2 + barHeight / 4) + graphics.line(l1, barYPosition + barHeight / 2) + graphics.line(x1, barYPosition + barHeight / 2) + graphics.line(x1, barYPosition + barHeight) + graphics.line(m, barYPosition + barHeight) + graphics.line(m, barYPosition) + graphics.line(x1 + strokeWidth / 2, barYPosition), graphics.move(m, barYPosition) + graphics.line(m, barYPosition + barHeight) + graphics.line(x2, barYPosition + barHeight) + graphics.line(x2, barYPosition + barHeight / 2) + graphics.line(l2, barYPosition + barHeight / 2) + graphics.line(l2, barYPosition + barHeight - barHeight / 4) + graphics.line(l2, barYPosition + barHeight / 4) + graphics.line(l2, barYPosition + barHeight / 2) + graphics.line(x2, barYPosition + barHeight / 2) + graphics.line(x2, barYPosition) + graphics.line(m, barYPosition) + 'z']; + pathFrom = pathFrom + graphics.move(x1, barYPosition); + + if (!w.globals.isXNumeric) { + y = y + yDivision; + } + + return { + pathTo: pathTo, + pathFrom: pathFrom, + x: x2, + y: y, + barYPosition: barYPosition, + color: color + }; + } + }, { + key: "getOHLCValue", + value: function getOHLCValue(i, j) { + var w = this.w; + return { + o: this.isBoxPlot ? w.globals.seriesCandleH[i][j] : w.globals.seriesCandleO[i][j], + h: this.isBoxPlot ? w.globals.seriesCandleO[i][j] : w.globals.seriesCandleH[i][j], + m: w.globals.seriesCandleM[i][j], + l: this.isBoxPlot ? w.globals.seriesCandleC[i][j] : w.globals.seriesCandleL[i][j], + c: this.isBoxPlot ? w.globals.seriesCandleL[i][j] : w.globals.seriesCandleC[i][j] + }; + } + }]); + + return BoxCandleStick; + }(Bar); + + var TreemapHelpers = /*#__PURE__*/function () { + function TreemapHelpers(ctx) { + _classCallCheck(this, TreemapHelpers); + + this.ctx = ctx; + this.w = ctx.w; + } + + _createClass(TreemapHelpers, [{ + key: "checkColorRange", + value: function checkColorRange() { + var w = this.w; + var negRange = false; + var chartOpts = w.config.plotOptions[w.config.chart.type]; + + if (chartOpts.colorScale.ranges.length > 0) { + chartOpts.colorScale.ranges.map(function (range, index) { + if (range.from <= 0) { + negRange = true; + } + }); + } + + return negRange; + } + }, { + key: "getShadeColor", + value: function getShadeColor(chartType, i, j, negRange) { + var w = this.w; + var colorShadePercent = 1; + var shadeIntensity = w.config.plotOptions[chartType].shadeIntensity; + var colorProps = this.determineColor(chartType, i, j); + + if (w.globals.hasNegs || negRange) { + if (w.config.plotOptions[chartType].reverseNegativeShade) { + if (colorProps.percent < 0) { + colorShadePercent = colorProps.percent / 100 * (shadeIntensity * 1.25); + } else { + colorShadePercent = (1 - colorProps.percent / 100) * (shadeIntensity * 1.25); + } + } else { + if (colorProps.percent <= 0) { + colorShadePercent = 1 - (1 + colorProps.percent / 100) * shadeIntensity; + } else { + colorShadePercent = (1 - colorProps.percent / 100) * shadeIntensity; + } + } + } else { + colorShadePercent = 1 - colorProps.percent / 100; + + if (chartType === 'treemap') { + colorShadePercent = (1 - colorProps.percent / 100) * (shadeIntensity * 1.25); + } + } + + var color = colorProps.color; + var utils = new Utils$1(); + + if (w.config.plotOptions[chartType].enableShades) { + if (this.w.config.theme.mode === 'dark') { + color = Utils$1.hexToRgba(utils.shadeColor(colorShadePercent * -1, colorProps.color), w.config.fill.opacity); + } else { + color = Utils$1.hexToRgba(utils.shadeColor(colorShadePercent, colorProps.color), w.config.fill.opacity); + } + } + + return { + color: color, + colorProps: colorProps + }; + } + }, { + key: "determineColor", + value: function determineColor(chartType, i, j) { + var w = this.w; + var val = w.globals.series[i][j]; + var chartOpts = w.config.plotOptions[chartType]; + var seriesNumber = chartOpts.colorScale.inverse ? j : i; + + if (chartOpts.distributed && w.config.chart.type === 'treemap') { + seriesNumber = j; + } + + var color = w.globals.colors[seriesNumber]; + var foreColor = null; + var min = Math.min.apply(Math, _toConsumableArray(w.globals.series[i])); + var max = Math.max.apply(Math, _toConsumableArray(w.globals.series[i])); + + if (!chartOpts.distributed && chartType === 'heatmap') { + min = w.globals.minY; + max = w.globals.maxY; + } + + if (typeof chartOpts.colorScale.min !== 'undefined') { + min = chartOpts.colorScale.min < w.globals.minY ? chartOpts.colorScale.min : w.globals.minY; + max = chartOpts.colorScale.max > w.globals.maxY ? chartOpts.colorScale.max : w.globals.maxY; + } + + var total = Math.abs(max) + Math.abs(min); + var percent = 100 * val / (total === 0 ? total - 0.000001 : total); + + if (chartOpts.colorScale.ranges.length > 0) { + var colorRange = chartOpts.colorScale.ranges; + colorRange.map(function (range, index) { + if (val >= range.from && val <= range.to) { + color = range.color; + foreColor = range.foreColor ? range.foreColor : null; + min = range.from; + max = range.to; + var rTotal = Math.abs(max) + Math.abs(min); + percent = 100 * val / (rTotal === 0 ? rTotal - 0.000001 : rTotal); + } + }); + } + + return { + color: color, + foreColor: foreColor, + percent: percent + }; + } + }, { + key: "calculateDataLabels", + value: function calculateDataLabels(_ref) { + var text = _ref.text, + x = _ref.x, + y = _ref.y, + i = _ref.i, + j = _ref.j, + colorProps = _ref.colorProps, + fontSize = _ref.fontSize; + var w = this.w; + var dataLabelsConfig = w.config.dataLabels; + var graphics = new Graphics(this.ctx); + var dataLabels = new DataLabels(this.ctx); + var elDataLabelsWrap = null; + + if (dataLabelsConfig.enabled) { + elDataLabelsWrap = graphics.group({ + class: 'apexcharts-data-labels' + }); + var offX = dataLabelsConfig.offsetX; + var offY = dataLabelsConfig.offsetY; + var dataLabelsX = x + offX; + var dataLabelsY = y + parseFloat(dataLabelsConfig.style.fontSize) / 3 + offY; + dataLabels.plotDataLabelsText({ + x: dataLabelsX, + y: dataLabelsY, + text: text, + i: i, + j: j, + color: colorProps.foreColor, + parent: elDataLabelsWrap, + fontSize: fontSize, + dataLabelsConfig: dataLabelsConfig + }); + } + + return elDataLabelsWrap; + } + }, { + key: "addListeners", + value: function addListeners(elRect) { + var graphics = new Graphics(this.ctx); + elRect.node.addEventListener('mouseenter', graphics.pathMouseEnter.bind(this, elRect)); + elRect.node.addEventListener('mouseleave', graphics.pathMouseLeave.bind(this, elRect)); + elRect.node.addEventListener('mousedown', graphics.pathMouseDown.bind(this, elRect)); + } + }]); + + return TreemapHelpers; + }(); + + /** + * ApexCharts HeatMap Class. + * @module HeatMap + **/ + + var HeatMap = /*#__PURE__*/function () { + function HeatMap(ctx, xyRatios) { + _classCallCheck(this, HeatMap); + + this.ctx = ctx; + this.w = ctx.w; + this.xRatio = xyRatios.xRatio; + this.yRatio = xyRatios.yRatio; + this.dynamicAnim = this.w.config.chart.animations.dynamicAnimation; + this.helpers = new TreemapHelpers(ctx); + this.rectRadius = this.w.config.plotOptions.heatmap.radius; + this.strokeWidth = this.w.config.stroke.show ? this.w.config.stroke.width : 0; + } + + _createClass(HeatMap, [{ + key: "draw", + value: function draw(series) { + var w = this.w; + var graphics = new Graphics(this.ctx); + var ret = graphics.group({ + class: 'apexcharts-heatmap' + }); + ret.attr('clip-path', "url(#gridRectMask".concat(w.globals.cuid, ")")); // width divided into equal parts + + var xDivision = w.globals.gridWidth / w.globals.dataPoints; + var yDivision = w.globals.gridHeight / w.globals.series.length; + var y1 = 0; + var rev = false; + this.negRange = this.helpers.checkColorRange(); + var heatSeries = series.slice(); + + if (w.config.yaxis[0].reversed) { + rev = true; + heatSeries.reverse(); + } + + for (var i = rev ? 0 : heatSeries.length - 1; rev ? i < heatSeries.length : i >= 0; rev ? i++ : i--) { + // el to which series will be drawn + var elSeries = graphics.group({ + class: "apexcharts-series apexcharts-heatmap-series", + seriesName: Utils$1.escapeString(w.globals.seriesNames[i]), + rel: i + 1, + 'data:realIndex': i + }); + this.ctx.series.addCollapsedClassToSeries(elSeries, i); + + if (w.config.chart.dropShadow.enabled) { + var shadow = w.config.chart.dropShadow; + var filters = new Filters(this.ctx); + filters.dropShadow(elSeries, shadow, i); + } + + var x1 = 0; + var shadeIntensity = w.config.plotOptions.heatmap.shadeIntensity; + + for (var j = 0; j < heatSeries[i].length; j++) { + var heatColor = this.helpers.getShadeColor(w.config.chart.type, i, j, this.negRange); + var color = heatColor.color; + var heatColorProps = heatColor.colorProps; + + if (w.config.fill.type === 'image') { + var fill = new Fill(this.ctx); + color = fill.fillPath({ + seriesNumber: i, + dataPointIndex: j, + opacity: w.globals.hasNegs ? heatColorProps.percent < 0 ? 1 - (1 + heatColorProps.percent / 100) : shadeIntensity + heatColorProps.percent / 100 : heatColorProps.percent / 100, + patternID: Utils$1.randomId(), + width: w.config.fill.image.width ? w.config.fill.image.width : xDivision, + height: w.config.fill.image.height ? w.config.fill.image.height : yDivision + }); + } + + var radius = this.rectRadius; + var rect = graphics.drawRect(x1, y1, xDivision, yDivision, radius); + rect.attr({ + cx: x1, + cy: y1 + }); + rect.node.classList.add('apexcharts-heatmap-rect'); + elSeries.add(rect); + rect.attr({ + fill: color, + i: i, + index: i, + j: j, + val: heatSeries[i][j], + 'stroke-width': this.strokeWidth, + stroke: w.config.plotOptions.heatmap.useFillColorAsStroke ? color : w.globals.stroke.colors[0], + color: color + }); + this.helpers.addListeners(rect); + + if (w.config.chart.animations.enabled && !w.globals.dataChanged) { + var speed = 1; + + if (!w.globals.resized) { + speed = w.config.chart.animations.speed; + } + + this.animateHeatMap(rect, x1, y1, xDivision, yDivision, speed); + } + + if (w.globals.dataChanged) { + var _speed = 1; + + if (this.dynamicAnim.enabled && w.globals.shouldAnimate) { + _speed = this.dynamicAnim.speed; + var colorFrom = w.globals.previousPaths[i] && w.globals.previousPaths[i][j] && w.globals.previousPaths[i][j].color; + if (!colorFrom) colorFrom = 'rgba(255, 255, 255, 0)'; + this.animateHeatColor(rect, Utils$1.isColorHex(colorFrom) ? colorFrom : Utils$1.rgb2hex(colorFrom), Utils$1.isColorHex(color) ? color : Utils$1.rgb2hex(color), _speed); + } + } + + var formatter = w.config.dataLabels.formatter; + var formattedText = formatter(w.globals.series[i][j], { + value: w.globals.series[i][j], + seriesIndex: i, + dataPointIndex: j, + w: w + }); + var dataLabels = this.helpers.calculateDataLabels({ + text: formattedText, + x: x1 + xDivision / 2, + y: y1 + yDivision / 2, + i: i, + j: j, + colorProps: heatColorProps, + series: heatSeries + }); + + if (dataLabels !== null) { + elSeries.add(dataLabels); + } + + x1 = x1 + xDivision; + } + + y1 = y1 + yDivision; + ret.add(elSeries); + } // adjust yaxis labels for heatmap + + + var yAxisScale = w.globals.yAxisScale[0].result.slice(); + + if (w.config.yaxis[0].reversed) { + yAxisScale.unshift(''); + } else { + yAxisScale.push(''); + } + + w.globals.yAxisScale[0].result = yAxisScale; + var divisor = w.globals.gridHeight / w.globals.series.length; + w.config.yaxis[0].labels.offsetY = -(divisor / 2); + return ret; + } + }, { + key: "animateHeatMap", + value: function animateHeatMap(el, x, y, width, height, speed) { + var animations = new Animations(this.ctx); + animations.animateRect(el, { + x: x + width / 2, + y: y + height / 2, + width: 0, + height: 0 + }, { + x: x, + y: y, + width: width, + height: height + }, speed, function () { + animations.animationCompleted(el); + }); + } + }, { + key: "animateHeatColor", + value: function animateHeatColor(el, colorFrom, colorTo, speed) { + el.attr({ + fill: colorFrom + }).animate(speed).attr({ + fill: colorTo + }); + } + }]); + + return HeatMap; + }(); + + var CircularChartsHelpers = /*#__PURE__*/function () { + function CircularChartsHelpers(ctx) { + _classCallCheck(this, CircularChartsHelpers); + + this.ctx = ctx; + this.w = ctx.w; + } + + _createClass(CircularChartsHelpers, [{ + key: "drawYAxisTexts", + value: function drawYAxisTexts(x, y, i, text) { + var w = this.w; + var yaxisConfig = w.config.yaxis[0]; + var formatter = w.globals.yLabelFormatters[0]; + var graphics = new Graphics(this.ctx); + var yaxisLabel = graphics.drawText({ + x: x + yaxisConfig.labels.offsetX, + y: y + yaxisConfig.labels.offsetY, + text: formatter(text, i), + textAnchor: 'middle', + fontSize: yaxisConfig.labels.style.fontSize, + fontFamily: yaxisConfig.labels.style.fontFamily, + foreColor: Array.isArray(yaxisConfig.labels.style.colors) ? yaxisConfig.labels.style.colors[i] : yaxisConfig.labels.style.colors + }); + return yaxisLabel; + } + }]); + + return CircularChartsHelpers; + }(); + + /** + * ApexCharts Pie Class for drawing Pie / Donut Charts. + * @module Pie + **/ + + var Pie = /*#__PURE__*/function () { + function Pie(ctx) { + _classCallCheck(this, Pie); + + this.ctx = ctx; + this.w = ctx.w; + var w = this.w; + this.chartType = this.w.config.chart.type; + this.initialAnim = this.w.config.chart.animations.enabled; + this.dynamicAnim = this.initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled; + this.animBeginArr = [0]; + this.animDur = 0; + this.donutDataLabels = this.w.config.plotOptions.pie.donut.labels; + this.lineColorArr = w.globals.stroke.colors !== undefined ? w.globals.stroke.colors : w.globals.colors; + this.defaultSize = Math.min(w.globals.gridWidth, w.globals.gridHeight); + this.centerY = this.defaultSize / 2; + this.centerX = w.globals.gridWidth / 2; + + if (w.config.chart.type === 'radialBar') { + this.fullAngle = 360; + } else { + this.fullAngle = Math.abs(w.config.plotOptions.pie.endAngle - w.config.plotOptions.pie.startAngle); + } + + this.initialAngle = w.config.plotOptions.pie.startAngle % this.fullAngle; + w.globals.radialSize = this.defaultSize / 2.05 - w.config.stroke.width - (!w.config.chart.sparkline.enabled ? w.config.chart.dropShadow.blur : 0); + this.donutSize = w.globals.radialSize * parseInt(w.config.plotOptions.pie.donut.size, 10) / 100; + this.maxY = 0; + this.sliceLabels = []; + this.sliceSizes = []; + this.prevSectorAngleArr = []; // for dynamic animations + } + + _createClass(Pie, [{ + key: "draw", + value: function draw(series) { + var _this = this; + + var self = this; + var w = this.w; + var graphics = new Graphics(this.ctx); + this.ret = graphics.group({ + class: 'apexcharts-pie' + }); + if (w.globals.noData) return this.ret; + var total = 0; + + for (var k = 0; k < series.length; k++) { + // CALCULATE THE TOTAL + total += Utils$1.negToZero(series[k]); + } + + var sectorAngleArr = []; // el to which series will be drawn + + var elSeries = graphics.group(); // prevent division by zero error if there is no data + + if (total === 0) { + total = 0.00001; + } + + series.forEach(function (m) { + _this.maxY = Math.max(_this.maxY, m); + }); // override maxY if user provided in config + + if (w.config.yaxis[0].max) { + this.maxY = w.config.yaxis[0].max; + } + + if (w.config.grid.position === 'back' && this.chartType === 'polarArea') { + this.drawPolarElements(this.ret); + } + + for (var i = 0; i < series.length; i++) { + // CALCULATE THE ANGLES + var angle = this.fullAngle * Utils$1.negToZero(series[i]) / total; + sectorAngleArr.push(angle); + + if (this.chartType === 'polarArea') { + sectorAngleArr[i] = this.fullAngle / series.length; + this.sliceSizes.push(w.globals.radialSize * series[i] / this.maxY); + } else { + this.sliceSizes.push(w.globals.radialSize); + } + } + + if (w.globals.dataChanged) { + var prevTotal = 0; + + for (var _k = 0; _k < w.globals.previousPaths.length; _k++) { + // CALCULATE THE PREV TOTAL + prevTotal += Utils$1.negToZero(w.globals.previousPaths[_k]); + } + + var previousAngle; + + for (var _i = 0; _i < w.globals.previousPaths.length; _i++) { + // CALCULATE THE PREVIOUS ANGLES + previousAngle = this.fullAngle * Utils$1.negToZero(w.globals.previousPaths[_i]) / prevTotal; + this.prevSectorAngleArr.push(previousAngle); + } + } // on small chart size after few count of resizes browser window donutSize can be negative + + + if (this.donutSize < 0) { + this.donutSize = 0; + } + + var scaleSize = w.config.plotOptions.pie.customScale; + var halfW = w.globals.gridWidth / 2; + var halfH = w.globals.gridHeight / 2; + var translateX = halfW - w.globals.gridWidth / 2 * scaleSize; + var translateY = halfH - w.globals.gridHeight / 2 * scaleSize; + + if (this.chartType === 'donut') { + // draw the inner circle and add some text to it + var circle = graphics.drawCircle(this.donutSize); + circle.attr({ + cx: this.centerX, + cy: this.centerY, + fill: w.config.plotOptions.pie.donut.background ? w.config.plotOptions.pie.donut.background : 'transparent' + }); + elSeries.add(circle); + } + + var elG = self.drawArcs(sectorAngleArr, series); // add slice dataLabels at the end + + this.sliceLabels.forEach(function (s) { + elG.add(s); + }); + elSeries.attr({ + transform: "translate(".concat(translateX, ", ").concat(translateY, ") scale(").concat(scaleSize, ")") + }); + elSeries.add(elG); + this.ret.add(elSeries); + + if (this.donutDataLabels.show) { + var dataLabels = this.renderInnerDataLabels(this.donutDataLabels, { + hollowSize: this.donutSize, + centerX: this.centerX, + centerY: this.centerY, + opacity: this.donutDataLabels.show, + translateX: translateX, + translateY: translateY + }); + this.ret.add(dataLabels); + } + + if (w.config.grid.position === 'front' && this.chartType === 'polarArea') { + this.drawPolarElements(this.ret); + } + + return this.ret; + } // core function for drawing pie arcs + + }, { + key: "drawArcs", + value: function drawArcs(sectorAngleArr, series) { + var w = this.w; + var filters = new Filters(this.ctx); + var graphics = new Graphics(this.ctx); + var fill = new Fill(this.ctx); + var g = graphics.group({ + class: 'apexcharts-slices' + }); + var startAngle = this.initialAngle; + var prevStartAngle = this.initialAngle; + var endAngle = this.initialAngle; + var prevEndAngle = this.initialAngle; + this.strokeWidth = w.config.stroke.show ? w.config.stroke.width : 0; + + for (var i = 0; i < sectorAngleArr.length; i++) { + var elPieArc = graphics.group({ + class: "apexcharts-series apexcharts-pie-series", + seriesName: Utils$1.escapeString(w.globals.seriesNames[i]), + rel: i + 1, + 'data:realIndex': i + }); + g.add(elPieArc); + startAngle = endAngle; + prevStartAngle = prevEndAngle; + endAngle = startAngle + sectorAngleArr[i]; + prevEndAngle = prevStartAngle + this.prevSectorAngleArr[i]; + var angle = endAngle < startAngle ? this.fullAngle + endAngle - startAngle : endAngle - startAngle; + var pathFill = fill.fillPath({ + seriesNumber: i, + size: this.sliceSizes[i], + value: series[i] + }); // additionally, pass size for gradient drawing in the fillPath function + + var path = this.getChangedPath(prevStartAngle, prevEndAngle); + var elPath = graphics.drawPath({ + d: path, + stroke: Array.isArray(this.lineColorArr) ? this.lineColorArr[i] : this.lineColorArr, + strokeWidth: 0, + fill: pathFill, + fillOpacity: w.config.fill.opacity, + classes: "apexcharts-pie-area apexcharts-".concat(this.chartType.toLowerCase(), "-slice-").concat(i) + }); + elPath.attr({ + index: 0, + j: i + }); + filters.setSelectionFilter(elPath, 0, i); + + if (w.config.chart.dropShadow.enabled) { + var shadow = w.config.chart.dropShadow; + filters.dropShadow(elPath, shadow, i); + } + + this.addListeners(elPath, this.donutDataLabels); + Graphics.setAttrs(elPath.node, { + 'data:angle': angle, + 'data:startAngle': startAngle, + 'data:strokeWidth': this.strokeWidth, + 'data:value': series[i] + }); + var labelPosition = { + x: 0, + y: 0 + }; + + if (this.chartType === 'pie' || this.chartType === 'polarArea') { + labelPosition = Utils$1.polarToCartesian(this.centerX, this.centerY, w.globals.radialSize / 1.25 + w.config.plotOptions.pie.dataLabels.offset, (startAngle + angle / 2) % this.fullAngle); + } else if (this.chartType === 'donut') { + labelPosition = Utils$1.polarToCartesian(this.centerX, this.centerY, (w.globals.radialSize + this.donutSize) / 2 + w.config.plotOptions.pie.dataLabels.offset, (startAngle + angle / 2) % this.fullAngle); + } + + elPieArc.add(elPath); // Animation code starts + + var dur = 0; + + if (this.initialAnim && !w.globals.resized && !w.globals.dataChanged) { + dur = angle / this.fullAngle * w.config.chart.animations.speed; + if (dur === 0) dur = 1; + this.animDur = dur + this.animDur; + this.animBeginArr.push(this.animDur); + } else { + this.animBeginArr.push(0); + } + + if (this.dynamicAnim && w.globals.dataChanged) { + this.animatePaths(elPath, { + size: this.sliceSizes[i], + endAngle: endAngle, + startAngle: startAngle, + prevStartAngle: prevStartAngle, + prevEndAngle: prevEndAngle, + animateStartingPos: true, + i: i, + animBeginArr: this.animBeginArr, + shouldSetPrevPaths: true, + dur: w.config.chart.animations.dynamicAnimation.speed + }); + } else { + this.animatePaths(elPath, { + size: this.sliceSizes[i], + endAngle: endAngle, + startAngle: startAngle, + i: i, + totalItems: sectorAngleArr.length - 1, + animBeginArr: this.animBeginArr, + dur: dur + }); + } // animation code ends + + + if (w.config.plotOptions.pie.expandOnClick && this.chartType !== 'polarArea') { + elPath.click(this.pieClicked.bind(this, i)); + } + + if (typeof w.globals.selectedDataPoints[0] !== 'undefined' && w.globals.selectedDataPoints[0].indexOf(i) > -1) { + this.pieClicked(i); + } + + if (w.config.dataLabels.enabled) { + var xPos = labelPosition.x; + var yPos = labelPosition.y; + var text = 100 * angle / this.fullAngle + '%'; + + if (angle !== 0 && w.config.plotOptions.pie.dataLabels.minAngleToShowLabel < sectorAngleArr[i]) { + var formatter = w.config.dataLabels.formatter; + + if (formatter !== undefined) { + text = formatter(w.globals.seriesPercent[i][0], { + seriesIndex: i, + w: w + }); + } + + var foreColor = w.globals.dataLabels.style.colors[i]; + var elPieLabelWrap = graphics.group({ + class: "apexcharts-datalabels" + }); + var elPieLabel = graphics.drawText({ + x: xPos, + y: yPos, + text: text, + textAnchor: 'middle', + fontSize: w.config.dataLabels.style.fontSize, + fontFamily: w.config.dataLabels.style.fontFamily, + fontWeight: w.config.dataLabels.style.fontWeight, + foreColor: foreColor + }); + elPieLabelWrap.add(elPieLabel); + + if (w.config.dataLabels.dropShadow.enabled) { + var textShadow = w.config.dataLabels.dropShadow; + filters.dropShadow(elPieLabel, textShadow); + } + + elPieLabel.node.classList.add('apexcharts-pie-label'); + + if (w.config.chart.animations.animate && w.globals.resized === false) { + elPieLabel.node.classList.add('apexcharts-pie-label-delay'); + elPieLabel.node.style.animationDelay = w.config.chart.animations.speed / 940 + 's'; + } + + this.sliceLabels.push(elPieLabelWrap); + } + } + } + + return g; + } + }, { + key: "addListeners", + value: function addListeners(elPath, dataLabels) { + var graphics = new Graphics(this.ctx); // append filters on mouseenter and mouseleave + + elPath.node.addEventListener('mouseenter', graphics.pathMouseEnter.bind(this, elPath)); + elPath.node.addEventListener('mouseleave', graphics.pathMouseLeave.bind(this, elPath)); + elPath.node.addEventListener('mouseleave', this.revertDataLabelsInner.bind(this, elPath.node, dataLabels)); + elPath.node.addEventListener('mousedown', graphics.pathMouseDown.bind(this, elPath)); + + if (!this.donutDataLabels.total.showAlways) { + elPath.node.addEventListener('mouseenter', this.printDataLabelsInner.bind(this, elPath.node, dataLabels)); + elPath.node.addEventListener('mousedown', this.printDataLabelsInner.bind(this, elPath.node, dataLabels)); + } + } // This function can be used for other circle charts too + + }, { + key: "animatePaths", + value: function animatePaths(el, opts) { + var w = this.w; + var me = this; + var angle = opts.endAngle < opts.startAngle ? this.fullAngle + opts.endAngle - opts.startAngle : opts.endAngle - opts.startAngle; + var prevAngle = angle; + var fromStartAngle = opts.startAngle; + var toStartAngle = opts.startAngle; + + if (opts.prevStartAngle !== undefined && opts.prevEndAngle !== undefined) { + fromStartAngle = opts.prevEndAngle; + prevAngle = opts.prevEndAngle < opts.prevStartAngle ? this.fullAngle + opts.prevEndAngle - opts.prevStartAngle : opts.prevEndAngle - opts.prevStartAngle; + } + + if (opts.i === w.config.series.length - 1) { + // some adjustments for the last overlapping paths + if (angle + toStartAngle > this.fullAngle) { + opts.endAngle = opts.endAngle - (angle + toStartAngle); + } else if (angle + toStartAngle < this.fullAngle) { + opts.endAngle = opts.endAngle + (this.fullAngle - (angle + toStartAngle)); + } + } + + if (angle === this.fullAngle) angle = this.fullAngle - 0.01; + me.animateArc(el, fromStartAngle, toStartAngle, angle, prevAngle, opts); + } + }, { + key: "animateArc", + value: function animateArc(el, fromStartAngle, toStartAngle, angle, prevAngle, opts) { + var me = this; + var w = this.w; + var animations = new Animations(this.ctx); + var size = opts.size; + var path; + + if (isNaN(fromStartAngle) || isNaN(prevAngle)) { + fromStartAngle = toStartAngle; + prevAngle = angle; + opts.dur = 0; + } + + var currAngle = angle; + var startAngle = toStartAngle; + var fromAngle = fromStartAngle < toStartAngle ? this.fullAngle + fromStartAngle - toStartAngle : fromStartAngle - toStartAngle; + + if (w.globals.dataChanged && opts.shouldSetPrevPaths) { + // to avoid flicker when updating, set prev path first and then animate from there + if (opts.prevEndAngle) { + path = me.getPiePath({ + me: me, + startAngle: opts.prevStartAngle, + angle: opts.prevEndAngle < opts.prevStartAngle ? this.fullAngle + opts.prevEndAngle - opts.prevStartAngle : opts.prevEndAngle - opts.prevStartAngle, + size: size + }); + el.attr({ + d: path + }); + } + } + + if (opts.dur !== 0) { + el.animate(opts.dur, w.globals.easing, opts.animBeginArr[opts.i]).afterAll(function () { + if (me.chartType === 'pie' || me.chartType === 'donut' || me.chartType === 'polarArea') { + this.animate(w.config.chart.animations.dynamicAnimation.speed).attr({ + 'stroke-width': me.strokeWidth + }); + } + + if (opts.i === w.config.series.length - 1) { + animations.animationCompleted(el); + } + }).during(function (pos) { + currAngle = fromAngle + (angle - fromAngle) * pos; + + if (opts.animateStartingPos) { + currAngle = prevAngle + (angle - prevAngle) * pos; + startAngle = fromStartAngle - prevAngle + (toStartAngle - (fromStartAngle - prevAngle)) * pos; + } + + path = me.getPiePath({ + me: me, + startAngle: startAngle, + angle: currAngle, + size: size + }); + el.node.setAttribute('data:pathOrig', path); + el.attr({ + d: path + }); + }); + } else { + path = me.getPiePath({ + me: me, + startAngle: startAngle, + angle: angle, + size: size + }); + + if (!opts.isTrack) { + w.globals.animationEnded = true; + } + + el.node.setAttribute('data:pathOrig', path); + el.attr({ + d: path, + 'stroke-width': me.strokeWidth + }); + } + } + }, { + key: "pieClicked", + value: function pieClicked(i) { + var w = this.w; + var me = this; + var path; + var size = me.sliceSizes[i] + (w.config.plotOptions.pie.expandOnClick ? 4 : 0); + var elPath = w.globals.dom.Paper.select(".apexcharts-".concat(me.chartType.toLowerCase(), "-slice-").concat(i)).members[0]; + + if (elPath.attr('data:pieClicked') === 'true') { + elPath.attr({ + 'data:pieClicked': 'false' + }); + this.revertDataLabelsInner(elPath.node, this.donutDataLabels); + var origPath = elPath.attr('data:pathOrig'); + elPath.attr({ + d: origPath + }); + return; + } else { + // reset all elems + var allEls = w.globals.dom.baseEl.getElementsByClassName('apexcharts-pie-area'); + Array.prototype.forEach.call(allEls, function (pieSlice) { + pieSlice.setAttribute('data:pieClicked', 'false'); + var origPath = pieSlice.getAttribute('data:pathOrig'); + + if (origPath) { + pieSlice.setAttribute('d', origPath); + } + }); + elPath.attr('data:pieClicked', 'true'); + } + + var startAngle = parseInt(elPath.attr('data:startAngle'), 10); + var angle = parseInt(elPath.attr('data:angle'), 10); + path = me.getPiePath({ + me: me, + startAngle: startAngle, + angle: angle, + size: size + }); + if (angle === 360) return; + elPath.plot(path); + } + }, { + key: "getChangedPath", + value: function getChangedPath(prevStartAngle, prevEndAngle) { + var path = ''; + + if (this.dynamicAnim && this.w.globals.dataChanged) { + path = this.getPiePath({ + me: this, + startAngle: prevStartAngle, + angle: prevEndAngle - prevStartAngle, + size: this.size + }); + } + + return path; + } + }, { + key: "getPiePath", + value: function getPiePath(_ref) { + var me = _ref.me, + startAngle = _ref.startAngle, + angle = _ref.angle, + size = _ref.size; + var path; + var startDeg = startAngle; + var startRadians = Math.PI * (startDeg - 90) / 180; + var endDeg = angle + startAngle; // prevent overlap + + if (Math.ceil(endDeg) >= this.fullAngle + this.w.config.plotOptions.pie.startAngle % this.fullAngle) { + endDeg = this.fullAngle + this.w.config.plotOptions.pie.startAngle % this.fullAngle - 0.01; + } + + if (Math.ceil(endDeg) > this.fullAngle) endDeg -= this.fullAngle; + var endRadians = Math.PI * (endDeg - 90) / 180; + var x1 = me.centerX + size * Math.cos(startRadians); + var y1 = me.centerY + size * Math.sin(startRadians); + var x2 = me.centerX + size * Math.cos(endRadians); + var y2 = me.centerY + size * Math.sin(endRadians); + var startInner = Utils$1.polarToCartesian(me.centerX, me.centerY, me.donutSize, endDeg); + var endInner = Utils$1.polarToCartesian(me.centerX, me.centerY, me.donutSize, startDeg); + var largeArc = angle > 180 ? 1 : 0; + var pathBeginning = ['M', x1, y1, 'A', size, size, 0, largeArc, 1, x2, y2]; + + if (me.chartType === 'donut') { + path = [].concat(pathBeginning, ['L', startInner.x, startInner.y, 'A', me.donutSize, me.donutSize, 0, largeArc, 0, endInner.x, endInner.y, 'L', x1, y1, 'z']).join(' '); + } else if (me.chartType === 'pie' || me.chartType === 'polarArea') { + path = [].concat(pathBeginning, ['L', me.centerX, me.centerY, 'L', x1, y1]).join(' '); + } else { + path = [].concat(pathBeginning).join(' '); + } + + return path; + } + }, { + key: "drawPolarElements", + value: function drawPolarElements(parent) { + var w = this.w; + var scale = new Range$1(this.ctx); + var graphics = new Graphics(this.ctx); + var helpers = new CircularChartsHelpers(this.ctx); + var gCircles = graphics.group(); + var gYAxis = graphics.group(); + var yScale = scale.niceScale(0, Math.ceil(this.maxY), w.config.yaxis[0].tickAmount, 0, true); + var yTexts = yScale.result.reverse(); + var len = yScale.result.length; + this.maxY = yScale.niceMax; + var circleSize = w.globals.radialSize; + var diff = circleSize / (len - 1); + + for (var i = 0; i < len - 1; i++) { + var circle = graphics.drawCircle(circleSize); + circle.attr({ + cx: this.centerX, + cy: this.centerY, + fill: 'none', + 'stroke-width': w.config.plotOptions.polarArea.rings.strokeWidth, + stroke: w.config.plotOptions.polarArea.rings.strokeColor + }); + + if (w.config.yaxis[0].show) { + var yLabel = helpers.drawYAxisTexts(this.centerX, this.centerY - circleSize + parseInt(w.config.yaxis[0].labels.style.fontSize, 10) / 2, i, yTexts[i]); + gYAxis.add(yLabel); + } + + gCircles.add(circle); + circleSize = circleSize - diff; + } + + this.drawSpokes(parent); + parent.add(gCircles); + parent.add(gYAxis); + } + }, { + key: "renderInnerDataLabels", + value: function renderInnerDataLabels(dataLabelsConfig, opts) { + var w = this.w; + var graphics = new Graphics(this.ctx); + var g = graphics.group({ + class: 'apexcharts-datalabels-group', + transform: "translate(".concat(opts.translateX ? opts.translateX : 0, ", ").concat(opts.translateY ? opts.translateY : 0, ") scale(").concat(w.config.plotOptions.pie.customScale, ")") + }); + var showTotal = dataLabelsConfig.total.show; + g.node.style.opacity = opts.opacity; + var x = opts.centerX; + var y = opts.centerY; + var labelColor, valueColor; + + if (dataLabelsConfig.name.color === undefined) { + labelColor = w.globals.colors[0]; + } else { + labelColor = dataLabelsConfig.name.color; + } + + var labelFontSize = dataLabelsConfig.name.fontSize; + var labelFontFamily = dataLabelsConfig.name.fontFamily; + var labelFontWeight = dataLabelsConfig.name.fontWeight; + + if (dataLabelsConfig.value.color === undefined) { + valueColor = w.config.chart.foreColor; + } else { + valueColor = dataLabelsConfig.value.color; + } + + var lbFormatter = dataLabelsConfig.value.formatter; + var val = ''; + var name = ''; + + if (showTotal) { + labelColor = dataLabelsConfig.total.color; + labelFontSize = dataLabelsConfig.total.fontSize; + labelFontFamily = dataLabelsConfig.total.fontFamily; + labelFontWeight = dataLabelsConfig.total.fontWeight; + name = dataLabelsConfig.total.label; + val = dataLabelsConfig.total.formatter(w); + } else { + if (w.globals.series.length === 1) { + val = lbFormatter(w.globals.series[0], w); + name = w.globals.seriesNames[0]; + } + } + + if (name) { + name = dataLabelsConfig.name.formatter(name, dataLabelsConfig.total.show, w); + } + + if (dataLabelsConfig.name.show) { + var elLabel = graphics.drawText({ + x: x, + y: y + parseFloat(dataLabelsConfig.name.offsetY), + text: name, + textAnchor: 'middle', + foreColor: labelColor, + fontSize: labelFontSize, + fontWeight: labelFontWeight, + fontFamily: labelFontFamily + }); + elLabel.node.classList.add('apexcharts-datalabel-label'); + g.add(elLabel); + } + + if (dataLabelsConfig.value.show) { + var valOffset = dataLabelsConfig.name.show ? parseFloat(dataLabelsConfig.value.offsetY) + 16 : dataLabelsConfig.value.offsetY; + var elValue = graphics.drawText({ + x: x, + y: y + valOffset, + text: val, + textAnchor: 'middle', + foreColor: valueColor, + fontWeight: dataLabelsConfig.value.fontWeight, + fontSize: dataLabelsConfig.value.fontSize, + fontFamily: dataLabelsConfig.value.fontFamily + }); + elValue.node.classList.add('apexcharts-datalabel-value'); + g.add(elValue); + } // for a multi-series circle chart, we need to show total value instead of first series labels + + + return g; + } + /** + * + * @param {string} name - The name of the series + * @param {string} val - The value of that series + * @param {object} el - Optional el (indicates which series was hovered/clicked). If this param is not present, means we need to show total + */ + + }, { + key: "printInnerLabels", + value: function printInnerLabels(labelsConfig, name, val, el) { + var w = this.w; + var labelColor; + + if (el) { + if (labelsConfig.name.color === undefined) { + labelColor = w.globals.colors[parseInt(el.parentNode.getAttribute('rel'), 10) - 1]; + } else { + labelColor = labelsConfig.name.color; + } + } else { + if (w.globals.series.length > 1 && labelsConfig.total.show) { + labelColor = labelsConfig.total.color; + } + } + + var elLabel = w.globals.dom.baseEl.querySelector('.apexcharts-datalabel-label'); + var elValue = w.globals.dom.baseEl.querySelector('.apexcharts-datalabel-value'); + var lbFormatter = labelsConfig.value.formatter; + val = lbFormatter(val, w); // we need to show Total Val - so get the formatter of it + + if (!el && typeof labelsConfig.total.formatter === 'function') { + val = labelsConfig.total.formatter(w); + } + + var isTotal = name === labelsConfig.total.label; + name = labelsConfig.name.formatter(name, isTotal, w); + + if (elLabel !== null) { + elLabel.textContent = name; + } + + if (elValue !== null) { + elValue.textContent = val; + } + + if (elLabel !== null) { + elLabel.style.fill = labelColor; + } + } + }, { + key: "printDataLabelsInner", + value: function printDataLabelsInner(el, dataLabelsConfig) { + var w = this.w; + var val = el.getAttribute('data:value'); + var name = w.globals.seriesNames[parseInt(el.parentNode.getAttribute('rel'), 10) - 1]; + + if (w.globals.series.length > 1) { + this.printInnerLabels(dataLabelsConfig, name, val, el); + } + + var dataLabelsGroup = w.globals.dom.baseEl.querySelector('.apexcharts-datalabels-group'); + + if (dataLabelsGroup !== null) { + dataLabelsGroup.style.opacity = 1; + } + } + }, { + key: "drawSpokes", + value: function drawSpokes(parent) { + var _this2 = this; + + var w = this.w; + var graphics = new Graphics(this.ctx); + var spokeConfig = w.config.plotOptions.polarArea.spokes; + if (spokeConfig.strokeWidth === 0) return; + var spokes = []; + var angleDivision = 360 / w.globals.series.length; + + for (var i = 0; i < w.globals.series.length; i++) { + spokes.push(Utils$1.polarToCartesian(this.centerX, this.centerY, w.globals.radialSize, w.config.plotOptions.pie.startAngle + angleDivision * i)); + } + + spokes.forEach(function (p, i) { + var line = graphics.drawLine(p.x, p.y, _this2.centerX, _this2.centerY, Array.isArray(spokeConfig.connectorColors) ? spokeConfig.connectorColors[i] : spokeConfig.connectorColors); + parent.add(line); + }); + } + }, { + key: "revertDataLabelsInner", + value: function revertDataLabelsInner(elem, dataLabelsConfig, event) { + var _this3 = this; + + var w = this.w; + var dataLabelsGroup = w.globals.dom.baseEl.querySelector('.apexcharts-datalabels-group'); + var sliceOut = false; + var slices = w.globals.dom.baseEl.getElementsByClassName("apexcharts-pie-area"); + + var selectSlice = function selectSlice(_ref2) { + var makeSliceOut = _ref2.makeSliceOut, + printLabel = _ref2.printLabel; + Array.prototype.forEach.call(slices, function (s) { + if (s.getAttribute('data:pieClicked') === 'true') { + if (makeSliceOut) { + sliceOut = true; + } + + if (printLabel) { + _this3.printDataLabelsInner(s, dataLabelsConfig); + } + } + }); + }; + + selectSlice({ + makeSliceOut: true, + printLabel: false + }); + + if (dataLabelsConfig.total.show && w.globals.series.length > 1) { + if (sliceOut && !dataLabelsConfig.total.showAlways) { + selectSlice({ + makeSliceOut: false, + printLabel: true + }); + } else { + this.printInnerLabels(dataLabelsConfig, dataLabelsConfig.total.label, dataLabelsConfig.total.formatter(w)); + } + } else { + selectSlice({ + makeSliceOut: false, + printLabel: true + }); + + if (!sliceOut) { + if (w.globals.selectedDataPoints.length && w.globals.series.length > 1) { + if (w.globals.selectedDataPoints[0].length > 0) { + var index = w.globals.selectedDataPoints[0]; + var el = w.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(), "-slice-").concat(index)); + this.printDataLabelsInner(el, dataLabelsConfig); + } else if (dataLabelsGroup && w.globals.selectedDataPoints.length && w.globals.selectedDataPoints[0].length === 0) { + dataLabelsGroup.style.opacity = 0; + } + } else { + if (dataLabelsGroup && w.globals.series.length > 1) { + dataLabelsGroup.style.opacity = 0; + } + } + } + } + } + }]); + + return Pie; + }(); + + /** + * ApexCharts Radar Class for Spider/Radar Charts. + * @module Radar + **/ + + var Radar = /*#__PURE__*/function () { + function Radar(ctx) { + _classCallCheck(this, Radar); + + this.ctx = ctx; + this.w = ctx.w; + this.chartType = this.w.config.chart.type; + this.initialAnim = this.w.config.chart.animations.enabled; + this.dynamicAnim = this.initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled; + this.animDur = 0; + var w = this.w; + this.graphics = new Graphics(this.ctx); + this.lineColorArr = w.globals.stroke.colors !== undefined ? w.globals.stroke.colors : w.globals.colors; + this.defaultSize = w.globals.svgHeight < w.globals.svgWidth ? w.globals.gridHeight + w.globals.goldenPadding * 1.5 : w.globals.gridWidth; + this.isLog = w.config.yaxis[0].logarithmic; + this.coreUtils = new CoreUtils(this.ctx); + this.maxValue = this.isLog ? this.coreUtils.getLogVal(w.globals.maxY, 0) : w.globals.maxY; + this.minValue = this.isLog ? this.coreUtils.getLogVal(this.w.globals.minY, 0) : w.globals.minY; + this.polygons = w.config.plotOptions.radar.polygons; + this.strokeWidth = w.config.stroke.show ? w.config.stroke.width : 0; + this.size = this.defaultSize / 2.1 - this.strokeWidth - w.config.chart.dropShadow.blur; + + if (w.config.xaxis.labels.show) { + this.size = this.size - w.globals.xAxisLabelsWidth / 1.75; + } + + if (w.config.plotOptions.radar.size !== undefined) { + this.size = w.config.plotOptions.radar.size; + } + + this.dataRadiusOfPercent = []; + this.dataRadius = []; + this.angleArr = []; + this.yaxisLabelsTextsPos = []; + } + + _createClass(Radar, [{ + key: "draw", + value: function draw(series) { + var _this = this; + + var w = this.w; + var fill = new Fill(this.ctx); + var allSeries = []; + var dataLabels = new DataLabels(this.ctx); + + if (series.length) { + this.dataPointsLen = series[w.globals.maxValsInArrayIndex].length; + } + + this.disAngle = Math.PI * 2 / this.dataPointsLen; + var halfW = w.globals.gridWidth / 2; + var halfH = w.globals.gridHeight / 2; + var translateX = halfW + w.config.plotOptions.radar.offsetX; + var translateY = halfH + w.config.plotOptions.radar.offsetY; + var ret = this.graphics.group({ + class: 'apexcharts-radar-series apexcharts-plot-series', + transform: "translate(".concat(translateX || 0, ", ").concat(translateY || 0, ")") + }); + var dataPointsPos = []; + var elPointsMain = null; + var elDataPointsMain = null; + this.yaxisLabels = this.graphics.group({ + class: 'apexcharts-yaxis' + }); + series.forEach(function (s, i) { + var longestSeries = s.length === w.globals.dataPoints; // el to which series will be drawn + + var elSeries = _this.graphics.group().attr({ + class: "apexcharts-series", + 'data:longestSeries': longestSeries, + seriesName: Utils$1.escapeString(w.globals.seriesNames[i]), + rel: i + 1, + 'data:realIndex': i + }); + + _this.dataRadiusOfPercent[i] = []; + _this.dataRadius[i] = []; + _this.angleArr[i] = []; + s.forEach(function (dv, j) { + var range = Math.abs(_this.maxValue - _this.minValue); + dv = dv + Math.abs(_this.minValue); + + if (_this.isLog) { + dv = _this.coreUtils.getLogVal(dv, 0); + } + + _this.dataRadiusOfPercent[i][j] = dv / range; + _this.dataRadius[i][j] = _this.dataRadiusOfPercent[i][j] * _this.size; + _this.angleArr[i][j] = j * _this.disAngle; + }); + dataPointsPos = _this.getDataPointsPos(_this.dataRadius[i], _this.angleArr[i]); + + var paths = _this.createPaths(dataPointsPos, { + x: 0, + y: 0 + }); // points + + + elPointsMain = _this.graphics.group({ + class: 'apexcharts-series-markers-wrap apexcharts-element-hidden' + }); // datapoints + + elDataPointsMain = _this.graphics.group({ + class: "apexcharts-datalabels", + 'data:realIndex': i + }); + w.globals.delayedElements.push({ + el: elPointsMain.node, + index: i + }); + var defaultRenderedPathOptions = { + i: i, + realIndex: i, + animationDelay: i, + initialSpeed: w.config.chart.animations.speed, + dataChangeSpeed: w.config.chart.animations.dynamicAnimation.speed, + className: "apexcharts-radar", + shouldClipToGrid: false, + bindEventsOnPaths: false, + stroke: w.globals.stroke.colors[i], + strokeLineCap: w.config.stroke.lineCap + }; + var pathFrom = null; + + if (w.globals.previousPaths.length > 0) { + pathFrom = _this.getPreviousPath(i); + } + + for (var p = 0; p < paths.linePathsTo.length; p++) { + var renderedLinePath = _this.graphics.renderPaths(_objectSpread2(_objectSpread2({}, defaultRenderedPathOptions), {}, { + pathFrom: pathFrom === null ? paths.linePathsFrom[p] : pathFrom, + pathTo: paths.linePathsTo[p], + strokeWidth: Array.isArray(_this.strokeWidth) ? _this.strokeWidth[i] : _this.strokeWidth, + fill: 'none', + drawShadow: false + })); + + elSeries.add(renderedLinePath); + var pathFill = fill.fillPath({ + seriesNumber: i + }); + + var renderedAreaPath = _this.graphics.renderPaths(_objectSpread2(_objectSpread2({}, defaultRenderedPathOptions), {}, { + pathFrom: pathFrom === null ? paths.areaPathsFrom[p] : pathFrom, + pathTo: paths.areaPathsTo[p], + strokeWidth: 0, + fill: pathFill, + drawShadow: false + })); + + if (w.config.chart.dropShadow.enabled) { + var filters = new Filters(_this.ctx); + var shadow = w.config.chart.dropShadow; + filters.dropShadow(renderedAreaPath, Object.assign({}, shadow, { + noUserSpaceOnUse: true + }), i); + } + + elSeries.add(renderedAreaPath); + } + + s.forEach(function (sj, j) { + var markers = new Markers(_this.ctx); + var opts = markers.getMarkerConfig({ + cssClass: 'apexcharts-marker', + seriesIndex: i, + dataPointIndex: j + }); + + var point = _this.graphics.drawMarker(dataPointsPos[j].x, dataPointsPos[j].y, opts); + + point.attr('rel', j); + point.attr('j', j); + point.attr('index', i); + point.node.setAttribute('default-marker-size', opts.pSize); + + var elPointsWrap = _this.graphics.group({ + class: 'apexcharts-series-markers' + }); + + if (elPointsWrap) { + elPointsWrap.add(point); + } + + elPointsMain.add(elPointsWrap); + elSeries.add(elPointsMain); + var dataLabelsConfig = w.config.dataLabels; + + if (dataLabelsConfig.enabled) { + var text = dataLabelsConfig.formatter(w.globals.series[i][j], { + seriesIndex: i, + dataPointIndex: j, + w: w + }); + dataLabels.plotDataLabelsText({ + x: dataPointsPos[j].x, + y: dataPointsPos[j].y, + text: text, + textAnchor: 'middle', + i: i, + j: i, + parent: elDataPointsMain, + offsetCorrection: false, + dataLabelsConfig: _objectSpread2({}, dataLabelsConfig) + }); + } + + elSeries.add(elDataPointsMain); + }); + allSeries.push(elSeries); + }); + this.drawPolygons({ + parent: ret + }); + + if (w.config.xaxis.labels.show) { + var xaxisTexts = this.drawXAxisTexts(); + ret.add(xaxisTexts); + } + + allSeries.forEach(function (elS) { + ret.add(elS); + }); + ret.add(this.yaxisLabels); + return ret; + } + }, { + key: "drawPolygons", + value: function drawPolygons(opts) { + var _this2 = this; + + var w = this.w; + var parent = opts.parent; + var helpers = new CircularChartsHelpers(this.ctx); + var yaxisTexts = w.globals.yAxisScale[0].result.reverse(); + var layers = yaxisTexts.length; + var radiusSizes = []; + var layerDis = this.size / (layers - 1); + + for (var i = 0; i < layers; i++) { + radiusSizes[i] = layerDis * i; + } + + radiusSizes.reverse(); + var polygonStrings = []; + var lines = []; + radiusSizes.forEach(function (radiusSize, r) { + var polygon = Utils$1.getPolygonPos(radiusSize, _this2.dataPointsLen); + var string = ''; + polygon.forEach(function (p, i) { + if (r === 0) { + var line = _this2.graphics.drawLine(p.x, p.y, 0, 0, Array.isArray(_this2.polygons.connectorColors) ? _this2.polygons.connectorColors[i] : _this2.polygons.connectorColors); + + lines.push(line); + } + + if (i === 0) { + _this2.yaxisLabelsTextsPos.push({ + x: p.x, + y: p.y + }); + } + + string += p.x + ',' + p.y + ' '; + }); + polygonStrings.push(string); + }); + polygonStrings.forEach(function (p, i) { + var strokeColors = _this2.polygons.strokeColors; + var strokeWidth = _this2.polygons.strokeWidth; + + var polygon = _this2.graphics.drawPolygon(p, Array.isArray(strokeColors) ? strokeColors[i] : strokeColors, Array.isArray(strokeWidth) ? strokeWidth[i] : strokeWidth, w.globals.radarPolygons.fill.colors[i]); + + parent.add(polygon); + }); + lines.forEach(function (l) { + parent.add(l); + }); + + if (w.config.yaxis[0].show) { + this.yaxisLabelsTextsPos.forEach(function (p, i) { + var yText = helpers.drawYAxisTexts(p.x, p.y, i, yaxisTexts[i]); + + _this2.yaxisLabels.add(yText); + }); + } + } + }, { + key: "drawXAxisTexts", + value: function drawXAxisTexts() { + var _this3 = this; + + var w = this.w; + var xaxisLabelsConfig = w.config.xaxis.labels; + var elXAxisWrap = this.graphics.group({ + class: 'apexcharts-xaxis' + }); + var polygonPos = Utils$1.getPolygonPos(this.size, this.dataPointsLen); + w.globals.labels.forEach(function (label, i) { + var formatter = w.config.xaxis.labels.formatter; + var dataLabels = new DataLabels(_this3.ctx); + + if (polygonPos[i]) { + var textPos = _this3.getTextPos(polygonPos[i], _this3.size); + + var text = formatter(label, { + seriesIndex: -1, + dataPointIndex: i, + w: w + }); + dataLabels.plotDataLabelsText({ + x: textPos.newX, + y: textPos.newY, + text: text, + textAnchor: textPos.textAnchor, + i: i, + j: i, + parent: elXAxisWrap, + color: Array.isArray(xaxisLabelsConfig.style.colors) && xaxisLabelsConfig.style.colors[i] ? xaxisLabelsConfig.style.colors[i] : '#a8a8a8', + dataLabelsConfig: _objectSpread2({ + textAnchor: textPos.textAnchor, + dropShadow: { + enabled: false + } + }, xaxisLabelsConfig), + offsetCorrection: false + }); + } + }); + return elXAxisWrap; + } + }, { + key: "createPaths", + value: function createPaths(pos, origin) { + var _this4 = this; + + var linePathsTo = []; + var linePathsFrom = []; + var areaPathsTo = []; + var areaPathsFrom = []; + + if (pos.length) { + linePathsFrom = [this.graphics.move(origin.x, origin.y)]; + areaPathsFrom = [this.graphics.move(origin.x, origin.y)]; + var linePathTo = this.graphics.move(pos[0].x, pos[0].y); + var areaPathTo = this.graphics.move(pos[0].x, pos[0].y); + pos.forEach(function (p, i) { + linePathTo += _this4.graphics.line(p.x, p.y); + areaPathTo += _this4.graphics.line(p.x, p.y); + + if (i === pos.length - 1) { + linePathTo += 'Z'; + areaPathTo += 'Z'; + } + }); + linePathsTo.push(linePathTo); + areaPathsTo.push(areaPathTo); + } + + return { + linePathsFrom: linePathsFrom, + linePathsTo: linePathsTo, + areaPathsFrom: areaPathsFrom, + areaPathsTo: areaPathsTo + }; + } + }, { + key: "getTextPos", + value: function getTextPos(pos, polygonSize) { + var limit = 10; + var textAnchor = 'middle'; + var newX = pos.x; + var newY = pos.y; + + if (Math.abs(pos.x) >= limit) { + if (pos.x > 0) { + textAnchor = 'start'; + newX += 10; + } else if (pos.x < 0) { + textAnchor = 'end'; + newX -= 10; + } + } else { + textAnchor = 'middle'; + } + + if (Math.abs(pos.y) >= polygonSize - limit) { + if (pos.y < 0) { + newY -= 10; + } else if (pos.y > 0) { + newY += 10; + } + } + + return { + textAnchor: textAnchor, + newX: newX, + newY: newY + }; + } + }, { + key: "getPreviousPath", + value: function getPreviousPath(realIndex) { + var w = this.w; + var pathFrom = null; + + for (var pp = 0; pp < w.globals.previousPaths.length; pp++) { + var gpp = w.globals.previousPaths[pp]; + + if (gpp.paths.length > 0 && parseInt(gpp.realIndex, 10) === parseInt(realIndex, 10)) { + if (typeof w.globals.previousPaths[pp].paths[0] !== 'undefined') { + pathFrom = w.globals.previousPaths[pp].paths[0].d; + } + } + } + + return pathFrom; + } + }, { + key: "getDataPointsPos", + value: function getDataPointsPos(dataRadiusArr, angleArr) { + var dataPointsLen = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.dataPointsLen; + dataRadiusArr = dataRadiusArr || []; + angleArr = angleArr || []; + var dataPointsPosArray = []; + + for (var j = 0; j < dataPointsLen; j++) { + var curPointPos = {}; + curPointPos.x = dataRadiusArr[j] * Math.sin(angleArr[j]); + curPointPos.y = -dataRadiusArr[j] * Math.cos(angleArr[j]); + dataPointsPosArray.push(curPointPos); + } + + return dataPointsPosArray; + } + }]); + + return Radar; + }(); + + /** + * ApexCharts Radial Class for drawing Circle / Semi Circle Charts. + * @module Radial + **/ + + var Radial = /*#__PURE__*/function (_Pie) { + _inherits(Radial, _Pie); + + var _super = _createSuper(Radial); + + function Radial(ctx) { + var _this; + + _classCallCheck(this, Radial); + + _this = _super.call(this, ctx); + _this.ctx = ctx; + _this.w = ctx.w; + _this.animBeginArr = [0]; + _this.animDur = 0; + var w = _this.w; + _this.startAngle = w.config.plotOptions.radialBar.startAngle; + _this.endAngle = w.config.plotOptions.radialBar.endAngle; + _this.totalAngle = Math.abs(w.config.plotOptions.radialBar.endAngle - w.config.plotOptions.radialBar.startAngle); + _this.trackStartAngle = w.config.plotOptions.radialBar.track.startAngle; + _this.trackEndAngle = w.config.plotOptions.radialBar.track.endAngle; + _this.donutDataLabels = _this.w.config.plotOptions.radialBar.dataLabels; + _this.radialDataLabels = _this.donutDataLabels; // make a copy for easy reference + + if (!_this.trackStartAngle) _this.trackStartAngle = _this.startAngle; + if (!_this.trackEndAngle) _this.trackEndAngle = _this.endAngle; + if (_this.endAngle === 360) _this.endAngle = 359.99; + _this.margin = parseInt(w.config.plotOptions.radialBar.track.margin, 10); + return _this; + } + + _createClass(Radial, [{ + key: "draw", + value: function draw(series) { + var w = this.w; + var graphics = new Graphics(this.ctx); + var ret = graphics.group({ + class: 'apexcharts-radialbar' + }); + if (w.globals.noData) return ret; + var elSeries = graphics.group(); + var centerY = this.defaultSize / 2; + var centerX = w.globals.gridWidth / 2; + var size = this.defaultSize / 2.05; + + if (!w.config.chart.sparkline.enabled) { + size = size - w.config.stroke.width - w.config.chart.dropShadow.blur; + } + + var colorArr = w.globals.fill.colors; + + if (w.config.plotOptions.radialBar.track.show) { + var elTracks = this.drawTracks({ + size: size, + centerX: centerX, + centerY: centerY, + colorArr: colorArr, + series: series + }); + elSeries.add(elTracks); + } + + var elG = this.drawArcs({ + size: size, + centerX: centerX, + centerY: centerY, + colorArr: colorArr, + series: series + }); + var totalAngle = 360; + + if (w.config.plotOptions.radialBar.startAngle < 0) { + totalAngle = this.totalAngle; + } + + var angleRatio = (360 - totalAngle) / 360; + w.globals.radialSize = size - size * angleRatio; + + if (this.radialDataLabels.value.show) { + var offset = Math.max(this.radialDataLabels.value.offsetY, this.radialDataLabels.name.offsetY); + w.globals.radialSize += offset * angleRatio; + } + + elSeries.add(elG.g); + + if (w.config.plotOptions.radialBar.hollow.position === 'front') { + elG.g.add(elG.elHollow); + + if (elG.dataLabels) { + elG.g.add(elG.dataLabels); + } + } + + ret.add(elSeries); + return ret; + } + }, { + key: "drawTracks", + value: function drawTracks(opts) { + var w = this.w; + var graphics = new Graphics(this.ctx); + var g = graphics.group({ + class: 'apexcharts-tracks' + }); + var filters = new Filters(this.ctx); + var fill = new Fill(this.ctx); + var strokeWidth = this.getStrokeWidth(opts); + opts.size = opts.size - strokeWidth / 2; + + for (var i = 0; i < opts.series.length; i++) { + var elRadialBarTrack = graphics.group({ + class: 'apexcharts-radialbar-track apexcharts-track' + }); + g.add(elRadialBarTrack); + elRadialBarTrack.attr({ + rel: i + 1 + }); + opts.size = opts.size - strokeWidth - this.margin; + var trackConfig = w.config.plotOptions.radialBar.track; + var pathFill = fill.fillPath({ + seriesNumber: 0, + size: opts.size, + fillColors: Array.isArray(trackConfig.background) ? trackConfig.background[i] : trackConfig.background, + solid: true + }); + var startAngle = this.trackStartAngle; + var endAngle = this.trackEndAngle; + if (Math.abs(endAngle) + Math.abs(startAngle) >= 360) endAngle = 360 - Math.abs(this.startAngle) - 0.1; + var elPath = graphics.drawPath({ + d: '', + stroke: pathFill, + strokeWidth: strokeWidth * parseInt(trackConfig.strokeWidth, 10) / 100, + fill: 'none', + strokeOpacity: trackConfig.opacity, + classes: 'apexcharts-radialbar-area' + }); + + if (trackConfig.dropShadow.enabled) { + var shadow = trackConfig.dropShadow; + filters.dropShadow(elPath, shadow); + } + + elRadialBarTrack.add(elPath); + elPath.attr('id', 'apexcharts-radialbarTrack-' + i); + this.animatePaths(elPath, { + centerX: opts.centerX, + centerY: opts.centerY, + endAngle: endAngle, + startAngle: startAngle, + size: opts.size, + i: i, + totalItems: 2, + animBeginArr: 0, + dur: 0, + isTrack: true, + easing: w.globals.easing + }); + } + + return g; + } + }, { + key: "drawArcs", + value: function drawArcs(opts) { + var w = this.w; // size, donutSize, centerX, centerY, colorArr, lineColorArr, sectorAngleArr, series + + var graphics = new Graphics(this.ctx); + var fill = new Fill(this.ctx); + var filters = new Filters(this.ctx); + var g = graphics.group(); + var strokeWidth = this.getStrokeWidth(opts); + opts.size = opts.size - strokeWidth / 2; + var hollowFillID = w.config.plotOptions.radialBar.hollow.background; + var hollowSize = opts.size - strokeWidth * opts.series.length - this.margin * opts.series.length - strokeWidth * parseInt(w.config.plotOptions.radialBar.track.strokeWidth, 10) / 100 / 2; + var hollowRadius = hollowSize - w.config.plotOptions.radialBar.hollow.margin; + + if (w.config.plotOptions.radialBar.hollow.image !== undefined) { + hollowFillID = this.drawHollowImage(opts, g, hollowSize, hollowFillID); + } + + var elHollow = this.drawHollow({ + size: hollowRadius, + centerX: opts.centerX, + centerY: opts.centerY, + fill: hollowFillID ? hollowFillID : 'transparent' + }); + + if (w.config.plotOptions.radialBar.hollow.dropShadow.enabled) { + var shadow = w.config.plotOptions.radialBar.hollow.dropShadow; + filters.dropShadow(elHollow, shadow); + } + + var shown = 1; + + if (!this.radialDataLabels.total.show && w.globals.series.length > 1) { + shown = 0; + } + + var dataLabels = null; + + if (this.radialDataLabels.show) { + dataLabels = this.renderInnerDataLabels(this.radialDataLabels, { + hollowSize: hollowSize, + centerX: opts.centerX, + centerY: opts.centerY, + opacity: shown + }); + } + + if (w.config.plotOptions.radialBar.hollow.position === 'back') { + g.add(elHollow); + + if (dataLabels) { + g.add(dataLabels); + } + } + + var reverseLoop = false; + + if (w.config.plotOptions.radialBar.inverseOrder) { + reverseLoop = true; + } + + for (var i = reverseLoop ? opts.series.length - 1 : 0; reverseLoop ? i >= 0 : i < opts.series.length; reverseLoop ? i-- : i++) { + var elRadialBarArc = graphics.group({ + class: "apexcharts-series apexcharts-radial-series", + seriesName: Utils$1.escapeString(w.globals.seriesNames[i]) + }); + g.add(elRadialBarArc); + elRadialBarArc.attr({ + rel: i + 1, + 'data:realIndex': i + }); + this.ctx.series.addCollapsedClassToSeries(elRadialBarArc, i); + opts.size = opts.size - strokeWidth - this.margin; + var pathFill = fill.fillPath({ + seriesNumber: i, + size: opts.size, + value: opts.series[i] + }); + var startAngle = this.startAngle; + var prevStartAngle = void 0; // if data exceeds 100, make it 100 + + var dataValue = Utils$1.negToZero(opts.series[i] > 100 ? 100 : opts.series[i]) / 100; + var endAngle = Math.round(this.totalAngle * dataValue) + this.startAngle; + var prevEndAngle = void 0; + + if (w.globals.dataChanged) { + prevStartAngle = this.startAngle; + prevEndAngle = Math.round(this.totalAngle * Utils$1.negToZero(w.globals.previousPaths[i]) / 100) + prevStartAngle; + } + + var currFullAngle = Math.abs(endAngle) + Math.abs(startAngle); + + if (currFullAngle >= 360) { + endAngle = endAngle - 0.01; + } + + var prevFullAngle = Math.abs(prevEndAngle) + Math.abs(prevStartAngle); + + if (prevFullAngle >= 360) { + prevEndAngle = prevEndAngle - 0.01; + } + + var angle = endAngle - startAngle; + var dashArray = Array.isArray(w.config.stroke.dashArray) ? w.config.stroke.dashArray[i] : w.config.stroke.dashArray; + var elPath = graphics.drawPath({ + d: '', + stroke: pathFill, + strokeWidth: strokeWidth, + fill: 'none', + fillOpacity: w.config.fill.opacity, + classes: 'apexcharts-radialbar-area apexcharts-radialbar-slice-' + i, + strokeDashArray: dashArray + }); + Graphics.setAttrs(elPath.node, { + 'data:angle': angle, + 'data:value': opts.series[i] + }); + + if (w.config.chart.dropShadow.enabled) { + var _shadow = w.config.chart.dropShadow; + filters.dropShadow(elPath, _shadow, i); + } + + filters.setSelectionFilter(elPath, 0, i); + this.addListeners(elPath, this.radialDataLabels); + elRadialBarArc.add(elPath); + elPath.attr({ + index: 0, + j: i + }); + var dur = 0; + + if (this.initialAnim && !w.globals.resized && !w.globals.dataChanged) { + dur = w.config.chart.animations.speed; + } + + if (w.globals.dataChanged) { + dur = w.config.chart.animations.dynamicAnimation.speed; + } + + this.animDur = dur / (opts.series.length * 1.2) + this.animDur; + this.animBeginArr.push(this.animDur); + this.animatePaths(elPath, { + centerX: opts.centerX, + centerY: opts.centerY, + endAngle: endAngle, + startAngle: startAngle, + prevEndAngle: prevEndAngle, + prevStartAngle: prevStartAngle, + size: opts.size, + i: i, + totalItems: 2, + animBeginArr: this.animBeginArr, + dur: dur, + shouldSetPrevPaths: true, + easing: w.globals.easing + }); + } + + return { + g: g, + elHollow: elHollow, + dataLabels: dataLabels + }; + } + }, { + key: "drawHollow", + value: function drawHollow(opts) { + var graphics = new Graphics(this.ctx); + var circle = graphics.drawCircle(opts.size * 2); + circle.attr({ + class: 'apexcharts-radialbar-hollow', + cx: opts.centerX, + cy: opts.centerY, + r: opts.size, + fill: opts.fill + }); + return circle; + } + }, { + key: "drawHollowImage", + value: function drawHollowImage(opts, g, hollowSize, hollowFillID) { + var w = this.w; + var fill = new Fill(this.ctx); + var randID = Utils$1.randomId(); + var hollowFillImg = w.config.plotOptions.radialBar.hollow.image; + + if (w.config.plotOptions.radialBar.hollow.imageClipped) { + fill.clippedImgArea({ + width: hollowSize, + height: hollowSize, + image: hollowFillImg, + patternID: "pattern".concat(w.globals.cuid).concat(randID) + }); + hollowFillID = "url(#pattern".concat(w.globals.cuid).concat(randID, ")"); + } else { + var imgWidth = w.config.plotOptions.radialBar.hollow.imageWidth; + var imgHeight = w.config.plotOptions.radialBar.hollow.imageHeight; + + if (imgWidth === undefined && imgHeight === undefined) { + var image = w.globals.dom.Paper.image(hollowFillImg).loaded(function (loader) { + this.move(opts.centerX - loader.width / 2 + w.config.plotOptions.radialBar.hollow.imageOffsetX, opts.centerY - loader.height / 2 + w.config.plotOptions.radialBar.hollow.imageOffsetY); + }); + g.add(image); + } else { + var _image = w.globals.dom.Paper.image(hollowFillImg).loaded(function (loader) { + this.move(opts.centerX - imgWidth / 2 + w.config.plotOptions.radialBar.hollow.imageOffsetX, opts.centerY - imgHeight / 2 + w.config.plotOptions.radialBar.hollow.imageOffsetY); + this.size(imgWidth, imgHeight); + }); + + g.add(_image); + } + } + + return hollowFillID; + } + }, { + key: "getStrokeWidth", + value: function getStrokeWidth(opts) { + var w = this.w; + return opts.size * (100 - parseInt(w.config.plotOptions.radialBar.hollow.size, 10)) / 100 / (opts.series.length + 1) - this.margin; + } + }]); + + return Radial; + }(Pie); + + /** + * ApexCharts RangeBar Class responsible for drawing Range/Timeline Bars. + * + * @module RangeBar + **/ + + var RangeBar = /*#__PURE__*/function (_Bar) { + _inherits(RangeBar, _Bar); + + var _super = _createSuper(RangeBar); + + function RangeBar() { + _classCallCheck(this, RangeBar); + + return _super.apply(this, arguments); + } + + _createClass(RangeBar, [{ + key: "draw", + value: function draw(series, seriesIndex) { + var w = this.w; + var graphics = new Graphics(this.ctx); + this.rangeBarOptions = this.w.config.plotOptions.rangeBar; + this.series = series; + this.seriesRangeStart = w.globals.seriesRangeStart; + this.seriesRangeEnd = w.globals.seriesRangeEnd; + this.barHelpers.initVariables(series); + var ret = graphics.group({ + class: 'apexcharts-rangebar-series apexcharts-plot-series' + }); + + for (var i = 0; i < series.length; i++) { + var x = void 0, + y = void 0, + xDivision = void 0, + // xDivision is the GRIDWIDTH divided by number of datapoints (columns) + yDivision = void 0, + // yDivision is the GRIDHEIGHT divided by number of datapoints (bars) + zeroH = void 0, + // zeroH is the baseline where 0 meets y axis + zeroW = void 0; // zeroW is the baseline where 0 meets x axis + + var realIndex = w.globals.comboCharts ? seriesIndex[i] : i; // el to which series will be drawn + + var elSeries = graphics.group({ + class: "apexcharts-series", + seriesName: Utils$1.escapeString(w.globals.seriesNames[realIndex]), + rel: i + 1, + 'data:realIndex': realIndex + }); + this.ctx.series.addCollapsedClassToSeries(elSeries, realIndex); + + if (series[i].length > 0) { + this.visibleI = this.visibleI + 1; + } + + var barHeight = 0; + var barWidth = 0; + + if (this.yRatio.length > 1) { + this.yaxisIndex = realIndex; + } + + var initPositions = this.barHelpers.initialPositions(); + y = initPositions.y; + zeroW = initPositions.zeroW; + x = initPositions.x; + barWidth = initPositions.barWidth; + xDivision = initPositions.xDivision; + zeroH = initPositions.zeroH; // eldatalabels + + var elDataLabelsWrap = graphics.group({ + class: 'apexcharts-datalabels', + 'data:realIndex': realIndex + }); + var elGoalsMarkers = graphics.group({ + class: 'apexcharts-rangebar-goals-markers', + style: "pointer-events: none" + }); + + for (var j = 0; j < w.globals.dataPoints; j++) { + var strokeWidth = this.barHelpers.getStrokeWidth(i, j, realIndex); + var y1 = this.seriesRangeStart[i][j]; + var y2 = this.seriesRangeEnd[i][j]; + var paths = null; + var barYPosition = null; + var params = { + x: x, + y: y, + strokeWidth: strokeWidth, + elSeries: elSeries + }; + yDivision = initPositions.yDivision; + barHeight = initPositions.barHeight; + + if (this.isHorizontal) { + barYPosition = y + barHeight * this.visibleI; + var seriesLen = this.seriesLen; + + if (w.config.plotOptions.bar.rangeBarGroupRows) { + seriesLen = 1; + } + + var srty = (yDivision - barHeight * seriesLen) / 2; + + if (typeof w.config.series[i].data[j] === 'undefined') { + // no data exists for further indexes, hence we need to get out the innr loop. + // As we are iterating over total datapoints, there is a possiblity the series might not have data for j index + break; + } + + if (w.config.series[i].data[j].x) { + var positions = this.detectOverlappingBars({ + i: i, + j: j, + barYPosition: barYPosition, + srty: srty, + barHeight: barHeight, + yDivision: yDivision, + initPositions: initPositions + }); + barHeight = positions.barHeight; + barYPosition = positions.barYPosition; + } + + paths = this.drawRangeBarPaths(_objectSpread2({ + indexes: { + i: i, + j: j, + realIndex: realIndex + }, + barHeight: barHeight, + barYPosition: barYPosition, + zeroW: zeroW, + yDivision: yDivision, + y1: y1, + y2: y2 + }, params)); + barWidth = paths.barWidth; + } else { + paths = this.drawRangeColumnPaths(_objectSpread2({ + indexes: { + i: i, + j: j, + realIndex: realIndex + }, + zeroH: zeroH, + barWidth: barWidth, + xDivision: xDivision + }, params)); + barHeight = paths.barHeight; + } + + var barGoalLine = this.barHelpers.drawGoalLine({ + barXPosition: paths.barXPosition, + barYPosition: barYPosition, + goalX: paths.goalX, + goalY: paths.goalY, + barHeight: barHeight, + barWidth: barWidth + }); + + if (barGoalLine) { + elGoalsMarkers.add(barGoalLine); + } + + y = paths.y; + x = paths.x; + var pathFill = this.barHelpers.getPathFillColor(series, i, j, realIndex); + var lineFill = w.globals.stroke.colors[realIndex]; + this.renderSeries({ + realIndex: realIndex, + pathFill: pathFill, + lineFill: lineFill, + j: j, + i: i, + x: x, + y: y, + y1: y1, + y2: y2, + pathFrom: paths.pathFrom, + pathTo: paths.pathTo, + strokeWidth: strokeWidth, + elSeries: elSeries, + series: series, + barHeight: barHeight, + barYPosition: barYPosition, + barWidth: barWidth, + elDataLabelsWrap: elDataLabelsWrap, + elGoalsMarkers: elGoalsMarkers, + visibleSeries: this.visibleI, + type: 'rangebar' + }); + } + + ret.add(elSeries); + } + + return ret; + } + }, { + key: "detectOverlappingBars", + value: function detectOverlappingBars(_ref) { + var i = _ref.i, + j = _ref.j, + barYPosition = _ref.barYPosition, + srty = _ref.srty, + barHeight = _ref.barHeight, + yDivision = _ref.yDivision, + initPositions = _ref.initPositions; + var w = this.w; + var overlaps = []; + var rangeName = w.config.series[i].data[j].rangeName; + var labelX = w.config.series[i].data[j].x; + var rowIndex = w.globals.labels.indexOf(labelX); + var overlappedIndex = w.globals.seriesRange[i].findIndex(function (tx) { + return tx.x === labelX && tx.overlaps.length > 0; + }); + + if (w.config.plotOptions.bar.rangeBarGroupRows) { + barYPosition = srty + yDivision * rowIndex; + } else { + barYPosition = srty + barHeight * this.visibleI + yDivision * rowIndex; + } + + if (overlappedIndex > -1 && !w.config.plotOptions.bar.rangeBarOverlap) { + overlaps = w.globals.seriesRange[i][overlappedIndex].overlaps; + + if (overlaps.indexOf(rangeName) > -1) { + barHeight = initPositions.barHeight / overlaps.length; + barYPosition = barHeight * this.visibleI + yDivision * (100 - parseInt(this.barOptions.barHeight, 10)) / 100 / 2 + barHeight * (this.visibleI + overlaps.indexOf(rangeName)) + yDivision * rowIndex; + } + } + + return { + barYPosition: barYPosition, + barHeight: barHeight + }; + } + }, { + key: "drawRangeColumnPaths", + value: function drawRangeColumnPaths(_ref2) { + var indexes = _ref2.indexes, + x = _ref2.x; + _ref2.strokeWidth; + var xDivision = _ref2.xDivision, + barWidth = _ref2.barWidth, + zeroH = _ref2.zeroH; + var w = this.w; + var i = indexes.i; + var j = indexes.j; + var yRatio = this.yRatio[this.yaxisIndex]; + var realIndex = indexes.realIndex; + var range = this.getRangeValue(realIndex, j); + var y1 = Math.min(range.start, range.end); + var y2 = Math.max(range.start, range.end); + + if (w.globals.isXNumeric) { + x = (w.globals.seriesX[i][j] - w.globals.minX) / this.xRatio - barWidth / 2; + } + + var barXPosition = x + barWidth * this.visibleI; + + if (typeof this.series[i][j] === 'undefined' || this.series[i][j] === null) { + y1 = zeroH; + } else { + y1 = zeroH - y1 / yRatio; + y2 = zeroH - y2 / yRatio; + } + + var barHeight = Math.abs(y2 - y1); + var paths = this.barHelpers.getColumnPaths({ + barXPosition: barXPosition, + barWidth: barWidth, + y1: y1, + y2: y2, + strokeWidth: this.strokeWidth, + series: this.seriesRangeEnd, + realIndex: indexes.realIndex, + i: realIndex, + j: j, + w: w + }); + + if (!w.globals.isXNumeric) { + x = x + xDivision; + } + + return { + pathTo: paths.pathTo, + pathFrom: paths.pathFrom, + barHeight: barHeight, + x: x, + y: y2, + goalY: this.barHelpers.getGoalValues('y', null, zeroH, i, j), + barXPosition: barXPosition + }; + } + }, { + key: "drawRangeBarPaths", + value: function drawRangeBarPaths(_ref3) { + var indexes = _ref3.indexes, + y = _ref3.y, + y1 = _ref3.y1, + y2 = _ref3.y2, + yDivision = _ref3.yDivision, + barHeight = _ref3.barHeight, + barYPosition = _ref3.barYPosition, + zeroW = _ref3.zeroW; + var w = this.w; + var x1 = zeroW + y1 / this.invertedYRatio; + var x2 = zeroW + y2 / this.invertedYRatio; + var barWidth = Math.abs(x2 - x1); + var paths = this.barHelpers.getBarpaths({ + barYPosition: barYPosition, + barHeight: barHeight, + x1: x1, + x2: x2, + strokeWidth: this.strokeWidth, + series: this.seriesRangeEnd, + i: indexes.realIndex, + realIndex: indexes.realIndex, + j: indexes.j, + w: w + }); + + if (!w.globals.isXNumeric) { + y = y + yDivision; + } + + return { + pathTo: paths.pathTo, + pathFrom: paths.pathFrom, + barWidth: barWidth, + x: x2, + goalX: this.barHelpers.getGoalValues('x', zeroW, null, indexes.realIndex, indexes.j), + y: y + }; + } + }, { + key: "getRangeValue", + value: function getRangeValue(i, j) { + var w = this.w; + return { + start: w.globals.seriesRangeStart[i][j], + end: w.globals.seriesRangeEnd[i][j] + }; + } + }]); + + return RangeBar; + }(Bar); + + var Helpers = /*#__PURE__*/function () { + function Helpers(lineCtx) { + _classCallCheck(this, Helpers); + + this.w = lineCtx.w; + this.lineCtx = lineCtx; + } + + _createClass(Helpers, [{ + key: "sameValueSeriesFix", + value: function sameValueSeriesFix(i, series) { + var w = this.w; + + if (w.config.fill.type === 'gradient' || w.config.fill.type[i] === 'gradient') { + var coreUtils = new CoreUtils(this.lineCtx.ctx, w); // applied only to LINE chart + // a small adjustment to allow gradient line to draw correctly for all same values + + /* #fix https://github.com/apexcharts/apexcharts.js/issues/358 */ + + if (coreUtils.seriesHaveSameValues(i)) { + var gSeries = series[i].slice(); + gSeries[gSeries.length - 1] = gSeries[gSeries.length - 1] + 0.000001; + series[i] = gSeries; + } + } + + return series; + } + }, { + key: "calculatePoints", + value: function calculatePoints(_ref) { + var series = _ref.series, + realIndex = _ref.realIndex, + x = _ref.x, + y = _ref.y, + i = _ref.i, + j = _ref.j, + prevY = _ref.prevY; + var w = this.w; + var ptX = []; + var ptY = []; + + if (j === 0) { + var xPT1st = this.lineCtx.categoryAxisCorrection + w.config.markers.offsetX; // the first point for line series + // we need to check whether it's not a time series, because a time series may + // start from the middle of the x axis + + if (w.globals.isXNumeric) { + xPT1st = (w.globals.seriesX[realIndex][0] - w.globals.minX) / this.lineCtx.xRatio + w.config.markers.offsetX; + } // push 2 points for the first data values + + + ptX.push(xPT1st); + ptY.push(Utils$1.isNumber(series[i][0]) ? prevY + w.config.markers.offsetY : null); + ptX.push(x + w.config.markers.offsetX); + ptY.push(Utils$1.isNumber(series[i][j + 1]) ? y + w.config.markers.offsetY : null); + } else { + ptX.push(x + w.config.markers.offsetX); + ptY.push(Utils$1.isNumber(series[i][j + 1]) ? y + w.config.markers.offsetY : null); + } + + var pointsPos = { + x: ptX, + y: ptY + }; + return pointsPos; + } + }, { + key: "checkPreviousPaths", + value: function checkPreviousPaths(_ref2) { + var pathFromLine = _ref2.pathFromLine, + pathFromArea = _ref2.pathFromArea, + realIndex = _ref2.realIndex; + var w = this.w; + + for (var pp = 0; pp < w.globals.previousPaths.length; pp++) { + var gpp = w.globals.previousPaths[pp]; + + if ((gpp.type === 'line' || gpp.type === 'area') && gpp.paths.length > 0 && parseInt(gpp.realIndex, 10) === parseInt(realIndex, 10)) { + if (gpp.type === 'line') { + this.lineCtx.appendPathFrom = false; + pathFromLine = w.globals.previousPaths[pp].paths[0].d; + } else if (gpp.type === 'area') { + this.lineCtx.appendPathFrom = false; + pathFromArea = w.globals.previousPaths[pp].paths[0].d; + + if (w.config.stroke.show && w.globals.previousPaths[pp].paths[1]) { + pathFromLine = w.globals.previousPaths[pp].paths[1].d; + } + } + } + } + + return { + pathFromLine: pathFromLine, + pathFromArea: pathFromArea + }; + } + }, { + key: "determineFirstPrevY", + value: function determineFirstPrevY(_ref3) { + var _series$i; + + var i = _ref3.i, + series = _ref3.series, + prevY = _ref3.prevY, + lineYPosition = _ref3.lineYPosition; + var w = this.w; + + if (typeof ((_series$i = series[i]) === null || _series$i === void 0 ? void 0 : _series$i[0]) !== 'undefined') { + if (w.config.chart.stacked) { + if (i > 0) { + // 1st y value of previous series + lineYPosition = this.lineCtx.prevSeriesY[i - 1][0]; + } else { + // the first series will not have prevY values + lineYPosition = this.lineCtx.zeroY; + } + } else { + lineYPosition = this.lineCtx.zeroY; + } + + prevY = lineYPosition - series[i][0] / this.lineCtx.yRatio[this.lineCtx.yaxisIndex] + (this.lineCtx.isReversed ? series[i][0] / this.lineCtx.yRatio[this.lineCtx.yaxisIndex] : 0) * 2; + } else { + // the first value in the current series is null + if (w.config.chart.stacked && i > 0 && typeof series[i][0] === 'undefined') { + // check for undefined value (undefined value will occur when we clear the series while user clicks on legend to hide serieses) + for (var s = i - 1; s >= 0; s--) { + // for loop to get to 1st previous value until we get it + if (series[s][0] !== null && typeof series[s][0] !== 'undefined') { + lineYPosition = this.lineCtx.prevSeriesY[s][0]; + prevY = lineYPosition; + break; + } + } + } + } + + return { + prevY: prevY, + lineYPosition: lineYPosition + }; + } + }]); + + return Helpers; + }(); + + /** + * ApexCharts Line Class responsible for drawing Line / Area / RangeArea Charts. + * This class is also responsible for generating values for Bubble/Scatter charts, so need to rename it to Axis Charts to avoid confusions + * @module Line + **/ + + var Line = /*#__PURE__*/function () { + function Line(ctx, xyRatios, isPointsChart) { + _classCallCheck(this, Line); + + this.ctx = ctx; + this.w = ctx.w; + this.xyRatios = xyRatios; + this.pointsChart = !(this.w.config.chart.type !== 'bubble' && this.w.config.chart.type !== 'scatter') || isPointsChart; + this.scatter = new Scatter(this.ctx); + this.noNegatives = this.w.globals.minX === Number.MAX_VALUE; + this.lineHelpers = new Helpers(this); + this.markers = new Markers(this.ctx); + this.prevSeriesY = []; + this.categoryAxisCorrection = 0; + this.yaxisIndex = 0; + } + + _createClass(Line, [{ + key: "draw", + value: function draw(series, ctype, seriesIndex, seriesRangeEnd) { + var w = this.w; + var graphics = new Graphics(this.ctx); + var type = w.globals.comboCharts ? ctype : w.config.chart.type; + var ret = graphics.group({ + class: "apexcharts-".concat(type, "-series apexcharts-plot-series") + }); + var coreUtils = new CoreUtils(this.ctx, w); + this.yRatio = this.xyRatios.yRatio; + this.zRatio = this.xyRatios.zRatio; + this.xRatio = this.xyRatios.xRatio; + this.baseLineY = this.xyRatios.baseLineY; + series = coreUtils.getLogSeries(series); + this.yRatio = coreUtils.getLogYRatios(this.yRatio); // push all series in an array, so we can draw in reverse order (for stacked charts) + + var allSeries = []; + + for (var i = 0; i < series.length; i++) { + series = this.lineHelpers.sameValueSeriesFix(i, series); + var realIndex = w.globals.comboCharts ? seriesIndex[i] : i; + + this._initSerieVariables(series, i, realIndex); + + var yArrj = []; // hold y values of current iterating series + + var xArrj = []; // hold x values of current iterating series + + var x = w.globals.padHorizontal + this.categoryAxisCorrection; + var y = 1; + var linePaths = []; + var areaPaths = []; + this.ctx.series.addCollapsedClassToSeries(this.elSeries, realIndex); + + if (w.globals.isXNumeric && w.globals.seriesX.length > 0) { + x = (w.globals.seriesX[realIndex][0] - w.globals.minX) / this.xRatio; + } + + xArrj.push(x); + var pX = x; + var pY = void 0; + var pY2 = void 0; + var prevX = pX; + var prevY = this.zeroY; + var prevY2 = this.zeroY; + var lineYPosition = 0; // the first value in the current series is not null or undefined + + var firstPrevY = this.lineHelpers.determineFirstPrevY({ + i: i, + series: series, + prevY: prevY, + lineYPosition: lineYPosition + }); + prevY = firstPrevY.prevY; + yArrj.push(prevY); + pY = prevY; // y2 are needed for range-area charts + + var firstPrevY2 = void 0; + + if (type === 'rangeArea') { + firstPrevY2 = this.lineHelpers.determineFirstPrevY({ + i: i, + series: seriesRangeEnd, + prevY: prevY2, + lineYPosition: lineYPosition + }); + prevY2 = firstPrevY2.prevY; + pY2 = prevY2; + } + + var pathsFrom = this._calculatePathsFrom({ + type: type, + series: series, + i: i, + realIndex: realIndex, + prevX: prevX, + prevY: prevY, + prevY2: prevY2 + }); + + var iteratingOpts = { + type: type, + series: series, + realIndex: realIndex, + i: i, + x: x, + y: y, + pX: pX, + pY: pY, + pathsFrom: pathsFrom, + linePaths: linePaths, + areaPaths: areaPaths, + seriesIndex: seriesIndex, + lineYPosition: lineYPosition, + xArrj: xArrj, + yArrj: yArrj, + seriesRangeEnd: seriesRangeEnd + }; + + var paths = this._iterateOverDataPoints(_objectSpread2(_objectSpread2({}, iteratingOpts), {}, { + iterations: type === 'rangeArea' ? series[i].length - 1 : undefined, + isRangeStart: true + })); + + if (type === 'rangeArea') { + var pathsFrom2 = this._calculatePathsFrom({ + series: seriesRangeEnd, + i: i, + realIndex: realIndex, + prevX: prevX, + prevY: prevY2 + }); + + var rangePaths = this._iterateOverDataPoints(_objectSpread2(_objectSpread2({}, iteratingOpts), {}, { + series: seriesRangeEnd, + pY: pY2, + pathsFrom: pathsFrom2, + iterations: seriesRangeEnd[i].length - 1, + isRangeStart: false + })); + + paths.linePaths[0] = rangePaths.linePath + paths.linePath; + paths.pathFromLine = rangePaths.pathFromLine + paths.pathFromLine; + } + + this._handlePaths({ + type: type, + realIndex: realIndex, + i: i, + paths: paths + }); + + this.elSeries.add(this.elPointsMain); + this.elSeries.add(this.elDataLabelsWrap); + allSeries.push(this.elSeries); + } + + if (w.config.chart.stacked) { + for (var s = allSeries.length; s > 0; s--) { + ret.add(allSeries[s - 1]); + } + } else { + for (var _s = 0; _s < allSeries.length; _s++) { + ret.add(allSeries[_s]); + } + } + + return ret; + } + }, { + key: "_initSerieVariables", + value: function _initSerieVariables(series, i, realIndex) { + var w = this.w; + var graphics = new Graphics(this.ctx); // width divided into equal parts + + this.xDivision = w.globals.gridWidth / (w.globals.dataPoints - (w.config.xaxis.tickPlacement === 'on' ? 1 : 0)); + this.strokeWidth = Array.isArray(w.config.stroke.width) ? w.config.stroke.width[realIndex] : w.config.stroke.width; + + if (this.yRatio.length > 1) { + this.yaxisIndex = realIndex; + } + + this.isReversed = w.config.yaxis[this.yaxisIndex] && w.config.yaxis[this.yaxisIndex].reversed; // zeroY is the 0 value in y series which can be used in negative charts + + this.zeroY = w.globals.gridHeight - this.baseLineY[this.yaxisIndex] - (this.isReversed ? w.globals.gridHeight : 0) + (this.isReversed ? this.baseLineY[this.yaxisIndex] * 2 : 0); + this.areaBottomY = this.zeroY; + + if (this.zeroY > w.globals.gridHeight || w.config.plotOptions.area.fillTo === 'end') { + this.areaBottomY = w.globals.gridHeight; + } + + this.categoryAxisCorrection = this.xDivision / 2; // el to which series will be drawn + + this.elSeries = graphics.group({ + class: "apexcharts-series", + seriesName: Utils$1.escapeString(w.globals.seriesNames[realIndex]) + }); // points + + this.elPointsMain = graphics.group({ + class: 'apexcharts-series-markers-wrap', + 'data:realIndex': realIndex + }); // eldatalabels + + this.elDataLabelsWrap = graphics.group({ + class: 'apexcharts-datalabels', + 'data:realIndex': realIndex + }); + var longestSeries = series[i].length === w.globals.dataPoints; + this.elSeries.attr({ + 'data:longestSeries': longestSeries, + rel: i + 1, + 'data:realIndex': realIndex + }); + this.appendPathFrom = true; + } + }, { + key: "_calculatePathsFrom", + value: function _calculatePathsFrom(_ref) { + var type = _ref.type, + series = _ref.series, + i = _ref.i, + realIndex = _ref.realIndex, + prevX = _ref.prevX, + prevY = _ref.prevY, + prevY2 = _ref.prevY2; + var w = this.w; + var graphics = new Graphics(this.ctx); + var linePath, areaPath, pathFromLine, pathFromArea; + + if (series[i][0] === null) { + // when the first value itself is null, we need to move the pointer to a location where a null value is not found + for (var s = 0; s < series[i].length; s++) { + if (series[i][s] !== null) { + prevX = this.xDivision * s; + prevY = this.zeroY - series[i][s] / this.yRatio[this.yaxisIndex]; + linePath = graphics.move(prevX, prevY); + areaPath = graphics.move(prevX, this.areaBottomY); + break; + } + } + } else { + linePath = graphics.move(prevX, prevY); + + if (type === 'rangeArea') { + linePath = graphics.move(prevX, prevY2) + graphics.line(prevX, prevY); + } + + areaPath = graphics.move(prevX, this.areaBottomY) + graphics.line(prevX, prevY); + } + + pathFromLine = graphics.move(-1, this.zeroY) + graphics.line(-1, this.zeroY); + pathFromArea = graphics.move(-1, this.zeroY) + graphics.line(-1, this.zeroY); + + if (w.globals.previousPaths.length > 0) { + var pathFrom = this.lineHelpers.checkPreviousPaths({ + pathFromLine: pathFromLine, + pathFromArea: pathFromArea, + realIndex: realIndex + }); + pathFromLine = pathFrom.pathFromLine; + pathFromArea = pathFrom.pathFromArea; + } + + return { + prevX: prevX, + prevY: prevY, + linePath: linePath, + areaPath: areaPath, + pathFromLine: pathFromLine, + pathFromArea: pathFromArea + }; + } + }, { + key: "_handlePaths", + value: function _handlePaths(_ref2) { + var type = _ref2.type, + realIndex = _ref2.realIndex, + i = _ref2.i, + paths = _ref2.paths; + var w = this.w; + var graphics = new Graphics(this.ctx); + var fill = new Fill(this.ctx); // push all current y values array to main PrevY Array + + this.prevSeriesY.push(paths.yArrj); // push all x val arrays into main xArr + + w.globals.seriesXvalues[realIndex] = paths.xArrj; + w.globals.seriesYvalues[realIndex] = paths.yArrj; + var forecast = w.config.forecastDataPoints; + + if (forecast.count > 0 && type !== 'rangeArea') { + var forecastCutoff = w.globals.seriesXvalues[realIndex][w.globals.seriesXvalues[realIndex].length - forecast.count - 1]; + var elForecastMask = graphics.drawRect(forecastCutoff, 0, w.globals.gridWidth, w.globals.gridHeight, 0); + w.globals.dom.elForecastMask.appendChild(elForecastMask.node); + var elNonForecastMask = graphics.drawRect(0, 0, forecastCutoff, w.globals.gridHeight, 0); + w.globals.dom.elNonForecastMask.appendChild(elNonForecastMask.node); + } // these elements will be shown after area path animation completes + + + if (!this.pointsChart) { + w.globals.delayedElements.push({ + el: this.elPointsMain.node, + index: realIndex + }); + } + + var defaultRenderedPathOptions = { + i: i, + realIndex: realIndex, + animationDelay: i, + initialSpeed: w.config.chart.animations.speed, + dataChangeSpeed: w.config.chart.animations.dynamicAnimation.speed, + className: "apexcharts-".concat(type) + }; + + if (type === 'area') { + var pathFill = fill.fillPath({ + seriesNumber: realIndex + }); + + for (var p = 0; p < paths.areaPaths.length; p++) { + var renderedPath = graphics.renderPaths(_objectSpread2(_objectSpread2({}, defaultRenderedPathOptions), {}, { + pathFrom: paths.pathFromArea, + pathTo: paths.areaPaths[p], + stroke: 'none', + strokeWidth: 0, + strokeLineCap: null, + fill: pathFill + })); + this.elSeries.add(renderedPath); + } + } + + if (w.config.stroke.show && !this.pointsChart) { + var lineFill = null; + + if (type === 'line') { + lineFill = fill.fillPath({ + seriesNumber: realIndex, + i: i + }); + } else { + if (w.config.stroke.fill.type === 'solid') { + lineFill = w.globals.stroke.colors[realIndex]; + } else { + var prevFill = w.config.fill; + w.config.fill = w.config.stroke.fill; + lineFill = fill.fillPath({ + seriesNumber: realIndex, + i: i + }); + w.config.fill = prevFill; + } + } // range-area paths are drawn using linePaths + + + for (var _p = 0; _p < paths.linePaths.length; _p++) { + var _pathFill = lineFill; + + if (type === 'rangeArea') { + _pathFill = fill.fillPath({ + seriesNumber: realIndex + }); + } + + var linePathCommonOpts = _objectSpread2(_objectSpread2({}, defaultRenderedPathOptions), {}, { + pathFrom: paths.pathFromLine, + pathTo: paths.linePaths[_p], + stroke: lineFill, + strokeWidth: this.strokeWidth, + strokeLineCap: w.config.stroke.lineCap, + fill: type === 'rangeArea' ? _pathFill : 'none' + }); + + var _renderedPath = graphics.renderPaths(linePathCommonOpts); + + this.elSeries.add(_renderedPath); + + _renderedPath.attr('fill-rule', "evenodd"); + + if (forecast.count > 0 && type !== 'rangeArea') { + var renderedForecastPath = graphics.renderPaths(linePathCommonOpts); + renderedForecastPath.node.setAttribute('stroke-dasharray', forecast.dashArray); + + if (forecast.strokeWidth) { + renderedForecastPath.node.setAttribute('stroke-width', forecast.strokeWidth); + } + + this.elSeries.add(renderedForecastPath); + renderedForecastPath.attr('clip-path', "url(#forecastMask".concat(w.globals.cuid, ")")); + + _renderedPath.attr('clip-path', "url(#nonForecastMask".concat(w.globals.cuid, ")")); + } + } + } + } + }, { + key: "_iterateOverDataPoints", + value: function _iterateOverDataPoints(_ref3) { + var type = _ref3.type, + series = _ref3.series, + iterations = _ref3.iterations, + realIndex = _ref3.realIndex, + i = _ref3.i, + x = _ref3.x, + y = _ref3.y, + pX = _ref3.pX, + pY = _ref3.pY, + pathsFrom = _ref3.pathsFrom, + linePaths = _ref3.linePaths, + areaPaths = _ref3.areaPaths, + seriesIndex = _ref3.seriesIndex, + lineYPosition = _ref3.lineYPosition, + xArrj = _ref3.xArrj, + yArrj = _ref3.yArrj, + isRangeStart = _ref3.isRangeStart, + seriesRangeEnd = _ref3.seriesRangeEnd; + var w = this.w; + var graphics = new Graphics(this.ctx); + var yRatio = this.yRatio; + var prevY = pathsFrom.prevY, + linePath = pathsFrom.linePath, + areaPath = pathsFrom.areaPath, + pathFromLine = pathsFrom.pathFromLine, + pathFromArea = pathsFrom.pathFromArea; + var minY = Utils$1.isNumber(w.globals.minYArr[realIndex]) ? w.globals.minYArr[realIndex] : w.globals.minY; + + if (!iterations) { + iterations = w.globals.dataPoints > 1 ? w.globals.dataPoints - 1 : w.globals.dataPoints; + } + + var y2 = y; + + for (var j = 0; j < iterations; j++) { + var isNull = typeof series[i][j + 1] === 'undefined' || series[i][j + 1] === null; + + if (w.globals.isXNumeric) { + var sX = w.globals.seriesX[realIndex][j + 1]; + + if (typeof w.globals.seriesX[realIndex][j + 1] === 'undefined') { + /* fix #374 */ + sX = w.globals.seriesX[realIndex][iterations - 1]; + } + + x = (sX - w.globals.minX) / this.xRatio; + } else { + x = x + this.xDivision; + } + + if (w.config.chart.stacked) { + if (i > 0 && w.globals.collapsedSeries.length < w.config.series.length - 1) { + // a collapsed series in a stacked bar chart may provide wrong result for the next series, hence find the prevIndex of prev series which is not collapsed - fixes apexcharts.js#1372 + var prevIndex = function prevIndex(pi) { + var pii = pi; + + for (var cpi = 0; cpi < w.globals.series.length; cpi++) { + if (w.globals.collapsedSeriesIndices.indexOf(pi) > -1) { + pii--; + break; + } + } + + return pii >= 0 ? pii : 0; + }; + + lineYPosition = this.prevSeriesY[prevIndex(i - 1)][j + 1]; + } else { + // the first series will not have prevY values + lineYPosition = this.zeroY; + } + } else { + lineYPosition = this.zeroY; + } + + if (isNull) { + y = lineYPosition - minY / yRatio[this.yaxisIndex] + (this.isReversed ? minY / yRatio[this.yaxisIndex] : 0) * 2; + } else { + y = lineYPosition - series[i][j + 1] / yRatio[this.yaxisIndex] + (this.isReversed ? series[i][j + 1] / yRatio[this.yaxisIndex] : 0) * 2; + + if (type === 'rangeArea') { + y2 = lineYPosition - seriesRangeEnd[i][j + 1] / yRatio[this.yaxisIndex] + (this.isReversed ? seriesRangeEnd[i][j + 1] / yRatio[this.yaxisIndex] : 0) * 2; + } + } // push current X + + + xArrj.push(x); // push current Y that will be used as next series's bottom position + + yArrj.push(y); + var pointsPos = this.lineHelpers.calculatePoints({ + series: series, + x: x, + y: y, + realIndex: realIndex, + i: i, + j: j, + prevY: prevY + }); + + var calculatedPaths = this._createPaths({ + type: type, + series: series, + i: i, + realIndex: realIndex, + j: j, + x: x, + y: y, + y2: y2, + pX: pX, + pY: pY, + linePath: linePath, + areaPath: areaPath, + linePaths: linePaths, + areaPaths: areaPaths, + seriesIndex: seriesIndex, + isRangeStart: isRangeStart + }); + + areaPaths = calculatedPaths.areaPaths; + linePaths = calculatedPaths.linePaths; + pX = calculatedPaths.pX; + pY = calculatedPaths.pY; + areaPath = calculatedPaths.areaPath; + linePath = calculatedPaths.linePath; + + if (this.appendPathFrom) { + pathFromLine = pathFromLine + graphics.line(x, this.zeroY); + pathFromArea = pathFromArea + graphics.line(x, this.zeroY); + } + + this.handleNullDataPoints(series, pointsPos, i, j, realIndex); + + this._handleMarkersAndLabels({ + type: type, + pointsPos: pointsPos, + i: i, + j: j, + realIndex: realIndex, + isRangeStart: isRangeStart + }); + } + + return { + yArrj: yArrj, + xArrj: xArrj, + pathFromArea: pathFromArea, + areaPaths: areaPaths, + pathFromLine: pathFromLine, + linePaths: linePaths, + linePath: linePath, + areaPath: areaPath + }; + } + }, { + key: "_handleMarkersAndLabels", + value: function _handleMarkersAndLabels(_ref4) { + var type = _ref4.type, + pointsPos = _ref4.pointsPos, + isRangeStart = _ref4.isRangeStart, + i = _ref4.i, + j = _ref4.j, + realIndex = _ref4.realIndex; + var w = this.w; + var dataLabels = new DataLabels(this.ctx); + + if (!this.pointsChart) { + if (w.globals.series[i].length > 1) { + this.elPointsMain.node.classList.add('apexcharts-element-hidden'); + } + + var elPointsWrap = this.markers.plotChartMarkers(pointsPos, realIndex, j + 1); + + if (elPointsWrap !== null) { + this.elPointsMain.add(elPointsWrap); + } + } else { + // scatter / bubble chart points creation + this.scatter.draw(this.elSeries, j, { + realIndex: realIndex, + pointsPos: pointsPos, + zRatio: this.zRatio, + elParent: this.elPointsMain + }); + } + + var drawnLabels = dataLabels.drawDataLabel({ + type: type, + isRangeStart: isRangeStart, + pos: pointsPos, + i: realIndex, + j: j + 1 + }); + + if (drawnLabels !== null) { + this.elDataLabelsWrap.add(drawnLabels); + } + } + }, { + key: "_createPaths", + value: function _createPaths(_ref5) { + var type = _ref5.type, + series = _ref5.series, + i = _ref5.i, + realIndex = _ref5.realIndex, + j = _ref5.j, + x = _ref5.x, + y = _ref5.y, + y2 = _ref5.y2, + pX = _ref5.pX, + pY = _ref5.pY, + linePath = _ref5.linePath, + areaPath = _ref5.areaPath, + linePaths = _ref5.linePaths, + areaPaths = _ref5.areaPaths, + seriesIndex = _ref5.seriesIndex, + isRangeStart = _ref5.isRangeStart; + var w = this.w; + var graphics = new Graphics(this.ctx); + var curve = w.config.stroke.curve; + var areaBottomY = this.areaBottomY; + + if (Array.isArray(w.config.stroke.curve)) { + if (Array.isArray(seriesIndex)) { + curve = w.config.stroke.curve[seriesIndex[i]]; + } else { + curve = w.config.stroke.curve[i]; + } + } // logic of smooth curve derived from chartist + // CREDITS: https://gionkunz.github.io/chartist-js/ + + + if (curve === 'smooth') { + var length = (x - pX) * 0.35; + + if (w.globals.hasNullValues) { + if (series[i][j] !== null) { + if (series[i][j + 1] !== null) { + linePath = graphics.move(pX, pY) + graphics.curve(pX + length, pY, x - length, y, x + 1, y); + areaPath = graphics.move(pX + 1, pY) + graphics.curve(pX + length, pY, x - length, y, x + 1, y) + graphics.line(x, areaBottomY) + graphics.line(pX, areaBottomY) + 'z'; + } else { + linePath = graphics.move(pX, pY); + areaPath = graphics.move(pX, pY) + 'z'; + } + } + + linePaths.push(linePath); + areaPaths.push(areaPath); + } else { + linePath = linePath + graphics.curve(pX + length, pY, x - length, y, x, y); + areaPath = areaPath + graphics.curve(pX + length, pY, x - length, y, x, y); + } + + pX = x; + pY = y; + + if (j === series[i].length - 2) { + // last loop, close path + areaPath = areaPath + graphics.curve(pX, pY, x, y, x, areaBottomY) + graphics.move(x, y) + 'z'; + + if (type === 'rangeArea' && isRangeStart) { + linePath = linePath + graphics.curve(pX, pY, x, y, x, y2) + graphics.move(x, y2) + 'z'; + } else { + if (!w.globals.hasNullValues) { + linePaths.push(linePath); + areaPaths.push(areaPath); + } + } + } + } else { + if (series[i][j + 1] === null) { + linePath = linePath + graphics.move(x, y); + var numericOrCatX = w.globals.isXNumeric ? (w.globals.seriesX[realIndex][j] - w.globals.minX) / this.xRatio : x - this.xDivision; + areaPath = areaPath + graphics.line(numericOrCatX, areaBottomY) + graphics.move(x, y) + 'z'; + } + + if (series[i][j] === null) { + linePath = linePath + graphics.move(x, y); + areaPath = areaPath + graphics.move(x, areaBottomY); + } + + if (curve === 'stepline') { + linePath = linePath + graphics.line(x, null, 'H') + graphics.line(null, y, 'V'); + areaPath = areaPath + graphics.line(x, null, 'H') + graphics.line(null, y, 'V'); + } else if (curve === 'straight') { + linePath = linePath + graphics.line(x, y); + areaPath = areaPath + graphics.line(x, y); + } + + if (j === series[i].length - 2) { + // last loop, close path + areaPath = areaPath + graphics.line(x, areaBottomY) + graphics.move(x, y) + 'z'; + + if (type === 'rangeArea' && isRangeStart) { + linePath = linePath + graphics.line(x, y2) + graphics.move(x, y2) + 'z'; + } else { + linePaths.push(linePath); + areaPaths.push(areaPath); + } + } + } + + return { + linePaths: linePaths, + areaPaths: areaPaths, + pX: pX, + pY: pY, + linePath: linePath, + areaPath: areaPath + }; + } + }, { + key: "handleNullDataPoints", + value: function handleNullDataPoints(series, pointsPos, i, j, realIndex) { + var w = this.w; + + if (series[i][j] === null && w.config.markers.showNullDataPoints || series[i].length === 1) { + // fixes apexcharts.js#1282, #1252 + var elPointsWrap = this.markers.plotChartMarkers(pointsPos, realIndex, j + 1, this.strokeWidth - w.config.markers.strokeWidth / 2, true); + + if (elPointsWrap !== null) { + this.elPointsMain.add(elPointsWrap); + } + } + } + }]); + + return Line; + }(); + + /* + * treemap-squarify.js - open source implementation of squarified treemaps + * + * Treemap Squared 0.5 - Treemap Charting library + * + * https://github.com/imranghory/treemap-squared/ + * + * Copyright (c) 2012 Imran Ghory (imranghory@gmail.com) + * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. + * + * + * Implementation of the squarify treemap algorithm described in: + * + * Bruls, Mark; Huizing, Kees; van Wijk, Jarke J. (2000), "Squarified treemaps" + * in de Leeuw, W.; van Liere, R., Data Visualization 2000: + * Proc. Joint Eurographics and IEEE TCVG Symp. on Visualization, Springer-Verlag, pp. 33–42. + * + * Paper is available online at: http://www.win.tue.nl/~vanwijk/stm.pdf + * + * The code in this file is completeley decoupled from the drawing code so it should be trivial + * to port it to any other vector drawing library. Given an array of datapoints this library returns + * an array of cartesian coordinates that represent the rectangles that make up the treemap. + * + * The library also supports multidimensional data (nested treemaps) and performs normalization on the data. + * + * See the README file for more details. + */ + window.TreemapSquared = {}; + + (function () { + + window.TreemapSquared.generate = function () { + function Container(xoffset, yoffset, width, height) { + this.xoffset = xoffset; // offset from the the top left hand corner + + this.yoffset = yoffset; // ditto + + this.height = height; + this.width = width; + + this.shortestEdge = function () { + return Math.min(this.height, this.width); + }; // getCoordinates - for a row of boxes which we've placed + // return an array of their cartesian coordinates + + + this.getCoordinates = function (row) { + var coordinates = []; + var subxoffset = this.xoffset, + subyoffset = this.yoffset; //our offset within the container + + var areawidth = sumArray(row) / this.height; + var areaheight = sumArray(row) / this.width; + var i; + + if (this.width >= this.height) { + for (i = 0; i < row.length; i++) { + coordinates.push([subxoffset, subyoffset, subxoffset + areawidth, subyoffset + row[i] / areawidth]); + subyoffset = subyoffset + row[i] / areawidth; + } + } else { + for (i = 0; i < row.length; i++) { + coordinates.push([subxoffset, subyoffset, subxoffset + row[i] / areaheight, subyoffset + areaheight]); + subxoffset = subxoffset + row[i] / areaheight; + } + } + + return coordinates; + }; // cutArea - once we've placed some boxes into an row we then need to identify the remaining area, + // this function takes the area of the boxes we've placed and calculates the location and + // dimensions of the remaining space and returns a container box defined by the remaining area + + + this.cutArea = function (area) { + var newcontainer; + + if (this.width >= this.height) { + var areawidth = area / this.height; + var newwidth = this.width - areawidth; + newcontainer = new Container(this.xoffset + areawidth, this.yoffset, newwidth, this.height); + } else { + var areaheight = area / this.width; + var newheight = this.height - areaheight; + newcontainer = new Container(this.xoffset, this.yoffset + areaheight, this.width, newheight); + } + + return newcontainer; + }; + } // normalize - the Bruls algorithm assumes we're passing in areas that nicely fit into our + // container box, this method takes our raw data and normalizes the data values into + // area values so that this assumption is valid. + + + function normalize(data, area) { + var normalizeddata = []; + var sum = sumArray(data); + var multiplier = area / sum; + var i; + + for (i = 0; i < data.length; i++) { + normalizeddata[i] = data[i] * multiplier; + } + + return normalizeddata; + } // treemapMultidimensional - takes multidimensional data (aka [[23,11],[11,32]] - nested array) + // and recursively calls itself using treemapSingledimensional + // to create a patchwork of treemaps and merge them + + + function treemapMultidimensional(data, width, height, xoffset, yoffset) { + xoffset = typeof xoffset === 'undefined' ? 0 : xoffset; + yoffset = typeof yoffset === 'undefined' ? 0 : yoffset; + var mergeddata = []; + var mergedtreemap; + var results = []; + var i; + + if (isArray(data[0])) { + // if we've got more dimensions of depth + for (i = 0; i < data.length; i++) { + mergeddata[i] = sumMultidimensionalArray(data[i]); + } + + mergedtreemap = treemapSingledimensional(mergeddata, width, height, xoffset, yoffset); + + for (i = 0; i < data.length; i++) { + results.push(treemapMultidimensional(data[i], mergedtreemap[i][2] - mergedtreemap[i][0], mergedtreemap[i][3] - mergedtreemap[i][1], mergedtreemap[i][0], mergedtreemap[i][1])); + } + } else { + results = treemapSingledimensional(data, width, height, xoffset, yoffset); + } + + return results; + } // treemapSingledimensional - simple wrapper around squarify + + + function treemapSingledimensional(data, width, height, xoffset, yoffset) { + xoffset = typeof xoffset === 'undefined' ? 0 : xoffset; + yoffset = typeof yoffset === 'undefined' ? 0 : yoffset; + var rawtreemap = squarify(normalize(data, width * height), [], new Container(xoffset, yoffset, width, height), []); + return flattenTreemap(rawtreemap); + } // flattenTreemap - squarify implementation returns an array of arrays of coordinates + // because we have a new array everytime we switch to building a new row + // this converts it into an array of coordinates. + + + function flattenTreemap(rawtreemap) { + var flattreemap = []; + var i, j; + + for (i = 0; i < rawtreemap.length; i++) { + for (j = 0; j < rawtreemap[i].length; j++) { + flattreemap.push(rawtreemap[i][j]); + } + } + + return flattreemap; + } // squarify - as per the Bruls paper + // plus coordinates stack and containers so we get + // usable data out of it + + + function squarify(data, currentrow, container, stack) { + var length; + var nextdatapoint; + var newcontainer; + + if (data.length === 0) { + stack.push(container.getCoordinates(currentrow)); + return; + } + + length = container.shortestEdge(); + nextdatapoint = data[0]; + + if (improvesRatio(currentrow, nextdatapoint, length)) { + currentrow.push(nextdatapoint); + squarify(data.slice(1), currentrow, container, stack); + } else { + newcontainer = container.cutArea(sumArray(currentrow), stack); + stack.push(container.getCoordinates(currentrow)); + squarify(data, [], newcontainer, stack); + } + + return stack; + } // improveRatio - implements the worse calculation and comparision as given in Bruls + // (note the error in the original paper; fixed here) + + + function improvesRatio(currentrow, nextnode, length) { + var newrow; + + if (currentrow.length === 0) { + return true; + } + + newrow = currentrow.slice(); + newrow.push(nextnode); + var currentratio = calculateRatio(currentrow, length); + var newratio = calculateRatio(newrow, length); // the pseudocode in the Bruls paper has the direction of the comparison + // wrong, this is the correct one. + + return currentratio >= newratio; + } // calculateRatio - calculates the maximum width to height ratio of the + // boxes in this row + + + function calculateRatio(row, length) { + var min = Math.min.apply(Math, row); + var max = Math.max.apply(Math, row); + var sum = sumArray(row); + return Math.max(Math.pow(length, 2) * max / Math.pow(sum, 2), Math.pow(sum, 2) / (Math.pow(length, 2) * min)); + } // isArray - checks if arr is an array + + + function isArray(arr) { + return arr && arr.constructor === Array; + } // sumArray - sums a single dimensional array + + + function sumArray(arr) { + var sum = 0; + var i; + + for (i = 0; i < arr.length; i++) { + sum += arr[i]; + } + + return sum; + } // sumMultidimensionalArray - sums the values in a nested array (aka [[0,1],[[2,3]]]) + + + function sumMultidimensionalArray(arr) { + var i, + total = 0; + + if (isArray(arr[0])) { + for (i = 0; i < arr.length; i++) { + total += sumMultidimensionalArray(arr[i]); + } + } else { + total = sumArray(arr); + } + + return total; + } + + return treemapMultidimensional; + }(); + })(); + + /** + * ApexCharts TreemapChart Class. + * @module TreemapChart + **/ + + var TreemapChart = /*#__PURE__*/function () { + function TreemapChart(ctx, xyRatios) { + _classCallCheck(this, TreemapChart); + + this.ctx = ctx; + this.w = ctx.w; + this.strokeWidth = this.w.config.stroke.width; + this.helpers = new TreemapHelpers(ctx); + this.dynamicAnim = this.w.config.chart.animations.dynamicAnimation; + this.labels = []; + } + + _createClass(TreemapChart, [{ + key: "draw", + value: function draw(series) { + var _this = this; + + var w = this.w; + var graphics = new Graphics(this.ctx); + var fill = new Fill(this.ctx); + var ret = graphics.group({ + class: 'apexcharts-treemap' + }); + if (w.globals.noData) return ret; + var ser = []; + series.forEach(function (s) { + var d = s.map(function (v) { + return Math.abs(v); + }); + ser.push(d); + }); + this.negRange = this.helpers.checkColorRange(); + w.config.series.forEach(function (s, i) { + s.data.forEach(function (l) { + if (!Array.isArray(_this.labels[i])) _this.labels[i] = []; + + _this.labels[i].push(l.x); + }); + }); + var nodes = window.TreemapSquared.generate(ser, w.globals.gridWidth, w.globals.gridHeight); + nodes.forEach(function (node, i) { + var elSeries = graphics.group({ + class: "apexcharts-series apexcharts-treemap-series", + seriesName: Utils$1.escapeString(w.globals.seriesNames[i]), + rel: i + 1, + 'data:realIndex': i + }); + + if (w.config.chart.dropShadow.enabled) { + var shadow = w.config.chart.dropShadow; + var filters = new Filters(_this.ctx); + filters.dropShadow(ret, shadow, i); + } + + var elDataLabelWrap = graphics.group({ + class: 'apexcharts-data-labels' + }); + node.forEach(function (r, j) { + var x1 = r[0]; + var y1 = r[1]; + var x2 = r[2]; + var y2 = r[3]; + var elRect = graphics.drawRect(x1, y1, x2 - x1, y2 - y1, 0, '#fff', 1, _this.strokeWidth, w.config.plotOptions.treemap.useFillColorAsStroke ? color : w.globals.stroke.colors[i]); + elRect.attr({ + cx: x1, + cy: y1, + index: i, + i: i, + j: j, + width: x2 - x1, + height: y2 - y1 + }); + + var colorProps = _this.helpers.getShadeColor(w.config.chart.type, i, j, _this.negRange); + + var color = colorProps.color; + + if (typeof w.config.series[i].data[j] !== 'undefined' && w.config.series[i].data[j].fillColor) { + color = w.config.series[i].data[j].fillColor; + } + + var pathFill = fill.fillPath({ + color: color, + seriesNumber: i, + dataPointIndex: j + }); + elRect.node.classList.add('apexcharts-treemap-rect'); + elRect.attr({ + fill: pathFill + }); + + _this.helpers.addListeners(elRect); + + var fromRect = { + x: x1 + (x2 - x1) / 2, + y: y1 + (y2 - y1) / 2, + width: 0, + height: 0 + }; + var toRect = { + x: x1, + y: y1, + width: x2 - x1, + height: y2 - y1 + }; + + if (w.config.chart.animations.enabled && !w.globals.dataChanged) { + var speed = 1; + + if (!w.globals.resized) { + speed = w.config.chart.animations.speed; + } + + _this.animateTreemap(elRect, fromRect, toRect, speed); + } + + if (w.globals.dataChanged) { + var _speed = 1; + + if (_this.dynamicAnim.enabled && w.globals.shouldAnimate) { + _speed = _this.dynamicAnim.speed; + + if (w.globals.previousPaths[i] && w.globals.previousPaths[i][j] && w.globals.previousPaths[i][j].rect) { + fromRect = w.globals.previousPaths[i][j].rect; + } + + _this.animateTreemap(elRect, fromRect, toRect, _speed); + } + } + + var fontSize = _this.getFontSize(r); + + var formattedText = w.config.dataLabels.formatter(_this.labels[i][j], { + value: w.globals.series[i][j], + seriesIndex: i, + dataPointIndex: j, + w: w + }); + + var dataLabels = _this.helpers.calculateDataLabels({ + text: formattedText, + x: (x1 + x2) / 2, + y: (y1 + y2) / 2 + _this.strokeWidth / 2 + fontSize / 3, + i: i, + j: j, + colorProps: colorProps, + fontSize: fontSize, + series: series + }); + + if (w.config.dataLabels.enabled && dataLabels) { + _this.rotateToFitLabel(dataLabels, fontSize, formattedText, x1, y1, x2, y2); + } + + elSeries.add(elRect); + + if (dataLabels !== null) { + elSeries.add(dataLabels); + } + }); + elSeries.add(elDataLabelWrap); + ret.add(elSeries); + }); + return ret; + } // This calculates a font-size based upon + // average label length and the size of the box the label is + // going into. The maximum font size is set in chart config. + + }, { + key: "getFontSize", + value: function getFontSize(coordinates) { + var w = this.w; // total length of labels (i.e [["Italy"],["Spain", "Greece"]] -> 16) + + function totalLabelLength(arr) { + var i, + total = 0; + + if (Array.isArray(arr[0])) { + for (i = 0; i < arr.length; i++) { + total += totalLabelLength(arr[i]); + } + } else { + for (i = 0; i < arr.length; i++) { + total += arr[i].length; + } + } + + return total; + } // count of labels (i.e [["Italy"],["Spain", "Greece"]] -> 3) + + + function countLabels(arr) { + var i, + total = 0; + + if (Array.isArray(arr[0])) { + for (i = 0; i < arr.length; i++) { + total += countLabels(arr[i]); + } + } else { + for (i = 0; i < arr.length; i++) { + total += 1; + } + } + + return total; + } + + var averagelabelsize = totalLabelLength(this.labels) / countLabels(this.labels); + + function fontSize(width, height) { + // the font size should be proportional to the size of the box (and the value) + // otherwise you can end up creating a visual distortion where two boxes of identical + // size have different sized labels, and thus make it look as if the two boxes + // represent different sizes + var area = width * height; + var arearoot = Math.pow(area, 0.5); + return Math.min(arearoot / averagelabelsize, parseInt(w.config.dataLabels.style.fontSize, 10)); + } + + return fontSize(coordinates[2] - coordinates[0], coordinates[3] - coordinates[1]); + } + }, { + key: "rotateToFitLabel", + value: function rotateToFitLabel(elText, fontSize, text, x1, y1, x2, y2) { + var graphics = new Graphics(this.ctx); + var textRect = graphics.getTextRects(text, fontSize); //if the label fits better sideways then rotate it + + if (textRect.width + this.w.config.stroke.width + 5 > x2 - x1 && textRect.width <= y2 - y1) { + var labelRotatingCenter = graphics.rotateAroundCenter(elText.node); + elText.node.setAttribute('transform', "rotate(-90 ".concat(labelRotatingCenter.x, " ").concat(labelRotatingCenter.y, ")")); + } + } + }, { + key: "animateTreemap", + value: function animateTreemap(el, fromRect, toRect, speed) { + var animations = new Animations(this.ctx); + animations.animateRect(el, { + x: fromRect.x, + y: fromRect.y, + width: fromRect.width, + height: fromRect.height + }, { + x: toRect.x, + y: toRect.y, + width: toRect.width, + height: toRect.height + }, speed, function () { + animations.animationCompleted(el); + }); + } + }]); + + return TreemapChart; + }(); + + var MINUTES_IN_DAY = 24 * 60; + var SECONDS_IN_DAY = MINUTES_IN_DAY * 60; + var MIN_ZOOM_DAYS = 10 / SECONDS_IN_DAY; + /** + * ApexCharts TimeScale Class for generating time ticks for x-axis. + * + * @module TimeScale + **/ + + var TimeScale = /*#__PURE__*/function () { + function TimeScale(ctx) { + _classCallCheck(this, TimeScale); + + this.ctx = ctx; + this.w = ctx.w; + this.timeScaleArray = []; + this.utc = this.w.config.xaxis.labels.datetimeUTC; + } + + _createClass(TimeScale, [{ + key: "calculateTimeScaleTicks", + value: function calculateTimeScaleTicks(minX, maxX) { + var _this = this; + + var w = this.w; // null check when no series to show + + if (w.globals.allSeriesCollapsed) { + w.globals.labels = []; + w.globals.timescaleLabels = []; + return []; + } + + var dt = new DateTime(this.ctx); + var daysDiff = (maxX - minX) / (1000 * SECONDS_IN_DAY); + this.determineInterval(daysDiff); + w.globals.disableZoomIn = false; + w.globals.disableZoomOut = false; + + if (daysDiff < MIN_ZOOM_DAYS) { + w.globals.disableZoomIn = true; + } else if (daysDiff > 50000) { + w.globals.disableZoomOut = true; + } + + var timeIntervals = dt.getTimeUnitsfromTimestamp(minX, maxX, this.utc); + var daysWidthOnXAxis = w.globals.gridWidth / daysDiff; + var hoursWidthOnXAxis = daysWidthOnXAxis / 24; + var minutesWidthOnXAxis = hoursWidthOnXAxis / 60; + var secondsWidthOnXAxis = minutesWidthOnXAxis / 60; + var numberOfHours = Math.floor(daysDiff * 24); + var numberOfMinutes = Math.floor(daysDiff * MINUTES_IN_DAY); + var numberOfSeconds = Math.floor(daysDiff * SECONDS_IN_DAY); + var numberOfDays = Math.floor(daysDiff); + var numberOfMonths = Math.floor(daysDiff / 30); + var numberOfYears = Math.floor(daysDiff / 365); + var firstVal = { + minMillisecond: timeIntervals.minMillisecond, + minSecond: timeIntervals.minSecond, + minMinute: timeIntervals.minMinute, + minHour: timeIntervals.minHour, + minDate: timeIntervals.minDate, + minMonth: timeIntervals.minMonth, + minYear: timeIntervals.minYear + }; + var currentMillisecond = firstVal.minMillisecond; + var currentSecond = firstVal.minSecond; + var currentMinute = firstVal.minMinute; + var currentHour = firstVal.minHour; + var currentMonthDate = firstVal.minDate; + var currentDate = firstVal.minDate; + var currentMonth = firstVal.minMonth; + var currentYear = firstVal.minYear; + var params = { + firstVal: firstVal, + currentMillisecond: currentMillisecond, + currentSecond: currentSecond, + currentMinute: currentMinute, + currentHour: currentHour, + currentMonthDate: currentMonthDate, + currentDate: currentDate, + currentMonth: currentMonth, + currentYear: currentYear, + daysWidthOnXAxis: daysWidthOnXAxis, + hoursWidthOnXAxis: hoursWidthOnXAxis, + minutesWidthOnXAxis: minutesWidthOnXAxis, + secondsWidthOnXAxis: secondsWidthOnXAxis, + numberOfSeconds: numberOfSeconds, + numberOfMinutes: numberOfMinutes, + numberOfHours: numberOfHours, + numberOfDays: numberOfDays, + numberOfMonths: numberOfMonths, + numberOfYears: numberOfYears + }; + + switch (this.tickInterval) { + case 'years': + { + this.generateYearScale(params); + break; + } + + case 'months': + case 'half_year': + { + this.generateMonthScale(params); + break; + } + + case 'months_days': + case 'months_fortnight': + case 'days': + case 'week_days': + { + this.generateDayScale(params); + break; + } + + case 'hours': + { + this.generateHourScale(params); + break; + } + + case 'minutes_fives': + case 'minutes': + this.generateMinuteScale(params); + break; + + case 'seconds_tens': + case 'seconds_fives': + case 'seconds': + this.generateSecondScale(params); + break; + } // first, we will adjust the month values index + // as in the upper function, it is starting from 0 + // we will start them from 1 + + + var adjustedMonthInTimeScaleArray = this.timeScaleArray.map(function (ts) { + var defaultReturn = { + position: ts.position, + unit: ts.unit, + year: ts.year, + day: ts.day ? ts.day : 1, + hour: ts.hour ? ts.hour : 0, + month: ts.month + 1 + }; + + if (ts.unit === 'month') { + return _objectSpread2(_objectSpread2({}, defaultReturn), {}, { + day: 1, + value: ts.value + 1 + }); + } else if (ts.unit === 'day' || ts.unit === 'hour') { + return _objectSpread2(_objectSpread2({}, defaultReturn), {}, { + value: ts.value + }); + } else if (ts.unit === 'minute') { + return _objectSpread2(_objectSpread2({}, defaultReturn), {}, { + value: ts.value, + minute: ts.value + }); + } else if (ts.unit === 'second') { + return _objectSpread2(_objectSpread2({}, defaultReturn), {}, { + value: ts.value, + minute: ts.minute, + second: ts.second + }); + } + + return ts; + }); + var filteredTimeScale = adjustedMonthInTimeScaleArray.filter(function (ts) { + var modulo = 1; + var ticks = Math.ceil(w.globals.gridWidth / 120); + var value = ts.value; + + if (w.config.xaxis.tickAmount !== undefined) { + ticks = w.config.xaxis.tickAmount; + } + + if (adjustedMonthInTimeScaleArray.length > ticks) { + modulo = Math.floor(adjustedMonthInTimeScaleArray.length / ticks); + } + + var shouldNotSkipUnit = false; // there is a big change in unit i.e days to months + + var shouldNotPrint = false; // should skip these values + + switch (_this.tickInterval) { + case 'years': + // make years label denser + if (ts.unit === 'year') { + shouldNotSkipUnit = true; + } + + break; + + case 'half_year': + modulo = 7; + + if (ts.unit === 'year') { + shouldNotSkipUnit = true; + } + + break; + + case 'months': + modulo = 1; + + if (ts.unit === 'year') { + shouldNotSkipUnit = true; + } + + break; + + case 'months_fortnight': + modulo = 15; + + if (ts.unit === 'year' || ts.unit === 'month') { + shouldNotSkipUnit = true; + } + + if (value === 30) { + shouldNotPrint = true; + } + + break; + + case 'months_days': + modulo = 10; + + if (ts.unit === 'month') { + shouldNotSkipUnit = true; + } + + if (value === 30) { + shouldNotPrint = true; + } + + break; + + case 'week_days': + modulo = 8; + + if (ts.unit === 'month') { + shouldNotSkipUnit = true; + } + + break; + + case 'days': + modulo = 1; + + if (ts.unit === 'month') { + shouldNotSkipUnit = true; + } + + break; + + case 'hours': + if (ts.unit === 'day') { + shouldNotSkipUnit = true; + } + + break; + + case 'minutes_fives': + if (value % 5 !== 0) { + shouldNotPrint = true; + } + + break; + + case 'seconds_tens': + if (value % 10 !== 0) { + shouldNotPrint = true; + } + + break; + + case 'seconds_fives': + if (value % 5 !== 0) { + shouldNotPrint = true; + } + + break; + } + + if (_this.tickInterval === 'hours' || _this.tickInterval === 'minutes_fives' || _this.tickInterval === 'seconds_tens' || _this.tickInterval === 'seconds_fives') { + if (!shouldNotPrint) { + return true; + } + } else { + if ((value % modulo === 0 || shouldNotSkipUnit) && !shouldNotPrint) { + return true; + } + } + }); + return filteredTimeScale; + } + }, { + key: "recalcDimensionsBasedOnFormat", + value: function recalcDimensionsBasedOnFormat(filteredTimeScale, inverted) { + var w = this.w; + var reformattedTimescaleArray = this.formatDates(filteredTimeScale); + var removedOverlappingTS = this.removeOverlappingTS(reformattedTimescaleArray); + w.globals.timescaleLabels = removedOverlappingTS.slice(); // at this stage, we need to re-calculate coords of the grid as timeline labels may have altered the xaxis labels coords + // The reason we can't do this prior to this stage is because timeline labels depends on gridWidth, and as the ticks are calculated based on available gridWidth, there can be unknown number of ticks generated for different minX and maxX + // Dependency on Dimensions(), need to refactor correctly + // TODO - find an alternate way to avoid calling this Heavy method twice + + var dimensions = new Dimensions(this.ctx); + dimensions.plotCoords(); + } + }, { + key: "determineInterval", + value: function determineInterval(daysDiff) { + var yearsDiff = daysDiff / 365; + var hoursDiff = daysDiff * 24; + var minutesDiff = hoursDiff * 60; + var secondsDiff = minutesDiff * 60; + + switch (true) { + case yearsDiff > 5: + this.tickInterval = 'years'; + break; + + case daysDiff > 800: + this.tickInterval = 'half_year'; + break; + + case daysDiff > 180: + this.tickInterval = 'months'; + break; + + case daysDiff > 90: + this.tickInterval = 'months_fortnight'; + break; + + case daysDiff > 60: + this.tickInterval = 'months_days'; + break; + + case daysDiff > 30: + this.tickInterval = 'week_days'; + break; + + case daysDiff > 2: + this.tickInterval = 'days'; + break; + + case hoursDiff > 2.4: + this.tickInterval = 'hours'; + break; + + case minutesDiff > 15: + this.tickInterval = 'minutes_fives'; + break; + + case minutesDiff > 5: + this.tickInterval = 'minutes'; + break; + + case minutesDiff > 1: + this.tickInterval = 'seconds_tens'; + break; + + case secondsDiff > 20: + this.tickInterval = 'seconds_fives'; + break; + + default: + this.tickInterval = 'seconds'; + break; + } + } + }, { + key: "generateYearScale", + value: function generateYearScale(_ref) { + var firstVal = _ref.firstVal, + currentMonth = _ref.currentMonth, + currentYear = _ref.currentYear, + daysWidthOnXAxis = _ref.daysWidthOnXAxis, + numberOfYears = _ref.numberOfYears; + var firstTickValue = firstVal.minYear; + var firstTickPosition = 0; + var dt = new DateTime(this.ctx); + var unit = 'year'; + + if (firstVal.minDate > 1 || firstVal.minMonth > 0) { + var remainingDays = dt.determineRemainingDaysOfYear(firstVal.minYear, firstVal.minMonth, firstVal.minDate); // remainingDaysofFirstMonth is used to reacht the 2nd tick position + + var remainingDaysOfFirstYear = dt.determineDaysOfYear(firstVal.minYear) - remainingDays + 1; // calculate the first tick position + + firstTickPosition = remainingDaysOfFirstYear * daysWidthOnXAxis; + firstTickValue = firstVal.minYear + 1; // push the first tick in the array + + this.timeScaleArray.push({ + position: firstTickPosition, + value: firstTickValue, + unit: unit, + year: firstTickValue, + month: Utils$1.monthMod(currentMonth + 1) + }); + } else if (firstVal.minDate === 1 && firstVal.minMonth === 0) { + // push the first tick in the array + this.timeScaleArray.push({ + position: firstTickPosition, + value: firstTickValue, + unit: unit, + year: currentYear, + month: Utils$1.monthMod(currentMonth + 1) + }); + } + + var year = firstTickValue; + var pos = firstTickPosition; // keep drawing rest of the ticks + + for (var i = 0; i < numberOfYears; i++) { + year++; + pos = dt.determineDaysOfYear(year - 1) * daysWidthOnXAxis + pos; + this.timeScaleArray.push({ + position: pos, + value: year, + unit: unit, + year: year, + month: 1 + }); + } + } + }, { + key: "generateMonthScale", + value: function generateMonthScale(_ref2) { + var firstVal = _ref2.firstVal, + currentMonthDate = _ref2.currentMonthDate, + currentMonth = _ref2.currentMonth, + currentYear = _ref2.currentYear, + daysWidthOnXAxis = _ref2.daysWidthOnXAxis, + numberOfMonths = _ref2.numberOfMonths; + var firstTickValue = currentMonth; + var firstTickPosition = 0; + var dt = new DateTime(this.ctx); + var unit = 'month'; + var yrCounter = 0; + + if (firstVal.minDate > 1) { + // remainingDaysofFirstMonth is used to reacht the 2nd tick position + var remainingDaysOfFirstMonth = dt.determineDaysOfMonths(currentMonth + 1, firstVal.minYear) - currentMonthDate + 1; // calculate the first tick position + + firstTickPosition = remainingDaysOfFirstMonth * daysWidthOnXAxis; + firstTickValue = Utils$1.monthMod(currentMonth + 1); + var year = currentYear + yrCounter; + + var _month = Utils$1.monthMod(firstTickValue); + + var value = firstTickValue; // it's Jan, so update the year + + if (firstTickValue === 0) { + unit = 'year'; + value = year; + _month = 1; + yrCounter += 1; + year = year + yrCounter; + } // push the first tick in the array + + + this.timeScaleArray.push({ + position: firstTickPosition, + value: value, + unit: unit, + year: year, + month: _month + }); + } else { + // push the first tick in the array + this.timeScaleArray.push({ + position: firstTickPosition, + value: firstTickValue, + unit: unit, + year: currentYear, + month: Utils$1.monthMod(currentMonth) + }); + } + + var month = firstTickValue + 1; + var pos = firstTickPosition; // keep drawing rest of the ticks + + for (var i = 0, j = 1; i < numberOfMonths; i++, j++) { + month = Utils$1.monthMod(month); + + if (month === 0) { + unit = 'year'; + yrCounter += 1; + } else { + unit = 'month'; + } + + var _year = this._getYear(currentYear, month, yrCounter); + + pos = dt.determineDaysOfMonths(month, _year) * daysWidthOnXAxis + pos; + var monthVal = month === 0 ? _year : month; + this.timeScaleArray.push({ + position: pos, + value: monthVal, + unit: unit, + year: _year, + month: month === 0 ? 1 : month + }); + month++; + } + } + }, { + key: "generateDayScale", + value: function generateDayScale(_ref3) { + var firstVal = _ref3.firstVal, + currentMonth = _ref3.currentMonth, + currentYear = _ref3.currentYear, + hoursWidthOnXAxis = _ref3.hoursWidthOnXAxis, + numberOfDays = _ref3.numberOfDays; + var dt = new DateTime(this.ctx); + var unit = 'day'; + var firstTickValue = firstVal.minDate + 1; + var date = firstTickValue; + + var changeMonth = function changeMonth(dateVal, month, year) { + var monthdays = dt.determineDaysOfMonths(month + 1, year); + + if (dateVal > monthdays) { + month = month + 1; + date = 1; + unit = 'month'; + val = month; + return month; + } + + return month; + }; + + var remainingHours = 24 - firstVal.minHour; + var yrCounter = 0; // calculate the first tick position + + var firstTickPosition = remainingHours * hoursWidthOnXAxis; + var val = firstTickValue; + var month = changeMonth(date, currentMonth, currentYear); + + if (firstVal.minHour === 0 && firstVal.minDate === 1) { + // the first value is the first day of month + firstTickPosition = 0; + val = Utils$1.monthMod(firstVal.minMonth); + unit = 'month'; + date = firstVal.minDate; + numberOfDays++; + } else if (firstVal.minDate !== 1 && firstVal.minHour === 0 && firstVal.minMinute === 0) { + // fixes apexcharts/apexcharts.js/issues/1730 + firstTickPosition = 0; + firstTickValue = firstVal.minDate; + date = firstTickValue; + val = firstTickValue; // in case it's the last date of month, we need to check it + + month = changeMonth(date, currentMonth, currentYear); + } // push the first tick in the array + + + this.timeScaleArray.push({ + position: firstTickPosition, + value: val, + unit: unit, + year: this._getYear(currentYear, month, yrCounter), + month: Utils$1.monthMod(month), + day: date + }); + var pos = firstTickPosition; // keep drawing rest of the ticks + + for (var i = 0; i < numberOfDays; i++) { + date += 1; + unit = 'day'; + month = changeMonth(date, month, this._getYear(currentYear, month, yrCounter)); + + var year = this._getYear(currentYear, month, yrCounter); + + pos = 24 * hoursWidthOnXAxis + pos; + var value = date === 1 ? Utils$1.monthMod(month) : date; + this.timeScaleArray.push({ + position: pos, + value: value, + unit: unit, + year: year, + month: Utils$1.monthMod(month), + day: value + }); + } + } + }, { + key: "generateHourScale", + value: function generateHourScale(_ref4) { + var firstVal = _ref4.firstVal, + currentDate = _ref4.currentDate, + currentMonth = _ref4.currentMonth, + currentYear = _ref4.currentYear, + minutesWidthOnXAxis = _ref4.minutesWidthOnXAxis, + numberOfHours = _ref4.numberOfHours; + var dt = new DateTime(this.ctx); + var yrCounter = 0; + var unit = 'hour'; + + var changeDate = function changeDate(dateVal, month) { + var monthdays = dt.determineDaysOfMonths(month + 1, currentYear); + + if (dateVal > monthdays) { + date = 1; + month = month + 1; + } + + return { + month: month, + date: date + }; + }; + + var changeMonth = function changeMonth(dateVal, month) { + var monthdays = dt.determineDaysOfMonths(month + 1, currentYear); + + if (dateVal > monthdays) { + month = month + 1; + return month; + } + + return month; + }; // factor in minSeconds as well + + + var remainingMins = 60 - (firstVal.minMinute + firstVal.minSecond / 60.0); + var firstTickPosition = remainingMins * minutesWidthOnXAxis; + var firstTickValue = firstVal.minHour + 1; + var hour = firstTickValue + 1; + + if (remainingMins === 60) { + firstTickPosition = 0; + firstTickValue = firstVal.minHour; + hour = firstTickValue + 1; + } + + var date = currentDate; + var month = changeMonth(date, currentMonth); // push the first tick in the array + + this.timeScaleArray.push({ + position: firstTickPosition, + value: firstTickValue, + unit: unit, + day: date, + hour: hour, + year: currentYear, + month: Utils$1.monthMod(month) + }); + var pos = firstTickPosition; // keep drawing rest of the ticks + + for (var i = 0; i < numberOfHours; i++) { + unit = 'hour'; + + if (hour >= 24) { + hour = 0; + date += 1; + unit = 'day'; + var checkNextMonth = changeDate(date, month); + month = checkNextMonth.month; + month = changeMonth(date, month); + } + + var year = this._getYear(currentYear, month, yrCounter); + + pos = 60 * minutesWidthOnXAxis + pos; + var val = hour === 0 ? date : hour; + this.timeScaleArray.push({ + position: pos, + value: val, + unit: unit, + hour: hour, + day: date, + year: year, + month: Utils$1.monthMod(month) + }); + hour++; + } + } + }, { + key: "generateMinuteScale", + value: function generateMinuteScale(_ref5) { + var currentMillisecond = _ref5.currentMillisecond, + currentSecond = _ref5.currentSecond, + currentMinute = _ref5.currentMinute, + currentHour = _ref5.currentHour, + currentDate = _ref5.currentDate, + currentMonth = _ref5.currentMonth, + currentYear = _ref5.currentYear, + minutesWidthOnXAxis = _ref5.minutesWidthOnXAxis, + secondsWidthOnXAxis = _ref5.secondsWidthOnXAxis, + numberOfMinutes = _ref5.numberOfMinutes; + var yrCounter = 0; + var unit = 'minute'; + var remainingSecs = 60 - currentSecond; + var firstTickPosition = (remainingSecs - currentMillisecond / 1000) * secondsWidthOnXAxis; + var minute = currentMinute + 1; + var date = currentDate; + var month = currentMonth; + var year = currentYear; + var hour = currentHour; + var pos = firstTickPosition; + + for (var i = 0; i < numberOfMinutes; i++) { + if (minute >= 60) { + minute = 0; + hour += 1; + + if (hour === 24) { + hour = 0; + } + } + + this.timeScaleArray.push({ + position: pos, + value: minute, + unit: unit, + hour: hour, + minute: minute, + day: date, + year: this._getYear(year, month, yrCounter), + month: Utils$1.monthMod(month) + }); + pos += minutesWidthOnXAxis; + minute++; + } + } + }, { + key: "generateSecondScale", + value: function generateSecondScale(_ref6) { + var currentMillisecond = _ref6.currentMillisecond, + currentSecond = _ref6.currentSecond, + currentMinute = _ref6.currentMinute, + currentHour = _ref6.currentHour, + currentDate = _ref6.currentDate, + currentMonth = _ref6.currentMonth, + currentYear = _ref6.currentYear, + secondsWidthOnXAxis = _ref6.secondsWidthOnXAxis, + numberOfSeconds = _ref6.numberOfSeconds; + var yrCounter = 0; + var unit = 'second'; + var remainingMillisecs = 1000 - currentMillisecond; + var firstTickPosition = remainingMillisecs / 1000 * secondsWidthOnXAxis; + var second = currentSecond + 1; + var minute = currentMinute; + var date = currentDate; + var month = currentMonth; + var year = currentYear; + var hour = currentHour; + var pos = firstTickPosition; + + for (var i = 0; i < numberOfSeconds; i++) { + if (second >= 60) { + minute++; + second = 0; + + if (minute >= 60) { + hour++; + minute = 0; + + if (hour === 24) { + hour = 0; + } + } + } + + this.timeScaleArray.push({ + position: pos, + value: second, + unit: unit, + hour: hour, + minute: minute, + second: second, + day: date, + year: this._getYear(year, month, yrCounter), + month: Utils$1.monthMod(month) + }); + pos += secondsWidthOnXAxis; + second++; + } + } + }, { + key: "createRawDateString", + value: function createRawDateString(ts, value) { + var raw = ts.year; + + if (ts.month === 0) { + // invalid month, correct it + ts.month = 1; + } + + raw += '-' + ('0' + ts.month.toString()).slice(-2); // unit is day + + if (ts.unit === 'day') { + raw += ts.unit === 'day' ? '-' + ('0' + value).slice(-2) : '-01'; + } else { + raw += '-' + ('0' + (ts.day ? ts.day : '1')).slice(-2); + } // unit is hour + + + if (ts.unit === 'hour') { + raw += ts.unit === 'hour' ? 'T' + ('0' + value).slice(-2) : 'T00'; + } else { + raw += 'T' + ('0' + (ts.hour ? ts.hour : '0')).slice(-2); + } + + if (ts.unit === 'minute') { + raw += ':' + ('0' + value).slice(-2); + } else { + raw += ':' + (ts.minute ? ('0' + ts.minute).slice(-2) : '00'); + } + + if (ts.unit === 'second') { + raw += ':' + ('0' + value).slice(-2); + } else { + raw += ':00'; + } + + if (this.utc) { + raw += '.000Z'; + } + + return raw; + } + }, { + key: "formatDates", + value: function formatDates(filteredTimeScale) { + var _this2 = this; + + var w = this.w; + var reformattedTimescaleArray = filteredTimeScale.map(function (ts) { + var value = ts.value.toString(); + var dt = new DateTime(_this2.ctx); + + var raw = _this2.createRawDateString(ts, value); + + var dateToFormat = dt.getDate(dt.parseDate(raw)); + + if (!_this2.utc) { + // Fixes #1726, #1544, #1485, #1255 + dateToFormat = dt.getDate(dt.parseDateWithTimezone(raw)); + } + + if (w.config.xaxis.labels.format === undefined) { + var customFormat = 'dd MMM'; + var dtFormatter = w.config.xaxis.labels.datetimeFormatter; + if (ts.unit === 'year') customFormat = dtFormatter.year; + if (ts.unit === 'month') customFormat = dtFormatter.month; + if (ts.unit === 'day') customFormat = dtFormatter.day; + if (ts.unit === 'hour') customFormat = dtFormatter.hour; + if (ts.unit === 'minute') customFormat = dtFormatter.minute; + if (ts.unit === 'second') customFormat = dtFormatter.second; + value = dt.formatDate(dateToFormat, customFormat); + } else { + value = dt.formatDate(dateToFormat, w.config.xaxis.labels.format); + } + + return { + dateString: raw, + position: ts.position, + value: value, + unit: ts.unit, + year: ts.year, + month: ts.month + }; + }); + return reformattedTimescaleArray; + } + }, { + key: "removeOverlappingTS", + value: function removeOverlappingTS(arr) { + var _this3 = this; + + var graphics = new Graphics(this.ctx); + var equalLabelLengthFlag = false; // These labels got same length? + + var constantLabelWidth; // If true, what is the constant length to use + + if (arr.length > 0 && // check arr length + arr[0].value && // check arr[0] contains value + arr.every(function (lb) { + return lb.value.length === arr[0].value.length; + }) // check every arr label value is the same as the first one + ) { + equalLabelLengthFlag = true; // These labels got same length + + constantLabelWidth = graphics.getTextRects(arr[0].value).width; // The constant label width to use + } + + var lastDrawnIndex = 0; + var filteredArray = arr.map(function (item, index) { + if (index > 0 && _this3.w.config.xaxis.labels.hideOverlappingLabels) { + var prevLabelWidth = !equalLabelLengthFlag // if vary in label length + ? graphics.getTextRects(arr[lastDrawnIndex].value).width // get individual length + : constantLabelWidth; // else: use constant length + + var prevPos = arr[lastDrawnIndex].position; + var pos = item.position; + + if (pos > prevPos + prevLabelWidth + 10) { + lastDrawnIndex = index; + return item; + } else { + return null; + } + } else { + return item; + } + }); + filteredArray = filteredArray.filter(function (f) { + return f !== null; + }); + return filteredArray; + } + }, { + key: "_getYear", + value: function _getYear(currentYear, month, yrCounter) { + return currentYear + Math.floor(month / 12) + yrCounter; + } + }]); + + return TimeScale; + }(); + + /** + * ApexCharts Core Class responsible for major calculations and creating elements. + * + * @module Core + **/ + + var Core = /*#__PURE__*/function () { + function Core(el, ctx) { + _classCallCheck(this, Core); + + this.ctx = ctx; + this.w = ctx.w; + this.el = el; + } // get data and store into appropriate vars + + + _createClass(Core, [{ + key: "setupElements", + value: function setupElements() { + var gl = this.w.globals; + var cnf = this.w.config; // const graphics = new Graphics(this.ctx) + + var ct = cnf.chart.type; + var axisChartsArrTypes = ['line', 'area', 'bar', 'rangeBar', 'rangeArea', 'candlestick', 'boxPlot', 'scatter', 'bubble', 'radar', 'heatmap', 'treemap']; + var xyChartsArrTypes = ['line', 'area', 'bar', 'rangeBar', 'rangeArea', 'candlestick', 'boxPlot', 'scatter', 'bubble']; + gl.axisCharts = axisChartsArrTypes.indexOf(ct) > -1; + gl.xyCharts = xyChartsArrTypes.indexOf(ct) > -1; + gl.isBarHorizontal = (cnf.chart.type === 'bar' || cnf.chart.type === 'rangeBar' || cnf.chart.type === 'boxPlot') && cnf.plotOptions.bar.horizontal; + gl.chartClass = '.apexcharts' + gl.chartID; + gl.dom.baseEl = this.el; + gl.dom.elWrap = document.createElement('div'); + Graphics.setAttrs(gl.dom.elWrap, { + id: gl.chartClass.substring(1), + class: 'apexcharts-canvas ' + gl.chartClass.substring(1) + }); + this.el.appendChild(gl.dom.elWrap); + gl.dom.Paper = new window.SVG.Doc(gl.dom.elWrap); + gl.dom.Paper.attr({ + class: 'apexcharts-svg', + 'xmlns:data': 'ApexChartsNS', + transform: "translate(".concat(cnf.chart.offsetX, ", ").concat(cnf.chart.offsetY, ")") + }); + gl.dom.Paper.node.style.background = cnf.chart.background; + this.setSVGDimensions(); // append foreignElement (legend's parent) + // legend is kept in foreignElement to be included while exporting + // removing foreignElement and creating legend through HTML will not render legend in export + + gl.dom.elLegendForeign = document.createElementNS(gl.SVGNS, 'foreignObject'); + Graphics.setAttrs(gl.dom.elLegendForeign, { + x: 0, + y: 0, + width: gl.svgWidth, + height: gl.svgHeight + }); + gl.dom.elLegendWrap = document.createElement('div'); + gl.dom.elLegendWrap.classList.add('apexcharts-legend'); + gl.dom.elLegendWrap.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml'); + gl.dom.elLegendForeign.appendChild(gl.dom.elLegendWrap); + gl.dom.Paper.node.appendChild(gl.dom.elLegendForeign); // the elGraphical is the parent of all primary visuals + + gl.dom.elGraphical = gl.dom.Paper.group().attr({ + class: 'apexcharts-inner apexcharts-graphical' + }); + gl.dom.elDefs = gl.dom.Paper.defs(); + gl.dom.Paper.add(gl.dom.elGraphical); + gl.dom.elGraphical.add(gl.dom.elDefs); + } + }, { + key: "plotChartType", + value: function plotChartType(ser, xyRatios) { + var w = this.w; + var cnf = w.config; + var gl = w.globals; + var lineSeries = { + series: [], + i: [] + }; + var areaSeries = { + series: [], + i: [] + }; + var scatterSeries = { + series: [], + i: [] + }; + var bubbleSeries = { + series: [], + i: [] + }; + var columnSeries = { + series: [], + i: [] + }; + var candlestickSeries = { + series: [], + i: [] + }; + var boxplotSeries = { + series: [], + i: [] + }; + var rangeBarSeries = { + series: [], + i: [] + }; + var rangeAreaSeries = { + series: [], + seriesRangeEnd: [], + i: [] + }; + gl.series.map(function (serie, st) { + var comboCount = 0; // if user has specified a particular type for particular series + + if (typeof ser[st].type !== 'undefined') { + if (ser[st].type === 'column' || ser[st].type === 'bar') { + if (gl.series.length > 1 && cnf.plotOptions.bar.horizontal) { + // horizontal bars not supported in mixed charts, hence show a warning + console.warn('Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`'); + } + + columnSeries.series.push(serie); + columnSeries.i.push(st); + comboCount++; + w.globals.columnSeries = columnSeries.series; + } else if (ser[st].type === 'area') { + areaSeries.series.push(serie); + areaSeries.i.push(st); + comboCount++; + } else if (ser[st].type === 'line') { + lineSeries.series.push(serie); + lineSeries.i.push(st); + comboCount++; + } else if (ser[st].type === 'scatter') { + scatterSeries.series.push(serie); + scatterSeries.i.push(st); + } else if (ser[st].type === 'bubble') { + bubbleSeries.series.push(serie); + bubbleSeries.i.push(st); + comboCount++; + } else if (ser[st].type === 'candlestick') { + candlestickSeries.series.push(serie); + candlestickSeries.i.push(st); + comboCount++; + } else if (ser[st].type === 'boxPlot') { + boxplotSeries.series.push(serie); + boxplotSeries.i.push(st); + comboCount++; + } else if (ser[st].type === 'rangeBar') { + rangeBarSeries.series.push(serie); + rangeBarSeries.i.push(st); + comboCount++; + } else if (ser[st].type === 'rangeArea') { + rangeAreaSeries.series.push(gl.seriesRangeStart[st]); + rangeAreaSeries.seriesRangeEnd.push(gl.seriesRangeEnd[st]); + rangeAreaSeries.i.push(st); + comboCount++; + } else { + // user has specified type, but it is not valid (other than line/area/column) + console.warn('You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble/candlestick/boxPlot/rangeBar/rangeArea'); + } + + if (comboCount > 1) { + gl.comboCharts = true; + } + } else { + lineSeries.series.push(serie); + lineSeries.i.push(st); + } + }); + var line = new Line(this.ctx, xyRatios); + var boxCandlestick = new BoxCandleStick(this.ctx, xyRatios); + this.ctx.pie = new Pie(this.ctx); + var radialBar = new Radial(this.ctx); + this.ctx.rangeBar = new RangeBar(this.ctx, xyRatios); + var radar = new Radar(this.ctx); + var elGraph = []; + + if (gl.comboCharts) { + if (areaSeries.series.length > 0) { + elGraph.push(line.draw(areaSeries.series, 'area', areaSeries.i)); + } + + if (columnSeries.series.length > 0) { + if (w.config.chart.stacked) { + var barStacked = new BarStacked(this.ctx, xyRatios); + elGraph.push(barStacked.draw(columnSeries.series, columnSeries.i)); + } else { + this.ctx.bar = new Bar(this.ctx, xyRatios); + elGraph.push(this.ctx.bar.draw(columnSeries.series, columnSeries.i)); + } + } + + if (rangeAreaSeries.series.length > 0) { + elGraph.push(line.draw(rangeAreaSeries.series, 'rangeArea', rangeAreaSeries.i, rangeAreaSeries.seriesRangeEnd)); + } + + if (lineSeries.series.length > 0) { + elGraph.push(line.draw(lineSeries.series, 'line', lineSeries.i)); + } + + if (candlestickSeries.series.length > 0) { + elGraph.push(boxCandlestick.draw(candlestickSeries.series, 'candlestick', candlestickSeries.i)); + } + + if (boxplotSeries.series.length > 0) { + elGraph.push(boxCandlestick.draw(boxplotSeries.series, 'boxPlot', boxplotSeries.i)); + } + + if (rangeBarSeries.series.length > 0) { + elGraph.push(this.ctx.rangeBar.draw(rangeBarSeries.series, rangeBarSeries.i)); + } + + if (scatterSeries.series.length > 0) { + var scatterLine = new Line(this.ctx, xyRatios, true); + elGraph.push(scatterLine.draw(scatterSeries.series, 'scatter', scatterSeries.i)); + } + + if (bubbleSeries.series.length > 0) { + var bubbleLine = new Line(this.ctx, xyRatios, true); + elGraph.push(bubbleLine.draw(bubbleSeries.series, 'bubble', bubbleSeries.i)); + } + } else { + switch (cnf.chart.type) { + case 'line': + elGraph = line.draw(gl.series, 'line'); + break; + + case 'area': + elGraph = line.draw(gl.series, 'area'); + break; + + case 'bar': + if (cnf.chart.stacked) { + var _barStacked = new BarStacked(this.ctx, xyRatios); + + elGraph = _barStacked.draw(gl.series); + } else { + this.ctx.bar = new Bar(this.ctx, xyRatios); + elGraph = this.ctx.bar.draw(gl.series); + } + + break; + + case 'candlestick': + var candleStick = new BoxCandleStick(this.ctx, xyRatios); + elGraph = candleStick.draw(gl.series, 'candlestick'); + break; + + case 'boxPlot': + var boxPlot = new BoxCandleStick(this.ctx, xyRatios); + elGraph = boxPlot.draw(gl.series, 'boxPlot'); + break; + + case 'rangeBar': + elGraph = this.ctx.rangeBar.draw(gl.series); + break; + + case 'rangeArea': + elGraph = line.draw(gl.seriesRangeStart, 'rangeArea', undefined, gl.seriesRangeEnd); + break; + + case 'heatmap': + var heatmap = new HeatMap(this.ctx, xyRatios); + elGraph = heatmap.draw(gl.series); + break; + + case 'treemap': + var treemap = new TreemapChart(this.ctx, xyRatios); + elGraph = treemap.draw(gl.series); + break; + + case 'pie': + case 'donut': + case 'polarArea': + elGraph = this.ctx.pie.draw(gl.series); + break; + + case 'radialBar': + elGraph = radialBar.draw(gl.series); + break; + + case 'radar': + elGraph = radar.draw(gl.series); + break; + + default: + elGraph = line.draw(gl.series); + } + } + + return elGraph; + } + }, { + key: "setSVGDimensions", + value: function setSVGDimensions() { + var gl = this.w.globals; + var cnf = this.w.config; + gl.svgWidth = cnf.chart.width; + gl.svgHeight = cnf.chart.height; + var elDim = Utils$1.getDimensions(this.el); + var widthUnit = cnf.chart.width.toString().split(/[0-9]+/g).pop(); + + if (widthUnit === '%') { + if (Utils$1.isNumber(elDim[0])) { + if (elDim[0].width === 0) { + elDim = Utils$1.getDimensions(this.el.parentNode); + } + + gl.svgWidth = elDim[0] * parseInt(cnf.chart.width, 10) / 100; + } + } else if (widthUnit === 'px' || widthUnit === '') { + gl.svgWidth = parseInt(cnf.chart.width, 10); + } + + var heightUnit = cnf.chart.height.toString().split(/[0-9]+/g).pop(); + + if (gl.svgHeight !== 'auto' && gl.svgHeight !== '') { + if (heightUnit === '%') { + var elParentDim = Utils$1.getDimensions(this.el.parentNode); + gl.svgHeight = elParentDim[1] * parseInt(cnf.chart.height, 10) / 100; + } else { + gl.svgHeight = parseInt(cnf.chart.height, 10); + } + } else { + if (gl.axisCharts) { + gl.svgHeight = gl.svgWidth / 1.61; + } else { + gl.svgHeight = gl.svgWidth / 1.2; + } + } + + if (gl.svgWidth < 0) gl.svgWidth = 0; + if (gl.svgHeight < 0) gl.svgHeight = 0; + Graphics.setAttrs(gl.dom.Paper.node, { + width: gl.svgWidth, + height: gl.svgHeight + }); + + if (heightUnit !== '%') { + // fixes https://github.com/apexcharts/apexcharts.js/issues/2059 + var offsetY = cnf.chart.sparkline.enabled ? 0 : gl.axisCharts ? cnf.chart.parentHeightOffset : 0; + gl.dom.Paper.node.parentNode.parentNode.style.minHeight = gl.svgHeight + offsetY + 'px'; + } + + gl.dom.elWrap.style.width = gl.svgWidth + 'px'; + gl.dom.elWrap.style.height = gl.svgHeight + 'px'; + } + }, { + key: "shiftGraphPosition", + value: function shiftGraphPosition() { + var gl = this.w.globals; + var tY = gl.translateY; + var tX = gl.translateX; + var scalingAttrs = { + transform: 'translate(' + tX + ', ' + tY + ')' + }; + Graphics.setAttrs(gl.dom.elGraphical.node, scalingAttrs); + } // To prevent extra spacings in the bottom of the chart, we need to recalculate the height for pie/donut/radialbar charts + + }, { + key: "resizeNonAxisCharts", + value: function resizeNonAxisCharts() { + var w = this.w; + var gl = w.globals; + var legendHeight = 0; + var offY = w.config.chart.sparkline.enabled ? 1 : 15; + offY = offY + w.config.grid.padding.bottom; + + if ((w.config.legend.position === 'top' || w.config.legend.position === 'bottom') && w.config.legend.show && !w.config.legend.floating) { + legendHeight = new Legend(this.ctx).legendHelpers.getLegendBBox().clwh + 10; + } + + var el = w.globals.dom.baseEl.querySelector('.apexcharts-radialbar, .apexcharts-pie'); + var chartInnerDimensions = w.globals.radialSize * 2.05; + + if (el && !w.config.chart.sparkline.enabled && w.config.plotOptions.radialBar.startAngle !== 0) { + var elRadialRect = Utils$1.getBoundingClientRect(el); + chartInnerDimensions = elRadialRect.bottom; + var maxHeight = elRadialRect.bottom - elRadialRect.top; + chartInnerDimensions = Math.max(w.globals.radialSize * 2.05, maxHeight); + } + + var newHeight = chartInnerDimensions + gl.translateY + legendHeight + offY; + + if (gl.dom.elLegendForeign) { + gl.dom.elLegendForeign.setAttribute('height', newHeight); + } // fix apexcharts/apexcharts.js/issues/3105 (when % is provided in height, it keeps increasing) + + + if (w.config.chart.height && String(w.config.chart.height).indexOf('%') > 0) return; + gl.dom.elWrap.style.height = newHeight + 'px'; + Graphics.setAttrs(gl.dom.Paper.node, { + height: newHeight + }); + gl.dom.Paper.node.parentNode.parentNode.style.minHeight = newHeight + 'px'; + } + /* + ** All the calculations for setting range in charts will be done here + */ + + }, { + key: "coreCalculations", + value: function coreCalculations() { + var range = new Range(this.ctx); + range.init(); + } + }, { + key: "resetGlobals", + value: function resetGlobals() { + var _this = this; + + var resetxyValues = function resetxyValues() { + return _this.w.config.series.map(function (s) { + return []; + }); + }; + + var globalObj = new Globals(); + var gl = this.w.globals; + globalObj.initGlobalVars(gl); + gl.seriesXvalues = resetxyValues(); + gl.seriesYvalues = resetxyValues(); + } + }, { + key: "isMultipleY", + value: function isMultipleY() { + // user has supplied an array in yaxis property. So, turn on multipleYAxis flag + if (this.w.config.yaxis.constructor === Array && this.w.config.yaxis.length > 1) { + this.w.globals.isMultipleYAxis = true; + return true; + } + } + }, { + key: "xySettings", + value: function xySettings() { + var xyRatios = null; + var w = this.w; + + if (w.globals.axisCharts) { + if (w.config.xaxis.crosshairs.position === 'back') { + var crosshairs = new Crosshairs(this.ctx); + crosshairs.drawXCrosshairs(); + } + + if (w.config.yaxis[0].crosshairs.position === 'back') { + var _crosshairs = new Crosshairs(this.ctx); + + _crosshairs.drawYCrosshairs(); + } + + if (w.config.xaxis.type === 'datetime' && w.config.xaxis.labels.formatter === undefined) { + this.ctx.timeScale = new TimeScale(this.ctx); + var formattedTimeScale = []; + + if (isFinite(w.globals.minX) && isFinite(w.globals.maxX) && !w.globals.isBarHorizontal) { + formattedTimeScale = this.ctx.timeScale.calculateTimeScaleTicks(w.globals.minX, w.globals.maxX); + } else if (w.globals.isBarHorizontal) { + formattedTimeScale = this.ctx.timeScale.calculateTimeScaleTicks(w.globals.minY, w.globals.maxY); + } + + this.ctx.timeScale.recalcDimensionsBasedOnFormat(formattedTimeScale); + } + + var coreUtils = new CoreUtils(this.ctx); + xyRatios = coreUtils.getCalculatedRatios(); + } + + return xyRatios; + } + }, { + key: "updateSourceChart", + value: function updateSourceChart(targetChart) { + this.ctx.w.globals.selection = undefined; + + this.ctx.updateHelpers._updateOptions({ + chart: { + selection: { + xaxis: { + min: targetChart.w.globals.minX, + max: targetChart.w.globals.maxX + } + } + } + }, false, false); + } + }, { + key: "setupBrushHandler", + value: function setupBrushHandler() { + var _this2 = this; + + var w = this.w; // only for brush charts + + if (!w.config.chart.brush.enabled) { + return; + } // if user has not defined a custom function for selection - we handle the brush chart + // otherwise we leave it to the user to define the functionality for selection + + + if (typeof w.config.chart.events.selection !== 'function') { + var targets = w.config.chart.brush.targets || [w.config.chart.brush.target]; // retro compatibility with single target option + + targets.forEach(function (target) { + var targetChart = ApexCharts.getChartByID(target); + targetChart.w.globals.brushSource = _this2.ctx; + + if (typeof targetChart.w.config.chart.events.zoomed !== 'function') { + targetChart.w.config.chart.events.zoomed = function () { + _this2.updateSourceChart(targetChart); + }; + } + + if (typeof targetChart.w.config.chart.events.scrolled !== 'function') { + targetChart.w.config.chart.events.scrolled = function () { + _this2.updateSourceChart(targetChart); + }; + } + }); + + w.config.chart.events.selection = function (chart, e) { + targets.forEach(function (target) { + var targetChart = ApexCharts.getChartByID(target); + var yaxis = Utils$1.clone(w.config.yaxis); + + if (w.config.chart.brush.autoScaleYaxis && targetChart.w.globals.series.length === 1) { + var scale = new Range$1(targetChart); + yaxis = scale.autoScaleY(targetChart, yaxis, e); + } + + var multipleYaxis = targetChart.w.config.yaxis.reduce(function (acc, curr, index) { + return [].concat(_toConsumableArray(acc), [_objectSpread2(_objectSpread2({}, targetChart.w.config.yaxis[index]), {}, { + min: yaxis[0].min, + max: yaxis[0].max + })]); + }, []); + + targetChart.ctx.updateHelpers._updateOptions({ + xaxis: { + min: e.xaxis.min, + max: e.xaxis.max + }, + yaxis: multipleYaxis + }, false, false, false, false); + }); + }; + } + } + }]); + + return Core; + }(); + + var UpdateHelpers = /*#__PURE__*/function () { + function UpdateHelpers(ctx) { + _classCallCheck(this, UpdateHelpers); + + this.ctx = ctx; + this.w = ctx.w; + } + /** + * private method to update Options. + * + * @param {object} options - A new config object can be passed which will be merged with the existing config object + * @param {boolean} redraw - should redraw from beginning or should use existing paths and redraw from there + * @param {boolean} animate - should animate or not on updating Options + * @param {boolean} overwriteInitialConfig - should update the initial config or not + */ + + + _createClass(UpdateHelpers, [{ + key: "_updateOptions", + value: function _updateOptions(options) { + var _this = this; + + var redraw = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var updateSyncedCharts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; + var overwriteInitialConfig = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + return new Promise(function (resolve) { + var charts = [_this.ctx]; + + if (updateSyncedCharts) { + charts = _this.ctx.getSyncedCharts(); + } + + if (_this.ctx.w.globals.isExecCalled) { + // If the user called exec method, we don't want to get grouped charts as user specifically provided a chartID to update + charts = [_this.ctx]; + _this.ctx.w.globals.isExecCalled = false; + } + + charts.forEach(function (ch, chartIndex) { + var w = ch.w; + w.globals.shouldAnimate = animate; + + if (!redraw) { + w.globals.resized = true; + w.globals.dataChanged = true; + + if (animate) { + ch.series.getPreviousPaths(); + } + } + + if (options && _typeof(options) === 'object') { + ch.config = new Config(options); + options = CoreUtils.extendArrayProps(ch.config, options, w); // fixes #914, #623 + + if (ch.w.globals.chartID !== _this.ctx.w.globals.chartID) { + // don't overwrite series of synchronized charts + delete options.series; + } + + w.config = Utils$1.extend(w.config, options); + + if (overwriteInitialConfig) { + // we need to forget the lastXAxis and lastYAxis as user forcefully overwriteInitialConfig. If we do not do this, and next time when user zooms the chart after setting yaxis.min/max or xaxis.min/max - the stored lastXAxis will never allow the chart to use the updated min/max by user. + w.globals.lastXAxis = options.xaxis ? Utils$1.clone(options.xaxis) : []; + w.globals.lastYAxis = options.yaxis ? Utils$1.clone(options.yaxis) : []; // After forgetting lastAxes, we need to restore the new config in initialConfig/initialSeries + + w.globals.initialConfig = Utils$1.extend({}, w.config); + w.globals.initialSeries = Utils$1.clone(w.config.series); + + if (options.series) { + // Replace the collapsed series data + for (var i = 0; i < w.globals.collapsedSeriesIndices.length; i++) { + var series = w.config.series[w.globals.collapsedSeriesIndices[i]]; + w.globals.collapsedSeries[i].data = w.globals.axisCharts ? series.data.slice() : series; + } + + for (var _i = 0; _i < w.globals.ancillaryCollapsedSeriesIndices.length; _i++) { + var _series = w.config.series[w.globals.ancillaryCollapsedSeriesIndices[_i]]; + w.globals.ancillaryCollapsedSeries[_i].data = w.globals.axisCharts ? _series.data.slice() : _series; + } // Ensure that auto-generated axes are scaled to the visible data + + + ch.series.emptyCollapsedSeries(w.config.series); + } + } + } + + return ch.update(options).then(function () { + if (chartIndex === charts.length - 1) { + resolve(ch); + } + }); + }); + }); + } + /** + * Private method to update Series. + * + * @param {array} series - New series which will override the existing + */ + + }, { + key: "_updateSeries", + value: function _updateSeries(newSeries, animate) { + var _this2 = this; + + var overwriteInitialSeries = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return new Promise(function (resolve) { + var w = _this2.w; + w.globals.shouldAnimate = animate; + w.globals.dataChanged = true; + + if (animate) { + _this2.ctx.series.getPreviousPaths(); + } + + var existingSeries; // axis charts + + if (w.globals.axisCharts) { + existingSeries = newSeries.map(function (s, i) { + return _this2._extendSeries(s, i); + }); + + if (existingSeries.length === 0) { + existingSeries = [{ + data: [] + }]; + } + + w.config.series = existingSeries; + } else { + // non-axis chart (pie/radialbar) + w.config.series = newSeries.slice(); + } + + if (overwriteInitialSeries) { + w.globals.initialConfig.series = Utils$1.clone(w.config.series); + w.globals.initialSeries = Utils$1.clone(w.config.series); + } + + return _this2.ctx.update().then(function () { + resolve(_this2.ctx); + }); + }); + } + }, { + key: "_extendSeries", + value: function _extendSeries(s, i) { + var w = this.w; + var ser = w.config.series[i]; + return _objectSpread2(_objectSpread2({}, w.config.series[i]), {}, { + name: s.name ? s.name : ser && ser.name, + color: s.color ? s.color : ser && ser.color, + type: s.type ? s.type : ser && ser.type, + data: s.data ? s.data : ser && ser.data + }); + } + }, { + key: "toggleDataPointSelection", + value: function toggleDataPointSelection(seriesIndex, dataPointIndex) { + var w = this.w; + var elPath = null; + var parent = ".apexcharts-series[data\\:realIndex='".concat(seriesIndex, "']"); + + if (w.globals.axisCharts) { + elPath = w.globals.dom.Paper.select("".concat(parent, " path[j='").concat(dataPointIndex, "'], ").concat(parent, " circle[j='").concat(dataPointIndex, "'], ").concat(parent, " rect[j='").concat(dataPointIndex, "']")).members[0]; + } else { + // dataPointIndex will be undefined here, hence using seriesIndex + if (typeof dataPointIndex === 'undefined') { + elPath = w.globals.dom.Paper.select("".concat(parent, " path[j='").concat(seriesIndex, "']")).members[0]; + + if (w.config.chart.type === 'pie' || w.config.chart.type === 'polarArea' || w.config.chart.type === 'donut') { + this.ctx.pie.pieClicked(seriesIndex); + } + } + } + + if (elPath) { + var graphics = new Graphics(this.ctx); + graphics.pathMouseDown(elPath, null); + } else { + console.warn('toggleDataPointSelection: Element not found'); + return null; + } + + return elPath.node ? elPath.node : null; + } + }, { + key: "forceXAxisUpdate", + value: function forceXAxisUpdate(options) { + var w = this.w; + var minmax = ['min', 'max']; + minmax.forEach(function (a) { + if (typeof options.xaxis[a] !== 'undefined') { + w.config.xaxis[a] = options.xaxis[a]; + w.globals.lastXAxis[a] = options.xaxis[a]; + } + }); + + if (options.xaxis.categories && options.xaxis.categories.length) { + w.config.xaxis.categories = options.xaxis.categories; + } + + if (w.config.xaxis.convertedCatToNumeric) { + var defaults = new Defaults(options); + options = defaults.convertCatToNumericXaxis(options, this.ctx); + } + + return options; + } + }, { + key: "forceYAxisUpdate", + value: function forceYAxisUpdate(options) { + if (options.chart && options.chart.stacked && options.chart.stackType === '100%') { + if (Array.isArray(options.yaxis)) { + options.yaxis.forEach(function (yaxe, index) { + options.yaxis[index].min = 0; + options.yaxis[index].max = 100; + }); + } else { + options.yaxis.min = 0; + options.yaxis.max = 100; + } + } + + return options; + } + /** + * This function reverts the yaxis and xaxis min/max values to what it was when the chart was defined. + * This function fixes an important bug where a user might load a new series after zooming in/out of previous series which resulted in wrong min/max + * Also, this should never be called internally on zoom/pan - the reset should only happen when user calls the updateSeries() function externally + * The function also accepts an object {xaxis, yaxis} which when present is set as the new xaxis/yaxis + */ + + }, { + key: "revertDefaultAxisMinMax", + value: function revertDefaultAxisMinMax(opts) { + var _this3 = this; + + var w = this.w; + var xaxis = w.globals.lastXAxis; + var yaxis = w.globals.lastYAxis; + + if (opts && opts.xaxis) { + xaxis = opts.xaxis; + } + + if (opts && opts.yaxis) { + yaxis = opts.yaxis; + } + + w.config.xaxis.min = xaxis.min; + w.config.xaxis.max = xaxis.max; + + var getLastYAxis = function getLastYAxis(index) { + if (typeof yaxis[index] !== 'undefined') { + w.config.yaxis[index].min = yaxis[index].min; + w.config.yaxis[index].max = yaxis[index].max; + } + }; + + w.config.yaxis.map(function (yaxe, index) { + if (w.globals.zoomed) { + // user has zoomed, check the last yaxis + getLastYAxis(index); + } else { + // user hasn't zoomed, check the last yaxis first + if (typeof yaxis[index] !== 'undefined') { + getLastYAxis(index); + } else { + // if last y-axis don't exist, check the original yaxis + if (typeof _this3.ctx.opts.yaxis[index] !== 'undefined') { + yaxe.min = _this3.ctx.opts.yaxis[index].min; + yaxe.max = _this3.ctx.opts.yaxis[index].max; + } + } + } + }); + } + }]); + + return UpdateHelpers; + }(); + + (function (root, factory) { + /* istanbul ignore next */ + if (typeof define === 'function' && define.amd) { + define(function () { + return factory(root, root.document); + }); + /* below check fixes #412 */ + } else if ((typeof exports === "undefined" ? "undefined" : _typeof(exports)) === 'object' && typeof module !== 'undefined') { + module.exports = root.document ? factory(root, root.document) : function (w) { + return factory(w, w.document); + }; + } else { + root.SVG = factory(root, root.document); + } + })(typeof window !== 'undefined' ? window : undefined, function (window, document) { + // Find global reference - uses 'this' by default when available, + // falls back to 'window' otherwise (for bundlers like Webpack) + var globalRef = typeof this !== 'undefined' ? this : window; // The main wrapping element + + var SVG = globalRef.SVG = function (element) { + if (SVG.supported) { + element = new SVG.Doc(element); + + if (!SVG.parser.draw) { + SVG.prepare(); + } + + return element; + } + }; // Default namespaces + + + SVG.ns = 'http://www.w3.org/2000/svg'; + SVG.xmlns = 'http://www.w3.org/2000/xmlns/'; + SVG.xlink = 'http://www.w3.org/1999/xlink'; + SVG.svgjs = 'http://svgjs.dev'; // Svg support test + + SVG.supported = function () { + return true; // !!document.createElementNS && + // !! document.createElementNS(SVG.ns,'svg').createSVGRect + }(); // Don't bother to continue if SVG is not supported + + + if (!SVG.supported) return false; // Element id sequence + + SVG.did = 1000; // Get next named element id + + SVG.eid = function (name) { + return 'Svgjs' + capitalize(name) + SVG.did++; + }; // Method for element creation + + + SVG.create = function (name) { + // create element + var element = document.createElementNS(this.ns, name); // apply unique id + + element.setAttribute('id', this.eid(name)); + return element; + }; // Method for extending objects + + + SVG.extend = function () { + var modules, methods; // Get list of modules + + modules = [].slice.call(arguments); // Get object with extensions + + methods = modules.pop(); + + for (var i = modules.length - 1; i >= 0; i--) { + if (modules[i]) { + for (var key in methods) { + modules[i].prototype[key] = methods[key]; + } + } + } // Make sure SVG.Set inherits any newly added methods + + + if (SVG.Set && SVG.Set.inherit) { + SVG.Set.inherit(); + } + }; // Invent new element + + + SVG.invent = function (config) { + // Create element initializer + var initializer = typeof config.create === 'function' ? config.create : function () { + this.constructor.call(this, SVG.create(config.create)); + }; // Inherit prototype + + if (config.inherit) { + initializer.prototype = new config.inherit(); + } // Extend with methods + + + if (config.extend) { + SVG.extend(initializer, config.extend); + } // Attach construct method to parent + + + if (config.construct) { + SVG.extend(config.parent || SVG.Container, config.construct); + } + + return initializer; + }; // Adopt existing svg elements + + + SVG.adopt = function (node) { + // check for presence of node + if (!node) return null; // make sure a node isn't already adopted + + if (node.instance) return node.instance; // initialize variables + + var element; // adopt with element-specific settings + + if (node.nodeName == 'svg') { + element = node.parentNode instanceof window.SVGElement ? new SVG.Nested() : new SVG.Doc(); + } else if (node.nodeName == 'linearGradient') { + element = new SVG.Gradient('linear'); + } else if (node.nodeName == 'radialGradient') { + element = new SVG.Gradient('radial'); + } else if (SVG[capitalize(node.nodeName)]) { + element = new SVG[capitalize(node.nodeName)](); + } else { + element = new SVG.Element(node); + } // ensure references + + + element.type = node.nodeName; + element.node = node; + node.instance = element; // SVG.Class specific preparations + + if (element instanceof SVG.Doc) { + element.namespace().defs(); + } // pull svgjs data from the dom (getAttributeNS doesn't work in html5) + + + element.setData(JSON.parse(node.getAttribute('svgjs:data')) || {}); + return element; + }; // Initialize parsing element + + + SVG.prepare = function () { + // Select document body and create invisible svg element + var body = document.getElementsByTagName('body')[0], + draw = (body ? new SVG.Doc(body) : SVG.adopt(document.documentElement).nested()).size(2, 0); // Create parser object + + SVG.parser = { + body: body || document.documentElement, + draw: draw.style('opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden').node, + poly: draw.polyline().node, + path: draw.path().node, + native: SVG.create('svg') + }; + }; + + SVG.parser = { + native: SVG.create('svg') + }; + document.addEventListener('DOMContentLoaded', function () { + if (!SVG.parser.draw) { + SVG.prepare(); + } + }, false); // Storage for regular expressions + + SVG.regex = { + // Parse unit value + numberAndUnit: /^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i, + // Parse hex value + hex: /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i, + // Parse rgb value + rgb: /rgb\((\d+),(\d+),(\d+)\)/, + // Parse reference id + reference: /#([a-z0-9\-_]+)/i, + // splits a transformation chain + transforms: /\)\s*,?\s*/, + // Whitespace + whitespace: /\s/g, + // Test hex value + isHex: /^#[a-f0-9]{3,6}$/i, + // Test rgb value + isRgb: /^rgb\(/, + // Test css declaration + isCss: /[^:]+:[^;]+;?/, + // Test for blank string + isBlank: /^(\s+)?$/, + // Test for numeric string + isNumber: /^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i, + // Test for percent value + isPercent: /^-?[\d\.]+%$/, + // Test for image url + isImage: /\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i, + // split at whitespace and comma + delimiter: /[\s,]+/, + // The following regex are used to parse the d attribute of a path + // Matches all hyphens which are not after an exponent + hyphen: /([^e])\-/gi, + // Replaces and tests for all path letters + pathLetters: /[MLHVCSQTAZ]/gi, + // yes we need this one, too + isPathLetter: /[MLHVCSQTAZ]/i, + // matches 0.154.23.45 + numbersWithDots: /((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi, + // matches . + dots: /\./g + }; + SVG.utils = { + // Map function + map: function map(array, block) { + var il = array.length, + result = []; + + for (var i = 0; i < il; i++) { + result.push(block(array[i])); + } + + return result; + }, + // Filter function + filter: function filter(array, block) { + var il = array.length, + result = []; + + for (var i = 0; i < il; i++) { + if (block(array[i])) { + result.push(array[i]); + } + } + + return result; + }, + filterSVGElements: function filterSVGElements(nodes) { + return this.filter(nodes, function (el) { + return el instanceof window.SVGElement; + }); + } + }; + SVG.defaults = { + // Default attribute values + attrs: { + // fill and stroke + 'fill-opacity': 1, + 'stroke-opacity': 1, + 'stroke-width': 0, + 'stroke-linejoin': 'miter', + 'stroke-linecap': 'butt', + fill: '#000000', + stroke: '#000000', + opacity: 1, + // position + x: 0, + y: 0, + cx: 0, + cy: 0, + // size + width: 0, + height: 0, + // radius + r: 0, + rx: 0, + ry: 0, + // gradient + offset: 0, + 'stop-opacity': 1, + 'stop-color': '#000000', + // text + 'font-size': 16, + 'font-family': 'Helvetica, Arial, sans-serif', + 'text-anchor': 'start' + } + }; // Module for color convertions + + SVG.Color = function (color) { + var match; // initialize defaults + + this.r = 0; + this.g = 0; + this.b = 0; + if (!color) return; // parse color + + if (typeof color === 'string') { + if (SVG.regex.isRgb.test(color)) { + // get rgb values + match = SVG.regex.rgb.exec(color.replace(SVG.regex.whitespace, '')); // parse numeric values + + this.r = parseInt(match[1]); + this.g = parseInt(match[2]); + this.b = parseInt(match[3]); + } else if (SVG.regex.isHex.test(color)) { + // get hex values + match = SVG.regex.hex.exec(fullHex(color)); // parse numeric values + + this.r = parseInt(match[1], 16); + this.g = parseInt(match[2], 16); + this.b = parseInt(match[3], 16); + } + } else if (_typeof(color) === 'object') { + this.r = color.r; + this.g = color.g; + this.b = color.b; + } + }; + + SVG.extend(SVG.Color, { + // Default to hex conversion + toString: function toString() { + return this.toHex(); + }, + // Build hex value + toHex: function toHex() { + return '#' + compToHex(this.r) + compToHex(this.g) + compToHex(this.b); + }, + // Build rgb value + toRgb: function toRgb() { + return 'rgb(' + [this.r, this.g, this.b].join() + ')'; + }, + // Calculate true brightness + brightness: function brightness() { + return this.r / 255 * 0.30 + this.g / 255 * 0.59 + this.b / 255 * 0.11; + }, + // Make color morphable + morph: function morph(color) { + this.destination = new SVG.Color(color); + return this; + }, + // Get morphed color at given position + at: function at(pos) { + // make sure a destination is defined + if (!this.destination) return this; // normalise pos + + pos = pos < 0 ? 0 : pos > 1 ? 1 : pos; // generate morphed color + + return new SVG.Color({ + r: ~~(this.r + (this.destination.r - this.r) * pos), + g: ~~(this.g + (this.destination.g - this.g) * pos), + b: ~~(this.b + (this.destination.b - this.b) * pos) + }); + } + }); // Testers + // Test if given value is a color string + + SVG.Color.test = function (color) { + color += ''; + return SVG.regex.isHex.test(color) || SVG.regex.isRgb.test(color); + }; // Test if given value is a rgb object + + + SVG.Color.isRgb = function (color) { + return color && typeof color.r === 'number' && typeof color.g === 'number' && typeof color.b === 'number'; + }; // Test if given value is a color + + + SVG.Color.isColor = function (color) { + return SVG.Color.isRgb(color) || SVG.Color.test(color); + }; // Module for array conversion + + + SVG.Array = function (array, fallback) { + array = (array || []).valueOf(); // if array is empty and fallback is provided, use fallback + + if (array.length == 0 && fallback) { + array = fallback.valueOf(); + } // parse array + + + this.value = this.parse(array); + }; + + SVG.extend(SVG.Array, { + // Convert array to string + toString: function toString() { + return this.value.join(' '); + }, + // Real value + valueOf: function valueOf() { + return this.value; + }, + // Parse whitespace separated string + parse: function parse(array) { + array = array.valueOf(); // if already is an array, no need to parse it + + if (Array.isArray(array)) return array; + return this.split(array); + } + }); // Poly points array + + SVG.PointArray = function (array, fallback) { + SVG.Array.call(this, array, fallback || [[0, 0]]); + }; // Inherit from SVG.Array + + + SVG.PointArray.prototype = new SVG.Array(); + SVG.PointArray.prototype.constructor = SVG.PointArray; + var pathHandlers = { + M: function M(c, p, p0) { + p.x = p0.x = c[0]; + p.y = p0.y = c[1]; + return ['M', p.x, p.y]; + }, + L: function L(c, p) { + p.x = c[0]; + p.y = c[1]; + return ['L', c[0], c[1]]; + }, + H: function H(c, p) { + p.x = c[0]; + return ['H', c[0]]; + }, + V: function V(c, p) { + p.y = c[0]; + return ['V', c[0]]; + }, + C: function C(c, p) { + p.x = c[4]; + p.y = c[5]; + return ['C', c[0], c[1], c[2], c[3], c[4], c[5]]; + }, + Q: function Q(c, p) { + p.x = c[2]; + p.y = c[3]; + return ['Q', c[0], c[1], c[2], c[3]]; + }, + Z: function Z(c, p, p0) { + p.x = p0.x; + p.y = p0.y; + return ['Z']; + } + }; + var mlhvqtcsa = 'mlhvqtcsaz'.split(''); + + for (var i = 0, il = mlhvqtcsa.length; i < il; ++i) { + pathHandlers[mlhvqtcsa[i]] = function (i) { + return function (c, p, p0) { + if (i == 'H') c[0] = c[0] + p.x;else if (i == 'V') c[0] = c[0] + p.y;else if (i == 'A') { + c[5] = c[5] + p.x, c[6] = c[6] + p.y; + } else { + for (var j = 0, jl = c.length; j < jl; ++j) { + c[j] = c[j] + (j % 2 ? p.y : p.x); + } + } + + if (pathHandlers && typeof pathHandlers[i] === 'function') { + // this check fixes jest unit tests + return pathHandlers[i](c, p, p0); + } + }; + }(mlhvqtcsa[i].toUpperCase()); + } // Path points array + + + SVG.PathArray = function (array, fallback) { + SVG.Array.call(this, array, fallback || [['M', 0, 0]]); + }; // Inherit from SVG.Array + + + SVG.PathArray.prototype = new SVG.Array(); + SVG.PathArray.prototype.constructor = SVG.PathArray; + SVG.extend(SVG.PathArray, { + // Convert array to string + toString: function toString() { + return arrayToString(this.value); + }, + // Move path string + move: function move(x, y) { + // get bounding box of current situation + var box = this.bbox(); // get relative offset + + x -= box.x; + y -= box.y; + return this; + }, + // Get morphed path array at given position + at: function at(pos) { + // make sure a destination is defined + if (!this.destination) return this; + var sourceArray = this.value, + destinationArray = this.destination.value, + array = [], + pathArray = new SVG.PathArray(), + il, + jl; // Animate has specified in the SVG spec + // See: https://www.w3.org/TR/SVG11/paths.html#PathElement + + for (var i = 0, il = sourceArray.length; i < il; i++) { + array[i] = [sourceArray[i][0]]; + + for (var j = 1, jl = sourceArray[i].length; j < jl; j++) { + array[i][j] = sourceArray[i][j] + (destinationArray[i][j] - sourceArray[i][j]) * pos; + } // For the two flags of the elliptical arc command, the SVG spec say: + // Flags and booleans are interpolated as fractions between zero and one, with any non-zero value considered to be a value of one/true + // Elliptical arc command as an array followed by corresponding indexes: + // ['A', rx, ry, x-axis-rotation, large-arc-flag, sweep-flag, x, y] + // 0 1 2 3 4 5 6 7 + + + if (array[i][0] === 'A') { + array[i][4] = +(array[i][4] != 0); + array[i][5] = +(array[i][5] != 0); + } + } // Directly modify the value of a path array, this is done this way for performance + + + pathArray.value = array; + return pathArray; + }, + // Absolutize and parse path to array + parse: function parse(array) { + // if it's already a patharray, no need to parse it + if (array instanceof SVG.PathArray) return array.valueOf(); // prepare for parsing + + var s, + arr, + paramCnt = { + 'M': 2, + 'L': 2, + 'H': 1, + 'V': 1, + 'C': 6, + 'S': 4, + 'Q': 4, + 'T': 2, + 'A': 7, + 'Z': 0 + }; + + if (typeof array === 'string') { + array = array.replace(SVG.regex.numbersWithDots, pathRegReplace) // convert 45.123.123 to 45.123 .123 + .replace(SVG.regex.pathLetters, ' $& ') // put some room between letters and numbers + .replace(SVG.regex.hyphen, '$1 -') // add space before hyphen + .trim() // trim + .split(SVG.regex.delimiter); // split into array + } else { + array = array.reduce(function (prev, curr) { + return [].concat.call(prev, curr); + }, []); + } // array now is an array containing all parts of a path e.g. ['M', '0', '0', 'L', '30', '30' ...] + + + var arr = [], + p = new SVG.Point(), + p0 = new SVG.Point(), + index = 0, + len = array.length; + + do { + // Test if we have a path letter + if (SVG.regex.isPathLetter.test(array[index])) { + s = array[index]; + ++index; // If last letter was a move command and we got no new, it defaults to [L]ine + } else if (s == 'M') { + s = 'L'; + } else if (s == 'm') { + s = 'l'; + } + + arr.push(pathHandlers[s].call(null, array.slice(index, index = index + paramCnt[s.toUpperCase()]).map(parseFloat), p, p0)); + } while (len > index); + + return arr; + }, + // Get bounding box of path + bbox: function bbox() { + if (!SVG.parser.draw) { + SVG.prepare(); + } + + SVG.parser.path.setAttribute('d', this.toString()); + return SVG.parser.path.getBBox(); + } + }); // Module for unit convertions + + SVG.Number = SVG.invent({ + // Initialize + create: function create(value, unit) { + // initialize defaults + this.value = 0; + this.unit = unit || ''; // parse value + + if (typeof value === 'number') { + // ensure a valid numeric value + this.value = isNaN(value) ? 0 : !isFinite(value) ? value < 0 ? -3.4e+38 : +3.4e+38 : value; + } else if (typeof value === 'string') { + unit = value.match(SVG.regex.numberAndUnit); + + if (unit) { + // make value numeric + this.value = parseFloat(unit[1]); // normalize + + if (unit[5] == '%') { + this.value /= 100; + } else if (unit[5] == 's') { + this.value *= 1000; + } // store unit + + + this.unit = unit[5]; + } + } else { + if (value instanceof SVG.Number) { + this.value = value.valueOf(); + this.unit = value.unit; + } + } + }, + // Add methods + extend: { + // Stringalize + toString: function toString() { + return (this.unit == '%' ? ~~(this.value * 1e8) / 1e6 : this.unit == 's' ? this.value / 1e3 : this.value) + this.unit; + }, + toJSON: function toJSON() { + return this.toString(); + }, + // Convert to primitive + valueOf: function valueOf() { + return this.value; + }, + // Add number + plus: function plus(number) { + number = new SVG.Number(number); + return new SVG.Number(this + number, this.unit || number.unit); + }, + // Subtract number + minus: function minus(number) { + number = new SVG.Number(number); + return new SVG.Number(this - number, this.unit || number.unit); + }, + // Multiply number + times: function times(number) { + number = new SVG.Number(number); + return new SVG.Number(this * number, this.unit || number.unit); + }, + // Divide number + divide: function divide(number) { + number = new SVG.Number(number); + return new SVG.Number(this / number, this.unit || number.unit); + }, + // Convert to different unit + to: function to(unit) { + var number = new SVG.Number(this); + + if (typeof unit === 'string') { + number.unit = unit; + } + + return number; + }, + // Make number morphable + morph: function morph(number) { + this.destination = new SVG.Number(number); + + if (number.relative) { + this.destination.value += this.value; + } + + return this; + }, + // Get morphed number at given position + at: function at(pos) { + // Make sure a destination is defined + if (!this.destination) return this; // Generate new morphed number + + return new SVG.Number(this.destination).minus(this).times(pos).plus(this); + } + } + }); + SVG.Element = SVG.invent({ + // Initialize node + create: function create(node) { + // make stroke value accessible dynamically + this._stroke = SVG.defaults.attrs.stroke; + this._event = null; // initialize data object + + this.dom = {}; // create circular reference + + if (this.node = node) { + this.type = node.nodeName; + this.node.instance = this; // store current attribute value + + this._stroke = node.getAttribute('stroke') || this._stroke; + } + }, + // Add class methods + extend: { + // Move over x-axis + x: function x(_x) { + return this.attr('x', _x); + }, + // Move over y-axis + y: function y(_y) { + return this.attr('y', _y); + }, + // Move by center over x-axis + cx: function cx(x) { + return x == null ? this.x() + this.width() / 2 : this.x(x - this.width() / 2); + }, + // Move by center over y-axis + cy: function cy(y) { + return y == null ? this.y() + this.height() / 2 : this.y(y - this.height() / 2); + }, + // Move element to given x and y values + move: function move(x, y) { + return this.x(x).y(y); + }, + // Move element by its center + center: function center(x, y) { + return this.cx(x).cy(y); + }, + // Set width of element + width: function width(_width) { + return this.attr('width', _width); + }, + // Set height of element + height: function height(_height) { + return this.attr('height', _height); + }, + // Set element size to given width and height + size: function size(width, height) { + var p = proportionalSize(this, width, height); + return this.width(new SVG.Number(p.width)).height(new SVG.Number(p.height)); + }, + // Clone element + clone: function clone(parent) { + // write dom data to the dom so the clone can pickup the data + this.writeDataToDom(); // clone element and assign new id + + var clone = assignNewId(this.node.cloneNode(true)); // insert the clone in the given parent or after myself + + if (parent) parent.add(clone);else this.after(clone); + return clone; + }, + // Remove element + remove: function remove() { + if (this.parent()) { + this.parent().removeElement(this); + } + + return this; + }, + // Replace element + replace: function replace(element) { + this.after(element).remove(); + return element; + }, + // Add element to given container and return self + addTo: function addTo(parent) { + return parent.put(this); + }, + // Add element to given container and return container + putIn: function putIn(parent) { + return parent.add(this); + }, + // Get / set id + id: function id(_id) { + return this.attr('id', _id); + }, + // Show element + show: function show() { + return this.style('display', ''); + }, + // Hide element + hide: function hide() { + return this.style('display', 'none'); + }, + // Is element visible? + visible: function visible() { + return this.style('display') != 'none'; + }, + // Return id on string conversion + toString: function toString() { + return this.attr('id'); + }, + // Return array of classes on the node + classes: function classes() { + var attr = this.attr('class'); + return attr == null ? [] : attr.trim().split(SVG.regex.delimiter); + }, + // Return true if class exists on the node, false otherwise + hasClass: function hasClass(name) { + return this.classes().indexOf(name) != -1; + }, + // Add class to the node + addClass: function addClass(name) { + if (!this.hasClass(name)) { + var array = this.classes(); + array.push(name); + this.attr('class', array.join(' ')); + } + + return this; + }, + // Remove class from the node + removeClass: function removeClass(name) { + if (this.hasClass(name)) { + this.attr('class', this.classes().filter(function (c) { + return c != name; + }).join(' ')); + } + + return this; + }, + // Toggle the presence of a class on the node + toggleClass: function toggleClass(name) { + return this.hasClass(name) ? this.removeClass(name) : this.addClass(name); + }, + // Get referenced element form attribute value + reference: function reference(attr) { + return SVG.get(this.attr(attr)); + }, + // Returns the parent element instance + parent: function parent(type) { + var parent = this; // check for parent + + if (!parent.node.parentNode) return null; // get parent element + + parent = SVG.adopt(parent.node.parentNode); + if (!type) return parent; // loop trough ancestors if type is given + + while (parent && parent.node instanceof window.SVGElement) { + if (typeof type === 'string' ? parent.matches(type) : parent instanceof type) return parent; + if (!parent.node.parentNode || parent.node.parentNode.nodeName == '#document') return null; // #759, #720 + + parent = SVG.adopt(parent.node.parentNode); + } + }, + // Get parent document + doc: function doc() { + return this instanceof SVG.Doc ? this : this.parent(SVG.Doc); + }, + // return array of all ancestors of given type up to the root svg + parents: function parents(type) { + var parents = [], + parent = this; + + do { + parent = parent.parent(type); + if (!parent || !parent.node) break; + parents.push(parent); + } while (parent.parent); + + return parents; + }, + // matches the element vs a css selector + matches: function matches(selector) { + return _matches(this.node, selector); + }, + // Returns the svg node to call native svg methods on it + native: function native() { + return this.node; + }, + // Import raw svg + svg: function svg(_svg) { + // create temporary holder + var well = document.createElement('svg'); // act as a setter if svg is given + + if (_svg && this instanceof SVG.Parent) { + // dump raw svg + well.innerHTML = '' + _svg.replace(/\n/, '').replace(/<([\w:-]+)([^<]+?)\/>/g, '<$1$2>') + ''; // transplant nodes + + for (var i = 0, il = well.firstChild.childNodes.length; i < il; i++) { + this.node.appendChild(well.firstChild.firstChild); + } // otherwise act as a getter + + } else { + // create a wrapping svg element in case of partial content + well.appendChild(_svg = document.createElement('svg')); // write svgjs data to the dom + + this.writeDataToDom(); // insert a copy of this node + + _svg.appendChild(this.node.cloneNode(true)); // return target element + + + return well.innerHTML.replace(/^/, '').replace(/<\/svg>$/, ''); + } + + return this; + }, + // write svgjs data to the dom + writeDataToDom: function writeDataToDom() { + // dump variables recursively + if (this.each || this.lines) { + var fn = this.each ? this : this.lines(); + fn.each(function () { + this.writeDataToDom(); + }); + } // remove previously set data + + + this.node.removeAttribute('svgjs:data'); + + if (Object.keys(this.dom).length) { + this.node.setAttribute('svgjs:data', JSON.stringify(this.dom)); + } // see #428 + + + return this; + }, + // set given data to the elements data property + setData: function setData(o) { + this.dom = o; + return this; + }, + is: function is(obj) { + return _is(this, obj); + } + } + }); + SVG.easing = { + '-': function _(pos) { + return pos; + }, + '<>': function _(pos) { + return -Math.cos(pos * Math.PI) / 2 + 0.5; + }, + '>': function _(pos) { + return Math.sin(pos * Math.PI / 2); + }, + '<': function _(pos) { + return -Math.cos(pos * Math.PI / 2) + 1; + } + }; + + SVG.morph = function (pos) { + return function (from, to) { + return new SVG.MorphObj(from, to).at(pos); + }; + }; + + SVG.Situation = SVG.invent({ + create: function create(o) { + this.init = false; + this.reversed = false; + this.reversing = false; + this.duration = new SVG.Number(o.duration).valueOf(); + this.delay = new SVG.Number(o.delay).valueOf(); + this.start = +new Date() + this.delay; + this.finish = this.start + this.duration; + this.ease = o.ease; // this.loop is incremented from 0 to this.loops + // it is also incremented when in an infinite loop (when this.loops is true) + + this.loop = 0; + this.loops = false; + this.animations = {// functionToCall: [list of morphable objects] + // e.g. move: [SVG.Number, SVG.Number] + }; + this.attrs = {// holds all attributes which are not represented from a function svg.js provides + // e.g. someAttr: SVG.Number + }; + this.styles = {// holds all styles which should be animated + // e.g. fill-color: SVG.Color + }; + this.transforms = [// holds all transformations as transformation objects + // e.g. [SVG.Rotate, SVG.Translate, SVG.Matrix] + ]; + this.once = {// functions to fire at a specific position + // e.g. "0.5": function foo(){} + }; + } + }); + SVG.FX = SVG.invent({ + create: function create(element) { + this._target = element; + this.situations = []; + this.active = false; + this.situation = null; + this.paused = false; + this.lastPos = 0; + this.pos = 0; // The absolute position of an animation is its position in the context of its complete duration (including delay and loops) + // When performing a delay, absPos is below 0 and when performing a loop, its value is above 1 + + this.absPos = 0; + this._speed = 1; + }, + extend: { + /** + * sets or returns the target of this animation + * @param o object || number In case of Object it holds all parameters. In case of number its the duration of the animation + * @param ease function || string Function which should be used for easing or easing keyword + * @param delay Number indicating the delay before the animation starts + * @return target || this + */ + animate: function animate(o, ease, delay) { + if (_typeof(o) === 'object') { + ease = o.ease; + delay = o.delay; + o = o.duration; + } + + var situation = new SVG.Situation({ + duration: o || 1000, + delay: delay || 0, + ease: SVG.easing[ease || '-'] || ease + }); + this.queue(situation); + return this; + }, + + /** + * sets a delay before the next element of the queue is called + * @param delay Duration of delay in milliseconds + * @return this.target() + */ + + /** + * sets or returns the target of this animation + * @param null || target SVG.Element which should be set as new target + * @return target || this + */ + target: function target(_target) { + if (_target && _target instanceof SVG.Element) { + this._target = _target; + return this; + } + + return this._target; + }, + // returns the absolute position at a given time + timeToAbsPos: function timeToAbsPos(timestamp) { + return (timestamp - this.situation.start) / (this.situation.duration / this._speed); + }, + // returns the timestamp from a given absolute positon + absPosToTime: function absPosToTime(absPos) { + return this.situation.duration / this._speed * absPos + this.situation.start; + }, + // starts the animationloop + startAnimFrame: function startAnimFrame() { + this.stopAnimFrame(); + this.animationFrame = window.requestAnimationFrame(function () { + this.step(); + }.bind(this)); + }, + // cancels the animationframe + stopAnimFrame: function stopAnimFrame() { + window.cancelAnimationFrame(this.animationFrame); + }, + // kicks off the animation - only does something when the queue is currently not active and at least one situation is set + start: function start() { + // dont start if already started + if (!this.active && this.situation) { + this.active = true; + this.startCurrent(); + } + + return this; + }, + // start the current situation + startCurrent: function startCurrent() { + this.situation.start = +new Date() + this.situation.delay / this._speed; + this.situation.finish = this.situation.start + this.situation.duration / this._speed; + return this.initAnimations().step(); + }, + + /** + * adds a function / Situation to the animation queue + * @param fn function / situation to add + * @return this + */ + queue: function queue(fn) { + if (typeof fn === 'function' || fn instanceof SVG.Situation) { + this.situations.push(fn); + } + + if (!this.situation) this.situation = this.situations.shift(); + return this; + }, + + /** + * pulls next element from the queue and execute it + * @return this + */ + dequeue: function dequeue() { + // stop current animation + this.stop(); // get next animation from queue + + this.situation = this.situations.shift(); + + if (this.situation) { + if (this.situation instanceof SVG.Situation) { + this.start(); + } else { + // If it is not a SVG.Situation, then it is a function, we execute it + this.situation.call(this); + } + } + + return this; + }, + // updates all animations to the current state of the element + // this is important when one property could be changed from another property + initAnimations: function initAnimations() { + var source; + var s = this.situation; + if (s.init) return this; + + for (var i in s.animations) { + source = this.target()[i](); + + if (!Array.isArray(source)) { + source = [source]; + } + + if (!Array.isArray(s.animations[i])) { + s.animations[i] = [s.animations[i]]; + } // if(s.animations[i].length > source.length) { + // source.concat = source.concat(s.animations[i].slice(source.length, s.animations[i].length)) + // } + + + for (var j = source.length; j--;) { + // The condition is because some methods return a normal number instead + // of a SVG.Number + if (s.animations[i][j] instanceof SVG.Number) { + source[j] = new SVG.Number(source[j]); + } + + s.animations[i][j] = source[j].morph(s.animations[i][j]); + } + } + + for (var i in s.attrs) { + s.attrs[i] = new SVG.MorphObj(this.target().attr(i), s.attrs[i]); + } + + for (var i in s.styles) { + s.styles[i] = new SVG.MorphObj(this.target().style(i), s.styles[i]); + } + + s.initialTransformation = this.target().matrixify(); + s.init = true; + return this; + }, + clearQueue: function clearQueue() { + this.situations = []; + return this; + }, + clearCurrent: function clearCurrent() { + this.situation = null; + return this; + }, + + /** stops the animation immediately + * @param jumpToEnd A Boolean indicating whether to complete the current animation immediately. + * @param clearQueue A Boolean indicating whether to remove queued animation as well. + * @return this + */ + stop: function stop(jumpToEnd, clearQueue) { + var active = this.active; + this.active = false; + + if (clearQueue) { + this.clearQueue(); + } + + if (jumpToEnd && this.situation) { + // initialize the situation if it was not + !active && this.startCurrent(); + this.atEnd(); + } + + this.stopAnimFrame(); + return this.clearCurrent(); + }, + after: function after(fn) { + var c = this.last(), + wrapper = function wrapper(e) { + if (e.detail.situation == c) { + fn.call(this, c); + this.off('finished.fx', wrapper); // prevent memory leak + } + }; + + this.target().on('finished.fx', wrapper); + return this._callStart(); + }, + // adds a callback which is called whenever one animation step is performed + during: function during(fn) { + var c = this.last(), + wrapper = function wrapper(e) { + if (e.detail.situation == c) { + fn.call(this, e.detail.pos, SVG.morph(e.detail.pos), e.detail.eased, c); + } + }; // see above + + + this.target().off('during.fx', wrapper).on('during.fx', wrapper); + this.after(function () { + this.off('during.fx', wrapper); + }); + return this._callStart(); + }, + // calls after ALL animations in the queue are finished + afterAll: function afterAll(fn) { + var wrapper = function wrapper(e) { + fn.call(this); + this.off('allfinished.fx', wrapper); + }; // see above + + + this.target().off('allfinished.fx', wrapper).on('allfinished.fx', wrapper); + return this._callStart(); + }, + last: function last() { + return this.situations.length ? this.situations[this.situations.length - 1] : this.situation; + }, + // adds one property to the animations + add: function add(method, args, type) { + this.last()[type || 'animations'][method] = args; + return this._callStart(); + }, + + /** perform one step of the animation + * @param ignoreTime Boolean indicating whether to ignore time and use position directly or recalculate position based on time + * @return this + */ + step: function step(ignoreTime) { + // convert current time to an absolute position + if (!ignoreTime) this.absPos = this.timeToAbsPos(+new Date()); // This part convert an absolute position to a position + + if (this.situation.loops !== false) { + var absPos, absPosInt, lastLoop; // If the absolute position is below 0, we just treat it as if it was 0 + + absPos = Math.max(this.absPos, 0); + absPosInt = Math.floor(absPos); + + if (this.situation.loops === true || absPosInt < this.situation.loops) { + this.pos = absPos - absPosInt; + lastLoop = this.situation.loop; + this.situation.loop = absPosInt; + } else { + this.absPos = this.situation.loops; + this.pos = 1; // The -1 here is because we don't want to toggle reversed when all the loops have been completed + + lastLoop = this.situation.loop - 1; + this.situation.loop = this.situation.loops; + } + + if (this.situation.reversing) { + // Toggle reversed if an odd number of loops as occured since the last call of step + this.situation.reversed = this.situation.reversed != Boolean((this.situation.loop - lastLoop) % 2); + } + } else { + // If there are no loop, the absolute position must not be above 1 + this.absPos = Math.min(this.absPos, 1); + this.pos = this.absPos; + } // while the absolute position can be below 0, the position must not be below 0 + + + if (this.pos < 0) this.pos = 0; + if (this.situation.reversed) this.pos = 1 - this.pos; // apply easing + + var eased = this.situation.ease(this.pos); // call once-callbacks + + for (var i in this.situation.once) { + if (i > this.lastPos && i <= eased) { + this.situation.once[i].call(this.target(), this.pos, eased); + delete this.situation.once[i]; + } + } // fire during callback with position, eased position and current situation as parameter + + + if (this.active) this.target().fire('during', { + pos: this.pos, + eased: eased, + fx: this, + situation: this.situation + }); // the user may call stop or finish in the during callback + // so make sure that we still have a valid situation + + if (!this.situation) { + return this; + } // apply the actual animation to every property + + + this.eachAt(); // do final code when situation is finished + + if (this.pos == 1 && !this.situation.reversed || this.situation.reversed && this.pos == 0) { + // stop animation callback + this.stopAnimFrame(); // fire finished callback with current situation as parameter + + this.target().fire('finished', { + fx: this, + situation: this.situation + }); + + if (!this.situations.length) { + this.target().fire('allfinished'); // Recheck the length since the user may call animate in the afterAll callback + + if (!this.situations.length) { + this.target().off('.fx'); // there shouldnt be any binding left, but to make sure... + + this.active = false; + } + } // start next animation + + + if (this.active) this.dequeue();else this.clearCurrent(); + } else if (!this.paused && this.active) { + // we continue animating when we are not at the end + this.startAnimFrame(); + } // save last eased position for once callback triggering + + + this.lastPos = eased; + return this; + }, + // calculates the step for every property and calls block with it + eachAt: function eachAt() { + var len, + at, + self = this, + target = this.target(), + s = this.situation; // apply animations which can be called trough a method + + for (var i in s.animations) { + at = [].concat(s.animations[i]).map(function (el) { + return typeof el !== 'string' && el.at ? el.at(s.ease(self.pos), self.pos) : el; + }); + target[i].apply(target, at); + } // apply animation which has to be applied with attr() + + + for (var i in s.attrs) { + at = [i].concat(s.attrs[i]).map(function (el) { + return typeof el !== 'string' && el.at ? el.at(s.ease(self.pos), self.pos) : el; + }); + target.attr.apply(target, at); + } // apply animation which has to be applied with style() + + + for (var i in s.styles) { + at = [i].concat(s.styles[i]).map(function (el) { + return typeof el !== 'string' && el.at ? el.at(s.ease(self.pos), self.pos) : el; + }); + target.style.apply(target, at); + } // animate initialTransformation which has to be chained + + + if (s.transforms.length) { + // get initial initialTransformation + at = s.initialTransformation; + + for (var i = 0, len = s.transforms.length; i < len; i++) { + // get next transformation in chain + var a = s.transforms[i]; // multiply matrix directly + + if (a instanceof SVG.Matrix) { + if (a.relative) { + at = at.multiply(new SVG.Matrix().morph(a).at(s.ease(this.pos))); + } else { + at = at.morph(a).at(s.ease(this.pos)); + } + + continue; + } // when transformation is absolute we have to reset the needed transformation first + + + if (!a.relative) { + a.undo(at.extract()); + } // and reapply it after + + + at = at.multiply(a.at(s.ease(this.pos))); + } // set new matrix on element + + + target.matrix(at); + } + + return this; + }, + // adds an once-callback which is called at a specific position and never again + once: function once(pos, fn, isEased) { + var c = this.last(); + if (!isEased) pos = c.ease(pos); + c.once[pos] = fn; + return this; + }, + _callStart: function _callStart() { + setTimeout(function () { + this.start(); + }.bind(this), 0); + return this; + } + }, + parent: SVG.Element, + // Add method to parent elements + construct: { + // Get fx module or create a new one, then animate with given duration and ease + animate: function animate(o, ease, delay) { + return (this.fx || (this.fx = new SVG.FX(this))).animate(o, ease, delay); + }, + delay: function delay(_delay) { + return (this.fx || (this.fx = new SVG.FX(this))).delay(_delay); + }, + stop: function stop(jumpToEnd, clearQueue) { + if (this.fx) { + this.fx.stop(jumpToEnd, clearQueue); + } + + return this; + }, + finish: function finish() { + if (this.fx) { + this.fx.finish(); + } + + return this; + } + } + }); // MorphObj is used whenever no morphable object is given + + SVG.MorphObj = SVG.invent({ + create: function create(from, to) { + // prepare color for morphing + if (SVG.Color.isColor(to)) return new SVG.Color(from).morph(to); // check if we have a list of values + + if (SVG.regex.delimiter.test(from)) { + // prepare path for morphing + if (SVG.regex.pathLetters.test(from)) return new SVG.PathArray(from).morph(to); // prepare value list for morphing + else return new SVG.Array(from).morph(to); + } // prepare number for morphing + + + if (SVG.regex.numberAndUnit.test(to)) return new SVG.Number(from).morph(to); // prepare for plain morphing + + this.value = from; + this.destination = to; + }, + extend: { + at: function at(pos, real) { + return real < 1 ? this.value : this.destination; + }, + valueOf: function valueOf() { + return this.value; + } + } + }); + SVG.extend(SVG.FX, { + // Add animatable attributes + attr: function attr(a, v, relative) { + // apply attributes individually + if (_typeof(a) === 'object') { + for (var key in a) { + this.attr(key, a[key]); + } + } else { + this.add(a, v, 'attrs'); + } + + return this; + }, + // Add animatable plot + plot: function plot(a, b, c, d) { + // Lines can be plotted with 4 arguments + if (arguments.length == 4) { + return this.plot([a, b, c, d]); + } + + return this.add('plot', new (this.target().morphArray)(a)); + } + }); + SVG.Box = SVG.invent({ + create: function create(x, y, width, height) { + if (_typeof(x) === 'object' && !(x instanceof SVG.Element)) { + // chromes getBoundingClientRect has no x and y property + return SVG.Box.call(this, x.left != null ? x.left : x.x, x.top != null ? x.top : x.y, x.width, x.height); + } else if (arguments.length == 4) { + this.x = x; + this.y = y; + this.width = width; + this.height = height; + } // add center, right, bottom... + + + fullBox(this); + } + }); + SVG.BBox = SVG.invent({ + // Initialize + create: function create(element) { + SVG.Box.apply(this, [].slice.call(arguments)); // get values if element is given + + if (element instanceof SVG.Element) { + var box; // yes this is ugly, but Firefox can be a pain when it comes to elements that are not yet rendered + + try { + if (!document.documentElement.contains) { + // This is IE - it does not support contains() for top-level SVGs + var topParent = element.node; + + while (topParent.parentNode) { + topParent = topParent.parentNode; + } + + if (topParent != document) throw new Error('Element not in the dom'); + } else {// the element is NOT in the dom, throw error + // disabling the check below which fixes issue #76 + // if (!document.documentElement.contains(element.node)) throw new Exception('Element not in the dom') + } // find native bbox + + + box = element.node.getBBox(); + } catch (e) { + if (element instanceof SVG.Shape) { + if (!SVG.parser.draw) { + // fixes apexcharts/vue-apexcharts #14 + SVG.prepare(); + } + + var clone = element.clone(SVG.parser.draw.instance).show(); + + if (clone && clone.node && typeof clone.node.getBBox === 'function') { + // this check fixes jest unit tests + box = clone.node.getBBox(); + } + + if (clone && typeof clone.remove === 'function') { + clone.remove(); + } + } else { + box = { + x: element.node.clientLeft, + y: element.node.clientTop, + width: element.node.clientWidth, + height: element.node.clientHeight + }; + } + } + + SVG.Box.call(this, box); + } + }, + // Define ancestor + inherit: SVG.Box, + // Define Parent + parent: SVG.Element, + // Constructor + construct: { + // Get bounding box + bbox: function bbox() { + return new SVG.BBox(this); + } + } + }); + SVG.BBox.prototype.constructor = SVG.BBox; + SVG.Matrix = SVG.invent({ + // Initialize + create: function create(source) { + var base = arrayToMatrix([1, 0, 0, 1, 0, 0]); // ensure source as object + + source = source === null ? base : source instanceof SVG.Element ? source.matrixify() : typeof source === 'string' ? arrayToMatrix(source.split(SVG.regex.delimiter).map(parseFloat)) : arguments.length == 6 ? arrayToMatrix([].slice.call(arguments)) : Array.isArray(source) ? arrayToMatrix(source) : source && _typeof(source) === 'object' ? source : base; // merge source + + for (var i = abcdef.length - 1; i >= 0; --i) { + this[abcdef[i]] = source[abcdef[i]] != null ? source[abcdef[i]] : base[abcdef[i]]; + } + }, + // Add methods + extend: { + // Extract individual transformations + extract: function extract() { + // find delta transform points + var px = deltaTransformPoint(this, 0, 1); + deltaTransformPoint(this, 1, 0); + var skewX = 180 / Math.PI * Math.atan2(px.y, px.x) - 90; + return { + // translation + x: this.e, + y: this.f, + transformedX: (this.e * Math.cos(skewX * Math.PI / 180) + this.f * Math.sin(skewX * Math.PI / 180)) / Math.sqrt(this.a * this.a + this.b * this.b), + transformedY: (this.f * Math.cos(skewX * Math.PI / 180) + this.e * Math.sin(-skewX * Math.PI / 180)) / Math.sqrt(this.c * this.c + this.d * this.d), + // rotation + rotation: skewX, + a: this.a, + b: this.b, + c: this.c, + d: this.d, + e: this.e, + f: this.f, + matrix: new SVG.Matrix(this) + }; + }, + // Clone matrix + clone: function clone() { + return new SVG.Matrix(this); + }, + // Morph one matrix into another + morph: function morph(matrix) { + // store new destination + this.destination = new SVG.Matrix(matrix); + return this; + }, + // Multiplies by given matrix + multiply: function multiply(matrix) { + return new SVG.Matrix(this.native().multiply(parseMatrix(matrix).native())); + }, + // Inverses matrix + inverse: function inverse() { + return new SVG.Matrix(this.native().inverse()); + }, + // Translate matrix + translate: function translate(x, y) { + return new SVG.Matrix(this.native().translate(x || 0, y || 0)); + }, + // Convert to native SVGMatrix + native: function native() { + // create new matrix + var matrix = SVG.parser.native.createSVGMatrix(); // update with current values + + for (var i = abcdef.length - 1; i >= 0; i--) { + matrix[abcdef[i]] = this[abcdef[i]]; + } + + return matrix; + }, + // Convert matrix to string + toString: function toString() { + // Construct the matrix directly, avoid values that are too small + return 'matrix(' + float32String(this.a) + ',' + float32String(this.b) + ',' + float32String(this.c) + ',' + float32String(this.d) + ',' + float32String(this.e) + ',' + float32String(this.f) + ')'; + } + }, + // Define parent + parent: SVG.Element, + // Add parent method + construct: { + // Get current matrix + ctm: function ctm() { + return new SVG.Matrix(this.node.getCTM()); + }, + // Get current screen matrix + screenCTM: function screenCTM() { + /* https://bugzilla.mozilla.org/show_bug.cgi?id=1344537 + This is needed because FF does not return the transformation matrix + for the inner coordinate system when getScreenCTM() is called on nested svgs. + However all other Browsers do that */ + if (this instanceof SVG.Nested) { + var rect = this.rect(1, 1); + var m = rect.node.getScreenCTM(); + rect.remove(); + return new SVG.Matrix(m); + } + + return new SVG.Matrix(this.node.getScreenCTM()); + } + } + }); + SVG.Point = SVG.invent({ + // Initialize + create: function create(x, y) { + var source, + base = { + x: 0, + y: 0 + }; // ensure source as object + + source = Array.isArray(x) ? { + x: x[0], + y: x[1] + } : _typeof(x) === 'object' ? { + x: x.x, + y: x.y + } : x != null ? { + x: x, + y: y != null ? y : x + } : base; // If y has no value, then x is used has its value + // merge source + + this.x = source.x; + this.y = source.y; + }, + // Add methods + extend: { + // Clone point + clone: function clone() { + return new SVG.Point(this); + }, + // Morph one point into another + morph: function morph(x, y) { + // store new destination + this.destination = new SVG.Point(x, y); + return this; + } + } + }); + SVG.extend(SVG.Element, { + // Get point + point: function point(x, y) { + return new SVG.Point(x, y).transform(this.screenCTM().inverse()); + } + }); + SVG.extend(SVG.Element, { + // Set svg element attribute + attr: function attr(a, v, n) { + // act as full getter + if (a == null) { + // get an object of attributes + a = {}; + v = this.node.attributes; + + for (var n = v.length - 1; n >= 0; n--) { + a[v[n].nodeName] = SVG.regex.isNumber.test(v[n].nodeValue) ? parseFloat(v[n].nodeValue) : v[n].nodeValue; + } + + return a; + } else if (_typeof(a) === 'object') { + // apply every attribute individually if an object is passed + for (var v_ in a) { + this.attr(v_, a[v_]); + } + } else if (v === null) { + // remove value + this.node.removeAttribute(a); + } else if (v == null) { + // act as a getter if the first and only argument is not an object + v = this.node.getAttribute(a); + return v == null ? SVG.defaults.attrs[a] : SVG.regex.isNumber.test(v) ? parseFloat(v) : v; + } else { + // BUG FIX: some browsers will render a stroke if a color is given even though stroke width is 0 + if (a == 'stroke-width') { + this.attr('stroke', parseFloat(v) > 0 ? this._stroke : null); + } else if (a == 'stroke') { + this._stroke = v; + } // convert image fill and stroke to patterns + + + if (a == 'fill' || a == 'stroke') { + if (SVG.regex.isImage.test(v)) { + v = this.doc().defs().image(v, 0, 0); + } + + if (v instanceof SVG.Image) { + v = this.doc().defs().pattern(0, 0, function () { + this.add(v); + }); + } + } // ensure correct numeric values (also accepts NaN and Infinity) + + + if (typeof v === 'number') { + v = new SVG.Number(v); + } // ensure full hex color + else if (SVG.Color.isColor(v)) { + v = new SVG.Color(v); + } // parse array values + else if (Array.isArray(v)) { + v = new SVG.Array(v); + } // if the passed attribute is leading... + + + if (a == 'leading') { + // ... call the leading method instead + if (this.leading) { + this.leading(v); + } + } else { + // set given attribute on node + typeof n === 'string' ? this.node.setAttributeNS(n, a, v.toString()) : this.node.setAttribute(a, v.toString()); + } // rebuild if required + + + if (this.rebuild && (a == 'font-size' || a == 'x')) { + this.rebuild(a, v); + } + } + + return this; + } + }); + SVG.extend(SVG.Element, { + // Add transformations + transform: function transform(o, relative) { + // get target in case of the fx module, otherwise reference this + var target = this, + matrix; + // act as a getter + + if (_typeof(o) !== 'object') { + // get current matrix + matrix = new SVG.Matrix(target).extract(); + return typeof o === 'string' ? matrix[o] : matrix; + } // get current matrix + + + matrix = new SVG.Matrix(target); // ensure relative flag + + relative = !!relative || !!o.relative; // act on matrix + + if (o.a != null) { + matrix = relative // relative + ? matrix.multiply(new SVG.Matrix(o)) // absolute + : new SVG.Matrix(o); + } + + return this.attr('transform', matrix); + } + }); + SVG.extend(SVG.Element, { + // Reset all transformations + untransform: function untransform() { + return this.attr('transform', null); + }, + // merge the whole transformation chain into one matrix and returns it + matrixify: function matrixify() { + var matrix = (this.attr('transform') || '').split(SVG.regex.transforms).slice(0, -1).map(function (str) { + // generate key => value pairs + var kv = str.trim().split('('); + return [kv[0], kv[1].split(SVG.regex.delimiter).map(function (str) { + return parseFloat(str); + })]; + }) // merge every transformation into one matrix + .reduce(function (matrix, transform) { + if (transform[0] == 'matrix') return matrix.multiply(arrayToMatrix(transform[1])); + return matrix[transform[0]].apply(matrix, transform[1]); + }, new SVG.Matrix()); + return matrix; + }, + // add an element to another parent without changing the visual representation on the screen + toParent: function toParent(parent) { + if (this == parent) return this; + var ctm = this.screenCTM(); + var pCtm = parent.screenCTM().inverse(); + this.addTo(parent).untransform().transform(pCtm.multiply(ctm)); + return this; + }, + // same as above with parent equals root-svg + toDoc: function toDoc() { + return this.toParent(this.doc()); + } + }); + SVG.Transformation = SVG.invent({ + create: function create(source, inversed) { + if (arguments.length > 1 && typeof inversed !== 'boolean') { + return this.constructor.call(this, [].slice.call(arguments)); + } + + if (Array.isArray(source)) { + for (var i = 0, len = this.arguments.length; i < len; ++i) { + this[this.arguments[i]] = source[i]; + } + } else if (source && _typeof(source) === 'object') { + for (var i = 0, len = this.arguments.length; i < len; ++i) { + this[this.arguments[i]] = source[this.arguments[i]]; + } + } + + this.inversed = false; + + if (inversed === true) { + this.inversed = true; + } + } + }); + SVG.Translate = SVG.invent({ + parent: SVG.Matrix, + inherit: SVG.Transformation, + create: function create(source, inversed) { + this.constructor.apply(this, [].slice.call(arguments)); + }, + extend: { + arguments: ['transformedX', 'transformedY'], + method: 'translate' + } + }); + SVG.extend(SVG.Element, { + // Dynamic style generator + style: function style(s, v) { + if (arguments.length == 0) { + // get full style + return this.node.style.cssText || ''; + } else if (arguments.length < 2) { + // apply every style individually if an object is passed + if (_typeof(s) === 'object') { + for (var v_ in s) { + this.style(v_, s[v_]); + } + } else if (SVG.regex.isCss.test(s)) { + // parse css string + s = s.split(/\s*;\s*/) // filter out suffix ; and stuff like ;; + .filter(function (e) { + return !!e; + }).map(function (e) { + return e.split(/\s*:\s*/); + }); // apply every definition individually + + while (v = s.pop()) { + this.style(v[0], v[1]); + } + } else { + // act as a getter if the first and only argument is not an object + return this.node.style[camelCase(s)]; + } + } else { + this.node.style[camelCase(s)] = v === null || SVG.regex.isBlank.test(v) ? '' : v; + } + + return this; + } + }); + SVG.Parent = SVG.invent({ + // Initialize node + create: function create(element) { + this.constructor.call(this, element); + }, + // Inherit from + inherit: SVG.Element, + // Add class methods + extend: { + // Returns all child elements + children: function children() { + return SVG.utils.map(SVG.utils.filterSVGElements(this.node.childNodes), function (node) { + return SVG.adopt(node); + }); + }, + // Add given element at a position + add: function add(element, i) { + if (i == null) { + this.node.appendChild(element.node); + } else if (element.node != this.node.childNodes[i]) { + this.node.insertBefore(element.node, this.node.childNodes[i]); + } + + return this; + }, + // Basically does the same as `add()` but returns the added element instead + put: function put(element, i) { + this.add(element, i); + return element; + }, + // Checks if the given element is a child + has: function has(element) { + return this.index(element) >= 0; + }, + // Gets index of given element + index: function index(element) { + return [].slice.call(this.node.childNodes).indexOf(element.node); + }, + // Get a element at the given index + get: function get(i) { + return SVG.adopt(this.node.childNodes[i]); + }, + // Get first child + first: function first() { + return this.get(0); + }, + // Get the last child + last: function last() { + return this.get(this.node.childNodes.length - 1); + }, + // Iterates over all children and invokes a given block + each: function each(block, deep) { + var il, + children = this.children(); + + for (var i = 0, il = children.length; i < il; i++) { + if (children[i] instanceof SVG.Element) { + block.apply(children[i], [i, children]); + } + + if (deep && children[i] instanceof SVG.Container) { + children[i].each(block, deep); + } + } + + return this; + }, + // Remove a given child + removeElement: function removeElement(element) { + this.node.removeChild(element.node); + return this; + }, + // Remove all elements in this container + clear: function clear() { + // remove children + while (this.node.hasChildNodes()) { + this.node.removeChild(this.node.lastChild); + } // remove defs reference + + + delete this._defs; + return this; + }, + // Get defs + defs: function defs() { + return this.doc().defs(); + } + } + }); + SVG.extend(SVG.Parent, { + ungroup: function ungroup(parent, depth) { + if (depth === 0 || this instanceof SVG.Defs || this.node == SVG.parser.draw) return this; + parent = parent || (this instanceof SVG.Doc ? this : this.parent(SVG.Parent)); + depth = depth || Infinity; + this.each(function () { + if (this instanceof SVG.Defs) return this; + if (this instanceof SVG.Parent) return this.ungroup(parent, depth - 1); + return this.toParent(parent); + }); + this.node.firstChild || this.remove(); + return this; + }, + flatten: function flatten(parent, depth) { + return this.ungroup(parent, depth); + } + }); + SVG.Container = SVG.invent({ + // Initialize node + create: function create(element) { + this.constructor.call(this, element); + }, + // Inherit from + inherit: SVG.Parent + }); + SVG.ViewBox = SVG.invent({ + // Define parent + parent: SVG.Container, + // Add parent method + construct: {} + }) // Add events to elements + ; + ['click', 'dblclick', 'mousedown', 'mouseup', 'mouseover', 'mouseout', 'mousemove', // , 'mouseenter' -> not supported by IE + // , 'mouseleave' -> not supported by IE + 'touchstart', 'touchmove', 'touchleave', 'touchend', 'touchcancel'].forEach(function (event) { + // add event to SVG.Element + SVG.Element.prototype[event] = function (f) { + // bind event to element rather than element node + SVG.on(this.node, event, f); + return this; + }; + }); // Initialize listeners stack + + SVG.listeners = []; + SVG.handlerMap = []; + SVG.listenerId = 0; // Add event binder in the SVG namespace + + SVG.on = function (node, event, listener, binding, options) { + // create listener, get object-index + var l = listener.bind(binding || node.instance || node), + index = (SVG.handlerMap.indexOf(node) + 1 || SVG.handlerMap.push(node)) - 1, + ev = event.split('.')[0], + ns = event.split('.')[1] || '*'; // ensure valid object + + SVG.listeners[index] = SVG.listeners[index] || {}; + SVG.listeners[index][ev] = SVG.listeners[index][ev] || {}; + SVG.listeners[index][ev][ns] = SVG.listeners[index][ev][ns] || {}; + + if (!listener._svgjsListenerId) { + listener._svgjsListenerId = ++SVG.listenerId; + } // reference listener + + + SVG.listeners[index][ev][ns][listener._svgjsListenerId] = l; // add listener + + node.addEventListener(ev, l, options || { + passive: true + }); + }; // Add event unbinder in the SVG namespace + + + SVG.off = function (node, event, listener) { + var index = SVG.handlerMap.indexOf(node), + ev = event && event.split('.')[0], + ns = event && event.split('.')[1], + namespace = ''; + if (index == -1) return; + + if (listener) { + if (typeof listener === 'function') listener = listener._svgjsListenerId; + if (!listener) return; // remove listener reference + + if (SVG.listeners[index][ev] && SVG.listeners[index][ev][ns || '*']) { + // remove listener + node.removeEventListener(ev, SVG.listeners[index][ev][ns || '*'][listener], false); + delete SVG.listeners[index][ev][ns || '*'][listener]; + } + } else if (ns && ev) { + // remove all listeners for a namespaced event + if (SVG.listeners[index][ev] && SVG.listeners[index][ev][ns]) { + for (var listener_ in SVG.listeners[index][ev][ns]) { + SVG.off(node, [ev, ns].join('.'), listener_); + } + + delete SVG.listeners[index][ev][ns]; + } + } else if (ns) { + // remove all listeners for a specific namespace + for (var event_ in SVG.listeners[index]) { + for (var namespace in SVG.listeners[index][event_]) { + if (ns === namespace) { + SVG.off(node, [event_, ns].join('.')); + } + } + } + } else if (ev) { + // remove all listeners for the event + if (SVG.listeners[index][ev]) { + for (var namespace in SVG.listeners[index][ev]) { + SVG.off(node, [ev, namespace].join('.')); + } + + delete SVG.listeners[index][ev]; + } + } else { + // remove all listeners on a given node + for (var event_ in SVG.listeners[index]) { + SVG.off(node, event_); + } + + delete SVG.listeners[index]; + delete SVG.handlerMap[index]; + } + }; // + + + SVG.extend(SVG.Element, { + // Bind given event to listener + on: function on(event, listener, binding, options) { + SVG.on(this.node, event, listener, binding, options); + return this; + }, + // Unbind event from listener + off: function off(event, listener) { + SVG.off(this.node, event, listener); + return this; + }, + // Fire given event + fire: function fire(event, data) { + // Dispatch event + if (event instanceof window.Event) { + this.node.dispatchEvent(event); + } else { + this.node.dispatchEvent(event = new SVG.CustomEvent(event, { + detail: data, + cancelable: true + })); + } + + this._event = event; + return this; + }, + event: function event() { + return this._event; + } + }); + SVG.Defs = SVG.invent({ + // Initialize node + create: 'defs', + // Inherit from + inherit: SVG.Container + }); + SVG.G = SVG.invent({ + // Initialize node + create: 'g', + // Inherit from + inherit: SVG.Container, + // Add class methods + extend: { + // Move over x-axis + x: function x(_x2) { + return _x2 == null ? this.transform('x') : this.transform({ + x: _x2 - this.x() + }, true); + } + }, + // Add parent method + construct: { + // Create a group element + group: function group() { + return this.put(new SVG.G()); + } + } + }); + SVG.Doc = SVG.invent({ + // Initialize node + create: function create(element) { + if (element) { + // ensure the presence of a dom element + element = typeof element === 'string' ? document.getElementById(element) : element; // If the target is an svg element, use that element as the main wrapper. + // This allows svg.js to work with svg documents as well. + + if (element.nodeName == 'svg') { + this.constructor.call(this, element); + } else { + this.constructor.call(this, SVG.create('svg')); + element.appendChild(this.node); + this.size('100%', '100%'); + } // set svg element attributes and ensure defs node + + + this.namespace().defs(); + } + }, + // Inherit from + inherit: SVG.Container, + // Add class methods + extend: { + // Add namespaces + namespace: function namespace() { + return this.attr({ + xmlns: SVG.ns, + version: '1.1' + }).attr('xmlns:xlink', SVG.xlink, SVG.xmlns).attr('xmlns:svgjs', SVG.svgjs, SVG.xmlns); + }, + // Creates and returns defs element + defs: function defs() { + if (!this._defs) { + var defs; // Find or create a defs element in this instance + + if (defs = this.node.getElementsByTagName('defs')[0]) { + this._defs = SVG.adopt(defs); + } else { + this._defs = new SVG.Defs(); + } // Make sure the defs node is at the end of the stack + + + this.node.appendChild(this._defs.node); + } + + return this._defs; + }, + // custom parent method + parent: function parent() { + if (!this.node.parentNode || this.node.parentNode.nodeName == '#document') return null; + return this.node.parentNode; + }, + // Removes the doc from the DOM + remove: function remove() { + if (this.parent()) { + this.parent().removeChild(this.node); + } + + return this; + }, + clear: function clear() { + // remove children + while (this.node.hasChildNodes()) { + this.node.removeChild(this.node.lastChild); + } // remove defs reference + + + delete this._defs; // add back parser + + if (SVG.parser.draw && !SVG.parser.draw.parentNode) { + this.node.appendChild(SVG.parser.draw); + } + + return this; + }, + clone: function clone(parent) { + // write dom data to the dom so the clone can pickup the data + this.writeDataToDom(); // get reference to node + + var node = this.node; // clone element and assign new id + + var clone = assignNewId(node.cloneNode(true)); // insert the clone in the given parent or after myself + + if (parent) { + (parent.node || parent).appendChild(clone.node); + } else { + node.parentNode.insertBefore(clone.node, node.nextSibling); + } + + return clone; + } + } + }); // ### This module adds backward / forward functionality to elements. + // + + SVG.extend(SVG.Element, {// Get all siblings, including myself + }); + SVG.Gradient = SVG.invent({ + // Initialize node + create: function create(type) { + this.constructor.call(this, SVG.create(type + 'Gradient')); // store type + + this.type = type; + }, + // Inherit from + inherit: SVG.Container, + // Add class methods + extend: { + // Add a color stop + at: function at(offset, color, opacity) { + return this.put(new SVG.Stop()).update(offset, color, opacity); + }, + // Update gradient + update: function update(block) { + // remove all stops + this.clear(); // invoke passed block + + if (typeof block === 'function') { + block.call(this, this); + } + + return this; + }, + // Return the fill id + fill: function fill() { + return 'url(#' + this.id() + ')'; + }, + // Alias string convertion to fill + toString: function toString() { + return this.fill(); + }, + // custom attr to handle transform + attr: function attr(a, b, c) { + if (a == 'transform') a = 'gradientTransform'; + return SVG.Container.prototype.attr.call(this, a, b, c); + } + }, + // Add parent method + construct: { + // Create gradient element in defs + gradient: function gradient(type, block) { + return this.defs().gradient(type, block); + } + } + }); // Add animatable methods to both gradient and fx module + + SVG.extend(SVG.Gradient, SVG.FX, { + // From position + from: function from(x, y) { + return (this._target || this).type == 'radial' ? this.attr({ + fx: new SVG.Number(x), + fy: new SVG.Number(y) + }) : this.attr({ + x1: new SVG.Number(x), + y1: new SVG.Number(y) + }); + }, + // To position + to: function to(x, y) { + return (this._target || this).type == 'radial' ? this.attr({ + cx: new SVG.Number(x), + cy: new SVG.Number(y) + }) : this.attr({ + x2: new SVG.Number(x), + y2: new SVG.Number(y) + }); + } + }); // Base gradient generation + + SVG.extend(SVG.Defs, { + // define gradient + gradient: function gradient(type, block) { + return this.put(new SVG.Gradient(type)).update(block); + } + }); + SVG.Stop = SVG.invent({ + // Initialize node + create: 'stop', + // Inherit from + inherit: SVG.Element, + // Add class methods + extend: { + // add color stops + update: function update(o) { + if (typeof o === 'number' || o instanceof SVG.Number) { + o = { + offset: arguments[0], + color: arguments[1], + opacity: arguments[2] + }; + } // set attributes + + + if (o.opacity != null) this.attr('stop-opacity', o.opacity); + if (o.color != null) this.attr('stop-color', o.color); + if (o.offset != null) this.attr('offset', new SVG.Number(o.offset)); + return this; + } + } + }); + SVG.Pattern = SVG.invent({ + // Initialize node + create: 'pattern', + // Inherit from + inherit: SVG.Container, + // Add class methods + extend: { + // Return the fill id + fill: function fill() { + return 'url(#' + this.id() + ')'; + }, + // Update pattern by rebuilding + update: function update(block) { + // remove content + this.clear(); // invoke passed block + + if (typeof block === 'function') { + block.call(this, this); + } + + return this; + }, + // Alias string convertion to fill + toString: function toString() { + return this.fill(); + }, + // custom attr to handle transform + attr: function attr(a, b, c) { + if (a == 'transform') a = 'patternTransform'; + return SVG.Container.prototype.attr.call(this, a, b, c); + } + }, + // Add parent method + construct: { + // Create pattern element in defs + pattern: function pattern(width, height, block) { + return this.defs().pattern(width, height, block); + } + } + }); + SVG.extend(SVG.Defs, { + // Define gradient + pattern: function pattern(width, height, block) { + return this.put(new SVG.Pattern()).update(block).attr({ + x: 0, + y: 0, + width: width, + height: height, + patternUnits: 'userSpaceOnUse' + }); + } + }); + SVG.Shape = SVG.invent({ + // Initialize node + create: function create(element) { + this.constructor.call(this, element); + }, + // Inherit from + inherit: SVG.Element + }); + SVG.Symbol = SVG.invent({ + // Initialize node + create: 'symbol', + // Inherit from + inherit: SVG.Container, + construct: { + // create symbol + symbol: function symbol() { + return this.put(new SVG.Symbol()); + } + } + }); + SVG.Use = SVG.invent({ + // Initialize node + create: 'use', + // Inherit from + inherit: SVG.Shape, + // Add class methods + extend: { + // Use element as a reference + element: function element(_element, file) { + // Set lined element + return this.attr('href', (file || '') + '#' + _element, SVG.xlink); + } + }, + // Add parent method + construct: { + // Create a use element + use: function use(element, file) { + return this.put(new SVG.Use()).element(element, file); + } + } + }); + SVG.Rect = SVG.invent({ + // Initialize node + create: 'rect', + // Inherit from + inherit: SVG.Shape, + // Add parent method + construct: { + // Create a rect element + rect: function rect(width, height) { + return this.put(new SVG.Rect()).size(width, height); + } + } + }); + SVG.Circle = SVG.invent({ + // Initialize node + create: 'circle', + // Inherit from + inherit: SVG.Shape, + // Add parent method + construct: { + // Create circle element, based on ellipse + circle: function circle(size) { + return this.put(new SVG.Circle()).rx(new SVG.Number(size).divide(2)).move(0, 0); + } + } + }); + SVG.extend(SVG.Circle, SVG.FX, { + // Radius x value + rx: function rx(_rx) { + return this.attr('r', _rx); + }, + // Alias radius x value + ry: function ry(_ry) { + return this.rx(_ry); + } + }); + SVG.Ellipse = SVG.invent({ + // Initialize node + create: 'ellipse', + // Inherit from + inherit: SVG.Shape, + // Add parent method + construct: { + // Create an ellipse + ellipse: function ellipse(width, height) { + return this.put(new SVG.Ellipse()).size(width, height).move(0, 0); + } + } + }); + SVG.extend(SVG.Ellipse, SVG.Rect, SVG.FX, { + // Radius x value + rx: function rx(_rx2) { + return this.attr('rx', _rx2); + }, + // Radius y value + ry: function ry(_ry2) { + return this.attr('ry', _ry2); + } + }); // Add common method + + SVG.extend(SVG.Circle, SVG.Ellipse, { + // Move over x-axis + x: function x(_x3) { + return _x3 == null ? this.cx() - this.rx() : this.cx(_x3 + this.rx()); + }, + // Move over y-axis + y: function y(_y2) { + return _y2 == null ? this.cy() - this.ry() : this.cy(_y2 + this.ry()); + }, + // Move by center over x-axis + cx: function cx(x) { + return x == null ? this.attr('cx') : this.attr('cx', x); + }, + // Move by center over y-axis + cy: function cy(y) { + return y == null ? this.attr('cy') : this.attr('cy', y); + }, + // Set width of element + width: function width(_width2) { + return _width2 == null ? this.rx() * 2 : this.rx(new SVG.Number(_width2).divide(2)); + }, + // Set height of element + height: function height(_height2) { + return _height2 == null ? this.ry() * 2 : this.ry(new SVG.Number(_height2).divide(2)); + }, + // Custom size function + size: function size(width, height) { + var p = proportionalSize(this, width, height); + return this.rx(new SVG.Number(p.width).divide(2)).ry(new SVG.Number(p.height).divide(2)); + } + }); + SVG.Line = SVG.invent({ + // Initialize node + create: 'line', + // Inherit from + inherit: SVG.Shape, + // Add class methods + extend: { + // Get array + array: function array() { + return new SVG.PointArray([[this.attr('x1'), this.attr('y1')], [this.attr('x2'), this.attr('y2')]]); + }, + // Overwrite native plot() method + plot: function plot(x1, y1, x2, y2) { + if (x1 == null) { + return this.array(); + } else if (typeof y1 !== 'undefined') { + x1 = { + x1: x1, + y1: y1, + x2: x2, + y2: y2 + }; + } else { + x1 = new SVG.PointArray(x1).toLine(); + } + + return this.attr(x1); + }, + // Move by left top corner + move: function move(x, y) { + return this.attr(this.array().move(x, y).toLine()); + }, + // Set element size to given width and height + size: function size(width, height) { + var p = proportionalSize(this, width, height); + return this.attr(this.array().size(p.width, p.height).toLine()); + } + }, + // Add parent method + construct: { + // Create a line element + line: function line(x1, y1, x2, y2) { + // make sure plot is called as a setter + // x1 is not necessarily a number, it can also be an array, a string and a SVG.PointArray + return SVG.Line.prototype.plot.apply(this.put(new SVG.Line()), x1 != null ? [x1, y1, x2, y2] : [0, 0, 0, 0]); + } + } + }); + SVG.Polyline = SVG.invent({ + // Initialize node + create: 'polyline', + // Inherit from + inherit: SVG.Shape, + // Add parent method + construct: { + // Create a wrapped polyline element + polyline: function polyline(p) { + // make sure plot is called as a setter + return this.put(new SVG.Polyline()).plot(p || new SVG.PointArray()); + } + } + }); + SVG.Polygon = SVG.invent({ + // Initialize node + create: 'polygon', + // Inherit from + inherit: SVG.Shape, + // Add parent method + construct: { + // Create a wrapped polygon element + polygon: function polygon(p) { + // make sure plot is called as a setter + return this.put(new SVG.Polygon()).plot(p || new SVG.PointArray()); + } + } + }); // Add polygon-specific functions + + SVG.extend(SVG.Polyline, SVG.Polygon, { + // Get array + array: function array() { + return this._array || (this._array = new SVG.PointArray(this.attr('points'))); + }, + // Plot new path + plot: function plot(p) { + return p == null ? this.array() : this.clear().attr('points', typeof p === 'string' ? p : this._array = new SVG.PointArray(p)); + }, + // Clear array cache + clear: function clear() { + delete this._array; + return this; + }, + // Move by left top corner + move: function move(x, y) { + return this.attr('points', this.array().move(x, y)); + }, + // Set element size to given width and height + size: function size(width, height) { + var p = proportionalSize(this, width, height); + return this.attr('points', this.array().size(p.width, p.height)); + } + }); // unify all point to point elements + + SVG.extend(SVG.Line, SVG.Polyline, SVG.Polygon, { + // Define morphable array + morphArray: SVG.PointArray, + // Move by left top corner over x-axis + x: function x(_x4) { + return _x4 == null ? this.bbox().x : this.move(_x4, this.bbox().y); + }, + // Move by left top corner over y-axis + y: function y(_y3) { + return _y3 == null ? this.bbox().y : this.move(this.bbox().x, _y3); + }, + // Set width of element + width: function width(_width3) { + var b = this.bbox(); + return _width3 == null ? b.width : this.size(_width3, b.height); + }, + // Set height of element + height: function height(_height3) { + var b = this.bbox(); + return _height3 == null ? b.height : this.size(b.width, _height3); + } + }); + SVG.Path = SVG.invent({ + // Initialize node + create: 'path', + // Inherit from + inherit: SVG.Shape, + // Add class methods + extend: { + // Define morphable array + morphArray: SVG.PathArray, + // Get array + array: function array() { + return this._array || (this._array = new SVG.PathArray(this.attr('d'))); + }, + // Plot new path + plot: function plot(d) { + return d == null ? this.array() : this.clear().attr('d', typeof d === 'string' ? d : this._array = new SVG.PathArray(d)); + }, + // Clear array cache + clear: function clear() { + delete this._array; + return this; + } + }, + // Add parent method + construct: { + // Create a wrapped path element + path: function path(d) { + // make sure plot is called as a setter + return this.put(new SVG.Path()).plot(d || new SVG.PathArray()); + } + } + }); + SVG.Image = SVG.invent({ + // Initialize node + create: 'image', + // Inherit from + inherit: SVG.Shape, + // Add class methods + extend: { + // (re)load image + load: function load(url) { + if (!url) return this; + var self = this, + img = new window.Image(); // preload image + + SVG.on(img, 'load', function () { + SVG.off(img); + var p = self.parent(SVG.Pattern); + if (p === null) return; // ensure image size + + if (self.width() == 0 && self.height() == 0) { + self.size(img.width, img.height); + } // ensure pattern size if not set + + + if (p && p.width() == 0 && p.height() == 0) { + p.size(self.width(), self.height()); + } // callback + + + if (typeof self._loaded === 'function') { + self._loaded.call(self, { + width: img.width, + height: img.height, + ratio: img.width / img.height, + url: url + }); + } + }); + SVG.on(img, 'error', function (e) { + SVG.off(img); + + if (typeof self._error === 'function') { + self._error.call(self, e); + } + }); + return this.attr('href', img.src = this.src = url, SVG.xlink); + }, + // Add loaded callback + loaded: function loaded(_loaded) { + this._loaded = _loaded; + return this; + }, + error: function error(_error) { + this._error = _error; + return this; + } + }, + // Add parent method + construct: { + // create image element, load image and set its size + image: function image(source, width, height) { + return this.put(new SVG.Image()).load(source).size(width || 0, height || width || 0); + } + } + }); + SVG.Text = SVG.invent({ + // Initialize node + create: function create() { + this.constructor.call(this, SVG.create('text')); + this.dom.leading = new SVG.Number(1.3); // store leading value for rebuilding + + this._rebuild = true; // enable automatic updating of dy values + + this._build = false; // disable build mode for adding multiple lines + // set default font + + this.attr('font-family', SVG.defaults.attrs['font-family']); + }, + // Inherit from + inherit: SVG.Shape, + // Add class methods + extend: { + // Move over x-axis + x: function x(_x5) { + // act as getter + if (_x5 == null) { + return this.attr('x'); + } + + return this.attr('x', _x5); + }, + // Set the text content + text: function text(_text) { + // act as getter + if (typeof _text === 'undefined') { + var _text = ''; + var children = this.node.childNodes; + + for (var i = 0, len = children.length; i < len; ++i) { + // add newline if its not the first child and newLined is set to true + if (i != 0 && children[i].nodeType != 3 && SVG.adopt(children[i]).dom.newLined == true) { + _text += '\n'; + } // add content of this node + + + _text += children[i].textContent; + } + + return _text; + } // remove existing content + + + this.clear().build(true); + + if (typeof _text === 'function') { + // call block + _text.call(this, this); + } else { + // store text and make sure text is not blank + _text = _text.split('\n'); // build new lines + + for (var i = 0, il = _text.length; i < il; i++) { + this.tspan(_text[i]).newLine(); + } + } // disable build mode and rebuild lines + + + return this.build(false).rebuild(); + }, + // Set font size + size: function size(_size) { + return this.attr('font-size', _size).rebuild(); + }, + // Set / get leading + leading: function leading(value) { + // act as getter + if (value == null) { + return this.dom.leading; + } // act as setter + + + this.dom.leading = new SVG.Number(value); + return this.rebuild(); + }, + // Get all the first level lines + lines: function lines() { + var node = (this.textPath && this.textPath() || this).node; // filter tspans and map them to SVG.js instances + + var lines = SVG.utils.map(SVG.utils.filterSVGElements(node.childNodes), function (el) { + return SVG.adopt(el); + }); // return an instance of SVG.set + + return new SVG.Set(lines); + }, + // Rebuild appearance type + rebuild: function rebuild(_rebuild) { + // store new rebuild flag if given + if (typeof _rebuild === 'boolean') { + this._rebuild = _rebuild; + } // define position of all lines + + + if (this._rebuild) { + var self = this, + blankLineOffset = 0, + dy = this.dom.leading * new SVG.Number(this.attr('font-size')); + this.lines().each(function () { + if (this.dom.newLined) { + if (!self.textPath()) { + this.attr('x', self.attr('x')); + } + + if (this.text() == '\n') { + blankLineOffset += dy; + } else { + this.attr('dy', dy + blankLineOffset); + blankLineOffset = 0; + } + } + }); + this.fire('rebuild'); + } + + return this; + }, + // Enable / disable build mode + build: function build(_build) { + this._build = !!_build; + return this; + }, + // overwrite method from parent to set data properly + setData: function setData(o) { + this.dom = o; + this.dom.leading = new SVG.Number(o.leading || 1.3); + return this; + } + }, + // Add parent method + construct: { + // Create text element + text: function text(_text2) { + return this.put(new SVG.Text()).text(_text2); + }, + // Create plain text element + plain: function plain(text) { + return this.put(new SVG.Text()).plain(text); + } + } + }); + SVG.Tspan = SVG.invent({ + // Initialize node + create: 'tspan', + // Inherit from + inherit: SVG.Shape, + // Add class methods + extend: { + // Set text content + text: function text(_text3) { + if (_text3 == null) return this.node.textContent + (this.dom.newLined ? '\n' : ''); + typeof _text3 === 'function' ? _text3.call(this, this) : this.plain(_text3); + return this; + }, + // Shortcut dx + dx: function dx(_dx) { + return this.attr('dx', _dx); + }, + // Shortcut dy + dy: function dy(_dy) { + return this.attr('dy', _dy); + }, + // Create new line + newLine: function newLine() { + // fetch text parent + var t = this.parent(SVG.Text); // mark new line + + this.dom.newLined = true; // apply new hy¡n + + return this.dy(t.dom.leading * t.attr('font-size')).attr('x', t.x()); + } + } + }); + SVG.extend(SVG.Text, SVG.Tspan, { + // Create plain text node + plain: function plain(text) { + // clear if build mode is disabled + if (this._build === false) { + this.clear(); + } // create text node + + + this.node.appendChild(document.createTextNode(text)); + return this; + }, + // Create a tspan + tspan: function tspan(text) { + var node = (this.textPath && this.textPath() || this).node, + tspan = new SVG.Tspan(); // clear if build mode is disabled + + if (this._build === false) { + this.clear(); + } // add new tspan + + + node.appendChild(tspan.node); + return tspan.text(text); + }, + // Clear all lines + clear: function clear() { + var node = (this.textPath && this.textPath() || this).node; // remove existing child nodes + + while (node.hasChildNodes()) { + node.removeChild(node.lastChild); + } + + return this; + }, + // Get length of text element + length: function length() { + return this.node.getComputedTextLength(); + } + }); + SVG.TextPath = SVG.invent({ + // Initialize node + create: 'textPath', + // Inherit from + inherit: SVG.Parent, + // Define parent class + parent: SVG.Text, + // Add parent method + construct: { + morphArray: SVG.PathArray, + // return the array of the path track element + array: function array() { + var track = this.track(); + return track ? track.array() : null; + }, + // Plot path if any + plot: function plot(d) { + var track = this.track(), + pathArray = null; + + if (track) { + pathArray = track.plot(d); + } + + return d == null ? pathArray : this; + }, + // Get the path track element + track: function track() { + var path = this.textPath(); + + if (path) { + return path.reference('href'); + } + }, + // Get the textPath child + textPath: function textPath() { + if (this.node.firstChild && this.node.firstChild.nodeName == 'textPath') { + return SVG.adopt(this.node.firstChild); + } + } + } + }); + SVG.Nested = SVG.invent({ + // Initialize node + create: function create() { + this.constructor.call(this, SVG.create('svg')); + this.style('overflow', 'visible'); + }, + // Inherit from + inherit: SVG.Container, + // Add parent method + construct: { + // Create nested svg document + nested: function nested() { + return this.put(new SVG.Nested()); + } + } + }); // Define list of available attributes for stroke and fill + + var sugar = { + stroke: ['color', 'width', 'opacity', 'linecap', 'linejoin', 'miterlimit', 'dasharray', 'dashoffset'], + fill: ['color', 'opacity', 'rule'], + prefix: function prefix(t, a) { + return a == 'color' ? t : t + '-' + a; + } + } // Add sugar for fill and stroke + ; + ['fill', 'stroke'].forEach(function (m) { + var extension = {}; + + extension[m] = function (o) { + if (typeof o === 'undefined') { + return this; + } + + if (typeof o === 'string' || SVG.Color.isRgb(o) || o && typeof o.fill === 'function') { + this.attr(m, o); + } else // set all attributes from sugar.fill and sugar.stroke list + { + for (var i = sugar[m].length - 1; i >= 0; i--) { + if (o[sugar[m][i]] != null) { + this.attr(sugar.prefix(m, sugar[m][i]), o[sugar[m][i]]); + } + } + } + + return this; + }; + + SVG.extend(SVG.Element, SVG.FX, extension); + }); + SVG.extend(SVG.Element, SVG.FX, { + // Map translate to transform + translate: function translate(x, y) { + return this.transform({ + x: x, + y: y + }); + }, + // Map matrix to transform + matrix: function matrix(m) { + return this.attr('transform', new SVG.Matrix(arguments.length == 6 ? [].slice.call(arguments) : m)); + }, + // Opacity + opacity: function opacity(value) { + return this.attr('opacity', value); + }, + // Relative move over x axis + dx: function dx(x) { + return this.x(new SVG.Number(x).plus(this instanceof SVG.FX ? 0 : this.x()), true); + }, + // Relative move over y axis + dy: function dy(y) { + return this.y(new SVG.Number(y).plus(this instanceof SVG.FX ? 0 : this.y()), true); + } + }); + SVG.extend(SVG.Path, { + // Get path length + length: function length() { + return this.node.getTotalLength(); + }, + // Get point at length + pointAt: function pointAt(length) { + return this.node.getPointAtLength(length); + } + }); + SVG.Set = SVG.invent({ + // Initialize + create: function create(members) { + // Set initial state + Array.isArray(members) ? this.members = members : this.clear(); + }, + // Add class methods + extend: { + // Add element to set + add: function add() { + var il, + elements = [].slice.call(arguments); + + for (var i = 0, il = elements.length; i < il; i++) { + this.members.push(elements[i]); + } + + return this; + }, + // Remove element from set + remove: function remove(element) { + var i = this.index(element); // remove given child + + if (i > -1) { + this.members.splice(i, 1); + } + + return this; + }, + // Iterate over all members + each: function each(block) { + for (var i = 0, il = this.members.length; i < il; i++) { + block.apply(this.members[i], [i, this.members]); + } + + return this; + }, + // Restore to defaults + clear: function clear() { + // initialize store + this.members = []; + return this; + }, + // Get the length of a set + length: function length() { + return this.members.length; + }, + // Checks if a given element is present in set + has: function has(element) { + return this.index(element) >= 0; + }, + // retuns index of given element in set + index: function index(element) { + return this.members.indexOf(element); + }, + // Get member at given index + get: function get(i) { + return this.members[i]; + }, + // Get first member + first: function first() { + return this.get(0); + }, + // Get last member + last: function last() { + return this.get(this.members.length - 1); + }, + // Default value + valueOf: function valueOf() { + return this.members; + } + }, + // Add parent method + construct: { + // Create a new set + set: function set(members) { + return new SVG.Set(members); + } + } + }); + SVG.FX.Set = SVG.invent({ + // Initialize node + create: function create(set) { + // store reference to set + this.set = set; + } + }); // Alias methods + + SVG.Set.inherit = function () { + var methods = []; // gather shape methods + + for (var m in SVG.Shape.prototype) { + if (typeof SVG.Shape.prototype[m] === 'function' && typeof SVG.Set.prototype[m] !== 'function') { + methods.push(m); + } + } // apply shape aliasses + + + methods.forEach(function (method) { + SVG.Set.prototype[method] = function () { + for (var i = 0, il = this.members.length; i < il; i++) { + if (this.members[i] && typeof this.members[i][method] === 'function') { + this.members[i][method].apply(this.members[i], arguments); + } + } + + return method == 'animate' ? this.fx || (this.fx = new SVG.FX.Set(this)) : this; + }; + }); // clear methods for the next round + + methods = []; // gather fx methods + + for (var m in SVG.FX.prototype) { + if (typeof SVG.FX.prototype[m] === 'function' && typeof SVG.FX.Set.prototype[m] !== 'function') { + methods.push(m); + } + } // apply fx aliasses + + + methods.forEach(function (method) { + SVG.FX.Set.prototype[method] = function () { + for (var i = 0, il = this.set.members.length; i < il; i++) { + this.set.members[i].fx[method].apply(this.set.members[i].fx, arguments); + } + + return this; + }; + }); + }; + + SVG.extend(SVG.Element, {}); + SVG.extend(SVG.Element, { + // Remember arbitrary data + remember: function remember(k, v) { + // remember every item in an object individually + if (_typeof(arguments[0]) === 'object') { + for (var v_ in k) { + this.remember(v_, k[v_]); + } + } // retrieve memory + else if (arguments.length == 1) { + return this.memory()[k]; + } // store memory + else { + this.memory()[k] = v; + } + + return this; + }, + // Erase a given memory + forget: function forget() { + if (arguments.length == 0) { + this._memory = {}; + } else { + for (var i = arguments.length - 1; i >= 0; i--) { + delete this.memory()[arguments[i]]; + } + } + + return this; + }, + // Initialize or return local memory object + memory: function memory() { + return this._memory || (this._memory = {}); + } + }); // Method for getting an element by id + + SVG.get = function (id) { + var node = document.getElementById(idFromReference(id) || id); + return SVG.adopt(node); + }; // Select elements by query string + + + SVG.select = function (query, parent) { + return new SVG.Set(SVG.utils.map((parent || document).querySelectorAll(query), function (node) { + return SVG.adopt(node); + })); + }; + + SVG.extend(SVG.Parent, { + // Scoped select method + select: function select(query) { + return SVG.select(query, this.node); + } + }); + + function pathRegReplace(a, b, c, d) { + return c + d.replace(SVG.regex.dots, ' .'); + } // creates deep clone of array + + + function _is(el, obj) { + return el instanceof obj; + } // tests if a given selector matches an element + + + function _matches(el, selector) { + return (el.matches || el.matchesSelector || el.msMatchesSelector || el.mozMatchesSelector || el.webkitMatchesSelector || el.oMatchesSelector).call(el, selector); + } // Convert dash-separated-string to camelCase + + + function camelCase(s) { + return s.toLowerCase().replace(/-(.)/g, function (m, g) { + return g.toUpperCase(); + }); + } // Capitalize first letter of a string + + + function capitalize(s) { + return s.charAt(0).toUpperCase() + s.slice(1); + } // Ensure to six-based hex + + + function fullHex(hex) { + return hex.length == 4 ? ['#', hex.substring(1, 2), hex.substring(1, 2), hex.substring(2, 3), hex.substring(2, 3), hex.substring(3, 4), hex.substring(3, 4)].join('') : hex; + } // Component to hex value + + + function compToHex(comp) { + var hex = comp.toString(16); + return hex.length == 1 ? '0' + hex : hex; + } // Calculate proportional width and height values when necessary + + + function proportionalSize(element, width, height) { + if (width == null || height == null) { + var box = element.bbox(); + + if (width == null) { + width = box.width / box.height * height; + } else if (height == null) { + height = box.height / box.width * width; + } + } + + return { + width: width, + height: height + }; + } // Delta transform point + + + function deltaTransformPoint(matrix, x, y) { + return { + x: x * matrix.a + y * matrix.c + 0, + y: x * matrix.b + y * matrix.d + 0 + }; + } // Map matrix array to object + + + function arrayToMatrix(a) { + return { + a: a[0], + b: a[1], + c: a[2], + d: a[3], + e: a[4], + f: a[5] + }; + } // Parse matrix if required + + + function parseMatrix(matrix) { + if (!(matrix instanceof SVG.Matrix)) { + matrix = new SVG.Matrix(matrix); + } + + return matrix; + } // Add centre point to transform object + + + function arrayToString(a) { + for (var i = 0, il = a.length, s = ''; i < il; i++) { + s += a[i][0]; + + if (a[i][1] != null) { + s += a[i][1]; + + if (a[i][2] != null) { + s += ' '; + s += a[i][2]; + + if (a[i][3] != null) { + s += ' '; + s += a[i][3]; + s += ' '; + s += a[i][4]; + + if (a[i][5] != null) { + s += ' '; + s += a[i][5]; + s += ' '; + s += a[i][6]; + + if (a[i][7] != null) { + s += ' '; + s += a[i][7]; + } + } + } + } + } + } + + return s + ' '; + } // Deep new id assignment + + + function assignNewId(node) { + // do the same for SVG child nodes as well + for (var i = node.childNodes.length - 1; i >= 0; i--) { + if (node.childNodes[i] instanceof window.SVGElement) { + assignNewId(node.childNodes[i]); + } + } + + return SVG.adopt(node).id(SVG.eid(node.nodeName)); + } // Add more bounding box properties + + + function fullBox(b) { + if (b.x == null) { + b.x = 0; + b.y = 0; + b.width = 0; + b.height = 0; + } + + b.w = b.width; + b.h = b.height; + b.x2 = b.x + b.width; + b.y2 = b.y + b.height; + b.cx = b.x + b.width / 2; + b.cy = b.y + b.height / 2; + return b; + } // Get id from reference string + + + function idFromReference(url) { + var m = (url || '').toString().match(SVG.regex.reference); + if (m) return m[1]; + } // If values like 1e-88 are passed, this is not a valid 32 bit float, + // but in those cases, we are so close to 0 that 0 works well! + + + function float32String(v) { + return Math.abs(v) > 1e-37 ? v : 0; + } // Create matrix array for looping + + + var abcdef = 'abcdef'.split(''); // Add CustomEvent to IE9 and IE10 + + if (typeof window.CustomEvent !== 'function') { + // Code from: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent + var CustomEventPoly = function CustomEventPoly(event, options) { + options = options || { + bubbles: false, + cancelable: false, + detail: undefined + }; + var e = document.createEvent('CustomEvent'); + e.initCustomEvent(event, options.bubbles, options.cancelable, options.detail); + return e; + }; + + CustomEventPoly.prototype = window.Event.prototype; + SVG.CustomEvent = CustomEventPoly; + } else { + SVG.CustomEvent = window.CustomEvent; + } + + return SVG; + }); + + /*! svg.filter.js - v2.0.2 - 2016-02-24 + * https://github.com/wout/svg.filter.js + * Copyright (c) 2016 Wout Fierens; Licensed MIT */ + (function() { + + // Main filter class + SVG.Filter = SVG.invent({ + create: 'filter', + inherit: SVG.Parent, + extend: { + // Static strings + source: 'SourceGraphic', + sourceAlpha: 'SourceAlpha', + background: 'BackgroundImage', + backgroundAlpha: 'BackgroundAlpha', + fill: 'FillPaint', + stroke: 'StrokePaint', + + autoSetIn: true, + // Custom put method for leaner code + put: function(element, i) { + this.add(element, i); + + if(!element.attr('in') && this.autoSetIn){ + element.attr('in',this.source); + } + if(!element.attr('result')){ + element.attr('result',element); + } + + return element + }, + // Blend effect + blend: function(in1, in2, mode) { + return this.put(new SVG.BlendEffect(in1, in2, mode)) + }, + // ColorMatrix effect + colorMatrix: function(type, values) { + return this.put(new SVG.ColorMatrixEffect(type, values)) + }, + // ConvolveMatrix effect + convolveMatrix: function(matrix) { + return this.put(new SVG.ConvolveMatrixEffect(matrix)) + }, + // ComponentTransfer effect + componentTransfer: function(components) { + return this.put(new SVG.ComponentTransferEffect(components)) + }, + // Composite effect + composite: function(in1, in2, operator) { + return this.put(new SVG.CompositeEffect(in1, in2, operator)) + }, + // Flood effect + flood: function(color, opacity) { + return this.put(new SVG.FloodEffect(color, opacity)) + }, + // Offset effect + offset: function(x, y) { + return this.put(new SVG.OffsetEffect(x,y)) + }, + // Image effect + image: function(src) { + return this.put(new SVG.ImageEffect(src)) + }, + // Merge effect + merge: function() { + //pass the array of arguments to the constructor because we dont know if the user gave us an array as the first arguemnt or wether they listed the effects in the arguments + var args = [undefined]; + for(var i in arguments) args.push(arguments[i]); + return this.put(new (SVG.MergeEffect.bind.apply(SVG.MergeEffect,args))) + }, + // Gaussian Blur effect + gaussianBlur: function(x,y) { + return this.put(new SVG.GaussianBlurEffect(x,y)) + }, + // Morphology effect + morphology: function(operator,radius){ + return this.put(new SVG.MorphologyEffect(operator,radius)) + }, + // DiffuseLighting effect + diffuseLighting: function(surfaceScale,diffuseConstant,kernelUnitLength){ + return this.put(new SVG.DiffuseLightingEffect(surfaceScale,diffuseConstant,kernelUnitLength)) + }, + // DisplacementMap effect + displacementMap: function(in1,in2,scale,xChannelSelector,yChannelSelector){ + return this.put(new SVG.DisplacementMapEffect(in1,in2,scale,xChannelSelector,yChannelSelector)) + }, + // SpecularLighting effect + specularLighting: function(surfaceScale,diffuseConstant,specularExponent,kernelUnitLength){ + return this.put(new SVG.SpecularLightingEffect(surfaceScale,diffuseConstant,specularExponent,kernelUnitLength)) + }, + // Tile effect + tile: function(){ + return this.put(new SVG.TileEffect()); + }, + // Turbulence effect + turbulence: function(baseFrequency,numOctaves,seed,stitchTiles,type){ + return this.put(new SVG.TurbulenceEffect(baseFrequency,numOctaves,seed,stitchTiles,type)) + }, + // Default string value + toString: function() { + return 'url(#' + this.attr('id') + ')' + } + } + }); + + //add .filter function + SVG.extend(SVG.Defs, { + // Define filter + filter: function(block) { + var filter = this.put(new SVG.Filter); + + /* invoke passed block */ + if (typeof block === 'function') + block.call(filter, filter); + + return filter + } + }); + SVG.extend(SVG.Container, { + // Define filter on defs + filter: function(block) { + return this.defs().filter(block) + } + }); + SVG.extend(SVG.Element, SVG.G, SVG.Nested, { + // Create filter element in defs and store reference + filter: function(block) { + this.filterer = block instanceof SVG.Element ? + block : this.doc().filter(block); + + if(this.doc() && this.filterer.doc() !== this.doc()){ + this.doc().defs().add(this.filterer); + } + + this.attr('filter', this.filterer); + + return this.filterer + }, + // Remove filter + unfilter: function(remove) { + /* also remove the filter node */ + if (this.filterer && remove === true) + this.filterer.remove(); + + /* delete reference to filterer */ + delete this.filterer; + + /* remove filter attribute */ + return this.attr('filter', null) + } + }); + + // Create SVG.Effect class + SVG.Effect = SVG.invent({ + create: function(){ + this.constructor.call(this); + }, + inherit: SVG.Element, + extend: { + // Set in attribute + in: function(effect) { + return effect == null? this.parent() && this.parent().select('[result="'+this.attr('in')+'"]').get(0) || this.attr('in') : this.attr('in', effect) + }, + // Named result + result: function(result) { + return result == null? this.attr('result') : this.attr('result',result) + }, + // Stringification + toString: function() { + return this.result() + } + } + }); + + // create class for parent effects like merge + // Inherit from SVG.Parent + SVG.ParentEffect = SVG.invent({ + create: function(){ + this.constructor.call(this); + }, + inherit: SVG.Parent, + extend: { + // Set in attribute + in: function(effect) { + return effect == null? this.parent() && this.parent().select('[result="'+this.attr('in')+'"]').get(0) || this.attr('in') : this.attr('in', effect) + }, + // Named result + result: function(result) { + return result == null? this.attr('result') : this.attr('result',result) + }, + // Stringification + toString: function() { + return this.result() + } + } + }); + + //chaining + var chainingEffects = { + // Blend effect + blend: function(in2, mode) { + return this.parent() && this.parent().blend(this, in2, mode) //pass this as the first input + }, + // ColorMatrix effect + colorMatrix: function(type, values) { + return this.parent() && this.parent().colorMatrix(type, values).in(this) + }, + // ConvolveMatrix effect + convolveMatrix: function(matrix) { + return this.parent() && this.parent().convolveMatrix(matrix).in(this) + }, + // ComponentTransfer effect + componentTransfer: function(components) { + return this.parent() && this.parent().componentTransfer(components).in(this) + }, + // Composite effect + composite: function(in2, operator) { + return this.parent() && this.parent().composite(this, in2, operator) //pass this as the first input + }, + // Flood effect + flood: function(color, opacity) { + return this.parent() && this.parent().flood(color, opacity) //this effect dont have inputs + }, + // Offset effect + offset: function(x, y) { + return this.parent() && this.parent().offset(x,y).in(this) + }, + // Image effect + image: function(src) { + return this.parent() && this.parent().image(src) //this effect dont have inputs + }, + // Merge effect + merge: function() { + return this.parent() && this.parent().merge.apply(this.parent(),[this].concat(arguments)) //pass this as the first argument + }, + // Gaussian Blur effect + gaussianBlur: function(x,y) { + return this.parent() && this.parent().gaussianBlur(x,y).in(this) + }, + // Morphology effect + morphology: function(operator,radius){ + return this.parent() && this.parent().morphology(operator,radius).in(this) + }, + // DiffuseLighting effect + diffuseLighting: function(surfaceScale,diffuseConstant,kernelUnitLength){ + return this.parent() && this.parent().diffuseLighting(surfaceScale,diffuseConstant,kernelUnitLength).in(this) + }, + // DisplacementMap effect + displacementMap: function(in2,scale,xChannelSelector,yChannelSelector){ + return this.parent() && this.parent().displacementMap(this,in2,scale,xChannelSelector,yChannelSelector) //pass this as the first input + }, + // SpecularLighting effect + specularLighting: function(surfaceScale,diffuseConstant,specularExponent,kernelUnitLength){ + return this.parent() && this.parent().specularLighting(surfaceScale,diffuseConstant,specularExponent,kernelUnitLength).in(this) + }, + // Tile effect + tile: function(){ + return this.parent() && this.parent().tile().in(this) + }, + // Turbulence effect + turbulence: function(baseFrequency,numOctaves,seed,stitchTiles,type){ + return this.parent() && this.parent().turbulence(baseFrequency,numOctaves,seed,stitchTiles,type).in(this) + } + }; + SVG.extend(SVG.Effect,chainingEffects); + SVG.extend(SVG.ParentEffect,chainingEffects); + + //crea class for child effects, like MergeNode, FuncR and lights + SVG.ChildEffect = SVG.invent({ + create: function(){ + this.constructor.call(this); + }, + inherit: SVG.Element, + extend: { + in: function(effect){ + this.attr('in',effect); + } + //dont include any "result" functions because these types of nodes dont have them + } + }); + + // Create all different effects + var effects = { + blend: function(in1,in2,mode){ + this.attr({ + in: in1, + in2: in2, + mode: mode || 'normal' + }); + }, + colorMatrix: function(type,values){ + if (type == 'matrix') + values = normaliseMatrix(values); + + this.attr({ + type: type + , values: typeof values == 'undefined' ? null : values + }); + }, + convolveMatrix: function(matrix){ + matrix = normaliseMatrix(matrix); + + this.attr({ + order: Math.sqrt(matrix.split(' ').length) + , kernelMatrix: matrix + }); + }, + composite: function(in1, in2, operator){ + this.attr({ + in: in1, + in2: in2, + operator: operator + }); + }, + flood: function(color,opacity){ + this.attr('flood-color',color); + if(opacity != null) this.attr('flood-opacity',opacity); + }, + offset: function(x,y){ + this.attr({ + dx: x, + dy: y + }); + }, + image: function(src){ + this.attr('href', src, SVG.xlink); + }, + displacementMap: function(in1,in2,scale,xChannelSelector,yChannelSelector){ + this.attr({ + in: in1, + in2: in2, + scale: scale, + xChannelSelector: xChannelSelector, + yChannelSelector: yChannelSelector + }); + }, + gaussianBlur: function(x,y){ + if(x != null || y != null) + this.attr('stdDeviation', listString(Array.prototype.slice.call(arguments))); + else + this.attr('stdDeviation', '0 0'); + }, + morphology: function(operator,radius){ + this.attr({ + operator: operator, + radius: radius + }); + }, + tile: function(){ + + }, + turbulence: function(baseFrequency,numOctaves,seed,stitchTiles,type){ + this.attr({ + numOctaves: numOctaves, + seed: seed, + stitchTiles: stitchTiles, + baseFrequency: baseFrequency, + type: type + }); + } + }; + + // Create all parent effects + var parentEffects = { + merge: function(){ + var children; + + //test to see if we have a set + if(arguments[0] instanceof SVG.Set){ + var that = this; + arguments[0].each(function(i){ + if(this instanceof SVG.MergeNode) + that.put(this); + else if(this instanceof SVG.Effect || this instanceof SVG.ParentEffect) + that.put(new SVG.MergeNode(this)); + }); + } + else { + //if the first argument is an array use it + if(Array.isArray(arguments[0])) + children = arguments[0]; + else + children = arguments; + + for(var i = 0; i < children.length; i++){ + if(children[i] instanceof SVG.MergeNode){ + this.put(children[i]); + } + else this.put(new SVG.MergeNode(children[i])); + } + } + }, + componentTransfer: function(compontents){ + /* create rgb set */ + this.rgb = new SVG.Set + + /* create components */ + ;(['r', 'g', 'b', 'a']).forEach(function(c) { + /* create component */ + this[c] = new SVG['Func' + c.toUpperCase()]('identity'); + + /* store component in set */ + this.rgb.add(this[c]); + + /* add component node */ + this.node.appendChild(this[c].node); + }.bind(this)); //lost context in foreach + + /* set components */ + if (compontents) { + if (compontents.rgb) { + (['r', 'g', 'b']).forEach(function(c) { + this[c].attr(compontents.rgb); + }.bind(this)); + + delete compontents.rgb; + } + + /* set individual components */ + for (var c in compontents) + this[c].attr(compontents[c]); + } + }, + diffuseLighting: function(surfaceScale,diffuseConstant,kernelUnitLength){ + this.attr({ + surfaceScale: surfaceScale, + diffuseConstant: diffuseConstant, + kernelUnitLength: kernelUnitLength + }); + }, + specularLighting: function(surfaceScale,diffuseConstant,specularExponent,kernelUnitLength){ + this.attr({ + surfaceScale: surfaceScale, + diffuseConstant: diffuseConstant, + specularExponent: specularExponent, + kernelUnitLength: kernelUnitLength + }); + }, + }; + + // Create child effects like PointLight and MergeNode + var childEffects = { + distantLight: function(azimuth, elevation){ + this.attr({ + azimuth: azimuth, + elevation: elevation + }); + }, + pointLight: function(x,y,z){ + this.attr({ + x: x, + y: y, + z: z + }); + }, + spotLight: function(x,y,z,pointsAtX,pointsAtY,pointsAtZ){ + this.attr({ + x: x, + y: y, + z: z, + pointsAtX: pointsAtX, + pointsAtY: pointsAtY, + pointsAtZ: pointsAtZ + }); + }, + mergeNode: function(in1){ + this.attr('in',in1); + } + } + + // Create compontent functions + ;(['r', 'g', 'b', 'a']).forEach(function(c) { + /* create class */ + childEffects['Func' + c.toUpperCase()] = function(type) { + this.attr('type',type); + + // take diffent arguments based on the type + switch(type){ + case 'table': + this.attr('tableValues',arguments[1]); + break + case 'linear': + this.attr('slope',arguments[1]); + this.attr('intercept',arguments[2]); + break + case 'gamma': + this.attr('amplitude',arguments[1]); + this.attr('exponent',arguments[2]); + this.attr('offset',arguments[2]); + break + } + }; + }); + + //create effects + foreach(effects,function(effect,i){ + + /* capitalize name */ + var name = i.charAt(0).toUpperCase() + i.slice(1); + var proto = {}; + + /* create class */ + SVG[name + 'Effect'] = SVG.invent({ + create: function() { + //call super + this.constructor.call(this, SVG.create('fe' + name)); + + //call constructor for this effect + effect.apply(this,arguments); + + //set the result + this.result(this.attr('id') + 'Out'); + }, + inherit: SVG.Effect, + extend: proto + }); + }); + + //create parent effects + foreach(parentEffects,function(effect,i){ + + /* capitalize name */ + var name = i.charAt(0).toUpperCase() + i.slice(1); + var proto = {}; + + /* create class */ + SVG[name + 'Effect'] = SVG.invent({ + create: function() { + //call super + this.constructor.call(this, SVG.create('fe' + name)); + + //call constructor for this effect + effect.apply(this,arguments); + + //set the result + this.result(this.attr('id') + 'Out'); + }, + inherit: SVG.ParentEffect, + extend: proto + }); + }); + + //create child effects + foreach(childEffects,function(effect,i){ + + /* capitalize name */ + var name = i.charAt(0).toUpperCase() + i.slice(1); + var proto = {}; + + /* create class */ + SVG[name] = SVG.invent({ + create: function() { + //call super + this.constructor.call(this, SVG.create('fe' + name)); + + //call constructor for this effect + effect.apply(this,arguments); + }, + inherit: SVG.ChildEffect, + extend: proto + }); + }); + + // Effect-specific extensions + SVG.extend(SVG.MergeEffect,{ + in: function(effect){ + if(effect instanceof SVG.MergeNode) + this.add(effect,0); + else + this.add(new SVG.MergeNode(effect),0); + + return this + } + }); + SVG.extend(SVG.CompositeEffect,SVG.BlendEffect,SVG.DisplacementMapEffect,{ + in2: function(effect){ + return effect == null? this.parent() && this.parent().select('[result="'+this.attr('in2')+'"]').get(0) || this.attr('in2') : this.attr('in2', effect) + } + }); + + // Presets + SVG.filter = { + sepiatone: [ .343, .669, .119, 0, 0 + , .249, .626, .130, 0, 0 + , .172, .334, .111, 0, 0 + , .000, .000, .000, 1, 0 ] + }; + + // Helpers + function normaliseMatrix(matrix) { + /* convert possible array value to string */ + if (Array.isArray(matrix)) + matrix = new SVG.Array(matrix); + + /* ensure there are no leading, tailing or double spaces */ + return matrix.toString().replace(/^\s+/, '').replace(/\s+$/, '').replace(/\s+/g, ' ') + } + + function listString(list) { + if (!Array.isArray(list)) + return list + + for (var i = 0, l = list.length, s = []; i < l; i++) + s.push(list[i]); + + return s.join(' ') + } + + function foreach(){ //loops through mutiple objects + var fn = function(){}; + if(typeof arguments[arguments.length-1] == 'function'){ + fn = arguments[arguments.length-1]; + Array.prototype.splice.call(arguments,arguments.length-1,1); + } + for(var k in arguments){ + for(var i in arguments[k]){ + fn(arguments[k][i],i,arguments[k]); + } + } + } + + }).call(undefined); + + (function() { + + SVG.extend(SVG.PathArray, { + morph: function(array) { + + var startArr = this.value + , destArr = this.parse(array); + + var startOffsetM = 0 + , destOffsetM = 0; + + var startOffsetNextM = false + , destOffsetNextM = false; + + while(true){ + // stop if there is no M anymore + if(startOffsetM === false && destOffsetM === false) break + + // find the next M in path array + startOffsetNextM = findNextM(startArr, startOffsetM === false ? false : startOffsetM+1); + destOffsetNextM = findNextM( destArr, destOffsetM === false ? false : destOffsetM+1); + + // We have to add one M to the startArray + if(startOffsetM === false){ + var bbox = new SVG.PathArray(result.start).bbox(); + + // when the last block had no bounding box we simply take the first M we got + if(bbox.height == 0 || bbox.width == 0){ + startOffsetM = startArr.push(startArr[0]) - 1; + }else { + // we take the middle of the bbox instead when we got one + startOffsetM = startArr.push( ['M', bbox.x + bbox.width/2, bbox.y + bbox.height/2 ] ) - 1; + } + } + + // We have to add one M to the destArray + if( destOffsetM === false){ + var bbox = new SVG.PathArray(result.dest).bbox(); + + if(bbox.height == 0 || bbox.width == 0){ + destOffsetM = destArr.push(destArr[0]) - 1; + }else { + destOffsetM = destArr.push( ['M', bbox.x + bbox.width/2, bbox.y + bbox.height/2 ] ) - 1; + } + } + + // handle block from M to next M + var result = handleBlock(startArr, startOffsetM, startOffsetNextM, destArr, destOffsetM, destOffsetNextM); + + // update the arrays to their new values + startArr = startArr.slice(0, startOffsetM).concat(result.start, startOffsetNextM === false ? [] : startArr.slice(startOffsetNextM)); + destArr = destArr.slice(0, destOffsetM).concat(result.dest , destOffsetNextM === false ? [] : destArr.slice( destOffsetNextM)); + + // update offsets + startOffsetM = startOffsetNextM === false ? false : startOffsetM + result.start.length; + destOffsetM = destOffsetNextM === false ? false : destOffsetM + result.dest.length; + + } + + // copy back arrays + this.value = startArr; + this.destination = new SVG.PathArray(); + this.destination.value = destArr; + + return this + } + }); + + + + // sorry for the long declaration + // slices out one block (from M to M) and syncronize it so the types and length match + function handleBlock(startArr, startOffsetM, startOffsetNextM, destArr, destOffsetM, destOffsetNextM, undefined$1){ + + // slice out the block we need + var startArrTemp = startArr.slice(startOffsetM, startOffsetNextM || undefined$1) + , destArrTemp = destArr.slice( destOffsetM, destOffsetNextM || undefined$1); + + var i = 0 + , posStart = {pos:[0,0], start:[0,0]} + , posDest = {pos:[0,0], start:[0,0]}; + + do{ + + // convert shorthand types to long form + startArrTemp[i] = simplyfy.call(posStart, startArrTemp[i]); + destArrTemp[i] = simplyfy.call(posDest , destArrTemp[i]); + + // check if both shape types match + // 2 elliptical arc curve commands ('A'), are considered different if the + // flags (large-arc-flag, sweep-flag) don't match + if(startArrTemp[i][0] != destArrTemp[i][0] || startArrTemp[i][0] == 'M' || + (startArrTemp[i][0] == 'A' && + (startArrTemp[i][4] != destArrTemp[i][4] || startArrTemp[i][5] != destArrTemp[i][5]) + ) + ) { + + // if not, convert shapes to beziere + Array.prototype.splice.apply(startArrTemp, [i, 1].concat(toBeziere.call(posStart, startArrTemp[i]))); + Array.prototype.splice.apply(destArrTemp, [i, 1].concat(toBeziere.call(posDest, destArrTemp[i]))); + + } else { + + // only update positions otherwise + startArrTemp[i] = setPosAndReflection.call(posStart, startArrTemp[i]); + destArrTemp[i] = setPosAndReflection.call(posDest , destArrTemp[i]); + + } + + // we are at the end at both arrays. stop here + if(++i == startArrTemp.length && i == destArrTemp.length) break + + // destArray is longer. Add one element + if(i == startArrTemp.length){ + startArrTemp.push([ + 'C', + posStart.pos[0], + posStart.pos[1], + posStart.pos[0], + posStart.pos[1], + posStart.pos[0], + posStart.pos[1], + ]); + } + + // startArr is longer. Add one element + if(i == destArrTemp.length){ + destArrTemp.push([ + 'C', + posDest.pos[0], + posDest.pos[1], + posDest.pos[0], + posDest.pos[1], + posDest.pos[0], + posDest.pos[1] + ]); + } + + + }while(true) + + // return the updated block + return {start:startArrTemp, dest:destArrTemp} + } + + // converts shorthand types to long form + function simplyfy(val){ + + switch(val[0]){ + case 'z': // shorthand line to start + case 'Z': + val[0] = 'L'; + val[1] = this.start[0]; + val[2] = this.start[1]; + break + case 'H': // shorthand horizontal line + val[0] = 'L'; + val[2] = this.pos[1]; + break + case 'V': // shorthand vertical line + val[0] = 'L'; + val[2] = val[1]; + val[1] = this.pos[0]; + break + case 'T': // shorthand quadratic beziere + val[0] = 'Q'; + val[3] = val[1]; + val[4] = val[2]; + val[1] = this.reflection[1]; + val[2] = this.reflection[0]; + break + case 'S': // shorthand cubic beziere + val[0] = 'C'; + val[6] = val[4]; + val[5] = val[3]; + val[4] = val[2]; + val[3] = val[1]; + val[2] = this.reflection[1]; + val[1] = this.reflection[0]; + break + } + + return val + + } + + // updates reflection point and current position + function setPosAndReflection(val){ + + var len = val.length; + + this.pos = [ val[len-2], val[len-1] ]; + + if('SCQT'.indexOf(val[0]) != -1) + this.reflection = [ 2 * this.pos[0] - val[len-4], 2 * this.pos[1] - val[len-3] ]; + + return val + } + + // converts all types to cubic beziere + function toBeziere(val){ + var retVal = [val]; + + switch(val[0]){ + case 'M': // special handling for M + this.pos = this.start = [val[1], val[2]]; + return retVal + case 'L': + val[5] = val[3] = val[1]; + val[6] = val[4] = val[2]; + val[1] = this.pos[0]; + val[2] = this.pos[1]; + break + case 'Q': + val[6] = val[4]; + val[5] = val[3]; + val[4] = val[4] * 1/3 + val[2] * 2/3; + val[3] = val[3] * 1/3 + val[1] * 2/3; + val[2] = this.pos[1] * 1/3 + val[2] * 2/3; + val[1] = this.pos[0] * 1/3 + val[1] * 2/3; + break + case 'A': + retVal = arcToBeziere(this.pos, val); + val = retVal[0]; + break + } + + val[0] = 'C'; + this.pos = [val[5], val[6]]; + this.reflection = [2 * val[5] - val[3], 2 * val[6] - val[4]]; + + return retVal + + } + + // finds the next position of type M + function findNextM(arr, offset){ + + if(offset === false) return false + + for(var i = offset, len = arr.length;i < len;++i){ + + if(arr[i][0] == 'M') return i + + } + + return false + } + + + + // Convert an arc segment into equivalent cubic Bezier curves + // Depending on the arc, up to 4 curves might be used to represent it since a + // curve gives a good approximation for only a quarter of an ellipse + // The curves are returned as an array of SVG curve commands: + // [ ['C', x1, y1, x2, y2, x, y] ... ] + function arcToBeziere(pos, val) { + // Parameters extraction, handle out-of-range parameters as specified in the SVG spec + // See: https://www.w3.org/TR/SVG11/implnote.html#ArcOutOfRangeParameters + var rx = Math.abs(val[1]), ry = Math.abs(val[2]), xAxisRotation = val[3] % 360 + , largeArcFlag = val[4], sweepFlag = val[5], x = val[6], y = val[7] + , A = new SVG.Point(pos), B = new SVG.Point(x, y) + , primedCoord, lambda, mat, k, c, cSquare, t, O, OA, OB, tetaStart, tetaEnd + , deltaTeta, nbSectors, f, arcSegPoints, angle, sinAngle, cosAngle, pt, i, il + , retVal = [], x1, y1, x2, y2; + + // Ensure radii are non-zero + if(rx === 0 || ry === 0 || (A.x === B.x && A.y === B.y)) { + // treat this arc as a straight line segment + return [['C', A.x, A.y, B.x, B.y, B.x, B.y]] + } + + // Ensure radii are large enough using the algorithm provided in the SVG spec + // See: https://www.w3.org/TR/SVG11/implnote.html#ArcCorrectionOutOfRangeRadii + primedCoord = new SVG.Point((A.x-B.x)/2, (A.y-B.y)/2).transform(new SVG.Matrix().rotate(xAxisRotation)); + lambda = (primedCoord.x * primedCoord.x) / (rx * rx) + (primedCoord.y * primedCoord.y) / (ry * ry); + if(lambda > 1) { + lambda = Math.sqrt(lambda); + rx = lambda*rx; + ry = lambda*ry; + } + + // To simplify calculations, we make the arc part of a unit circle (rayon is 1) instead of an ellipse + mat = new SVG.Matrix().rotate(xAxisRotation).scale(1/rx, 1/ry).rotate(-xAxisRotation); + A = A.transform(mat); + B = B.transform(mat); + + // Calculate the horizontal and vertical distance between the initial and final point of the arc + k = [B.x-A.x, B.y-A.y]; + + // Find the length of the chord formed by A and B + cSquare = k[0]*k[0] + k[1]*k[1]; + c = Math.sqrt(cSquare); + + // Calculate the ratios of the horizontal and vertical distance on the length of the chord + k[0] /= c; + k[1] /= c; + + // Calculate the distance between the circle center and the chord midpoint + // using this formula: t = sqrt(r^2 - c^2 / 4) + // where t is the distance between the cirle center and the chord midpoint, + // r is the rayon of the circle and c is the chord length + // From: http://www.ajdesigner.com/phpcircle/circle_segment_chord_t.php + // Because of the imprecision of floating point numbers, cSquare might end + // up being slightly above 4 which would result in a negative radicand + // To prevent that, a test is made before computing the square root + t = (cSquare < 4) ? Math.sqrt(1 - cSquare/4) : 0; + + // For most situations, there are actually two different ellipses that + // satisfy the constraints imposed by the points A and B, the radii rx and ry, + // and the xAxisRotation + // When the flags largeArcFlag and sweepFlag are equal, it means that the + // second ellipse is used as a solution + // See: https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands + if(largeArcFlag === sweepFlag) { + t *= -1; + } + + // Calculate the coordinates of the center of the circle from the midpoint of the chord + // This is done by multiplying the ratios calculated previously by the distance between + // the circle center and the chord midpoint and using these values to go from the midpoint + // to the center of the circle + // The negative of the vertical distance ratio is used to modify the x coordinate while + // the horizontal distance ratio is used to modify the y coordinate + // That is because the center of the circle is perpendicular to the chord and perpendicular + // lines are negative reciprocals + O = new SVG.Point((B.x+A.x)/2 + t*-k[1], (B.y+A.y)/2 + t*k[0]); + // Move the center of the circle at the origin + OA = new SVG.Point(A.x-O.x, A.y-O.y); + OB = new SVG.Point(B.x-O.x, B.y-O.y); + + // Calculate the start and end angle + tetaStart = Math.acos(OA.x/Math.sqrt(OA.x*OA.x + OA.y*OA.y)); + if (OA.y < 0) { + tetaStart *= -1; + } + tetaEnd = Math.acos(OB.x/Math.sqrt(OB.x*OB.x + OB.y*OB.y)); + if (OB.y < 0) { + tetaEnd *= -1; + } + + // If sweep-flag is '1', then the arc will be drawn in a "positive-angle" direction, + // make sure that the end angle is above the start angle + if (sweepFlag && tetaStart > tetaEnd) { + tetaEnd += 2*Math.PI; + } + // If sweep-flag is '0', then the arc will be drawn in a "negative-angle" direction, + // make sure that the end angle is below the start angle + if (!sweepFlag && tetaStart < tetaEnd) { + tetaEnd -= 2*Math.PI; + } + + // Find the number of Bezier curves that are required to represent the arc + // A cubic Bezier curve gives a good enough approximation when representing at most a quarter of a circle + nbSectors = Math.ceil(Math.abs(tetaStart-tetaEnd) * 2/Math.PI); + + // Calculate the coordinates of the points of all the Bezier curves required to represent the arc + // For an in-depth explanation of this part see: http://pomax.github.io/bezierinfo/#circles_cubic + arcSegPoints = []; + angle = tetaStart; + deltaTeta = (tetaEnd-tetaStart)/nbSectors; + f = 4*Math.tan(deltaTeta/4)/3; + for (i = 0; i <= nbSectors; i++) { // The <= is because a Bezier curve have a start and a endpoint + cosAngle = Math.cos(angle); + sinAngle = Math.sin(angle); + + pt = new SVG.Point(O.x+cosAngle, O.y+sinAngle); + arcSegPoints[i] = [new SVG.Point(pt.x+f*sinAngle, pt.y-f*cosAngle), pt, new SVG.Point(pt.x-f*sinAngle, pt.y+f*cosAngle)]; + + angle += deltaTeta; + } + + // Remove the first control point of the first segment point and remove the second control point of the last segment point + // These two control points are not used in the approximation of the arc, that is why they are removed + arcSegPoints[0][0] = arcSegPoints[0][1].clone(); + arcSegPoints[arcSegPoints.length-1][2] = arcSegPoints[arcSegPoints.length-1][1].clone(); + + // Revert the transformation that was applied to make the arc part of a unit circle instead of an ellipse + mat = new SVG.Matrix().rotate(xAxisRotation).scale(rx, ry).rotate(-xAxisRotation); + for (i = 0, il = arcSegPoints.length; i < il; i++) { + arcSegPoints[i][0] = arcSegPoints[i][0].transform(mat); + arcSegPoints[i][1] = arcSegPoints[i][1].transform(mat); + arcSegPoints[i][2] = arcSegPoints[i][2].transform(mat); + } + + + // Convert the segments points to SVG curve commands + for (i = 1, il = arcSegPoints.length; i < il; i++) { + pt = arcSegPoints[i-1][2]; + x1 = pt.x; + y1 = pt.y; + + pt = arcSegPoints[i][0]; + x2 = pt.x; + y2 = pt.y; + + pt = arcSegPoints[i][1]; + x = pt.x; + y = pt.y; + + retVal.push(['C', x1, y1, x2, y2, x, y]); + } + + return retVal + } + }()); + + /*! svg.draggable.js - v2.2.2 - 2019-01-08 + * https://github.com/svgdotjs/svg.draggable.js + * Copyright (c) 2019 Wout Fierens; Licensed MIT */ + (function() { + + // creates handler, saves it + function DragHandler(el){ + el.remember('_draggable', this); + this.el = el; + } + + + // Sets new parameter, starts dragging + DragHandler.prototype.init = function(constraint, val){ + var _this = this; + this.constraint = constraint; + this.value = val; + this.el.on('mousedown.drag', function(e){ _this.start(e); }); + this.el.on('touchstart.drag', function(e){ _this.start(e); }); + }; + + // transforms one point from screen to user coords + DragHandler.prototype.transformPoint = function(event, offset){ + event = event || window.event; + var touches = event.changedTouches && event.changedTouches[0] || event; + this.p.x = touches.clientX - (offset || 0); + this.p.y = touches.clientY; + return this.p.matrixTransform(this.m) + }; + + // gets elements bounding box with special handling of groups, nested and use + DragHandler.prototype.getBBox = function(){ + + var box = this.el.bbox(); + + if(this.el instanceof SVG.Nested) box = this.el.rbox(); + + if (this.el instanceof SVG.G || this.el instanceof SVG.Use || this.el instanceof SVG.Nested) { + box.x = this.el.x(); + box.y = this.el.y(); + } + + return box + }; + + // start dragging + DragHandler.prototype.start = function(e){ + + // check for left button + if(e.type == 'click'|| e.type == 'mousedown' || e.type == 'mousemove'){ + if((e.which || e.buttons) != 1){ + return + } + } + + var _this = this; + + // fire beforedrag event + this.el.fire('beforedrag', { event: e, handler: this }); + if(this.el.event().defaultPrevented) return; + + // prevent browser drag behavior as soon as possible + e.preventDefault(); + + // prevent propagation to a parent that might also have dragging enabled + e.stopPropagation(); + + // search for parent on the fly to make sure we can call + // draggable() even when element is not in the dom currently + this.parent = this.parent || this.el.parent(SVG.Nested) || this.el.parent(SVG.Doc); + this.p = this.parent.node.createSVGPoint(); + + // save current transformation matrix + this.m = this.el.node.getScreenCTM().inverse(); + + var box = this.getBBox(); + + var anchorOffset; + + // fix text-anchor in text-element (#37) + if(this.el instanceof SVG.Text){ + anchorOffset = this.el.node.getComputedTextLength(); + + switch(this.el.attr('text-anchor')){ + case 'middle': + anchorOffset /= 2; + break + case 'start': + anchorOffset = 0; + break; + } + } + + this.startPoints = { + // We take absolute coordinates since we are just using a delta here + point: this.transformPoint(e, anchorOffset), + box: box, + transform: this.el.transform() + }; + + // add drag and end events to window + SVG.on(window, 'mousemove.drag', function(e){ _this.drag(e); }); + SVG.on(window, 'touchmove.drag', function(e){ _this.drag(e); }); + SVG.on(window, 'mouseup.drag', function(e){ _this.end(e); }); + SVG.on(window, 'touchend.drag', function(e){ _this.end(e); }); + + // fire dragstart event + this.el.fire('dragstart', {event: e, p: this.startPoints.point, m: this.m, handler: this}); + }; + + // while dragging + DragHandler.prototype.drag = function(e){ + + var box = this.getBBox() + , p = this.transformPoint(e) + , x = this.startPoints.box.x + p.x - this.startPoints.point.x + , y = this.startPoints.box.y + p.y - this.startPoints.point.y + , c = this.constraint + , gx = p.x - this.startPoints.point.x + , gy = p.y - this.startPoints.point.y; + + this.el.fire('dragmove', { + event: e + , p: p + , m: this.m + , handler: this + }); + + if(this.el.event().defaultPrevented) return p + + // move the element to its new position, if possible by constraint + if (typeof c == 'function') { + + var coord = c.call(this.el, x, y, this.m); + + // bool, just show us if movement is allowed or not + if (typeof coord == 'boolean') { + coord = { + x: coord, + y: coord + }; + } + + // if true, we just move. If !false its a number and we move it there + if (coord.x === true) { + this.el.x(x); + } else if (coord.x !== false) { + this.el.x(coord.x); + } + + if (coord.y === true) { + this.el.y(y); + } else if (coord.y !== false) { + this.el.y(coord.y); + } + + } else if (typeof c == 'object') { + + // keep element within constrained box + if (c.minX != null && x < c.minX) { + x = c.minX; + gx = x - this.startPoints.box.x; + } else if (c.maxX != null && x > c.maxX - box.width) { + x = c.maxX - box.width; + gx = x - this.startPoints.box.x; + } if (c.minY != null && y < c.minY) { + y = c.minY; + gy = y - this.startPoints.box.y; + } else if (c.maxY != null && y > c.maxY - box.height) { + y = c.maxY - box.height; + gy = y - this.startPoints.box.y; + } + + if (c.snapToGrid != null) { + x = x - (x % c.snapToGrid); + y = y - (y % c.snapToGrid); + gx = gx - (gx % c.snapToGrid); + gy = gy - (gy % c.snapToGrid); + } + + if(this.el instanceof SVG.G) + this.el.matrix(this.startPoints.transform).transform({x:gx, y: gy}, true); + else + this.el.move(x, y); + } + + // so we can use it in the end-method, too + return p + }; + + DragHandler.prototype.end = function(e){ + + // final drag + var p = this.drag(e); + + // fire dragend event + this.el.fire('dragend', { event: e, p: p, m: this.m, handler: this }); + + // unbind events + SVG.off(window, 'mousemove.drag'); + SVG.off(window, 'touchmove.drag'); + SVG.off(window, 'mouseup.drag'); + SVG.off(window, 'touchend.drag'); + + }; + + SVG.extend(SVG.Element, { + // Make element draggable + // Constraint might be an object (as described in readme.md) or a function in the form "function (x, y)" that gets called before every move. + // The function can return a boolean or an object of the form {x, y}, to which the element will be moved. "False" skips moving, true moves to raw x, y. + draggable: function(value, constraint) { + + // Check the parameters and reassign if needed + if (typeof value == 'function' || typeof value == 'object') { + constraint = value; + value = true; + } + + var dragHandler = this.remember('_draggable') || new DragHandler(this); + + // When no parameter is given, value is true + value = typeof value === 'undefined' ? true : value; + + if(value) dragHandler.init(constraint || {}, value); + else { + this.off('mousedown.drag'); + this.off('touchstart.drag'); + } + + return this + } + + }); + + }).call(undefined); + + (function() { + + function SelectHandler(el) { + + this.el = el; + el.remember('_selectHandler', this); + this.pointSelection = {isSelected: false}; + this.rectSelection = {isSelected: false}; + + // helper list with position settings of each type of point + this.pointsList = { + lt: [ 0, 0 ], + rt: [ 'width', 0 ], + rb: [ 'width', 'height' ], + lb: [ 0, 'height' ], + t: [ 'width', 0 ], + r: [ 'width', 'height' ], + b: [ 'width', 'height' ], + l: [ 0, 'height' ] + }; + + // helper function to get point coordinates based on settings above and an object (bbox in our case) + this.pointCoord = function (setting, object, isPointCentered) { + var coord = typeof setting !== 'string' ? setting : object[setting]; + // Top, bottom, right and left points are placed in the center of element width/height + return isPointCentered ? coord / 2 : coord + }; + + this.pointCoords = function (point, object) { + var settings = this.pointsList[point]; + + return { + x: this.pointCoord(settings[0], object, (point === 't' || point === 'b')), + y: this.pointCoord(settings[1], object, (point === 'r' || point === 'l')) + } + }; + } + + SelectHandler.prototype.init = function (value, options) { + + var bbox = this.el.bbox(); + this.options = {}; + + // store defaults list of points in order to verify users config + var points = this.el.selectize.defaults.points; + + // Merging the defaults and the options-object together + for (var i in this.el.selectize.defaults) { + this.options[i] = this.el.selectize.defaults[i]; + if (options[i] !== undefined) { + this.options[i] = options[i]; + } + } + + // prepare & validate list of points to be added (or excluded) + var pointsLists = ['points', 'pointsExclude']; + + for (var i in pointsLists) { + var option = this.options[pointsLists[i]]; + + if (typeof option === 'string') { + if (option.length > 0) { + // if set as comma separated string list => convert it into an array + option = option.split(/\s*,\s*/i); + } else { + option = []; + } + } else if (typeof option === 'boolean' && pointsLists[i] === 'points') { + // this is not needed, but let's have it for legacy support + option = option ? points : []; + } + + this.options[pointsLists[i]] = option; + } + + // intersect correct all points options with users config (exclude unwanted points) + // ES5 -> NO arrow functions nor Array.includes() + this.options.points = [ points, this.options.points ].reduce( + function (a, b) { + return a.filter( + function (c) { + return b.indexOf(c) > -1; + } + ) + } + ); + + // exclude pointsExclude, if wanted + this.options.points = [ this.options.points, this.options.pointsExclude ].reduce( + function (a, b) { + return a.filter( + function (c) { + return b.indexOf(c) < 0; + } + ) + } + ); + + this.parent = this.el.parent(); + this.nested = (this.nested || this.parent.group()); + this.nested.matrix(new SVG.Matrix(this.el).translate(bbox.x, bbox.y)); + + // When deepSelect is enabled and the element is a line/polyline/polygon, draw only points for moving + if (this.options.deepSelect && ['line', 'polyline', 'polygon'].indexOf(this.el.type) !== -1) { + this.selectPoints(value); + } else { + this.selectRect(value); + } + + this.observe(); + this.cleanup(); + + }; + + SelectHandler.prototype.selectPoints = function (value) { + + this.pointSelection.isSelected = value; + + // When set is already there we dont have to create one + if (this.pointSelection.set) { + return this; + } + + // Create our set of elements + this.pointSelection.set = this.parent.set(); + // draw the points and mark the element as selected + this.drawPoints(); + + return this; + + }; + + // create the point-array which contains the 2 points of a line or simply the points-array of polyline/polygon + SelectHandler.prototype.getPointArray = function () { + var bbox = this.el.bbox(); + + return this.el.array().valueOf().map(function (el) { + return [el[0] - bbox.x, el[1] - bbox.y]; + }); + }; + + // Draws a points + SelectHandler.prototype.drawPoints = function () { + + var _this = this, array = this.getPointArray(); + + // go through the array of points + for (var i = 0, len = array.length; i < len; ++i) { + + var curriedEvent = (function (k) { + return function (ev) { + ev = ev || window.event; + ev.preventDefault ? ev.preventDefault() : ev.returnValue = false; + ev.stopPropagation(); + + var x = ev.pageX || ev.touches[0].pageX; + var y = ev.pageY || ev.touches[0].pageY; + _this.el.fire('point', {x: x, y: y, i: k, event: ev}); + }; + })(i); + + // add every point to the set + // add css-classes and a touchstart-event which fires our event for moving points + var point = this.drawPoint(array[i][0], array[i][1]) + .addClass(this.options.classPoints) + .addClass(this.options.classPoints + '_point') + .on('touchstart', curriedEvent) + .on('mousedown', curriedEvent); + this.pointSelection.set.add(point); + } + }; + + // The function to draw single point + SelectHandler.prototype.drawPoint = function (cx, cy) { + var pointType = this.options.pointType; + + switch (pointType) { + case 'circle': + return this.drawCircle(cx, cy); + case 'rect': + return this.drawRect(cx, cy); + default: + if (typeof pointType === 'function') { + return pointType.call(this, cx, cy); + } + + throw new Error('Unknown ' + pointType + ' point type!'); + } + }; + + // The function to draw the circle point + SelectHandler.prototype.drawCircle = function (cx, cy) { + return this.nested.circle(this.options.pointSize) + .center(cx, cy); + }; + + // The function to draw the rect point + SelectHandler.prototype.drawRect = function (cx, cy) { + return this.nested.rect(this.options.pointSize, this.options.pointSize) + .center(cx, cy); + }; + + // every time a point is moved, we have to update the positions of our point + SelectHandler.prototype.updatePointSelection = function () { + var array = this.getPointArray(); + + this.pointSelection.set.each(function (i) { + if (this.cx() === array[i][0] && this.cy() === array[i][1]) { + return; + } + this.center(array[i][0], array[i][1]); + }); + }; + + SelectHandler.prototype.updateRectSelection = function () { + var _this = this, bbox = this.el.bbox(); + + this.rectSelection.set.get(0).attr({ + width: bbox.width, + height: bbox.height + }); + + // set.get(1) is always in the upper left corner. no need to move it + if (this.options.points.length) { + this.options.points.map(function (point, index) { + var coords = _this.pointCoords(point, bbox); + + _this.rectSelection.set.get(index + 1).center(coords.x, coords.y); + }); + } + + if (this.options.rotationPoint) { + var length = this.rectSelection.set.length(); + + this.rectSelection.set.get(length - 1).center(bbox.width / 2, 20); + } + }; + + SelectHandler.prototype.selectRect = function (value) { + + var _this = this, bbox = this.el.bbox(); + + this.rectSelection.isSelected = value; + + // when set is already p + this.rectSelection.set = this.rectSelection.set || this.parent.set(); + + // helperFunction to create a mouse-down function which triggers the event specified in `eventName` + function getMoseDownFunc(eventName) { + return function (ev) { + ev = ev || window.event; + ev.preventDefault ? ev.preventDefault() : ev.returnValue = false; + ev.stopPropagation(); + + var x = ev.pageX || ev.touches[0].pageX; + var y = ev.pageY || ev.touches[0].pageY; + _this.el.fire(eventName, {x: x, y: y, event: ev}); + }; + } + + // create the selection-rectangle and add the css-class + if (!this.rectSelection.set.get(0)) { + this.rectSelection.set.add(this.nested.rect(bbox.width, bbox.height).addClass(this.options.classRect)); + } + + // Draw Points at the edges, if enabled + if (this.options.points.length && this.rectSelection.set.length() < 2) { + var ename ="touchstart", mname = "mousedown"; + + this.options.points.map(function (point, index) { + var coords = _this.pointCoords(point, bbox); + + var pointElement = _this.drawPoint(coords.x, coords.y) + .attr('class', _this.options.classPoints + '_' + point) + .on(mname, getMoseDownFunc(point)) + .on(ename, getMoseDownFunc(point)); + _this.rectSelection.set.add(pointElement); + }); + + this.rectSelection.set.each(function () { + this.addClass(_this.options.classPoints); + }); + } + + // draw rotationPint, if enabled + if (this.options.rotationPoint && ((this.options.points && !this.rectSelection.set.get(9)) || (!this.options.points && !this.rectSelection.set.get(1)))) { + + var curriedEvent = function (ev) { + ev = ev || window.event; + ev.preventDefault ? ev.preventDefault() : ev.returnValue = false; + ev.stopPropagation(); + + var x = ev.pageX || ev.touches[0].pageX; + var y = ev.pageY || ev.touches[0].pageY; + _this.el.fire('rot', {x: x, y: y, event: ev}); + }; + + var pointElement = this.drawPoint(bbox.width / 2, 20) + .attr('class', this.options.classPoints + '_rot') + .on("touchstart", curriedEvent) + .on("mousedown", curriedEvent); + this.rectSelection.set.add(pointElement); + } + + }; + + SelectHandler.prototype.handler = function () { + + var bbox = this.el.bbox(); + this.nested.matrix(new SVG.Matrix(this.el).translate(bbox.x, bbox.y)); + + if (this.rectSelection.isSelected) { + this.updateRectSelection(); + } + + if (this.pointSelection.isSelected) { + this.updatePointSelection(); + } + + }; + + SelectHandler.prototype.observe = function () { + var _this = this; + + if (MutationObserver) { + if (this.rectSelection.isSelected || this.pointSelection.isSelected) { + this.observerInst = this.observerInst || new MutationObserver(function () { + _this.handler(); + }); + this.observerInst.observe(this.el.node, {attributes: true}); + } else { + try { + this.observerInst.disconnect(); + delete this.observerInst; + } catch (e) { + } + } + } else { + this.el.off('DOMAttrModified.select'); + + if (this.rectSelection.isSelected || this.pointSelection.isSelected) { + this.el.on('DOMAttrModified.select', function () { + _this.handler(); + }); + } + } + }; + + SelectHandler.prototype.cleanup = function () { + + //var _this = this; + + if (!this.rectSelection.isSelected && this.rectSelection.set) { + // stop watching the element, remove the selection + this.rectSelection.set.each(function () { + this.remove(); + }); + + this.rectSelection.set.clear(); + delete this.rectSelection.set; + } + + if (!this.pointSelection.isSelected && this.pointSelection.set) { + // Remove all points, clear the set, stop watching the element + this.pointSelection.set.each(function () { + this.remove(); + }); + + this.pointSelection.set.clear(); + delete this.pointSelection.set; + } + + if (!this.pointSelection.isSelected && !this.rectSelection.isSelected) { + this.nested.remove(); + delete this.nested; + + } + }; + + + SVG.extend(SVG.Element, { + // Select element with mouse + selectize: function (value, options) { + + // Check the parameters and reassign if needed + if (typeof value === 'object') { + options = value; + value = true; + } + + var selectHandler = this.remember('_selectHandler') || new SelectHandler(this); + + selectHandler.init(value === undefined ? true : value, options || {}); + + return this; + + } + }); + + SVG.Element.prototype.selectize.defaults = { + points: ['lt', 'rt', 'rb', 'lb', 't', 'r', 'b', 'l'], // which points to draw, default all + pointsExclude: [], // easier option if to exclude few than rewrite all + classRect: 'svg_select_boundingRect', // Css-class added to the rect + classPoints: 'svg_select_points', // Css-class added to the points + pointSize: 7, // size of point + rotationPoint: true, // If true, rotation point is drawn. Needed for rotation! + deepSelect: false, // If true, moving of single points is possible (only line, polyline, polyon) + pointType: 'circle' // Point type: circle or rect, default circle + }; + }()); + + (function() { + (function () { + + function ResizeHandler(el) { + + el.remember('_resizeHandler', this); + + this.el = el; + this.parameters = {}; + this.lastUpdateCall = null; + this.p = el.doc().node.createSVGPoint(); + } + + ResizeHandler.prototype.transformPoint = function(x, y, m){ + + this.p.x = x - (this.offset.x - window.pageXOffset); + this.p.y = y - (this.offset.y - window.pageYOffset); + + return this.p.matrixTransform(m || this.m); + + }; + + ResizeHandler.prototype._extractPosition = function(event) { + // Extract a position from a mouse/touch event. + // Returns { x: .., y: .. } + return { + x: event.clientX != null ? event.clientX : event.touches[0].clientX, + y: event.clientY != null ? event.clientY : event.touches[0].clientY + } + }; + + ResizeHandler.prototype.init = function (options) { + + var _this = this; + + this.stop(); + + if (options === 'stop') { + return; + } + + this.options = {}; + + // Merge options and defaults + for (var i in this.el.resize.defaults) { + this.options[i] = this.el.resize.defaults[i]; + if (typeof options[i] !== 'undefined') { + this.options[i] = options[i]; + } + } + + // We listen to all these events which are specifying different edges + this.el.on('lt.resize', function(e){ _this.resize(e || window.event); }); // Left-Top + this.el.on('rt.resize', function(e){ _this.resize(e || window.event); }); // Right-Top + this.el.on('rb.resize', function(e){ _this.resize(e || window.event); }); // Right-Bottom + this.el.on('lb.resize', function(e){ _this.resize(e || window.event); }); // Left-Bottom + + this.el.on('t.resize', function(e){ _this.resize(e || window.event); }); // Top + this.el.on('r.resize', function(e){ _this.resize(e || window.event); }); // Right + this.el.on('b.resize', function(e){ _this.resize(e || window.event); }); // Bottom + this.el.on('l.resize', function(e){ _this.resize(e || window.event); }); // Left + + this.el.on('rot.resize', function(e){ _this.resize(e || window.event); }); // Rotation + + this.el.on('point.resize', function(e){ _this.resize(e || window.event); }); // Point-Moving + + // This call ensures, that the plugin reacts to a change of snapToGrid immediately + this.update(); + + }; + + ResizeHandler.prototype.stop = function(){ + this.el.off('lt.resize'); + this.el.off('rt.resize'); + this.el.off('rb.resize'); + this.el.off('lb.resize'); + + this.el.off('t.resize'); + this.el.off('r.resize'); + this.el.off('b.resize'); + this.el.off('l.resize'); + + this.el.off('rot.resize'); + + this.el.off('point.resize'); + + return this; + }; + + ResizeHandler.prototype.resize = function (event) { + + var _this = this; + + this.m = this.el.node.getScreenCTM().inverse(); + this.offset = { x: window.pageXOffset, y: window.pageYOffset }; + + var txPt = this._extractPosition(event.detail.event); + this.parameters = { + type: this.el.type, // the type of element + p: this.transformPoint(txPt.x, txPt.y), + x: event.detail.x, // x-position of the mouse when resizing started + y: event.detail.y, // y-position of the mouse when resizing started + box: this.el.bbox(), // The bounding-box of the element + rotation: this.el.transform().rotation // The current rotation of the element + }; + + // Add font-size parameter if the element type is text + if (this.el.type === "text") { + this.parameters.fontSize = this.el.attr()["font-size"]; + } + + // the i-param in the event holds the index of the point which is moved, when using `deepSelect` + if (event.detail.i !== undefined) { + + // get the point array + var array = this.el.array().valueOf(); + + // Save the index and the point which is moved + this.parameters.i = event.detail.i; + this.parameters.pointCoords = [array[event.detail.i][0], array[event.detail.i][1]]; + } + + // Lets check which edge of the bounding-box was clicked and resize the this.el according to this + switch (event.type) { + + // Left-Top-Edge + case 'lt': + // We build a calculating function for every case which gives us the new position of the this.el + this.calc = function (diffX, diffY) { + // The procedure is always the same + // First we snap the edge to the given grid (snapping to 1px grid is normal resizing) + var snap = this.snapToGrid(diffX, diffY); + + // Now we check if the new height and width still valid (> 0) + if (this.parameters.box.width - snap[0] > 0 && this.parameters.box.height - snap[1] > 0) { + // ...if valid, we resize the this.el (which can include moving because the coord-system starts at the left-top and this edge is moving sometimes when resized) + + /* + * but first check if the element is text box, so we can change the font size instead of + * the width and height + */ + + if (this.parameters.type === "text") { + this.el.move(this.parameters.box.x + snap[0], this.parameters.box.y); + this.el.attr("font-size", this.parameters.fontSize - snap[0]); + return; + } + + snap = this.checkAspectRatio(snap); + + this.el.move(this.parameters.box.x + snap[0], this.parameters.box.y + snap[1]).size(this.parameters.box.width - snap[0], this.parameters.box.height - snap[1]); + } + }; + break; + + // Right-Top + case 'rt': + // s.a. + this.calc = function (diffX, diffY) { + var snap = this.snapToGrid(diffX, diffY, 1 << 1); + if (this.parameters.box.width + snap[0] > 0 && this.parameters.box.height - snap[1] > 0) { + if (this.parameters.type === "text") { + this.el.move(this.parameters.box.x - snap[0], this.parameters.box.y); + this.el.attr("font-size", this.parameters.fontSize + snap[0]); + return; + } + + snap = this.checkAspectRatio(snap, true); + + this.el.move(this.parameters.box.x, this.parameters.box.y + snap[1]).size(this.parameters.box.width + snap[0], this.parameters.box.height - snap[1]); + } + }; + break; + + // Right-Bottom + case 'rb': + // s.a. + this.calc = function (diffX, diffY) { + var snap = this.snapToGrid(diffX, diffY, 0); + if (this.parameters.box.width + snap[0] > 0 && this.parameters.box.height + snap[1] > 0) { + if (this.parameters.type === "text") { + this.el.move(this.parameters.box.x - snap[0], this.parameters.box.y); + this.el.attr("font-size", this.parameters.fontSize + snap[0]); + return; + } + + snap = this.checkAspectRatio(snap); + + this.el.move(this.parameters.box.x, this.parameters.box.y).size(this.parameters.box.width + snap[0], this.parameters.box.height + snap[1]); + } + }; + break; + + // Left-Bottom + case 'lb': + // s.a. + this.calc = function (diffX, diffY) { + var snap = this.snapToGrid(diffX, diffY, 1); + if (this.parameters.box.width - snap[0] > 0 && this.parameters.box.height + snap[1] > 0) { + if (this.parameters.type === "text") { + this.el.move(this.parameters.box.x + snap[0], this.parameters.box.y); + this.el.attr("font-size", this.parameters.fontSize - snap[0]); + return; + } + + snap = this.checkAspectRatio(snap, true); + + this.el.move(this.parameters.box.x + snap[0], this.parameters.box.y).size(this.parameters.box.width - snap[0], this.parameters.box.height + snap[1]); + } + }; + break; + + // Top + case 't': + // s.a. + this.calc = function (diffX, diffY) { + var snap = this.snapToGrid(diffX, diffY, 1 << 1); + if (this.parameters.box.height - snap[1] > 0) { + // Disable the font-resizing if it is not from the corner of bounding-box + if (this.parameters.type === "text") { + return; + } + + this.el.move(this.parameters.box.x, this.parameters.box.y + snap[1]).height(this.parameters.box.height - snap[1]); + } + }; + break; + + // Right + case 'r': + // s.a. + this.calc = function (diffX, diffY) { + var snap = this.snapToGrid(diffX, diffY, 0); + if (this.parameters.box.width + snap[0] > 0) { + if (this.parameters.type === "text") { + return; + } + + this.el.move(this.parameters.box.x, this.parameters.box.y).width(this.parameters.box.width + snap[0]); + } + }; + break; + + // Bottom + case 'b': + // s.a. + this.calc = function (diffX, diffY) { + var snap = this.snapToGrid(diffX, diffY, 0); + if (this.parameters.box.height + snap[1] > 0) { + if (this.parameters.type === "text") { + return; + } + + this.el.move(this.parameters.box.x, this.parameters.box.y).height(this.parameters.box.height + snap[1]); + } + }; + break; + + // Left + case 'l': + // s.a. + this.calc = function (diffX, diffY) { + var snap = this.snapToGrid(diffX, diffY, 1); + if (this.parameters.box.width - snap[0] > 0) { + if (this.parameters.type === "text") { + return; + } + + this.el.move(this.parameters.box.x + snap[0], this.parameters.box.y).width(this.parameters.box.width - snap[0]); + } + }; + break; + + // Rotation + case 'rot': + // s.a. + this.calc = function (diffX, diffY) { + + // yes this is kinda stupid but we need the mouse coords back... + var current = {x: diffX + this.parameters.p.x, y: diffY + this.parameters.p.y}; + + // start minus middle + var sAngle = Math.atan2((this.parameters.p.y - this.parameters.box.y - this.parameters.box.height / 2), (this.parameters.p.x - this.parameters.box.x - this.parameters.box.width / 2)); + + // end minus middle + var pAngle = Math.atan2((current.y - this.parameters.box.y - this.parameters.box.height / 2), (current.x - this.parameters.box.x - this.parameters.box.width / 2)); + + var angle = this.parameters.rotation + (pAngle - sAngle) * 180 / Math.PI + this.options.snapToAngle / 2; + + // We have to move the element to the center of the box first and change the rotation afterwards + // because rotation always works around a rotation-center, which is changed when moving the element + // We also set the new rotation center to the center of the box. + this.el.center(this.parameters.box.cx, this.parameters.box.cy).rotate(angle - (angle % this.options.snapToAngle), this.parameters.box.cx, this.parameters.box.cy); + }; + break; + + // Moving one single Point (needed when an element is deepSelected which means you can move every single point of the object) + case 'point': + this.calc = function (diffX, diffY) { + + // Snapping the point to the grid + var snap = this.snapToGrid(diffX, diffY, this.parameters.pointCoords[0], this.parameters.pointCoords[1]); + + // Get the point array + var array = this.el.array().valueOf(); + + // Changing the moved point in the array + array[this.parameters.i][0] = this.parameters.pointCoords[0] + snap[0]; + array[this.parameters.i][1] = this.parameters.pointCoords[1] + snap[1]; + + // And plot the new this.el + this.el.plot(array); + }; + } + + this.el.fire('resizestart', {dx: this.parameters.x, dy: this.parameters.y, event: event}); + // When resizing started, we have to register events for... + // Touches. + SVG.on(window, 'touchmove.resize', function(e) { + _this.update(e || window.event); + }); + SVG.on(window, 'touchend.resize', function() { + _this.done(); + }); + // Mouse. + SVG.on(window, 'mousemove.resize', function (e) { + _this.update(e || window.event); + }); + SVG.on(window, 'mouseup.resize', function () { + _this.done(); + }); + + }; + + // The update-function redraws the element every time the mouse is moving + ResizeHandler.prototype.update = function (event) { + + if (!event) { + if (this.lastUpdateCall) { + this.calc(this.lastUpdateCall[0], this.lastUpdateCall[1]); + } + return; + } + + // Calculate the difference between the mouseposition at start and now + var txPt = this._extractPosition(event); + var p = this.transformPoint(txPt.x, txPt.y); + + var diffX = p.x - this.parameters.p.x, + diffY = p.y - this.parameters.p.y; + + this.lastUpdateCall = [diffX, diffY]; + + // Calculate the new position and height / width of the element + this.calc(diffX, diffY); + + // Emit an event to say we have changed. + this.el.fire('resizing', {dx: diffX, dy: diffY, event: event}); + }; + + // Is called on mouseup. + // Removes the update-function from the mousemove event + ResizeHandler.prototype.done = function () { + this.lastUpdateCall = null; + SVG.off(window, 'mousemove.resize'); + SVG.off(window, 'mouseup.resize'); + SVG.off(window, 'touchmove.resize'); + SVG.off(window, 'touchend.resize'); + this.el.fire('resizedone'); + }; + + // The flag is used to determine whether the resizing is used with a left-Point (first bit) and top-point (second bit) + // In this cases the temp-values are calculated differently + ResizeHandler.prototype.snapToGrid = function (diffX, diffY, flag, pointCoordsY) { + + var temp; + + // If `pointCoordsY` is given, a single Point has to be snapped (deepSelect). That's why we need a different temp-value + if (typeof pointCoordsY !== 'undefined') { + // Note that flag = pointCoordsX in this case + temp = [(flag + diffX) % this.options.snapToGrid, (pointCoordsY + diffY) % this.options.snapToGrid]; + } else { + // We check if the flag is set and if not we set a default-value (both bits set - which means upper-left-edge) + flag = flag == null ? 1 | 1 << 1 : flag; + temp = [(this.parameters.box.x + diffX + (flag & 1 ? 0 : this.parameters.box.width)) % this.options.snapToGrid, (this.parameters.box.y + diffY + (flag & (1 << 1) ? 0 : this.parameters.box.height)) % this.options.snapToGrid]; + } + + if(diffX < 0) { + temp[0] -= this.options.snapToGrid; + } + if(diffY < 0) { + temp[1] -= this.options.snapToGrid; + } + + diffX -= (Math.abs(temp[0]) < this.options.snapToGrid / 2 ? + temp[0] : + temp[0] - (diffX < 0 ? -this.options.snapToGrid : this.options.snapToGrid)); + diffY -= (Math.abs(temp[1]) < this.options.snapToGrid / 2 ? + temp[1] : + temp[1] - (diffY < 0 ? -this.options.snapToGrid : this.options.snapToGrid)); + + return this.constraintToBox(diffX, diffY, flag, pointCoordsY); + + }; + + // keep element within constrained box + ResizeHandler.prototype.constraintToBox = function (diffX, diffY, flag, pointCoordsY) { + //return [diffX, diffY] + var c = this.options.constraint || {}; + var orgX, orgY; + + if (typeof pointCoordsY !== 'undefined') { + orgX = flag; + orgY = pointCoordsY; + } else { + orgX = this.parameters.box.x + (flag & 1 ? 0 : this.parameters.box.width); + orgY = this.parameters.box.y + (flag & (1<<1) ? 0 : this.parameters.box.height); + } + + if (typeof c.minX !== 'undefined' && orgX + diffX < c.minX) { + diffX = c.minX - orgX; + } + + if (typeof c.maxX !== 'undefined' && orgX + diffX > c.maxX) { + diffX = c.maxX - orgX; + } + + if (typeof c.minY !== 'undefined' && orgY + diffY < c.minY) { + diffY = c.minY - orgY; + } + + if (typeof c.maxY !== 'undefined' && orgY + diffY > c.maxY) { + diffY = c.maxY - orgY; + } + + return [diffX, diffY]; + }; + + ResizeHandler.prototype.checkAspectRatio = function (snap, isReverse) { + if (!this.options.saveAspectRatio) { + return snap; + } + + var updatedSnap = snap.slice(); + var aspectRatio = this.parameters.box.width / this.parameters.box.height; + var newW = this.parameters.box.width + snap[0]; + var newH = this.parameters.box.height - snap[1]; + var newAspectRatio = newW / newH; + + if (newAspectRatio < aspectRatio) { + // Height is too big. Adapt it + updatedSnap[1] = newW / aspectRatio - this.parameters.box.height; + isReverse && (updatedSnap[1] = -updatedSnap[1]); + } else if (newAspectRatio > aspectRatio) { + // Width is too big. Adapt it + updatedSnap[0] = this.parameters.box.width - newH * aspectRatio; + isReverse && (updatedSnap[0] = -updatedSnap[0]); + } + + return updatedSnap; + }; + + SVG.extend(SVG.Element, { + // Resize element with mouse + resize: function (options) { + + (this.remember('_resizeHandler') || new ResizeHandler(this)).init(options || {}); + + return this; + + } + + }); + + SVG.Element.prototype.resize.defaults = { + snapToAngle: 0.1, // Specifies the speed the rotation is happening when moving the mouse + snapToGrid: 1, // Snaps to a grid of `snapToGrid` Pixels + constraint: {}, // keep element within constrained box + saveAspectRatio: false // Save aspect ratio when resizing using lt, rt, rb or lb points + }; + + }).call(this); + }()); + + if (typeof window.Apex === 'undefined') { + window.Apex = {}; + } + + var InitCtxVariables = /*#__PURE__*/function () { + function InitCtxVariables(ctx) { + _classCallCheck(this, InitCtxVariables); + + this.ctx = ctx; + this.w = ctx.w; + } + + _createClass(InitCtxVariables, [{ + key: "initModules", + value: function initModules() { + this.ctx.publicMethods = ['updateOptions', 'updateSeries', 'appendData', 'appendSeries', 'toggleSeries', 'showSeries', 'hideSeries', 'setLocale', 'resetSeries', 'zoomX', 'toggleDataPointSelection', 'dataURI', 'exportToCSV', 'addXaxisAnnotation', 'addYaxisAnnotation', 'addPointAnnotation', 'clearAnnotations', 'removeAnnotation', 'paper', 'destroy']; + this.ctx.eventList = ['click', 'mousedown', 'mousemove', 'mouseleave', 'touchstart', 'touchmove', 'touchleave', 'mouseup', 'touchend']; + this.ctx.animations = new Animations(this.ctx); + this.ctx.axes = new Axes(this.ctx); + this.ctx.core = new Core(this.ctx.el, this.ctx); + this.ctx.config = new Config({}); + this.ctx.data = new Data(this.ctx); + this.ctx.grid = new Grid(this.ctx); + this.ctx.graphics = new Graphics(this.ctx); + this.ctx.coreUtils = new CoreUtils(this.ctx); + this.ctx.crosshairs = new Crosshairs(this.ctx); + this.ctx.events = new Events(this.ctx); + this.ctx.exports = new Exports(this.ctx); + this.ctx.localization = new Localization(this.ctx); + this.ctx.options = new Options(); + this.ctx.responsive = new Responsive(this.ctx); + this.ctx.series = new Series(this.ctx); + this.ctx.theme = new Theme(this.ctx); + this.ctx.formatters = new Formatters(this.ctx); + this.ctx.titleSubtitle = new TitleSubtitle(this.ctx); + this.ctx.legend = new Legend(this.ctx); + this.ctx.toolbar = new Toolbar(this.ctx); + this.ctx.tooltip = new Tooltip(this.ctx); + this.ctx.dimensions = new Dimensions(this.ctx); + this.ctx.updateHelpers = new UpdateHelpers(this.ctx); + this.ctx.zoomPanSelection = new ZoomPanSelection(this.ctx); + this.ctx.w.globals.tooltip = new Tooltip(this.ctx); + } + }]); + + return InitCtxVariables; + }(); + + var Destroy = /*#__PURE__*/function () { + function Destroy(ctx) { + _classCallCheck(this, Destroy); + + this.ctx = ctx; + this.w = ctx.w; + } + + _createClass(Destroy, [{ + key: "clear", + value: function clear(_ref) { + var isUpdating = _ref.isUpdating; + + if (this.ctx.zoomPanSelection) { + this.ctx.zoomPanSelection.destroy(); + } + + if (this.ctx.toolbar) { + this.ctx.toolbar.destroy(); + } + + this.ctx.animations = null; + this.ctx.axes = null; + this.ctx.annotations = null; + this.ctx.core = null; + this.ctx.data = null; + this.ctx.grid = null; + this.ctx.series = null; + this.ctx.responsive = null; + this.ctx.theme = null; + this.ctx.formatters = null; + this.ctx.titleSubtitle = null; + this.ctx.legend = null; + this.ctx.dimensions = null; + this.ctx.options = null; + this.ctx.crosshairs = null; + this.ctx.zoomPanSelection = null; + this.ctx.updateHelpers = null; + this.ctx.toolbar = null; + this.ctx.localization = null; + this.ctx.w.globals.tooltip = null; + this.clearDomElements({ + isUpdating: isUpdating + }); + } + }, { + key: "killSVG", + value: function killSVG(draw) { + draw.each(function (i, children) { + this.removeClass('*'); + this.off(); + this.stop(); + }, true); + draw.ungroup(); + draw.clear(); + } + }, { + key: "clearDomElements", + value: function clearDomElements(_ref2) { + var _this = this; + + var isUpdating = _ref2.isUpdating; + var elSVG = this.w.globals.dom.Paper.node; // fixes apexcharts.js#1654 & vue-apexcharts#256 + + if (elSVG.parentNode && elSVG.parentNode.parentNode && !isUpdating) { + elSVG.parentNode.parentNode.style.minHeight = 'unset'; + } // detach root event + + + var baseEl = this.w.globals.dom.baseEl; + + if (baseEl) { + // see https://github.com/apexcharts/vue-apexcharts/issues/275 + this.ctx.eventList.forEach(function (event) { + baseEl.removeEventListener(event, _this.ctx.events.documentEvent); + }); + } + + var domEls = this.w.globals.dom; + + if (this.ctx.el !== null) { + // remove all child elements - resetting the whole chart + while (this.ctx.el.firstChild) { + this.ctx.el.removeChild(this.ctx.el.firstChild); + } + } + + this.killSVG(domEls.Paper); + domEls.Paper.remove(); + domEls.elWrap = null; + domEls.elGraphical = null; + domEls.elLegendWrap = null; + domEls.elLegendForeign = null; + domEls.baseEl = null; + domEls.elGridRect = null; + domEls.elGridRectMask = null; + domEls.elGridRectMarkerMask = null; + domEls.elForecastMask = null; + domEls.elNonForecastMask = null; + domEls.elDefs = null; + } + }]); + + return Destroy; + }(); + + // Helpers to react to element resizes, regardless of what caused them + // TODO Currently this creates a new ResizeObserver every time we want to observe an element for resizes + // Ideally, we should be able to use a single observer for all elements + var ros = new WeakMap(); // Map callbacks to ResizeObserver instances for easy removal + + function addResizeListener(el, fn) { + var called = false; + + if (el.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) { + var elRect = el.getBoundingClientRect(); + + if (el.style.display === 'none' || elRect.width === 0) { + // if elRect.width=0, the chart is not rendered at all + // (it has either display none or hidden in a different tab) + // fixes https://github.com/apexcharts/apexcharts.js/issues/2825 + // fixes https://github.com/apexcharts/apexcharts.js/issues/2991 + // fixes https://github.com/apexcharts/apexcharts.js/issues/2992 + called = true; + } + } + + var ro = new ResizeObserver(function (r) { + // ROs fire immediately after being created, + // per spec: https://drafts.csswg.org/resize-observer/#ref-for-element%E2%91%A3 + // we don't want that so we just discard the first run + if (called) { + fn.call(el, r); + } + + called = true; + }); + + if (el.nodeType === Node.DOCUMENT_FRAGMENT_NODE) { + // Document fragment, observe children instead (needed for Shadow DOM, see #1332) + Array.from(el.children).forEach(function (c) { + return ro.observe(c); + }); + } else { + ro.observe(el); + } + + ros.set(fn, ro); + } + function removeResizeListener(el, fn) { + var ro = ros.get(fn); + + if (ro) { + ro.disconnect(); + ros.delete(fn); + } + } + + var css_248z = "@keyframes opaque {\n 0% {\n opacity: 0\n }\n\n to {\n opacity: 1\n }\n}\n\n@keyframes resizeanim {\n 0%,to {\n opacity: 0\n }\n}\n\n.apexcharts-canvas {\n position: relative;\n user-select: none\n}\n\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0,0,0,.5);\n box-shadow: 0 0 1px rgba(255,255,255,.5);\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5)\n}\n\n.apexcharts-inner {\n position: relative\n}\n\n.apexcharts-text tspan {\n font-family: inherit\n}\n\n.legend-mouseover-inactive {\n transition: .15s ease all;\n opacity: .2\n}\n\n.apexcharts-legend-text {\n padding-left: 15px;\n margin-left: -15px;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255,255,255,.96)\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30,30,30,.8)\n}\n\n.apexcharts-tooltip * {\n font-family: inherit\n}\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #eceff1;\n border-bottom: 1px solid #ddd\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0,0,0,.7);\n border-bottom: 1px solid #333\n}\n\n.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value {\n display: inline-block;\n margin-left: 5px;\n font-weight: 600\n}\n\n.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty {\n display: none\n}\n\n.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px\n}\n\n.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n display: flex\n}\n\n.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0;\n margin-right: 10px;\n border-radius: 50%\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0!important\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px\n}\n\n.apexcharts-custom-tooltip,.apexcharts-tooltip-box {\n padding: 4px 8px\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: 700\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: 700;\n display: block;\n margin-bottom: 5px\n}\n\n.apexcharts-xaxistooltip,.apexcharts-yaxistooltip {\n opacity: 0;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #eceff1;\n border: 1px solid #90a4ae\n}\n\n.apexcharts-xaxistooltip {\n padding: 9px 10px;\n transition: .15s ease all\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-left: -6px\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-left: -7px\n}\n\n.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%\n}\n\n.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before {\n top: 100%\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-yaxistooltip {\n padding: 4px 10px\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-top: -6px\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-top: -7px\n}\n\n.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before {\n left: 100%\n}\n\n.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before {\n right: 100%\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none\n}\n\n.apexcharts-xcrosshairs,.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: .15s ease all\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0\n}\n\n.apexcharts-selection-rect {\n cursor: move\n}\n\n.svg_select_boundingRect,.svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6e8192;\n text-align: center\n}\n\n.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg {\n fill: #6e8192\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(.76)\n}\n\n.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\n fill: #f3f4f5\n}\n\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\n fill: #008ffb\n}\n\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\n fill: #333\n}\n\n.apexcharts-menu-icon,.apexcharts-selection-icon {\n position: relative\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px\n}\n\n.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon {\n transform: scale(.85)\n}\n\n.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n transform: scale(.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px\n}\n\n.apexcharts-pan-icon {\n transform: scale(.62);\n position: relative;\n left: 1px;\n top: 0\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6e8192;\n stroke-width: 2\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008ffb\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0 6px 2px;\n display: flex;\n justify-content: space-between;\n align-items: center\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: .15s ease all;\n pointer-events: none\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: .15s ease all\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0,0,0,.7);\n color: #fff\n}\n\n@media screen and (min-width:768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1\n }\n}\n\n.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points {\n opacity: 0\n}\n\n.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label {\n cursor: default;\n pointer-events: none\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: .3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease\n}\n\n.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect {\n pointer-events: none\n}\n\n.apexcharts-marker {\n transition: .15s ease all\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n height: 100%;\n width: 100%;\n overflow: hidden\n}\n\n.contract-trigger:before,.resize-triggers,.resize-triggers>div {\n content: \" \";\n display: block;\n position: absolute;\n top: 0;\n left: 0\n}\n\n.resize-triggers>div {\n height: 100%;\n width: 100%;\n background: #eee;\n overflow: auto\n}\n\n.contract-trigger:before {\n overflow: hidden;\n width: 200%;\n height: 200%\n}\n"; + + /** + * + * @module ApexCharts + **/ + + var ApexCharts$1 = /*#__PURE__*/function () { + function ApexCharts(el, opts) { + _classCallCheck(this, ApexCharts); + + this.opts = opts; + this.ctx = this; // Pass the user supplied options to the Base Class where these options will be extended with defaults. The returned object from Base Class will become the config object in the entire codebase. + + this.w = new Base(opts).init(); + this.el = el; + this.w.globals.cuid = Utils$1.randomId(); + this.w.globals.chartID = this.w.config.chart.id ? Utils$1.escapeString(this.w.config.chart.id) : this.w.globals.cuid; + var initCtx = new InitCtxVariables(this); + initCtx.initModules(); + this.create = Utils$1.bind(this.create, this); + this.windowResizeHandler = this._windowResizeHandler.bind(this); + this.parentResizeHandler = this._parentResizeCallback.bind(this); + } + /** + * The primary method user will call to render the chart. + */ + + + _createClass(ApexCharts, [{ + key: "render", + value: function render() { + var _this = this; + + // main method + return new Promise(function (resolve, reject) { + // only draw chart, if element found + if (_this.el !== null) { + if (typeof Apex._chartInstances === 'undefined') { + Apex._chartInstances = []; + } + + if (_this.w.config.chart.id) { + Apex._chartInstances.push({ + id: _this.w.globals.chartID, + group: _this.w.config.chart.group, + chart: _this + }); + } // set the locale here + + + _this.setLocale(_this.w.config.chart.defaultLocale); + + var beforeMount = _this.w.config.chart.events.beforeMount; + + if (typeof beforeMount === 'function') { + beforeMount(_this, _this.w); + } + + _this.events.fireEvent('beforeMount', [_this, _this.w]); + + window.addEventListener('resize', _this.windowResizeHandler); + addResizeListener(_this.el.parentNode, _this.parentResizeHandler); // Add CSS if not already added + + if (!_this.css) { + var rootNode = _this.el.getRootNode && _this.el.getRootNode(); + + var inShadowRoot = Utils$1.is('ShadowRoot', rootNode); + var doc = _this.el.ownerDocument; + var globalCSS = doc.getElementById('apexcharts-css'); + + if (inShadowRoot || !globalCSS) { + _this.css = document.createElement('style'); + _this.css.id = 'apexcharts-css'; + _this.css.textContent = css_248z; + + if (inShadowRoot) { + // We are in Shadow DOM, add to shadow root + rootNode.prepend(_this.css); + } else { + // Add to of element's document + doc.head.appendChild(_this.css); + } + } + } + + var graphData = _this.create(_this.w.config.series, {}); + + if (!graphData) return resolve(_this); + + _this.mount(graphData).then(function () { + if (typeof _this.w.config.chart.events.mounted === 'function') { + _this.w.config.chart.events.mounted(_this, _this.w); + } + + _this.events.fireEvent('mounted', [_this, _this.w]); + + resolve(graphData); + }).catch(function (e) { + reject(e); // handle error in case no data or element not found + }); + } else { + reject(new Error('Element not found')); + } + }); + } + }, { + key: "create", + value: function create(ser, opts) { + var w = this.w; + var initCtx = new InitCtxVariables(this); + initCtx.initModules(); + var gl = this.w.globals; + gl.noData = false; + gl.animationEnded = false; + this.responsive.checkResponsiveConfig(opts); + + if (w.config.xaxis.convertedCatToNumeric) { + var defaults = new Defaults(w.config); + defaults.convertCatToNumericXaxis(w.config, this.ctx); + } + + if (this.el === null) { + gl.animationEnded = true; + return null; + } + + this.core.setupElements(); + + if (w.config.chart.type === 'treemap') { + w.config.grid.show = false; + w.config.yaxis[0].show = false; + } + + if (gl.svgWidth === 0) { + // if the element is hidden, skip drawing + gl.animationEnded = true; + return null; + } + + var combo = CoreUtils.checkComboSeries(ser); + gl.comboCharts = combo.comboCharts; + gl.comboBarCount = combo.comboBarCount; + var allSeriesAreEmpty = ser.every(function (s) { + return s.data && s.data.length === 0; + }); + + if (ser.length === 0 || allSeriesAreEmpty) { + this.series.handleNoData(); + } + + this.events.setupEventHandlers(); // Handle the data inputted by user and set some of the global variables (for eg, if data is datetime / numeric / category). Don't calculate the range / min / max at this time + + this.data.parseData(ser); // this is a good time to set theme colors first + + this.theme.init(); // as markers accepts array, we need to setup global markers for easier access + + var markers = new Markers(this); + markers.setGlobalMarkerSize(); // labelFormatters should be called before dimensions as in dimensions we need text labels width + + this.formatters.setLabelFormatters(); + this.titleSubtitle.draw(); // legend is calculated here before coreCalculations because it affects the plottable area + // if there is some data to show or user collapsed all series, then proceed drawing legend + + if (!gl.noData || gl.collapsedSeries.length === gl.series.length || w.config.legend.showForSingleSeries) { + this.legend.init(); + } // check whether in multiple series, all series share the same X + + + this.series.hasAllSeriesEqualX(); // coreCalculations will give the min/max range and yaxis/axis values. It should be called here to set series variable from config to globals + + if (gl.axisCharts) { + this.core.coreCalculations(); + + if (w.config.xaxis.type !== 'category') { + // as we have minX and maxX values, determine the default DateTimeFormat for time series + this.formatters.setLabelFormatters(); + } + + this.ctx.toolbar.minX = w.globals.minX; + this.ctx.toolbar.maxX = w.globals.maxX; + } // we need to generate yaxis for heatmap separately as we are not showing numerics there, but seriesNames. There are some tweaks which are required for heatmap to align labels correctly which are done in below function + // Also we need to do this before calculating Dimensions plotCoords() method of Dimensions + + + this.formatters.heatmapLabelFormatters(); // get the largest marker size which will be needed in dimensions calc + + var coreUtils = new CoreUtils(this); + coreUtils.getLargestMarkerSize(); // We got plottable area here, next task would be to calculate axis areas + + this.dimensions.plotCoords(); + var xyRatios = this.core.xySettings(); + this.grid.createGridMask(); + var elGraph = this.core.plotChartType(ser, xyRatios); + var dataLabels = new DataLabels(this); + dataLabels.bringForward(); + + if (w.config.dataLabels.background.enabled) { + dataLabels.dataLabelsBackground(); + } // after all the drawing calculations, shift the graphical area (actual charts/bars) excluding legends + + + this.core.shiftGraphPosition(); + var dim = { + plot: { + left: w.globals.translateX, + top: w.globals.translateY, + width: w.globals.gridWidth, + height: w.globals.gridHeight + } + }; + return { + elGraph: elGraph, + xyRatios: xyRatios, + dimensions: dim + }; + } + }, { + key: "mount", + value: function mount() { + var _this2 = this; + + var graphData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + var me = this; + var w = me.w; + return new Promise(function (resolve, reject) { + // no data to display + if (me.el === null) { + return reject(new Error('Not enough data to display or target element not found')); + } else if (graphData === null || w.globals.allSeriesCollapsed) { + me.series.handleNoData(); + } + + me.grid = new Grid(me); + var elgrid = me.grid.drawGrid(); + me.annotations = new Annotations(me); + me.annotations.drawImageAnnos(); + me.annotations.drawTextAnnos(); + + if (w.config.grid.position === 'back' && elgrid) { + w.globals.dom.elGraphical.add(elgrid.el); + } + + if (Array.isArray(graphData.elGraph)) { + for (var g = 0; g < graphData.elGraph.length; g++) { + w.globals.dom.elGraphical.add(graphData.elGraph[g]); + } + } else { + w.globals.dom.elGraphical.add(graphData.elGraph); + } + + if (w.config.grid.position === 'front' && elgrid) { + w.globals.dom.elGraphical.add(elgrid.el); + } + + if (elgrid && elgrid.elGridBorders && elgrid.elGridBorders.node) { + w.globals.dom.elGraphical.add(elgrid.elGridBorders); + } + + if (w.config.xaxis.crosshairs.position === 'front') { + me.crosshairs.drawXCrosshairs(); + } + + if (w.config.yaxis[0].crosshairs.position === 'front') { + me.crosshairs.drawYCrosshairs(); + } + + if (w.config.chart.type !== 'treemap') { + me.axes.drawAxis(w.config.chart.type, elgrid); + } + + var xAxis = new XAxis(_this2.ctx, elgrid); + var yaxis = new YAxis(_this2.ctx, elgrid); + + if (elgrid !== null) { + xAxis.xAxisLabelCorrections(elgrid.xAxisTickWidth); + yaxis.setYAxisTextAlignments(); + w.config.yaxis.map(function (yaxe, index) { + if (w.globals.ignoreYAxisIndexes.indexOf(index) === -1) { + yaxis.yAxisTitleRotate(index, yaxe.opposite); + } + }); + } + + me.annotations.drawAxesAnnotations(); + + if (!w.globals.noData) { + // draw tooltips at the end + if (w.config.tooltip.enabled && !w.globals.noData) { + me.w.globals.tooltip.drawTooltip(graphData.xyRatios); + } + + if (w.globals.axisCharts && (w.globals.isXNumeric || w.config.xaxis.convertedCatToNumeric || w.globals.isRangeBar)) { + if (w.config.chart.zoom.enabled || w.config.chart.selection && w.config.chart.selection.enabled || w.config.chart.pan && w.config.chart.pan.enabled) { + me.zoomPanSelection.init({ + xyRatios: graphData.xyRatios + }); + } + } else { + var tools = w.config.chart.toolbar.tools; + var toolsArr = ['zoom', 'zoomin', 'zoomout', 'selection', 'pan', 'reset']; + toolsArr.forEach(function (t) { + tools[t] = false; + }); + } + + if (w.config.chart.toolbar.show && !w.globals.allSeriesCollapsed) { + me.toolbar.createToolbar(); + } + } + + if (w.globals.memory.methodsToExec.length > 0) { + w.globals.memory.methodsToExec.forEach(function (fn) { + fn.method(fn.params, false, fn.context); + }); + } + + if (!w.globals.axisCharts && !w.globals.noData) { + me.core.resizeNonAxisCharts(); + } + + resolve(me); + }); + } + /** + * Destroy the chart instance by removing all elements which also clean up event listeners on those elements. + */ + + }, { + key: "destroy", + value: function destroy() { + window.removeEventListener('resize', this.windowResizeHandler); + removeResizeListener(this.el.parentNode, this.parentResizeHandler); // remove the chart's instance from the global Apex._chartInstances + + var chartID = this.w.config.chart.id; + + if (chartID) { + Apex._chartInstances.forEach(function (c, i) { + if (c.id === Utils$1.escapeString(chartID)) { + Apex._chartInstances.splice(i, 1); + } + }); + } + + new Destroy(this.ctx).clear({ + isUpdating: false + }); + } + /** + * Allows users to update Options after the chart has rendered. + * + * @param {object} options - A new config object can be passed which will be merged with the existing config object + * @param {boolean} redraw - should redraw from beginning or should use existing paths and redraw from there + * @param {boolean} animate - should animate or not on updating Options + */ + + }, { + key: "updateOptions", + value: function updateOptions(options) { + var _this3 = this; + + var redraw = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var updateSyncedCharts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; + var overwriteInitialConfig = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; + var w = this.w; // when called externally, clear some global variables + // fixes apexcharts.js#1488 + + w.globals.selection = undefined; + + if (options.series) { + this.series.resetSeries(false, true, false); + + if (options.series.length && options.series[0].data) { + options.series = options.series.map(function (s, i) { + return _this3.updateHelpers._extendSeries(s, i); + }); + } // user updated the series via updateOptions() function. + // Hence, we need to reset axis min/max to avoid zooming issues + + + this.updateHelpers.revertDefaultAxisMinMax(); + } // user has set x-axis min/max externally - hence we need to forcefully set the xaxis min/max + + + if (options.xaxis) { + options = this.updateHelpers.forceXAxisUpdate(options); + } + + if (options.yaxis) { + options = this.updateHelpers.forceYAxisUpdate(options); + } + + if (w.globals.collapsedSeriesIndices.length > 0) { + this.series.clearPreviousPaths(); + } + /* update theme mode#459 */ + + + if (options.theme) { + options = this.theme.updateThemeOptions(options); + } + + return this.updateHelpers._updateOptions(options, redraw, animate, updateSyncedCharts, overwriteInitialConfig); + } + /** + * Allows users to update Series after the chart has rendered. + * + * @param {array} series - New series which will override the existing + */ + + }, { + key: "updateSeries", + value: function updateSeries() { + var newSeries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + var overwriteInitialSeries = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + this.series.resetSeries(false); + this.updateHelpers.revertDefaultAxisMinMax(); + return this.updateHelpers._updateSeries(newSeries, animate, overwriteInitialSeries); + } + /** + * Allows users to append a new series after the chart has rendered. + * + * @param {array} newSerie - New serie which will be appended to the existing series + */ + + }, { + key: "appendSeries", + value: function appendSeries(newSerie) { + var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + var overwriteInitialSeries = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var newSeries = this.w.config.series.slice(); + newSeries.push(newSerie); + this.series.resetSeries(false); + this.updateHelpers.revertDefaultAxisMinMax(); + return this.updateHelpers._updateSeries(newSeries, animate, overwriteInitialSeries); + } + /** + * Allows users to append Data to series. + * + * @param {array} newData - New data in the same format as series + */ + + }, { + key: "appendData", + value: function appendData(newData) { + var overwriteInitialSeries = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + var me = this; + me.w.globals.dataChanged = true; + me.series.getPreviousPaths(); + var newSeries = me.w.config.series.slice(); + + for (var i = 0; i < newSeries.length; i++) { + if (newData[i] !== null && typeof newData[i] !== 'undefined') { + for (var j = 0; j < newData[i].data.length; j++) { + newSeries[i].data.push(newData[i].data[j]); + } + } + } + + me.w.config.series = newSeries; + + if (overwriteInitialSeries) { + me.w.globals.initialSeries = Utils$1.clone(me.w.config.series); + } + + return this.update(); + } + }, { + key: "update", + value: function update(options) { + var _this4 = this; + + return new Promise(function (resolve, reject) { + new Destroy(_this4.ctx).clear({ + isUpdating: true + }); + + var graphData = _this4.create(_this4.w.config.series, options); + + if (!graphData) return resolve(_this4); + + _this4.mount(graphData).then(function () { + if (typeof _this4.w.config.chart.events.updated === 'function') { + _this4.w.config.chart.events.updated(_this4, _this4.w); + } + + _this4.events.fireEvent('updated', [_this4, _this4.w]); + + _this4.w.globals.isDirty = true; + resolve(_this4); + }).catch(function (e) { + reject(e); + }); + }); + } + /** + * Get all charts in the same "group" (including the instance which is called upon) to sync them when user zooms in/out or pan. + */ + + }, { + key: "getSyncedCharts", + value: function getSyncedCharts() { + var chartGroups = this.getGroupedCharts(); + var allCharts = [this]; + + if (chartGroups.length) { + allCharts = []; + chartGroups.forEach(function (ch) { + allCharts.push(ch); + }); + } + + return allCharts; + } + /** + * Get charts in the same "group" (excluding the instance which is called upon) to perform operations on the other charts of the same group (eg., tooltip hovering) + */ + + }, { + key: "getGroupedCharts", + value: function getGroupedCharts() { + var _this5 = this; + + return Apex._chartInstances.filter(function (ch) { + if (ch.group) { + return true; + } + }).map(function (ch) { + return _this5.w.config.chart.group === ch.group ? ch.chart : _this5; + }); + } + }, { + key: "toggleSeries", + value: function toggleSeries(seriesName) { + return this.series.toggleSeries(seriesName); + } + }, { + key: "highlightSeriesOnLegendHover", + value: function highlightSeriesOnLegendHover(e, targetElement) { + return this.series.toggleSeriesOnHover(e, targetElement); + } + }, { + key: "showSeries", + value: function showSeries(seriesName) { + this.series.showSeries(seriesName); + } + }, { + key: "hideSeries", + value: function hideSeries(seriesName) { + this.series.hideSeries(seriesName); + } + }, { + key: "resetSeries", + value: function resetSeries() { + var shouldUpdateChart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + var shouldResetZoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + this.series.resetSeries(shouldUpdateChart, shouldResetZoom); + } // Public method to add event listener on chart context + + }, { + key: "addEventListener", + value: function addEventListener(name, handler) { + this.events.addEventListener(name, handler); + } // Public method to remove event listener on chart context + + }, { + key: "removeEventListener", + value: function removeEventListener(name, handler) { + this.events.removeEventListener(name, handler); + } + }, { + key: "addXaxisAnnotation", + value: function addXaxisAnnotation(opts) { + var pushToMemory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; + var me = this; + + if (context) { + me = context; + } + + me.annotations.addXaxisAnnotationExternal(opts, pushToMemory, me); + } + }, { + key: "addYaxisAnnotation", + value: function addYaxisAnnotation(opts) { + var pushToMemory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; + var me = this; + + if (context) { + me = context; + } + + me.annotations.addYaxisAnnotationExternal(opts, pushToMemory, me); + } + }, { + key: "addPointAnnotation", + value: function addPointAnnotation(opts) { + var pushToMemory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; + var me = this; + + if (context) { + me = context; + } + + me.annotations.addPointAnnotationExternal(opts, pushToMemory, me); + } + }, { + key: "clearAnnotations", + value: function clearAnnotations() { + var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined; + var me = this; + + if (context) { + me = context; + } + + me.annotations.clearAnnotations(me); + } + }, { + key: "removeAnnotation", + value: function removeAnnotation(id) { + var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + var me = this; + + if (context) { + me = context; + } + + me.annotations.removeAnnotation(me, id); + } + }, { + key: "getChartArea", + value: function getChartArea() { + var el = this.w.globals.dom.baseEl.querySelector('.apexcharts-inner'); + return el; + } + }, { + key: "getSeriesTotalXRange", + value: function getSeriesTotalXRange(minX, maxX) { + return this.coreUtils.getSeriesTotalsXRange(minX, maxX); + } + }, { + key: "getHighestValueInSeries", + value: function getHighestValueInSeries() { + var seriesIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + var range = new Range(this.ctx); + return range.getMinYMaxY(seriesIndex).highestY; + } + }, { + key: "getLowestValueInSeries", + value: function getLowestValueInSeries() { + var seriesIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + var range = new Range(this.ctx); + return range.getMinYMaxY(seriesIndex).lowestY; + } + }, { + key: "getSeriesTotal", + value: function getSeriesTotal() { + return this.w.globals.seriesTotals; + } + }, { + key: "toggleDataPointSelection", + value: function toggleDataPointSelection(seriesIndex, dataPointIndex) { + return this.updateHelpers.toggleDataPointSelection(seriesIndex, dataPointIndex); + } + }, { + key: "zoomX", + value: function zoomX(min, max) { + this.ctx.toolbar.zoomUpdateOptions(min, max); + } + }, { + key: "setLocale", + value: function setLocale(localeName) { + this.localization.setCurrentLocaleValues(localeName); + } + }, { + key: "dataURI", + value: function dataURI(options) { + var exp = new Exports(this.ctx); + return exp.dataURI(options); + } + }, { + key: "exportToCSV", + value: function exportToCSV() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var exp = new Exports(this.ctx); + return exp.exportToCSV(options); + } + }, { + key: "paper", + value: function paper() { + return this.w.globals.dom.Paper; + } + }, { + key: "_parentResizeCallback", + value: function _parentResizeCallback() { + if (this.w.globals.animationEnded && this.w.config.chart.redrawOnParentResize) { + this._windowResize(); + } + } + /** + * Handle window resize and re-draw the whole chart. + */ + + }, { + key: "_windowResize", + value: function _windowResize() { + var _this6 = this; + + clearTimeout(this.w.globals.resizeTimer); + this.w.globals.resizeTimer = window.setTimeout(function () { + _this6.w.globals.resized = true; + _this6.w.globals.dataChanged = false; // we need to redraw the whole chart on window resize (with a small delay). + + _this6.ctx.update(); + }, 150); + } + }, { + key: "_windowResizeHandler", + value: function _windowResizeHandler() { + var redraw = this.w.config.chart.redrawOnWindowResize; + + if (typeof redraw === 'function') { + redraw = redraw(); + } + + redraw && this._windowResize(); + } + }], [{ + key: "getChartByID", + value: function getChartByID(id) { + var chartId = Utils$1.escapeString(id); + + var c = Apex._chartInstances.filter(function (ch) { + return ch.id === chartId; + })[0]; + + return c && c.chart; + } + /** + * Allows the user to provide data attrs in the element and the chart will render automatically when this method is called by searching for the elements containing 'data-apexcharts' attribute + */ + + }, { + key: "initOnLoad", + value: function initOnLoad() { + var els = document.querySelectorAll('[data-apexcharts]'); + + for (var i = 0; i < els.length; i++) { + var el = els[i]; + var options = JSON.parse(els[i].getAttribute('data-options')); + var apexChart = new ApexCharts(el, options); + apexChart.render(); + } + } + /** + * This static method allows users to call chart methods without necessarily from the + * instance of the chart in case user has assigned chartID to the targeted chart. + * The chartID is used for mapping the instance stored in Apex._chartInstances global variable + * + * This is helpful in cases when you don't have reference of the chart instance + * easily and need to call the method from anywhere. + * For eg, in React/Vue applications when you have many parent/child components, + * and need easy reference to other charts for performing dynamic operations + * + * @param {string} chartID - The unique identifier which will be used to call methods + * on that chart instance + * @param {function} fn - The method name to call + * @param {object} opts - The parameters which are accepted in the original method will be passed here in the same order. + */ + + }, { + key: "exec", + value: function exec(chartID, fn) { + var chart = this.getChartByID(chartID); + if (!chart) return; // turn on the global exec flag to indicate this method was called + + chart.w.globals.isExecCalled = true; + var ret = null; + + if (chart.publicMethods.indexOf(fn) !== -1) { + for (var _len = arguments.length, opts = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + opts[_key - 2] = arguments[_key]; + } + + ret = chart[fn].apply(chart, opts); + } + + return ret; + } + }, { + key: "merge", + value: function merge(target, source) { + return Utils$1.extend(target, source); + } + }]); + + return ApexCharts; + }(); + + return ApexCharts$1; + +})); diff --git a/bin/main/static/tabler/dist/libs/apexcharts/dist/apexcharts.min.js b/bin/main/static/tabler/dist/libs/apexcharts/dist/apexcharts.min.js new file mode 100644 index 0000000..2154ac6 --- /dev/null +++ b/bin/main/static/tabler/dist/libs/apexcharts/dist/apexcharts.min.js @@ -0,0 +1,14 @@ +/*! + * ApexCharts v3.40.0 + * (c) 2018-2023 ApexCharts + * Released under the MIT License. + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){"use strict";function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function e(e){for(var i=1;it.length)&&(e=t.length);for(var i=0,a=new Array(e);i>16,o=i>>8&255,n=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:"bind",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:"isObject",value:function(t){return t&&"object"===i(t)&&!Array.isArray(t)&&null!=t}},{key:"is",value:function(t,e){return Object.prototype.toString.call(e)==="[object "+t+"]"}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;ee.length?t:e}))),t.length>e.length?t:e}),0)}},{key:"hexToRgba",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==t.substring(0,1)&&(t="#999999");var i=t.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"x",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,e)}},{key:"negToZero",value:function(t){return t<0?0:t}},{key:"moveIndexInArray",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:"extractNumber",value:function(t){return parseFloat(t.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:"setELstyles",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:"isNumber",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:"isFloat",value:function(t){return Number(t)===t&&t%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var a=t.indexOf("Edge/");return a>0&&parseInt(t.substring(a+5,t.indexOf(".",a)),10)}}]),t}(),b=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return r(t,[{key:"setEasingFunctions",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case"linear":t="-";break;case"easein":t="<";break;case"easeout":t=">";break;case"easeinout":default:t="<>";break;case"swing":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case"bounce":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case"elastic":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=t}}},{key:"animateLine",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:"animateMarker",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:"animateCircle",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:"animateRect",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:"animatePathsGradually",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&"bar"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,"line"!==h.config.chart.type||h.globals.comboCharts?s:"stroke",r,o,n,l*c)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach((function(t){t.el.classList.remove("apexcharts-element-hidden")}))}},{key:"animationCompleted",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),"function"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:"morphSVG",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr("pathFrom")),r||(r=t.attr("pathTo"));var c=function(t){return"radar"===h.config.chart.type&&(o=1),"M 0 ".concat(h.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=c()),(!r||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){x.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):"none"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),v=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getDefaultFilter",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size("120%","180%","-5%","-40%"),"none"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addNormalFilter",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains("apexcharts-marker")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addLightenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"addDarkenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"applyFilter",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(t,e);break;case"lighten":this.addLightenFilter(t,e,{intensity:a});break;case"darken":this.addDarkenFilter(t,e,{intensity:a})}}},{key:"addShadow",value:function(t,e,i){var a=i.blur,s=i.top,r=i.left,o=i.color,n=i.opacity,l=t.flood(Array.isArray(o)?o[e]:o,n).composite(t.sourceAlpha,"in").offset(r,s).gaussianBlur(a).merge(t.source);return t.blend(t.source,l)}},{key:"dropShadow",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.top,s=e.left,r=e.blur,o=e.color,n=e.opacity,l=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),x.isIE()&&"radialBar"===h.config.chart.type||(o=Array.isArray(o)?o[i]:o,t.filter((function(t){var e=null;e=x.isSafari()||x.isFirefox()||x.isIE()?t.flood(o,n).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r):t.flood(o,n).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r).merge(t.source),t.blend(t.source,e)})),l||t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)),t}},{key:"setSelectionFilter",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute("selected",!0);var s=a.config.states.active.filter;"none"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:"_scaleFilterSize",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),t}(),m=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"roundPathCorners",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,o=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/o))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf("NaN")>-1&&(t="");var o=t.split(/[,\s]/).reduce((function(t,e){var i=e.match("([a-zA-Z])(.+)");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),n=[];if(o.length>1){var l=r(o[0]),h=null;"Z"==o[o.length-1][0]&&o[0].length>2&&(h=["L",l.x,l.y],o[o.length-1]=h),n.push(o[0]);for(var c=1;c2&&"L"==g[0]&&u.length>2&&"L"==u[0]){var p,f,x=r(d),b=r(g),v=r(u);p=i(b,x,e),f=i(b,v,e),s(g,p),g.origPoint=b,n.push(g);var m=a(p,b,.5),y=a(b,f,.5),w=["C",m.x,m.y,y.x,y.y,f.x,f.y];w.origPoint=b,n.push(w)}else n.push(g)}if(h){var k=r(n[n.length-1]);n.push(["Z"]),s(n[0],k)}}else n=o;return n.reduce((function(t,e){return t+e.join(" ")+" "}),"")}},{key:"drawLine",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":o,"stroke-linecap":n})}},{key:"drawRect",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#fefefe",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,"stroke-width":null!==n?n:0,stroke:null!==l?l:"none","stroke-dasharray":h}),c.node.setAttribute("fill",r),c}},{key:"drawPolygon",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,"stroke-width":i})}},{key:"drawCircle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:"drawPath",value:function(t){var e=t.d,i=void 0===e?"":e,a=t.stroke,s=void 0===a?"#a8a8a8":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,p=void 0===u?null:u,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,"fill-opacity":h,stroke:s,"stroke-opacity":d,"stroke-linecap":p,"stroke-width":o,"stroke-dasharray":x,class:g})}},{key:"group",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:"move",value:function(t,e){var i=["M",t,e].join(" ");return i}},{key:"line",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[" L",t,e].join(" "):"H"===i?a=[" H",t].join(" "):"V"===i&&(a=[" V",e].join(" ")),a}},{key:"curve",value:function(t,e,i,a,s,r){var o=["C",t,e,i,a,s,r].join(" ");return o}},{key:"quadraticCurve",value:function(t,e,i,a){return["Q",t,e,i,a].join(" ")}},{key:"arc",value:function(t,e,i,a,s,r,o){var n="A";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(n="a");var l=[n,t,e,i,a,s,r,o].join(" ");return l}},{key:"renderPaths",value:function(t){var i,a=t.j,s=t.realIndex,r=t.pathFrom,o=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,p=t.className,f=t.shouldClipToGrid,x=void 0===f||f,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new v(this.ctx),C=new b(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,I=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);I?i=r:(i=o,A.globals.animationEnded=!0);var T=A.config.stroke.dashArray,M=0;M=Array.isArray(T)?T[s]:A.config.stroke.dashArray;var X=this.drawPath({d:i,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:M});if(X.attr("index",s),x&&X.attr({"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")}),"none"!==A.config.states.normal.filter.type)S.getDefaultFilter(X,s);else if(A.config.chart.dropShadow.enabled&&k&&(!A.config.chart.dropShadow.enabledOnSeries||A.config.chart.dropShadow.enabledOnSeries&&-1!==A.config.chart.dropShadow.enabledOnSeries.indexOf(s))){var z=A.config.chart.dropShadow;S.dropShadow(X,z,s)}y&&(X.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,X)),X.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,X)),X.node.addEventListener("mousedown",this.pathMouseDown.bind(this,X))),X.attr({pathTo:o,pathFrom:r});var E={el:X,j:a,realIndex:s,pathFrom:r,pathTo:o,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(e(e({},E),{},{speed:g})),A.globals.dataChanged&&P&&I&&C.animatePathsGradually(e(e({},E),{},{speed:u})),X}},{key:"drawPattern",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){"horizontalLines"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):"verticalLines"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):"slantedLines"===t?r.line(0,0,e,i).stroke({color:a,width:s}):"squares"===t?r.rect(e,i).fill("none").stroke({color:a,width:s}):"circles"===t&&r.circle(e).fill("none").stroke({color:a,width:s})}))}},{key:"drawGradient",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf("#")&&(e=x.hexToRgba(e,a)),i.length<9&&0===i.indexOf("#")&&(i=x.hexToRgba(i,s));var d=0,g=1,u=1,p=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,p=void 0!==n[3]?n[3]/100:null);var f=!("donut"!==c.config.chart.type&&"pie"!==c.config.chart.type&&"polarArea"!==c.config.chart.type&&"bubble"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==p&&t.at(p,e,a)})):c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),f){var b=c.globals.gridWidth/2,v=c.globals.gridHeight/2;"bubble"!==c.config.chart.type?r.attr({gradientUnits:"userSpaceOnUse",cx:b,cy:v,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else"vertical"===t?r.from(0,0).to(0,1):"diagonal"===t?r.from(0,0).to(1,1):"horizontal"===t?r.from(0,1).to(1,1):"diagonal2"===t&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(".apexcharts-series path").members,h=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute("selected","false"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute("selected","true"),o="true",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if("true"===o){var d=i.config.states.active.filter;if("none"!==d)a.applyFilter(t,s,d.type,d.value);else if("none"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if("none"!==i.config.states.active.filter.type)if("none"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent("dataPointSelection",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(t){var e={};return t&&"function"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:"getTextRects",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:"start",fontSize:e,fontFamily:i,foreColor:"#fff",opacity:0});a&&o.attr("transform",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:"placeTextWithEllipsis",value:function(t,e,i){if("function"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+"...");t.textContent="."}}}],[{key:"setAttrs",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),y=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getStackedSeriesTotals",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:"isSeriesNull",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:"seriesHaveSameValues",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:"getCategoryLabels",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:"getLargestSeries",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:"getLargestMarkerSize",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:"getSeriesTotals",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]0&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:"extendArrayProps",value:function(t,e,i){return e.yaxis&&(e=t.extendYAxis(e,i)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}]),t}(),w=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e}return r(t,[{key:"setOrientations",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if("vertical"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4),"top"===t.label.position?s.setAttribute("y",parseFloat(s.getAttribute("y"))+r.width):s.setAttribute("y",parseFloat(s.getAttribute("y"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute("transform","rotate(-90 ".concat(n," ").concat(l,")"))}}}},{key:"addBackgroundToAnno",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;"vertical"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:"annotationsBackground",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(a,"']"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener("mouseenter",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener("mouseleave",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener("click",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,"xaxis")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,"yaxis")})),e.config.annotations.points.map((function(t,e){i(t,e,"point")}))}},{key:"getY1Y2",value:function(t,e){var i,a="y1"===t?e.y:e.y2,s=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels.indexOf(a);s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels.indexOf(a));var o=s.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(r+1)+")");o&&(i=parseFloat(o.getAttribute("y")))}else{var n;if(s.config.yaxis[e.yAxisIndex].logarithmic)n=(a=new y(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex];else n=(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight);i=s.globals.gridHeight-n,!e.marker||void 0!==e.y&&null!==e.y||(i=0),s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=n)}return"string"==typeof a&&a.indexOf("px")>-1&&(i=parseFloat(a)),i}},{key:"getX1X2",value:function(t,e){var i=this.w,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,s=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,r=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=(e.x-a)/(r/i.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(o=(s-e.x)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(o=this.getStringX(e.x));var n=(e.x2-a)/(r/i.globals.gridWidth);return this.annoCtx.inversedReversedAxis&&(n=(s-e.x2)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(n=this.getStringX(e.x2)),void 0!==e.x&&null!==e.x||!e.marker||(o=i.globals.gridWidth),"x1"===t&&"string"==typeof e.x&&e.x.indexOf("px")>-1&&(o=parseFloat(e.x)),"x2"===t&&"string"==typeof e.x2&&e.x2.indexOf("px")>-1&&(n=parseFloat(e.x2)),"x1"===t?o:n}},{key:"getStringX",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(a+1)+")");return s&&(i=parseFloat(s.getAttribute("x"))),i}}]),t}(),k=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addXaxisAnnotation",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2("x1",t),o=t.label.text,n=t.strokeDashArray;if(x.isNumber(r)){if(null===t.x2||void 0===t.x2){var l=this.annoCtx.graphics.drawLine(r+t.offsetX,0+t.offsetY,r+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,n,t.borderWidth);e.appendChild(l.node),t.id&&l.node.classList.add(t.id)}else{if((a=this.helpers.getX1X2("x2",t))o){var h=o;o=a,a=h}var c=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);c.node.classList.add("apexcharts-annotation-rect"),c.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d="right"===t.label.position?s.globals.gridWidth:"center"===t.label.position?s.globals.gridWidth/2:0,g=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});g.attr({rel:i}),e.appendChild(g.node)}},{key:"_getYAxisAnnotationWidth",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf("%")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:"drawYAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),S=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addPointAnnotation",value:function(t,e,i){this.w;var a=this.helpers.getX1X2("x1",t),s=this.helpers.getY1Y2("y1",t);if(x.isNumber(a)){var r={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:"apexcharts-point-annotation-marker ".concat(t.marker.cssClass," ").concat(t.id?t.id:"")},o=this.annoCtx.graphics.drawMarker(a+t.marker.offsetX,s+t.marker.offsetY,r);e.appendChild(o.node);var n=t.label.text?t.label.text:"",l=this.annoCtx.graphics.drawText({x:a+t.label.offsetX,y:s+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});if(l.attr({rel:i}),e.appendChild(l.node),t.customSVG.SVG){var h=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+t.customSVG.cssClass});h.attr({transform:"translate(".concat(a+t.customSVG.offsetX,", ").concat(s+t.customSVG.offsetY,")")}),h.node.innerHTML=t.customSVG.SVG,e.appendChild(h.node)}if(t.image.path){var c=t.image.width?t.image.width:20,d=t.image.height?t.image.height:20;o=this.annoCtx.addImage({x:a+t.image.offsetX-c/2,y:s+t.image.offsetY-d/2,width:c,height:d,path:t.image.path,appendTo:".apexcharts-point-annotations"})}t.mouseEnter&&o.node.addEventListener("mouseenter",t.mouseEnter.bind(this,t)),t.mouseLeave&&o.node.addEventListener("mouseleave",t.mouseLeave.bind(this,t)),t.click&&o.node.addEventListener("click",t.click.bind(this,t))}}},{key:"drawPointAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var C={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},L=function(){function t(){a(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,radius:2,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return r(t,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:"easeinout",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"transparent",locales:[C],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0},stacked:!1,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",dateFormatter:function(t){return new Date(t).toDateString()}},png:{filename:void 0},svg:{filename:void 0}},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+"%"}}}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:"#fff",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:2},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",width:8,height:8,radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:"none",value:0}},hover:{filter:{type:"lighten",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken",value:.5}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"light",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),t}(),P=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.graphics=new m(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new w(this),this.xAxisAnnotations=new k(this),this.yAxisAnnotations=new A(this),this.pointsAnnotations=new S(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return r(t,[{key:"drawAxesAnnotations",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||"scatter"!==t.config.chart.type&&"bubble"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add("apexcharts-element-hidden"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:"drawTextAnnos",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:"addXaxisAnnotation",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:"addYaxisAnnotation",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:"addPointAnnotation",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:"addText",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?".apexcharts-annotations":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:n||"12px",fontWeight:h||"regular",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),I=L.globals.dom.baseEl.querySelector(b);I&&I.appendChild(P.node);var T=P.bbox();if(s){var M=this.graphics.drawRect(T.x-m,T.y-C,T.width+m+w,T.height+A+C,p,d||"transparent",1,g,f,u);I.insertBefore(M.node,P.node)}}},{key:"addImage",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?".apexcharts-annotations":g,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,n);var f=i.globals.dom.baseEl.querySelector(u);return f&&f.appendChild(p.node),p}},{key:"addXaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),h=l.childNodes.length+1,c=new L,d=Object.assign({},"xaxis"===s?c.xAxisAnnotation:"yaxis"===s?c.yAxisAnnotation:c.pointAnnotation),g=x.extend(d,e);switch(s){case"xaxis":this.addXaxisAnnotation(g,l,h);break;case"yaxis":this.addYaxisAnnotation(g,l,h);break;case"point":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(h,"']")),p=this.helpers.addBackgroundToAnno(u,g);return p&&l.insertBefore(p.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:x.randomId(),method:r,label:"addAnnotation",params:e}),a}},{key:"clearAnnotations",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations");e.globals.memory.methodsToExec.map((function(t,i){"addText"!==t.label&&"addAnnotation"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=x.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:"removeAnnotation",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),I=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return r(t,[{key:"isValidDate",value:function(t){return!isNaN(this.parseDate(t))}},{key:"getTimeStamp",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:"getDate",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:"parseDate",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "));return i=this.getTimeStamp(i)}},{key:"parseDateWithTimezone",value:function(t){return Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "))}},{key:"formatDate",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=["\0"].concat(u(i.months)),r=["\x01"].concat(u(i.shortMonths)),o=["\x02"].concat(u(i.days)),n=["\x03"].concat(u(i.shortDays));function l(t,e){var i=t+"";for(e=e||2;i.length12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\])HH+/g,"$1"+l(g))).replace(/(^|[^\\])H/g,"$1"+g)).replace(/(^|[^\\])hh+/g,"$1"+l(p))).replace(/(^|[^\\])h/g,"$1"+p);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\])mm+/g,"$1"+l(f))).replace(/(^|[^\\])m/g,"$1"+f);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\])ss+/g,"$1"+l(x))).replace(/(^|[^\\])s/g,"$1"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\])fff+/g,"$1"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\])ff/g,"$1"+l(b)),b=Math.round(b/10);var v=g<12?"AM":"PM";e=(e=(e=e.replace(/(^|[^\\])f/g,"$1"+b)).replace(/(^|[^\\])TT+/g,"$1"+v)).replace(/(^|[^\\])T/g,"$1"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\])tt+/g,"$1"+m)).replace(/(^|[^\\])t/g,"$1"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?"Z":y>0?"+":"-";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+":"+l(k)}e=e.replace(/(^|[^\\])K/g,"$1"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],"g"),o[A])).replace(new RegExp(n[0],"g"),n[A])).replace(new RegExp(s[0],"g"),s[c])).replace(new RegExp(r[0],"g"),r[c])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" "),n=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:"isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"calculcateLastDaysOfMonth",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:"determineDaysOfYear",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:"determineRemainingDaysOfYear",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(t,e){var i=30;switch(t=x.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),T=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return r(t,[{key:"xLabelFormat",value:function(t,e,i,a){var s=this.w;if("datetime"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new I(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:"defaultGeneralFormatter",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:"defaultYFormatter",value:function(t,e,i){var a=this.w;return x.isNumber(t)&&(t=0!==a.globals.yValueDecimal?t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal):a.globals.maxYArr[i]-a.globals.minYArr[i]<5?t.toFixed(1):t.toFixed(0)),t}},{key:"setLabelFormatters",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(x.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&"numeric"===e.config.xaxis.type){if(x.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},"function"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,"function"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:"heatmapLabelFormatters",value:function(){var t=this.w;if("heatmap"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),M=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,o=t.y1,n=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],g=l.config.series[s].name?l.config.series[s].name:"",u=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};("function"==typeof p&&(g=p(g,f)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||"datetime"===l.config.xaxis.type&&(d=new T(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new I(a).formatDate,w:l}));"function"==typeof u&&(d=u(d,f)),Number.isFinite(o)&&Number.isFinite(n)&&(h=o,c=n);var x="",b="",v=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if("datetime"===l.config.xaxis.type){var m=new I(a);x=m.formatDate(m.getDate(h),l.config.tooltip.x.format),b=m.formatDate(m.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:v,seriesName:g}},X=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,o=t.seriesIndex,n=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(o);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[o][n]),c='\n '.concat(s,'\n - \n ').concat(r,"\n ");return'
'+(i||"")+'
'+a+": "+(t.w.globals.comboCharts?"rangeArea"===t.w.config.series[o].type||"rangeBar"===t.w.config.series[o].type?c:"".concat(h,""):c)+"
"},z=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(t){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0;return x.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"candlestick",value:function(){var t=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:5,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?"rangeBar"===s.config.series[i].type||"rangeArea"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var i=M(e(e({},t),{},{isTimeline:!0})),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t):function(t){var i=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var i=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}}}}},{key:"brush",value:function(t){return x.extend(t,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),"bar"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return"number"==typeof t&&t?t.toFixed(0)+"%":t}),t}},{key:"stackedBars",value:function(){var t=this.bar();return e(e({},t),{},{plotOptions:e(e({},t.plotOptions),{},{bar:e(e({},t.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:"convertCatToNumericXaxis",value:function(t,e,i){t.xaxis.type="numeric",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return x.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return x.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||"dataPoints",t}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"polarArea",value:function(){return this.opts.yaxis[0].tickAmount=this.opts.yaxis[0].tickAmount?this.opts.yaxis[0].tickAmount:6,{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:"_getBoxTooltip",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\n '.concat(t.config.series[e].name?t.config.series[e].name:"series-"+(e+1),": ").concat(t.globals.series[e][i],"\n
"):'
')+"
".concat(a[0],': ')+r+"
"+"
".concat(a[1],': ')+o+"
"+(n?"
".concat(a[2],': ')+n+"
":"")+"
".concat(a[3],': ')+l+"
"+"
".concat(a[4],': ')+h+"
"}}]),t}(),E=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(t){var e=t.responsiveOverride,a=this.opts,s=new L,r=new z(a);this.chartType=a.chart.type,a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&"object"===i(a)){var l,h,c,d,g,u,p={};p=-1!==["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),a.chart.stacked&&"bar"===a.chart.type&&(p=r.stackedBars()),null!==(l=a.chart.brush)&&void 0!==l&&l.enabled&&(p=r.brush(p)),a.chart.stacked&&"100%"===a.chart.stackType&&(a=r.stacked100(a)),null!==(h=a.plotOptions)&&void 0!==h&&null!==(c=h.bar)&&void 0!==c&&c.isDumbbell&&(a=r.dumbbell(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},e||(a.xaxis.convertedCatToNumeric=!1),(null!==(d=(a=this.checkForCatToNumericXAxis(this.chartType,p,a)).chart.sparkline)&&void 0!==d&&d.enabled||null!==(g=window.Apex.chart)&&void 0!==g&&null!==(u=g.sparkline)&&void 0!==u&&u.enabled)&&(p=r.sparkline(p)),n=x.extend(o,p)}var f=x.extend(n,window.Apex);return o=x.extend(f,a),o=this.handleUserInputErrors(o)}},{key:"checkForCatToNumericXAxis",value:function(t,e,i){var a,s,r=new z(i),o=("bar"===t||"boxPlot"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),n="pie"===t||"polarArea"===t||"donut"===t||"radar"===t||"radialBar"===t||"heatmap"===t,l="datetime"!==i.xaxis.type&&"numeric"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return o||n||!l||"between"===h||(i=r.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(t,e){var i=new L;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=x.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[x.extend(i.yAxis,t.yaxis)]:t.yaxis=x.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name="series-".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=x.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both."),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new L;return t.annotations.yaxis=x.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new L;return t.annotations.xaxis=x.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new L;return t.annotations.points=x.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.chart.background||(t.chart.background="#424242"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if("bar"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&"barWidth"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width="tickWidth"),"candlestick"!==e.chart.type&&"boxPlot"!==e.chart.type||e.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(e.chart.type," chart is not supported.")),e.yaxis[0].reversed=!1),e}}]),t}(),Y=function(){function t(){a(this,t)}return r(t,[{key:"initGlobalVars",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0}},{key:"globalVars",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],yAxisSameScaleIndices:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:"zoom"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:"pan"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:"selection"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null}}},{key:"init",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=x.extend({},t),e.initialSeries=x.clone(t.series),e.lastXAxis=x.clone(e.initialConfig.xaxis),e.lastYAxis=x.clone(e.initialConfig.yaxis),e}}]),t}(),F=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(){var t=new E(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new Y).init(t)}}}]),t}(),R=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return r(t,[{key:"clippedImgArea",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,"pattern");m.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:"userSpaceOnUse",width:n+"px",height:l+"px"});var c=document.createElementNS(e.globals.SVGNS,"image");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,"href",o),m.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:n+"px",height:l+"px"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:"getSeriesIndex",value:function(t){var e=this.w;return("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||"heatmap"===e.config.chart.type||"treemap"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),"function"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=t.fillType?t.fillType:this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color);var h=o;if(-1===o.indexOf("rgb")?o.length<9&&(h=x.hexToRgba(o,l)):o.indexOf("rgba")>-1&&(l=x.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),"pattern"===n&&(a=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:a,fillColor:o,fillOpacity:l,defaultColor:h})),"gradient"===n&&(s=this.handleGradientFill({fillConfig:t.fillConfig,fillColor:o,fillOpacity:l,i:this.seriesIndex})),"image"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:"";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(u=x.getOpacityFromRGBA(g));var p=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[r]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)n="dark"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?x.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?x.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var f=o.gradient.gradientToColors[l.seriesNumber];n=f,f.indexOf("rgba")>-1&&(p=x.getOpacityFromRGBA(f))}else n=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(n=o.gradient.gradientTo),o.gradient.inverseColors){var b=g;g=n,n=b}return g.indexOf("rgb")>-1&&(g=x.rgb2hex(g)),n.indexOf("rgb")>-1&&(n=x.rgb2hex(n)),h.drawGradient(d,g,n,u,p,l.size,o.gradient.stops,o.gradient.colorStops,r)}}]),t}(),D=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"setGlobalMarkerSize",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new m(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(o.globals.cuid,")")),Array.isArray(l.x))for(var g=0;g0:o.config.markers.size>0)||r||d){x.isNumber(l.y[g])?p+=" w".concat(x.randomId()):p="apexcharts-nullpoint";var f=this.getMarkerConfig({cssClass:p,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(f.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(f.pointStrokeColor=o.config.series[n].data[u].strokeColor)),a&&(f.pSize=a),(l.x[g]<0||l.x[g]>o.globals.gridWidth||l.y[g]<0||l.y[g]>o.globals.gridHeight)&&(f.pSize=0),(s=c.drawMarker(l.x[g],l.y[g],f)).attr("rel",u),s.attr("j",u),s.attr("index",e),s.node.setAttribute("default-marker-size",f.pSize),new v(this.ctx).setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:"getMarkerConfig",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.finishRadius,o=void 0===r?null:r,n=this.w,l=this.getMarkerStyle(i),h=n.globals.markers.size[i],c=n.config.markers;return null!==s&&c.discrete.length&&c.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,h=t.size,l.pointShape=t.shape)})),{pSize:null===o?h:o,pRadius:c.radius,width:Array.isArray(c.width)?c.width[i]:c.width,height:Array.isArray(c.height)?c.height[i]:c.height,pointStrokeWidth:Array.isArray(c.strokeWidth)?c.strokeWidth[i]:c.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(c.shape)?c.shape[i]:c.shape),class:e,pointStrokeOpacity:Array.isArray(c.strokeOpacity)?c.strokeOpacity[i]:c.strokeOpacity,pointStrokeDashArray:Array.isArray(c.strokeDashArray)?c.strokeDashArray[i]:c.strokeDashArray,pointFillOpacity:Array.isArray(c.fillOpacity)?c.fillOpacity[i]:c.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(t){var e=this.w,i=new m(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener("click",e.config.markers.onClick),t.node.addEventListener("dblclick",e.config.markers.onDblClick),t.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:"getMarkerStyle",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),H=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled}return r(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(h.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),Array.isArray(o.x))for(var c=0;cf.maxBubbleRadius&&(p=f.maxBubbleRadius)}a.config.chart.animations.enabled||(u=p);var x=o.x[c],b=o.y[c];if(u=u||0,null!==b&&void 0!==a.globals.series[r][d]||(g=!1),g){var v=this.drawPoint(x,b,u,p,r,d,e);h.add(v)}l.add(h)}}},{key:"drawPoint",value:function(t,e,i,a,s,r,o){var n=this.w,l=s,h=new b(this.ctx),c=new v(this.ctx),d=new R(this.ctx),g=new D(this.ctx),u=new m(this.ctx),p=g.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:l,dataPointIndex:r,finishRadius:"bubble"===n.config.chart.type||n.globals.comboCharts&&n.config.series[s]&&"bubble"===n.config.series[s].type?a:null});a=p.pSize;var f,x=d.fillPath({seriesNumber:s,dataPointIndex:r,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[s][o]});if("circle"===p.shape?f=u.drawCircle(i):"square"!==p.shape&&"rect"!==p.shape||(f=u.drawRect(0,0,p.width-p.pointStrokeWidth/2,p.height-p.pointStrokeWidth/2,p.pRadius)),n.config.series[l].data[r]&&n.config.series[l].data[r].fillColor&&(x=n.config.series[l].data[r].fillColor),f.attr({x:t-p.width/2-p.pointStrokeWidth/2,y:e-p.height/2-p.pointStrokeWidth/2,cx:t,cy:e,fill:x,"fill-opacity":p.pointFillOpacity,stroke:p.pointStrokeColor,r:a,"stroke-width":p.pointStrokeWidth,"stroke-dasharray":p.pointStrokeDashArray,"stroke-opacity":p.pointStrokeOpacity}),n.config.chart.dropShadow.enabled){var y=n.config.chart.dropShadow;c.dropShadow(f,y,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var w=n.config.chart.animations.speed;h.animateMarker(f,0,"circle"===p.shape?a:{width:p.width,height:p.height},w,n.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(f)}),100)}))}if(n.globals.dataChanged&&"circle"===p.shape)if(this.dynamicAnim){var k,A,S,C,L=n.config.chart.animations.dynamicAnimation.speed;null!=(C=n.globals.previousPaths[s]&&n.globals.previousPaths[s][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var P=0;Pn.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var p=n.globals.dataLabelsRects[a][u];(t>p.x+p.width+2||e>p.y+p.height+2||t+ce.globals.gridWidth+f.textRects.width+10)&&(n="");var x=e.globals.dataLabels.style.colors[r];(("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(x=e.globals.dataLabels.style.colors[o]),"function"==typeof x&&(x=x({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(x=g);var b=d.offsetX,y=d.offsetY;if("bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||(b=0,y=0),f.drawnextLabel){var w=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+b,y:s+y,foreColor:x,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||"normal"});if(w.attr({class:"apexcharts-datalabel",cx:a,cy:s}),d.dropShadow.enabled){var k=d.dropShadow;new v(this.ctx).dropShadow(w,k)}c.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}}}},{key:"addBackgroundToDataLabel",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new m(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,"transparent"===i.config.chart.background?"#fff":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new v(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:"dataLabelsBackground",value:function(){var t=this.w;if("bubble"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=x.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:"toggleSeriesOnHover",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels");if("mousemove"===t.type){var s=parseInt(e.getAttribute("rel"),10)-1,r=null,o=null;i.globals.axisCharts||"radialBar"===i.config.chart.type?i.globals.axisCharts?(r=i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(s,"']")),o=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(s,"']"))):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']")):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var n=0;n=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[o])}else"mouseout"===t.type&&r("remove")}},{key:"getActiveConfigSeriesIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"asc",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r="asc"===t?0:s.length-1;"asc"===t?r=0;"asc"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return"bar"===t.type||"column"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:"getPreviousPaths",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute("data:realIndex")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(e,"'] rect")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e("x")),y:parseFloat(e("y")),width:parseFloat(e("width")),height:parseFloat(e("height"))};a.push({rect:s,color:i[t].getAttribute("color")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),W=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new y(this.ctx)}return r(t,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var t=this.w.config.series.slice(),e=new N(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new N(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s="boxPlot"===i.chart.type||"boxPlot"===i.series[e].type,r=0;r=5?this.twoDSeries.push(x.parseNumber(t[e].data[r][4])):this.twoDSeries.push(x.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,s=this.w.config,r=this.w.globals,o=new I(a),n=s.labels.length>0?s.labels.slice():s.xaxis.categories.slice();if(r.isRangeBar="rangeBar"===s.chart.type&&r.isBarHorizontal,r.hasXaxisGroups="category"===s.xaxis.type&&s.xaxis.group.groups.length>0,r.hasXaxisGroups&&(r.groups=s.xaxis.group.groups),r.hasSeriesGroups=null===(e=t[0])||void 0===e?void 0:e.group,r.hasSeriesGroups){var l=[],h=u(new Set(t.map((function(t){return t.group}))));t.forEach((function(t,e){var i=h.indexOf(t.group);l[i]||(l[i]=[]),l[i].push(t.name)})),r.seriesGroups=l}for(var c=function(){for(var t=0;t0&&(this.twoDSeriesX=n,r.seriesX.push(this.twoDSeriesX))),r.labels.push(this.twoDSeriesX);var g=t[d].data.map((function(t){return x.parseNumber(t)}));r.series.push(g)}r.seriesZ.push(this.threeDSeries),void 0!==t[d].name?r.seriesNames.push(t[d].name):r.seriesNames.push("series-"+parseInt(d+1,10)),void 0!==t[d].color?r.seriesColors.push(t[d].color):r.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=i.labels.filter((function(t,e,i){return i.indexOf(t)===e}))),e.xaxis.convertedCatToNumeric)new z(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:"_generateExternalLabels",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?"":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new T(this.ctx),p=l;o&&(h=u.xLabelFormat(c,l,p,{i:a,dateFormatter:new I(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new I(this.ctx).formatDate,w:n})));var f,x;e.length>0?(f=e[a].unit,x=null,e.forEach((function(t){"month"===t.unit?x="year":"day"===t.unit?x="month":"hour"===t.unit?x="day":"minute"===t.unit&&(x="hour")})),g=x===f,i=e[a].position,h=e[a].value):"datetime"===n.config.xaxis.type&&void 0===d&&(h=""),void 0===h&&(h=""),h=Array.isArray(h)?h:h.toString();var b=new m(this.ctx),v={};v=n.globals.rotateXLabels&&o?b.getTextRects(h,parseInt(r,10),null,"rotate(".concat(n.config.xaxis.labels.rotate," 0 0)"),!1):b.getTextRects(h,parseInt(r,10));var y=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(0===h.indexOf("NaN")||0===h.toLowerCase().indexOf("invalid")||h.toLowerCase().indexOf("infinity")>=0||s.indexOf(h)>=0&&y)&&(h=""),{x:i,text:h,textRect:v,isBold:g}}},{key:"checkLabelBasedOnTickamount",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return"dataPoints"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=""),e}},{key:"checkForOverflowingLabels",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=""),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.x0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+n.config.yaxis[s].labels.offsetY-1;n.globals.isBarHorizontal&&(d=r*c),"heatmap"===n.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);o.add(g),h+=r}}}}]),t}(),G=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"scaleSvgNode",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,"width")),a=parseFloat(t.getAttributeNS(null,"height"));t.setAttributeNS(null,"width",i*e),t.setAttributeNS(null,"height",a*e),t.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"fixSvgStringForIe11",value:function(t){if(!x.isIE11())return t.replace(/ /g," ");var e=0,i=t.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g,(function(t){return 2===++e?'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev"':t}));return i=(i=i.replace(/xmlns:NS\d+=""/g,"")).replace(/NS\d+:(\w+:\w+=")/g,"$1")}},{key:"getSvgString",value:function(t){null==t&&(t=1);var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:"cleanup",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=t.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(a,(function(t){t.setAttribute("width",0)})),e&&e[0]&&(e[0].setAttribute("x",-500),e[0].setAttribute("x1",-500),e[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(e)}},{key:"dataURI",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement("canvas");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o="transparent"===a.config.chart.background?"#fff":a.config.chart.background,n=r.getContext("2d");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&x.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d="data:image/svg+xml,"+encodeURIComponent(l),g=new Image;g.crossOrigin="anonymous",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL("image/png");i({imgURI:e})}},g.src=d}}))}},{key:"exportToSVG",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,".svg")}},{key:"exportToPng",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+".png"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,".png")}))}},{key:"exportToCSV",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?",":s,o=t.lineDelimiter,n=void 0===o?"\n":o,l=this.w;i||(i=l.config.series);var h=[],c=[],d="",g=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),p=Math.max.apply(Math,u(i.map((function(t){return t.data?t.data.length:0})))),f=new W(this.ctx),b=new B(this.ctx),v=function(t){var i="";if(l.globals.axisCharts){if("category"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new N(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=b.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;"datetime"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return Array.isArray(i)&&(i=i.join(" ")),x.isNumber(i)?i:i.split(r).join("")},m=function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data){t.data=t.data.length&&t.data||u(Array(p)).map((function(){return""}));for(var a=0;a=10?l.config.chart.toolbar.export.csv.dateFormatter(s):x.isNumber(s)?s:s.split(r).join("")));for(var o=0;o0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],"top"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight+1,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return r(t,[{key:"drawXaxis",value:function(){var t=this.w,e=new m(this.ctx),i=e.group({class:"apexcharts-xaxis",transform:"translate(".concat(t.config.xaxis.offsetX,", ").concat(t.config.xaxis.offsetY,")")}),a=e.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m="category"===d.config.xaxis.type?d.globals.dataPoints:v;if(0===m&&v>m&&(m=v),s){var y=m>1?m-1:m;o=d.globals.gridWidth/y,b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&"top"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&"dataPoints"!==d.config.xaxis.tickAmount&&"datetime"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-("top"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:"middle",fontWeight:y.isBold?600:f,fontSize:g,fontFamily:u,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+x});if(i.add(k),k.on("click",(function(t){if("function"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,n.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,"title");A.textContent=Array.isArray(y.text)?y.text.join(" "):y.text,k.node.appendChild(A),""!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,"top"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new m(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}return r(t,[{key:"drawGridArea",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new m(this.ctx);null===t&&(t=i.group({class:"apexcharts-grid"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(s),t.add(a),t}},{key:"drawGrid",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new m(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elForecastMask.setAttribute("id","forecastMask".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elNonForecastMask.setAttribute("id","nonForecastMask".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;("bar"===r||"rangeBar"===r||"candlestick"===r||"boxPlot"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2,e.gridWidth+a+n+o+4,e.gridHeight+a,0,"#fff");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector("defs");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||"radar"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:o,parent:n});var h=0;if(l.globals.hasXaxisGroups&&"between"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d2));s++);return!t.globals.isBarHorizontal||this.isRangeBar?(i=this.xaxisLabels.length,this.isRangeBar&&(i--,a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount)),this._drawXYLines({xCount:i,tickAmount:a})):(i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a})),this.drawGridBands(i,a),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.globals.gridWidth/i}}},{key:"drawGridBands",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:"row"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:"column"}),h+=i.globals.gridWidth/l}}]),t}(),_=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"niceScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,r=this.w,o=Math.abs(e-t);if("dataPoints"===(i=this._adjustTicksForSmallRange(i,a,o))&&(i=r.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!x.isNumber(t)&&!x.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)return t=0,e=i,this.linearScale(t,e,i);t>e?(console.warn("axis.min cannot be greater than axis.max"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var n=[];o<1&&s&&("candlestick"===r.config.chart.type||"candlestick"===r.config.series[a].type||"boxPlot"===r.config.chart.type||"boxPlot"===r.config.series[a].type||r.globals.isRangeData)&&(e*=1.01);var l=i+1;l<2?l=2:l>2&&(l-=2);var h=o/l,c=Math.floor(x.log10(h)),d=Math.pow(10,c),g=Math.round(h/d);g<1&&(g=1);var u=g*d,p=u*Math.floor(t/u),f=u*Math.ceil(e/u),b=p;if(s&&o>2){for(;n.push(b),!((b+=u)>f););return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}var v=t;(n=[]).push(v);for(var m=Math.abs(e-t)/i,y=0;y<=i;y++)v+=m,n.push(v);return n[n.length-2]>=e&&n.pop(),{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3?arguments[3]:void 0,s=Math.abs(e-t);"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,s))&&(i=this.w.globals.dataPoints-1);var r=s/i;i===Number.MAX_VALUE&&(i=10,r=1);for(var o=[],n=t;i>=0;)o.push(n),n+=r,i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:"logarithmicScaleNice",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5)a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.logarithmicScale(e,i,r.logBase),a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase);else if(i!==-Number.MAX_VALUE&&x.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===r.min&&void 0===r.max||r.forceNiceScale){var n=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,r.tickAmount?r.tickAmount:o<5&&o>1?o+1:5,t,n)}else a.yAxisScale[t]=this.linearScale(e,i,r.tickAmount,t);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,r=Math.abs(e-t);return e!==-Number.MAX_VALUE&&x.isNumber(e)?a.xAxisScale=this.linearScale(t,e,s.tickAmount?s.tickAmount:r<5&&r>1?r+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:"setMultipleYScales",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,o){var n=o;i.series.forEach((function(t,i){t.name===e.seriesName&&(n=i,o!==i?r.push({index:i,similarIndex:o,alreadyExists:!0}):r.push({index:i}))}));var l=a[n],h=s[n];t.setYScaleForIndex(o,l,h)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:"sameScaleInMultipleAxes",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,o=[];i.forEach((function(t){t.alreadyExists&&(void 0===o[t.index]&&(o[t.index]=[]),o[t.index].push(t.index),o[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=o,o.forEach((function(t,e){o.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(o[e]=o[e].concat(o[a]))}))}));var n=o.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));o=o.filter((function(t){return!!t}));var l=n.slice(),h=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return h.indexOf(JSON.stringify(t))===e}));var c=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===c[s]&&(c[s]=[],d[s]=[]),c[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.min(t.value,g[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.max(t.value,u[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var o=g[i],n=u[i];s.chart.stacked&&(n=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(n+=t.value),o!==Number.MIN_VALUE&&(o+=c[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(o="function"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(n="function"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,o,n))}))}))}))}},{key:"autoScaleY",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn("autoScaleYaxis is not supported in a multi-yaxis chart."),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,o){for(var n=0,l=0;l=i.xaxis.min){n=l;break}var h,c,d=a.globals.minYArr[o],g=a.globals.maxYArr[o],u=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(o,l){var p=o[n];r?(p=u[n],h=c=p,u.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>c&&null!==t&&(c=t),o[e]=i.xaxis.min){var r=t,o=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),o=Math.max(i[e],o))})),o>c&&null!==o&&(c=o),rd&&(h=d),e.length>1?(e[l].min=void 0===t.min?h:t.min,e[l].max=void 0===t.max?c:t.max):(e[0].min=void 0===t.min?h:t.min,e[0].max=void 0===t.max?c:t.max)}))})),e}}]),t}(),U=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.scales=new _(e)}return r(t,[{key:"init",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:"getMinYMaxY",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;"candlestick"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):"boxPlot"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);for(var d=t;dh[d][g]&&h[d][g]<0&&(n=h[d][g])):r.hasNullValues=!0}}return"rangeBar"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),"bar"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10||void 0!==e.yaxis[0].min||void 0!==e.yaxis[0].max)&&(o=0),t.minY=i-5*o/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*o/100}if(e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):"dataPoints"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:"_setStackedMinMax",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.config.series.map((function(t){return t.name}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,e){return i.indexOf(t.name)>-1?e:null})).filter((function(t){return null!==t})).forEach((function(t){for(var r=0;r0?a[i][r]+=parseFloat(e.series[t][r])+1e-4:s[i][r]+=parseFloat(e.series[t][r]))}))})),Object.entries(a).forEach((function(t){var i=g(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),q=function(){function t(e,i){a(this,t),this.ctx=e,this.elgrid=i,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX=0,"bottom"===s.config.xaxis.position&&(this.xAxisoffX=s.globals.gridHeight),this.drawnLabels=[],this.axesUtils=new B(e)}return r(t,[{key:"drawYaxis",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.yaxis[t].labels.style,r=s.fontSize,o=s.fontFamily,n=s.fontWeight,l=a.group({class:"apexcharts-yaxis",rel:t,transform:"translate("+i.globals.translateYAxisX[t]+", 0)"});if(this.axesUtils.isYAxisHidden(t))return l;var h=a.group({class:"apexcharts-yaxis-texts-g"});l.add(h);var c=i.globals.yAxisScale[t].result.length-1,d=i.globals.gridHeight/c,g=i.globals.translateY,u=i.globals.yLabelFormatters[t],p=i.globals.yAxisScale[t].result.slice();p=this.axesUtils.checkForReversedLabels(t,p);var f="";if(i.config.yaxis[t].labels.show)for(var x=function(l){var x=p[l];x=u(x,l,i);var b=i.config.yaxis[t].labels.padding;i.config.yaxis[t].opposite&&0!==i.config.yaxis.length&&(b*=-1);var v="end";i.config.yaxis[t].opposite&&(v="start"),"left"===i.config.yaxis[t].labels.align?v="start":"center"===i.config.yaxis[t].labels.align?v="middle":"right"===i.config.yaxis[t].labels.align&&(v="end");var m=e.axesUtils.getYAxisForeColor(s.colors,t),y=a.drawText({x:b,y:g+c/10+i.config.yaxis[t].labels.offsetY+1,text:x,textAnchor:v,fontSize:r,fontFamily:o,fontWeight:n,maxWidth:i.config.yaxis[t].labels.maxWidth,foreColor:Array.isArray(m)?m[l]:m,isPlainText:!1,cssClass:"apexcharts-yaxis-label "+s.cssClass});l===c&&(f=y),h.add(y);var w=document.createElementNS(i.globals.SVGNS,"title");if(w.textContent=Array.isArray(x)?x.join(" "):x,y.node.appendChild(w),0!==i.config.yaxis[t].labels.rotate){var k=a.rotateAroundCenter(f.node),A=a.rotateAroundCenter(y.node);y.node.setAttribute("transform","rotate(".concat(i.config.yaxis[t].labels.rotate," ").concat(k.x," ").concat(A.y,")"))}g+=d},b=c;b>=0;b--)x(b);if(void 0!==i.config.yaxis[t].title.text){var v=a.group({class:"apexcharts-yaxis-title"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:"end",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+i.config.yaxis[t].title.style.cssClass});v.add(w),l.add(v)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(h,c,p,g,this.drawnLabels,this.xaxisFontSize);p=f.x,u=f.text,this.drawnLabels.push(f.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=""),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u="")}var x=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-("top"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,"title");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(t){var e=this.w,i=new m(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:"inversedYAxisTitleText",value:function(t){var e=this.w,i=new m(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,a=new m(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute("x",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate," ").concat(h.x," ").concat(h.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:"setYAxisXPosition",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:"setYAxisTextAlignments",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(e=x.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"));r=x.listToArray(r);var o=s.getBoundingClientRect();"left"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","start")})),a.opposite||s.setAttribute("transform","translate(-".concat(o.width,", 0)"))):"center"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","middle")})),s.setAttribute("transform","translate(".concat(o.width/2*(a.opposite?1:-1),", 0)"))):"right"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute("text-anchor","end")})),a.opposite&&s.setAttribute("transform","translate(".concat(o.width,", 0)")))}}))}}]),t}(),Z=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.documentEvent=x.bind(this.documentEvent,this)}return r(t,[{key:"addEventListener",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:"removeEventListener",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:"fireEvent",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=x.extend(C,i);this.w.globals.locale=a.options}}]),t}(),J=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawAxis",value:function(t,e){var i,a,s=this,r=this.w.globals,o=this.w.config,n=new V(this.ctx,e),l=new q(this.ctx,e);r.axisCharts&&"radar"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=n.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=n.drawXaxis(),r.dom.elGraphical.add(i),o.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),"back"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),Q=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawXCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=new v(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,p=s.blur,f=s.color,b=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){"gradient"===r&&(y=e.drawGradient("vertical",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!x.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!x.isNumber(A)||A<0)&&(A=0),w.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:k,width:A,height:k,fill:y,filter:"none","fill-opacity":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,"stroke-width":t.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:p,color:f,opacity:b})),t.globals.dom.elGraphical.add(w)}}},{key:"drawYCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),t.globals.dom.elGraphical.add(r)}}]),t}(),K=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkResponsiveConfig",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new E({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=y.extendArrayProps(r,i.globals.initialConfig,i);t=x.extend(n,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l0&&"function"==typeof e.config.colors[0]&&(e.globals.colors=e.config.series.map((function(i,a){var s=e.config.colors[a];return s||(s=e.config.colors[0]),"function"==typeof s?(t.isColorFn=!0,s({value:e.globals.axisCharts?e.globals.series[a][0]?e.globals.series[a][0]:0:e.globals.series[a],seriesIndex:a,dataPointIndex:a,w:e})):s})))),e.globals.seriesColors.map((function(t,i){t&&(e.globals.colors[i]=t)})),e.config.theme.monochrome.enabled){var a=[],s=e.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(s=e.globals.series[0].length*e.globals.series.length);for(var r=e.config.theme.monochrome.color,o=1/(s/e.config.theme.monochrome.shadeIntensity),n=e.config.theme.monochrome.shadeTo,l=0,h=0;h2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getLargestStringFromMultiArr",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,u(a));i=e[a.indexOf(s)]}return i}}]),t}(),at=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"getxAxisLabelsCoords",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==e.config.legend.position&&"right"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=x.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new T(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new I(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new I(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||""===String(r).trim())&&(o=r="1");var h=new m(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=x.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new m(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new m(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e}),0);return 1.05*(t=new m(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"additionalPaddingXLabels",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c="right"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||"bar"!==s.chart.type&&"candlestick"!==s.chart.type&&"rangeBar"!==s.chart.type&&"boxPlot"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else"datetime"===r?e.dCtx.gridPad.rightString(n.niceMax).length?c:n.niceMax,g=h(d,{seriesIndex:o,dataPointIndex:-1,w:e}),u=g;if(void 0!==g&&0!==g.length||(g=d),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();g=h(g=x.getLargestStringFromArr(p),{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,p)}var f=new m(t.dCtx.ctx),b="rotate(".concat(r.labels.rotate," 0 0)"),v=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1),y=v;g!==u&&(y=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1)),i.push({width:(l>y.width||l>v.width?l:y.width>v.width?y.width:v.width)+a,height:y.height>v.height?y.height:v.height})}else i.push({width:0,height:0})})),i}},{key:"getyAxisTitleCoords",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new m(t.dCtx.ctx),r="rotate(".concat(e.title.rotate," 0 0)"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:"getTotalYAxisWidth",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new B(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),rt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"gridPadForColumnsInNumericAxis",value:function(t){var e=this.w;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=function(t){return"bar"===t||"rangeBar"===t||"candlestick"===t||"boxPlot"===t},a=e.config.chart.type,s=0,r=i(a)?e.config.series.length:1;if(e.globals.comboBarCount>0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var o,n,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),o=l/t,e.globals.minXDiff&&e.globals.minXDiff/o>0&&(n=e.globals.minXDiff/o),n>t/2&&(n/=2),(s=n/r*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),s=s/(r>1?1:1.5)+5,e.globals.barPadForNumericAxis=s}return s}},{key:"gridPadFortitleSubtitle",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;["title","subtitle"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||"bottom"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(t,e){var i=this.w,a=new B(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),ot=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new it(this),this.dimYAxis=new st(this),this.dimXAxis=new at(this),this.dimGrid=new rt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return r(t,[{key:"plotCoords",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.isSparkline&&(e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=g(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a+4:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;("radar"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||"treemap"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||"treemap"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l};switch("top"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case"bottom":i.translateY=c,d();break;case"top":i.translateY=this.lgRect.height+c,d();break;case"left":i.translateY=c,i.translateX=this.lgRect.width+l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case"right":i.translateY=c,i.translateX=l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new q(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case"bottom":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"top":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"left":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case"right":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&"bottom"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),nt=function(){function t(e){a(this,t),this.w=e.w,this.lgCtx=e}return r(t,[{key:"getLegendStyles",value:function(){var t=document.createElement("style");t.setAttribute("type","text/css");var e=document.createTextNode("\t\n \t\n .apexcharts-legend {\t\n display: flex;\t\n overflow: auto;\t\n padding: 0 10px;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\t\n flex-wrap: wrap\t\n }\t\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n flex-direction: column;\t\n bottom: 0;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n justify-content: flex-start;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\t\n justify-content: center; \t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\t\n justify-content: flex-end;\t\n }\t\n .apexcharts-legend-series {\t\n cursor: pointer;\t\n line-height: normal;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\t\n display: flex;\t\n align-items: center;\t\n }\t\n .apexcharts-legend-text {\t\n position: relative;\t\n font-size: 14px;\t\n }\t\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\t\n pointer-events: none;\t\n }\t\n .apexcharts-legend-marker {\t\n position: relative;\t\n display: inline-block;\t\n cursor: pointer;\t\n margin-right: 3px;\t\n border-style: solid;\n }\t\n \t\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\t\n display: inline-block;\t\n }\t\n .apexcharts-legend-series.apexcharts-no-click {\t\n cursor: auto;\t\n }\t\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\t\n display: none !important;\t\n }\t\n .apexcharts-inactive-legend {\t\n opacity: 0.45;\t\n }");return t.appendChild(e),t}},{key:"getLegendBBox",value:function(){var t=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||"radialBar"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(t,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(t+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(t+1,"'] path")),n=a.config.chart.type;if("pie"===n||"polarArea"===n||"donut"===n){var l=a.config.plotOptions.pie.donut.labels;new m(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire("click")}}},{key:"hideSeries",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=x.clone(a.config.series);if(a.globals.axisCharts){var r=!1;if(a.config.yaxis[i]&&a.config.yaxis[i].show&&a.config.yaxis[i].showAlways&&(r=!0,a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i))),!r){a.globals.collapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.collapsedSeriesIndices.push(i);var o=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(o,1)}}else a.globals.collapsedSeries.push({index:i,data:s[i]}),a.globals.collapsedSeriesIndices.push(i);for(var n=e.childNodes,l=0;l0){for(var r=0;r-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}]),t}(),lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed="bar"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new nt(this)}return r(t,[{key:"init",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),x.isIE11()?document.getElementsByTagName("head")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"drawLegends",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if("heatmap"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+" - "+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h=o(a[l],{seriesIndex:l,w:e}),c=!1,d=!1;if(e.globals.collapsedSeries.length>0)for(var g=0;g0)for(var u=0;u0?l-10:0)+(h>0?h-10:0)}a.style.position="absolute",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=o+"px","bottom"===i.config.legend.position?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):"right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px");["width","height"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+"px")}))}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new ot(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),s=i.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;"bottom"===t.config.legend.position?r=-e.clwh/1.8:"top"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new N(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new N(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:"onLegendClick",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(t.target.getAttribute("rel"),10)-1,a="true"===t.target.getAttribute("data:collapsed"),s=this.w.config.chart.events.legendClick;"function"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;"function"==typeof r&&t.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),"treemap"!==e.config.chart.type&&"heatmap"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=i.globals.minX,this.maxX=i.globals.maxX}return r(t,[{key:"createToolbar",value:function(){var t=this,e=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=e.config.chart.toolbar.offsetY+"px",a.style.right=3-e.config.chart.toolbar.offsetX+"px",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\n \n \n\n'),o("zoomOut",this.elZoomOut,'\n \n \n\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:"zoom"===i?t.elZoom:t.elSelection,icon:"string"==typeof t.t[i]?t.t[i]:"zoom"===i?'\n \n \n \n':'\n \n \n',title:t.localeValues["zoom"===i?"selectionZoom":"selection"],class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(i,"-icon")})};n("zoom"),n("selection"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:"string"==typeof this.t.pan?this.t.pan:'\n \n \n \n \n \n \n \n',title:this.localeValues.pan,class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),o("reset",this.elZoomReset,'\n \n \n'),this.t.download&&r.push({el:this.elMenuIcon,icon:"string"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var l=0;l0&&e.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(a),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:"translate("+o+", "+l+")"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":h.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":h.config.chart.zoom.zoomedArea.stroke.opacity}),m.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,"fill-opacity":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,"stroke-width":h.config.chart.selection.stroke.width,"stroke-dasharray":h.config.chart.selection.stroke.dashArray,"stroke-opacity":h.config.chart.selection.stroke.opacity}),m.setAttrs(d.node,g))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g="x"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:"y"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging("resizing"),g}},{key:"selectionDragging",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;"resizing"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n("x"),y:n("y"),width:n("width"),height:n("height")};a.globals.selection=l,"function"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t=i.gridRect.getBoundingClientRect(),e=r.node.getBoundingClientRect(),o={xaxis:{min:a.globals.xAxisScale.niceMin+(e.left-t.left)*s.xRatio,max:a.globals.xAxisScale.niceMin+(e.right-t.left)*s.xRatio},yaxis:{min:a.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*s.yRatio[0],max:a.globals.yAxisScale[0].niceMax-(e.top-t.top)*s.yRatio[0]}};a.config.chart.events.selection(i.ctx,o),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,o)}),o))}},{key:"selectionDrawn",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=x.clone(a.globals.initialConfig.yaxis),p=x.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),"xy"!==i&&"x"!==i||(p={min:h,max:c}),"xy"!==i&&"y"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),a.config.chart.zoom.autoScaleYaxis){var f=new _(s.ctx);u=f.autoScaleY(s.ctx,u,{xaxis:p})}if(o){var b=o.getBeforeZoomRange(p,u);b&&(p=b.xaxis?b.xaxis:p,u=b.yaxis?b.yaxis:u)}var v={xaxis:p};a.config.chart.group||(v.yaxis=u),s.ctx.updateHelpers._updateOptions(v,!1,s.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof a.config.chart.events.zoomed&&o.zoomCallback(p,u)}else if(a.globals.selectionEnabled){var m,y=null;m={min:h,max:c},"xy"!==i&&"y"!==i||(y=x.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=d[e]})),a.globals.selection=s.selection,"function"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{key:"panDragging",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection="left":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection="right":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection="up":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection="down")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:"delayedPanScrolled",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;"left"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):"right"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:"panScrolled",value:function(t,e){var i=this.w,a=this.xyRatios,s=x.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),"left"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):"right"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new _(this.ctx).autoScaleY(this.ctx,s,{xaxis:l}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,t,e)}},{key:"updateScrolledChart",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(ht),dt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return r(t,[{key:"getNearestValues",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):r.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):r.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var p=Math.round(g/h),f=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(g/h),p-=1);var b=null,v=null,m=[],y=[];if(r.globals.seriesXvalues.forEach((function(t){m.push([t[0]+1e-6].concat(t))})),r.globals.seriesYvalues.forEach((function(t){y.push([t[0]+1e-6].concat(t))})),m=m.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),y=y.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);b=(v=this.closestInMultiArray(k,A,m,y)).index,p=v.j,null!==b&&(m=r.globals.seriesXvalues[b],p=(v=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===b?-1:b,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:b,j:r.globals.isBarHorizontal?f:p,hoverX:g,hoverY:u}}},{key:"closestInMultiArray",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a0?e:-1})),s=0;s0)for(var a=0;a *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");(t=u(t)).sort((function(t,e){var i=Number(t.getAttribute("data:realIndex")),a=Number(e.getAttribute("data:realIndex"));return ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(".apexcharts-marker"))})),e}},{key:"hasMarkers",value:function(t){return this.getElMarkers(t).length>0}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s ').concat(i.attrs.name,""),e+="
".concat(i.val,"
")})),v.innerHTML=t+"",m.innerHTML=e+""};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML="",m.innerHTML=""):y()}else v.innerHTML="",m.innerHTML="";null!==p&&(a[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=l.config.tooltip.z.title,a[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=void 0!==p?p:"");o&&f[0]&&(null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?f[0].parentNode.style.display="none":f[0].parentNode.style.display=l.config.tooltip.items.display)}},{key:"toggleActiveInactiveSeries",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var i=e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");i&&(i.classList.add("apexcharts-active"),i.style.display=e.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",o="",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&"treemap"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var d=r;a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?r=new T(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new I(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(" "):l,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(o)?o.join(" "):o,zVal:n}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),ut=function(){function t(e){a(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return r(t,[{key:"moveXCrosshairs",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&m.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&m.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new m(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add("apexcharts-active"),i.yaxisTTEls[t].style.top=s+"px",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+"px",r.style.top=h+"px")}},{key:"moveMarkers",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),r=0;r0&&(h.setAttribute("r",n),h.setAttribute("cx",i),h.setAttribute("cy",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,n)}}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray;e=new N(this.ctx).getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var n=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var h=0;h0?(l[h]&&l[h].setAttribute("r",n),l[h]&&l[h].setAttribute("cy",d)):l[h]&&l[h].setAttribute("r",0)}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,n)}},{key:"moveStickyTooltipOverBars",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new N(this.ctx).getActiveConfigSeriesIndex("desc")+1);var o=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"']"));o||"number"!=typeof e||(o=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"']")));var n=o?parseFloat(o.getAttribute("cx")):0,l=o?parseFloat(o.getAttribute("cy")):0,h=o?parseFloat(o.getAttribute("barWidth")):0,c=a.getElGrid().getBoundingClientRect(),d=o&&(o.classList.contains("apexcharts-candlestick-area")||o.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(o&&!d&&(n-=s%2!=0?h/2:0),o&&d&&i.globals.comboCharts&&(n-=h/2)):i.globals.isBarHorizontal||(n=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(n)&&(n=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(n),a.fixedTooltip||this.moveTooltip(n,l||i.globals.gridHeight)}}]),t}(),pt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new ut(e)}return r(t,[{key:"drawDynamicPoints",value:function(){var t=this.w,e=new m(this.ctx),i=new D(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=u(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute("data:realIndex"))-parseFloat(e.getAttribute("data:realIndex"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;"bubble"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute("cx"),o=e.getAttribute("cy");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if("radar"===s.config.chart.type){var n=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-n.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),o=e.config.markers.hover.size,n=0;n=0?t[e].setAttribute("r",i):t[e].setAttribute("r",0)}}}]),t}(),ft=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e}return r(t,[{key:"getAttr",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:"handleHeatTreeTooltip",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains("apexcharts-".concat(r,"-rect"))){var l=this.getAttr(e,"i"),h=this.getAttr(e,"j"),c=this.getAttr(e,"cx"),d=this.getAttr(e,"cy"),g=this.getAttr(e,"width"),u=this.getAttr(e,"height");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var p=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-p.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-p.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var h=parseInt(s.paths.getAttribute("cx"),10),c=parseInt(s.paths.getAttribute("cy"),10),d=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,l.intersect){var g=x.findAncestor(s.paths,"apexcharts-series");g&&(e=parseInt(g.getAttribute("data:realIndex"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),"mouseup"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:"handleBarTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.barHeight,u=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-o.tooltipRect.ttHeight);var p=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10),f=r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed;if(h+o.tooltipRect.ttWidth>r.globals.gridWidth&&!f?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var x=o.getElGrid().getBoundingClientRect();c=o.e.clientY-x.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(f&&(h-=o.tooltipRect.ttWidth)<0&&(h=0),!f||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),c=c+r.globals.translateY-o.tooltipRect.ttHeight/2,n.style.left=h+r.globals.translateX+"px",n.style.top=c+"px")}},{key:"getBarTooltipXY",value:function(t){var e=t.e,i=t.opt,a=this.w,s=null,r=this.ttCtx,o=0,n=0,l=0,h=0,c=0,d=e.target.classList;if(d.contains("apexcharts-bar-area")||d.contains("apexcharts-candlestick-area")||d.contains("apexcharts-boxPlot-area")||d.contains("apexcharts-rangebar-area")){var g=e.target,u=g.getBoundingClientRect(),p=i.elGrid.getBoundingClientRect(),f=u.height;c=u.height;var x=u.width,b=parseInt(g.getAttribute("cx"),10),v=parseInt(g.getAttribute("cy"),10);h=parseFloat(g.getAttribute("barWidth"));var m="touchmove"===e.type?e.touches[0].clientX:e.clientX;s=parseInt(g.getAttribute("j"),10),o=parseInt(g.parentNode.getAttribute("rel"),10)-1;var y=g.getAttribute("data-range-y1"),w=g.getAttribute("data-range-y2");a.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute("data:realIndex"),10)),r.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:o,j:s,y1:y?parseInt(y,10):null,y2:w?parseInt(w,10):null,shared:!r.showOnIntersect&&a.config.tooltip.shared,e:e}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(n=m-p.left+15,l=v-r.dataPointsDividedHeight+f/2-r.tooltipRect.ttHeight/2):(n=a.globals.isXNumeric?b-x/2:b-r.dataPointsDividedWidth+x/2,l=e.clientY-p.top-r.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((n=b)0&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals.yLabelFormatters[t];if(a.yaxisTooltips[t]){var o=a.getElGrid().getBoundingClientRect(),n=(e-o.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],h=s.globals.minYArr[t]+(l-n);a.tooltipPosition.moveYCrosshairs(e-o.top),a.yaxisTooltipText[t].innerHTML=r(h),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),bt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.tConfig=i.config.tooltip,this.tooltipUtil=new dt(this),this.tooltipLabels=new gt(this),this.tooltipPosition=new ut(this),this.marker=new pt(this),this.intersect=new ft(this),this.axesTooltip=new xt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!i.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return r(t,[{key:"getElTooltip",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new V(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&"rangeBar"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement("div");o.classList.add("apexcharts-tooltip-series-group"),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1,e.tConfig.shared&&e.tConfig.enabledOnSeries&&Array.isArray(e.tConfig.enabledOnSeries)&&e.tConfig.enabledOnSeries.indexOf(r)<0&&o.classList.add("apexcharts-tooltip-series-group-hidden");var n=document.createElement("span");n.classList.add("apexcharts-tooltip-marker"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement("div");l.classList.add("apexcharts-tooltip-text"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,["y","goals","z"].forEach((function(t){var e=document.createElement("div");e.classList.add("apexcharts-tooltip-".concat(t,"-group"));var i=document.createElement("span");i.classList.add("apexcharts-tooltip-text-".concat(t,"-label")),e.appendChild(i);var a=document.createElement("span");a.classList.add("apexcharts-tooltip-text-".concat(t,"-value")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf("right")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf("bottom")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+"px",e.style.top=o+"px",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:"seriesHover",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:"seriesHoverByContext",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip();if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new N(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:"axisChartsTooltips",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n="touchmove"===a.type?a.touches[0].clientX:a.clientX,l="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||"bar"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if("mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add("apexcharts-active");var u=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&u.length&&this.ycrosshairs.classList.add("apexcharts-active"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,n,l,s);else if("heatmap"===r.config.chart.type||"treemap"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var f=0;fl.width)this.handleMouseOut(a);else if(null!==n)this.handleStickyCapturedSeries(t,n,a,o);else if(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,o,a.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new m(this.ctx),i=t.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,S=this.w,C=i;"mouseup"===t.type&&this.markerClick(t,a,s),null===A&&(A=this.tConfig.shared);var L=this.tooltipUtil.hasMarkers(a),P=this.tooltipUtil.getElBars();if(S.config.legend.tooltipHoverFormatter){var I=S.config.legend.tooltipHoverFormatter,T=Array.from(this.legendLabels);T.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var M=0;M0?C.marker.enlargePoints(s):C.tooltipPosition.moveDynamicPointsOnHover(s);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(P),this.barSeriesHeight>0)){var R=new m(this.ctx),D=S.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(s,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(s,a);for(var H=0;Hs.globals.gridHeight&&(p=s.globals.gridHeight-v)),{bcx:c,bcy:h,dataLabelsX:e,dataLabelsY:p,totalDataLabelsX:a,totalDataLabelsY:i,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,o=t.groupIndex,n=t.bcy,l=t.barHeight,h=t.barWidth,c=t.textRects,d=t.dataLabelsX,g=t.strokeWidth,u=t.dataLabelsConfig,p=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,x=t.offX,b=t.offY,v=e.globals.gridHeight/e.globals.dataPoints;h=Math.abs(h);var y,w,k=(n+=-1!==o?o*l:0)-(this.barCtx.isRangeBar?0:v)+l/2+c.height/2+b-3,A="start",S=this.barCtx.series[a][s]<0,C=i;switch(this.barCtx.isReversed&&(C=i+h-(S?2*h:0),i=e.globals.gridWidth-h),p.position){case"center":d=S?C+h/2-x:Math.max(c.width/2,C-h/2)+x;break;case"bottom":d=S?C+h-g-Math.round(c.width/2)-x:C-h+g+Math.round(c.width/2)+x;break;case"top":d=S?C-g+Math.round(c.width/2)-x:C-g-Math.round(c.width/2)+x}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var L=new m(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),u.fontSize);S?(y=C-g+Math.round(L.width/2)-x-f.offsetX-15,A="end"):y=C-g-Math.round(L.width/2)+x+f.offsetX+15,w=k+f.offsetY}return e.config.chart.stacked||(d<0?d=d+c.width+g:d+c.width/2>e.globals.gridWidth&&(d=e.globals.gridWidth-c.width-g)),{bcx:i,bcy:n,dataLabelsX:d,dataLabelsY:k,totalDataLabelsX:y,totalDataLabelsY:w,totalDataLabelsAnchor:A}}},{key:"drawCalculatedDataLabels",value:function(t){var i=t.x,a=t.y,s=t.val,r=t.i,o=t.j,n=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g="rotate(0)";"vertical"===d.config.plotOptions.bar.dataLabels.orientation&&(g="rotate(-90, ".concat(i,", ").concat(a,")"));var u=new O(this.barCtx.ctx),p=new m(this.barCtx.ctx),f=c.formatter,x=null,b=d.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!b){x=p.group({class:"apexcharts-data-labels",transform:g});var v="";void 0!==s&&(v=f(s,e(e({},d),{},{seriesIndex:r,dataPointIndex:o,w:d}))),!s&&d.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v="");var y=d.globals.series[r][o]<0,w=d.config.plotOptions.bar.dataLabels.position;if("vertical"===d.config.plotOptions.bar.dataLabels.orientation&&("top"===w&&(c.textAnchor=y?"end":"start"),"center"===w&&(c.textAnchor="middle"),"bottom"===w&&(c.textAnchor=y?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)hMath.abs(h)&&(v=""):n.height/1.6>Math.abs(l)&&(v=""));var k=e({},c);this.barCtx.isHorizontal&&s<0&&("start"===c.textAnchor?k.textAnchor="end":"end"===c.textAnchor&&(k.textAnchor="start")),u.plotDataLabelsText({x:i,y:a,text:v,i:r,j:o,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:"drawTotalDataLabels",value:function(t){var e,i=t.x,a=t.y,s=t.val,r=t.realIndex,o=t.textAnchor,n=t.barTotalDataLabelsConfig,l=new m(this.barCtx.ctx);return n.enabled&&void 0!==i&&void 0!==a&&this.barCtx.lastActiveBarSerieIndex===r&&(e=l.drawText({x:i,y:a,foreColor:n.style.color,text:s,textAnchor:o,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),e}}]),t}(),mt=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e}return r(t,[{key:"initVariables",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/this.barCtx.seriesLen*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:"initializeStackedPrevVars",value:function(t){var e=t.w;e.globals.hasSeriesGroups?e.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]})):(t.prevY=[],t.prevX=[],t.prevYF=[],t.prevXF=[],t.prevYVal=[],t.prevXVal=[])}},{key:"initializeStackedXYVars",value:function(t){var e=t.w;e.globals.hasSeriesGroups?e.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]})):(t.xArrj=[],t.xArrjF=[],t.xArrjVal=[],t.yArrj=[],t.yArrjF=[],t.yArrjVal=[])}},{key:"getPathFillColor",value:function(t,e,i,a){var s,r,o,n,l=this.w,h=new R(this.barCtx.ctx),c=null,d=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(c=a.color)}));return l.config.series[e].data[i]&&l.config.series[e].data[i].fillColor&&(c=l.config.series[e].data[i].fillColor),h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:c,value:t[e][i],fillConfig:null===(s=l.config.series[e].data[i])||void 0===s?void 0:s.fill,fillType:null!==(r=l.config.series[e].data[i])&&void 0!==r&&null!==(o=r.fill)&&void 0!==o&&o.type?null===(n=l.config.series[e].data[i])||void 0===n?void 0:n.fill.type:l.config.fill.type})}},{key:"getStrokeWidth",value:function(t,e,i){var a=0,s=this.w;return this.barCtx.series[t][e]?this.barCtx.isNullValue=!1:this.barCtx.isNullValue=!0,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"shouldApplyRadius",value:function(t){var e=this.w,i=!1;return e.config.plotOptions.bar.borderRadius>0&&(e.config.chart.stacked&&"last"===e.config.plotOptions.bar.borderRadiusWhenStacked?this.barCtx.lastActiveBarSerieIndex===t&&(i=!0):i=!0),i}},{key:"barBackground",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new m(this.barCtx.ctx),c=new N(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.columnWidthOffset&&(p=a-d.config.series[l].data[c].columnWidthOffset/2,u=i+d.config.series[l].data[c].columnWidthOffset);var f=p,x=p+u;s+=.001,r+=.001;var b=g.move(f,s),v=g.move(f,s),y=g.line(x-o,s);if(d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1)),b=b+g.line(f,r)+g.line(x-o,r)+g.line(x-o,s)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),v=v+g.line(f,s)+y+y+y+y+y+g.line(f,s)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(b=g.roundPathCorners(b,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&n&&(w=this.barCtx[n]),w.yArrj.push(r),w.yArrjF.push(Math.abs(s-r)),w.yArrjVal.push(this.barCtx.series[h][c])}return{pathTo:b,pathFrom:v}}},{key:"getBarpaths",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.barHeightOffset&&(u=i-d.config.series[l].data[c].barHeightOffset/2,p=a+d.config.series[l].data[c].barHeightOffset);var f=u,x=u+p;s+=.001,r+=.001;var b=g.move(s,f),v=g.move(s,f);d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1));var y=g.line(s,x-o);if(b=b+g.line(r,f)+g.line(r,x-o)+y+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),v=v+g.line(s,f)+y+y+y+y+y+g.line(s,f)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(b=g.roundPathCorners(b,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&n&&(w=this.barCtx[n]),w.xArrj.push(r),w.xArrjF.push(Math.abs(s-r)),w.xArrjVal.push(this.barCtx.series[h][c])}return{pathTo:b,pathFrom:v}}},{key:"checkZeroSeries",value:function(t){for(var e=t.series,i=this.w,a=0;a2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),i}},{key:"getGoalValues",value:function(t,i,a,s,r){var n=this,l=this.w,h=[],c=function(e,s){var r;h.push((o(r={},t,"x"===t?n.getXForValue(e,i,!1):n.getYForValue(e,a,!1)),o(r,"attrs",s),r))};if(l.globals.seriesGoals[s]&&l.globals.seriesGoals[s][r]&&Array.isArray(l.globals.seriesGoals[s][r])&&l.globals.seriesGoals[s][r].forEach((function(t){c(t.value,t)})),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,g={strokeHeight:"x"===t?0:l.globals.markers.size[s],strokeWidth:"x"===t?l.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(d[s])?d[s][0]:d[s]};c(l.globals.seriesRangeStart[s][r],g),c(l.globals.seriesRangeEnd[s][r],e(e({},g),{},{strokeColor:Array.isArray(d[s])?d[s][1]:d[s]}))}return h}},{key:"drawGoalLine",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new m(this.barCtx.ctx),l=n.group({className:"apexcharts-bar-goals-groups"});l.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)})):Array.isArray(s)&&s.forEach((function(t){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)})),l}}]),t}(),yt=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.xyRatios=i,null!==this.xyRatios&&(this.xRatio=i.xRatio,this.initialXRatio=i.initialXRatio,this.yRatio=i.yRatio,this.invertedXRatio=i.invertedXRatio,this.invertedYRatio=i.invertedYRatio,this.baseLineY=i.baseLineY,this.baseLineInvertedY=i.baseLineInvertedY),this.yaxisIndex=0,this.seriesLen=0;var r=new N(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex("desc",["bar","column"]);var o=r.getBarSeriesIndices(),n=new y(this.ctx);this.stackedSeriesTotals=n.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===o.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new mt(this)}return r(t,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx),r=new y(this.ctx,a);t=r.getLogSeries(t),this.series=t,this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var o=s.group({class:"apexcharts-bar-series apexcharts-plot-series"});a.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var k=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=v),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed;var S=this.barHelpers.initialPositions();p=S.y,k=S.barHeight,c=S.yDivision,g=S.zeroW,u=S.x,A=S.barWidth,h=S.xDivision,d=S.zeroH,this.horizontal||b.push(u+A/2);for(var C=s.group({class:"apexcharts-datalabels","data:realIndex":v}),L=s.group({class:"apexcharts-bar-goals-markers",style:"pointer-events: none"}),P=0;P0&&b.push(u+A/2),f.push(p);var z=this.barHelpers.getPathFillColor(t,n,P,v);this.renderSeries({realIndex:v,pathFill:z,j:P,i:n,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:I,elSeries:w,x:u,y:p,series:t,barHeight:T.barHeight?T.barHeight:k,barWidth:T.barWidth?T.barWidth:A,elDataLabelsWrap:C,elGoalsMarkers:L,visibleSeries:this.visibleI,type:"bar"})}a.globals.seriesXvalues[v]=b,a.globals.seriesYvalues[v]=f,o.add(w)}return o}},{key:"renderSeries",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.groupIndex,n=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,g=t.y,u=t.y1,p=t.y2,f=t.series,x=t.barHeight,b=t.barWidth,y=t.barYPosition,w=t.elDataLabelsWrap,k=t.elGoalsMarkers,A=t.visibleSeries,S=t.type,C=this.w,L=new m(this.ctx);a||(a=this.barOptions.distributed?C.globals.stroke.colors[s]:C.globals.stroke.colors[e]),C.config.series[r].data[s]&&C.config.series[r].data[s].strokeColor&&(a=C.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var P=s/C.config.chart.animations.animateGradually.delay*(C.config.chart.animations.speed/C.globals.dataPoints)/2.4,I=L.renderPaths({i:r,j:s,realIndex:e,pathFrom:n,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:C.config.stroke.lineCap,fill:i,animationDelay:P,initialSpeed:C.config.chart.animations.speed,dataChangeSpeed:C.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(S,"-area")});I.attr("clip-path","url(#gridRectMask".concat(C.globals.cuid,")"));var T=C.config.forecastDataPoints;T.count>0&&s>=C.globals.dataPoints-T.count&&(I.node.setAttribute("stroke-dasharray",T.dashArray),I.node.setAttribute("stroke-width",T.strokeWidth),I.node.setAttribute("fill-opacity",T.fillOpacity)),void 0!==u&&void 0!==p&&(I.attr("data-range-y1",u),I.attr("data-range-y2",p)),new v(this.ctx).setSelectionFilter(I,e,s),c.add(I);var M=new vt(this).handleBarDataLabels({x:d,y:g,y1:u,y2:p,i:r,j:s,series:f,realIndex:e,groupIndex:o,barHeight:x,barWidth:b,barYPosition:y,renderedPath:I,visibleSeries:A});return null!==M.dataLabels&&w.add(M.dataLabels),M.totalDataLabels&&w.add(M.totalDataLabels),c.add(w),k&&c.add(k),c}},{key:"drawBarPaths",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,g=i.j;if(c.globals.isXNumeric)e=(n=(c.globals.seriesX[d][g]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var u=0,p=0;c.globals.seriesPercent.forEach((function(t,e){t[g]&&u++,e0&&(a=this.seriesLen*a/u),e=n+a*this.visibleI,e-=a*p}else e=n+a*this.visibleI;o=this.barHelpers.getXForValue(this.series[d][g],r);var f=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:d,j:g,w:c});return c.globals.isXNumeric||(n+=l),this.barHelpers.barBackground({j:g,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:f.pathTo,pathFrom:f.pathFrom,x:o,y:n,goalX:this.barHelpers.getGoalValues("x",r,null,d,g),barYPosition:e,barHeight:a}}},{key:"drawColumnPaths",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,o=t.barWidth,n=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,g=i.i,u=i.j,p=i.bc;if(c.globals.isXNumeric){var f=d;c.globals.seriesX[d].length||(f=c.globals.maxValsInArrayIndex),c.globals.seriesX[f][u]&&(a=(c.globals.seriesX[f][u]-c.globals.minX)/this.xRatio-o*this.seriesLen/2),e=a+o*this.visibleI}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var x=0,b=0;c.globals.seriesPercent.forEach((function(t,e){t[u]&&x++,e0&&(o=this.seriesLen*o/x),e=a+o*this.visibleI,e-=o*b}else e=a+o*this.visibleI;s=this.barHelpers.getYForValue(this.series[g][u],n);var v=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:o,y1:n,y2:s,strokeWidth:l,series:this.series,realIndex:i.realIndex,i:g,j:u,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:p,j:u,i:g,x1:e-l/2-o*this.visibleI,x2:o*this.seriesLen+l/2,elSeries:h}),{pathTo:v.pathTo,pathFrom:v.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues("y",null,n,g,u),barXPosition:e,barWidth:o}}},{key:"getPreviousPath",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),wt=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this,s=this.w;this.graphics=new m(this.ctx),this.bar=new yt(this.ctx,this.xyRatios);var r=new y(this.ctx,s);t=r.getLogSeries(t),this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),"100%"===s.config.chart.stackType&&(t=s.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var o=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),n=0,l=0,h=function(r,h){var c=void 0,d=void 0,g=void 0,u=void 0,p=-1;a.groupCtx=a,s.globals.seriesGroups.forEach((function(t,e){t.indexOf(s.config.series[r].name)>-1&&(p=e)})),-1!==p&&(a.groupCtx=a[s.globals.seriesGroups[p]]);var f=[],b=[],v=s.globals.comboCharts?i[r]:r;a.yRatio.length>1&&(a.yaxisIndex=v),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var m=a.graphics.group({class:"apexcharts-series",seriesName:x.escapeString(s.globals.seriesNames[v]),rel:r+1,"data:realIndex":v});a.ctx.series.addCollapsedClassToSeries(m,v);var y=a.graphics.group({class:"apexcharts-datalabels","data:realIndex":v}),w=a.graphics.group({class:"apexcharts-bar-goals-markers",style:"pointer-events: none"}),k=0,A=0,S=a.initialPositions(n,l,c,d,g,u);l=S.y,k=S.barHeight,d=S.yDivision,u=S.zeroW,n=S.x,A=S.barWidth,c=S.xDivision,g=S.zeroH,a.barHelpers.initializeStackedXYVars(a),1===a.groupCtx.prevY.length&&a.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(a.groupCtx.prevY[0]=a.groupCtx.prevY[0].map((function(t){return g})),a.groupCtx.prevYF[0]=a.groupCtx.prevYF[0].map((function(t){return 0})));for(var C=0;C1?(i=c.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:n*parseInt(c.config.plotOptions.bar.columnWidth,10)/100,null!==(h=c.globals.seriesGroups)&&void 0!==h&&h.length&&(n/=c.globals.seriesGroups.length),-1===String(c.config.plotOptions.bar.columnWidth).indexOf("%")&&(n=parseInt(c.config.plotOptions.bar.columnWidth,10)),s=c.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?c.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=c.globals.padHorizontal+(i-n)/2);return{x:t,y:e,yDivision:a,xDivision:i,barHeight:o,barWidth:n,zeroH:s,zeroW:r}}},{key:"drawStackedBarPaths",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.groupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,g=this.w,u=n+(-1!==l?l*a:0),p=i.i,f=i.j,x=0,b=0;b0){var m=r;this.groupCtx.prevXVal[v-1][f]<0?m=this.series[p][f]>=0?this.groupCtx.prevX[v-1][f]+x-2*(this.isReversed?x:0):this.groupCtx.prevX[v-1][f]:this.groupCtx.prevXVal[v-1][f]>=0&&(m=this.series[p][f]>=0?this.groupCtx.prevX[v-1][f]:this.groupCtx.prevX[v-1][f]-x+2*(this.isReversed?x:0)),e=m}else e=r;o=null===this.series[p][f]?e:e+this.series[p][f]/this.invertedYRatio-2*(this.isReversed?this.series[p][f]/this.invertedYRatio:0);var y=this.barHelpers.getBarpaths({barYPosition:u,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:p,j:f,w:g});return this.barHelpers.barBackground({j:f,i:p,y1:u,y2:a,elSeries:d}),n+=c,{pathTo:y.pathTo,pathFrom:y.pathFrom,goalX:this.barHelpers.getGoalValues("x",r,null,p,f),barYPosition:u,x:o,y:n}}},{key:"drawStackedColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.groupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,g=e.j,u=e.bc;if(c.globals.isXNumeric){var p=c.globals.seriesX[d][g];p||(p=0),i=(p-c.globals.minX)/this.xRatio-r/2,c.globals.seriesGroups.length&&(i=(p-c.globals.minX)/this.xRatio-r/2*c.globals.seriesGroups.length)}for(var f,x=i+(-1!==n?n*r:0),b=0,v=0;v0&&!c.globals.isXNumeric||m>0&&c.globals.isXNumeric&&c.globals.seriesX[d-1][g]===c.globals.seriesX[d][g]){var y,w,k,A=Math.min(this.yRatio.length+1,d+1);if(void 0!==this.groupCtx.prevY[m-1]&&this.groupCtx.prevY[m-1].length)for(var S=1;S=0?k-b+2*(this.isReversed?b:0):k;break}if((null===(I=this.groupCtx.prevYVal[m-L])||void 0===I?void 0:I[g])>=0){w=this.series[d][g]>=0?k:k+b-2*(this.isReversed?b:0);break}}void 0===w&&(w=c.globals.gridHeight),f=null!==(y=this.groupCtx.prevYF[0])&&void 0!==y&&y.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,m).every((function(t){return t.every((function(t){return isNaN(t)}))}))?o:w}else f=o;a=this.series[d][g]?f-this.series[d][g]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[d][g]/this.yRatio[this.yaxisIndex]:0):f;var T=this.barHelpers.getColumnPaths({barXPosition:x,barWidth:r,y1:f,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:g,w:c});return this.barHelpers.barBackground({bc:u,j:g,i:d,x1:x,x2:r,elSeries:h}),i+=s,{pathTo:T.pathTo,pathFrom:T.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,o,d,g),barXPosition:x,x:c.globals.isXNumeric?i-s:i,y:a}}}]),s}(yt),kt=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i,a){var s=this,r=this.w,o=new m(this.ctx),n=r.globals.comboCharts?i:r.config.chart.type,l=new R(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=r.config.plotOptions.bar.horizontal;var h=new y(this.ctx,r);t=h.getLogSeries(t),this.series=t,this.yRatio=h.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var c=o.group({class:"apexcharts-".concat(n,"-series apexcharts-plot-series")}),d=function(i){s.isBoxPlot="boxPlot"===r.config.chart.type||"boxPlot"===r.config.series[i].type;var n,h,d,g,u=void 0,p=void 0,f=[],b=[],v=r.globals.comboCharts?a[i]:i,m=o.group({class:"apexcharts-series",seriesName:x.escapeString(r.globals.seriesNames[v]),rel:i+1,"data:realIndex":v});s.ctx.series.addCollapsedClassToSeries(m,v),t[i].length>0&&(s.visibleI=s.visibleI+1);var y,w;s.yRatio.length>1&&(s.yaxisIndex=v);var k=s.barHelpers.initialPositions();p=k.y,y=k.barHeight,h=k.yDivision,g=k.zeroW,u=k.x,w=k.barWidth,n=k.xDivision,d=k.zeroH,b.push(u+w/2);for(var A=o.group({class:"apexcharts-datalabels","data:realIndex":v}),S=function(a){var o=s.barHelpers.getStrokeWidth(i,a,v),c=null,x={indexes:{i:i,j:a,realIndex:v},x:u,y:p,strokeWidth:o,elSeries:m};c=s.isHorizontal?s.drawHorizontalBoxPaths(e(e({},x),{},{yDivision:h,barHeight:y,zeroW:g})):s.drawVerticalBoxPaths(e(e({},x),{},{xDivision:n,barWidth:w,zeroH:d})),p=c.y,u=c.x,a>0&&b.push(u+w/2),f.push(p),c.pathTo.forEach((function(e,n){var h=!s.isBoxPlot&&s.candlestickOptions.wick.useFillColor?c.color[n]:r.globals.stroke.colors[i],d=l.fillPath({seriesNumber:v,dataPointIndex:a,color:c.color[n],value:t[i][a]});s.renderSeries({realIndex:v,pathFill:d,lineFill:h,j:a,i:i,pathFrom:c.pathFrom,pathTo:e,strokeWidth:o,elSeries:m,x:u,y:p,series:t,barHeight:y,barWidth:w,elDataLabelsWrap:A,visibleSeries:s.visibleI,type:r.config.chart.type})}))},C=0;Cb.c&&(d=!1);var w=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(w=r,k=r):(w=r-w/f,k=r-k/f,v=r-b.h/f,y=r-b.l/f,A=r-b.m/f);var C=l.move(S,r),L=l.move(S+s/2,w);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+"z"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,y)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-o/2)],L+=l.move(S,w),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?p:d?[g]:[u]}}},{key:"drawHorizontalBoxPaths",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,p=this.getOHLCValue(u,c),f=r,x=r,b=Math.min(p.o,p.c),v=Math.max(p.o,p.c),y=p.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,f=r+p.h/g,x=r+p.l/g,y=r+p.m/g);var k=l.move(r,w),A=l.move(b,w+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,w)+l.line(b,w+s/2)+l.line(f,w+s/2)+l.line(f,w+s/2-s/4)+l.line(f,w+s/2+s/4)+l.line(f,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s)+l.line(y,w+s)+l.line(y,w)+l.line(b+o/2,w),l.move(y,w)+l.line(y,w+s)+l.line(v,w+s)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s-s/4)+l.line(x,w+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w)+l.line(y,w)+"z"],A+=l.move(b,w),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:w,color:d}}},{key:"getOHLCValue",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),s}(yt),At=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkColorRange",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:"getShadeColor",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,"treemap"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new x;return s.config.plotOptions[t].enableShades&&(l="dark"===this.w.config.theme.mode?x.hexToRgba(h.shadeColor(-1*r,n.color),s.config.fill.opacity):x.hexToRgba(h.shadeColor(r,n.color),s.config.fill.opacity)),{color:l,colorProps:n}}},{key:"determineColor",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&"treemap"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,u(a.globals.series[e])),c=Math.max.apply(Math,u(a.globals.series[e]));r.distributed||"heatmap"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:"calculateDataLabels",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new m(this.ctx),c=new O(this.ctx),d=null;if(l.enabled){d=h.group({class:"apexcharts-data-labels"});var g=l.offsetX,u=l.offsetY,p=i+g,f=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:"addListeners",value:function(t){var e=new m(this.ctx);t.node.addEventListener("mouseenter",e.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",e.pathMouseLeave.bind(this,t)),t.node.addEventListener("mousedown",e.pathMouseDown.bind(this,t))}}]),t}(),St=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new At(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return r(t,[{key:"draw",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(e.globals.cuid,")"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:x.escapeString(e.globals.seriesNames[h]),rel:h+1,"data:realIndex":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new v(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,p=0;p-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*u/this.fullAngle+"%";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(n)>this.fullAngle&&(n-=this.fullAngle);var l=Math.PI*(n-90)/180,h=e.centerX+s*Math.cos(o),c=e.centerY+s*Math.sin(o),d=e.centerX+s*Math.cos(l),g=e.centerY+s*Math.sin(l),u=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,n),p=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,r),f=a>180?1:0,b=["M",h,c,"A",s,s,0,f,1,d,g];return"donut"===e.chartType?[].concat(b,["L",u.x,u.y,"A",e.donutSize,e.donutSize,0,f,0,p.x,p.y,"L",h,c,"z"]).join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[].concat(b,["L",e.centerX,e.centerY,"L",h,c]).join(" "):[].concat(b).join(" ")}},{key:"drawPolarElements",value:function(t){var e=this.w,i=new _(this.ctx),a=new m(this.ctx),s=new Ct(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),e.config.yaxis[0].tickAmount,0,!0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,r),a||"function"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,a=t.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==r&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n1)o&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!o)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),Pt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var i=this.w;this.graphics=new m(this.ctx),this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=i.globals.svgHeight0&&(f=i.getPreviousPath(n));for(var b=0;b=10?t.x>0?(i="start",a+=10):t.x<0&&(i="end",a-=10):i="middle",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:"",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(u,p)}l.add(u),u.attr("id","apexcharts-radialbarTrack-"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:"drawArcs",value:function(t){var e=this.w,i=new m(this.ctx),a=new R(this.ctx),s=new v(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||"transparent"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;this.radialDataLabels.show&&(u=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})),"back"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var p=!1;e.config.plotOptions.radialBar.inverseOrder&&(p=!0);for(var f=p?t.series.length-1:0;p?f>=0:f100?100:t.series[f])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*x.negToZero(e.globals.previousPaths[f])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var L=S-w,P=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[f]:e.config.stroke.dashArray,I=i.drawPath({d:"",stroke:y,strokeWidth:o,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+f,strokeDashArray:P});if(m.setAttrs(I.node,{"data:angle":L,"data:value":t.series[f]}),e.config.chart.dropShadow.enabled){var T=e.config.chart.dropShadow;s.dropShadow(I,T,f)}s.setSelectionFilter(I,0,f),this.addListeners(I,this.radialDataLabels),b.add(I),I.attr({index:0,j:f});var M=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(M=e.config.chart.animations.speed),e.globals.dataChanged&&(M=e.config.chart.animations.dynamicAnimation.speed),this.animDur=M/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(I,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:f,totalItems:2,animBeginArr:this.animBeginArr,dur:M,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:"drawHollow",value:function(t){var e=new m(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(t,e,i,a){var s=this.w,r=new R(this.ctx),o=x.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:"pattern".concat(s.globals.cuid).concat(o)}),a="url(#pattern".concat(s.globals.cuid).concat(o,")");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}}]),i}(Lt),Tt=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var r=s.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),o=0;o0&&(this.visibleI=this.visibleI+1);var f=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=u);var v=this.barHelpers.initialPositions();d=v.y,h=v.zeroW,c=v.x,b=v.barWidth,n=v.xDivision,l=v.zeroH;for(var y=s.group({class:"apexcharts-datalabels","data:realIndex":u}),w=s.group({class:"apexcharts-rangebar-goals-markers",style:"pointer-events: none"}),k=0;k0}));return a=l.config.plotOptions.bar.rangeBarGroupRows?s+o*g:s+r*this.visibleI+o*g,u>-1&&!l.config.plotOptions.bar.rangeBarOverlap&&(h=l.globals.seriesRange[e][u].overlaps).indexOf(c)>-1&&(a=(r=n.barHeight/h.length)*this.visibleI+o*(100-parseInt(this.barOptions.barHeight,10))/100/2+r*(this.visibleI+h.indexOf(c))+o*g),{barYPosition:a,barHeight:r}}},{key:"drawRangeColumnPaths",value:function(t){var e=t.indexes,i=t.x;t.strokeWidth;var a=t.xDivision,s=t.barWidth,r=t.zeroH,o=this.w,n=e.i,l=e.j,h=this.yRatio[this.yaxisIndex],c=e.realIndex,d=this.getRangeValue(c,l),g=Math.min(d.start,d.end),u=Math.max(d.start,d.end);o.globals.isXNumeric&&(i=(o.globals.seriesX[n][l]-o.globals.minX)/this.xRatio-s/2);var p=i+s*this.visibleI;void 0===this.series[n][l]||null===this.series[n][l]?g=r:(g=r-g/h,u=r-u/h);var f=Math.abs(u-g),x=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:s,y1:g,y2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:c,j:l,w:o});return o.globals.isXNumeric||(i+=a),{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:f,x:i,y:u,goalY:this.barHelpers.getGoalValues("y",null,r,n,l),barXPosition:p}}},{key:"drawRangeBarPaths",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,g=Math.abs(d-c),u=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:c,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:u.pathTo,pathFrom:u.pathFrom,barWidth:g,x:d,goalX:this.barHelpers.getGoalValues("x",l,null,e.realIndex,e.j),y:i}}},{key:"getRangeValue",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),s}(yt),Mt=function(){function t(e){a(this,t),this.w=e.w,this.lineCtx=e}return r(t,[{key:"sameValueSeriesFix",value:function(t,e){var i=this.w;if(("gradient"===i.config.fill.type||"gradient"===i.config.fill.type[t])&&new y(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:"calculatePoints",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(x.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:"checkPreviousPaths",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&("line"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):"area"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e,i=t.i,a=t.series,s=t.prevY,r=t.lineYPosition,o=this.w;if(void 0!==(null===(e=a[i])||void 0===e?void 0:e[0]))s=(r=o.config.chart.stacked&&i>0?this.lineCtx.prevSeriesY[i-1][0]:this.lineCtx.zeroY)-a[i][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?a[i][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(o.config.chart.stacked&&i>0&&void 0===a[i][0])for(var n=i-1;n>=0;n--)if(null!==a[n][0]&&void 0!==a[n][0]){s=r=this.lineCtx.prevSeriesY[n][0];break}return{prevY:s,lineYPosition:r}}}]),t}(),Xt=function(){function t(e,i,s){a(this,t),this.ctx=e,this.w=e.w,this.xyRatios=i,this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||s,this.scatter=new H(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Mt(this),this.markers=new D(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return r(t,[{key:"draw",value:function(t,i,a,s){var r=this.w,o=new m(this.ctx),n=r.globals.comboCharts?i:r.config.chart.type,l=o.group({class:"apexcharts-".concat(n,"-series apexcharts-plot-series")}),h=new y(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=h.getLogSeries(t),this.yRatio=h.getLogYRatios(this.yRatio);for(var c=[],d=0;d0&&(f=(r.globals.seriesX[g][0]-r.globals.minX)/this.xRatio),p.push(f);var x,b=f,v=void 0,w=b,k=this.zeroY,A=this.zeroY;k=this.lineHelpers.determineFirstPrevY({i:d,series:t,prevY:k,lineYPosition:0}).prevY,u.push(k),x=k;"rangeArea"===n&&(v=A=this.lineHelpers.determineFirstPrevY({i:d,series:s,prevY:A,lineYPosition:0}).prevY);var S={type:n,series:t,realIndex:g,i:d,x:f,y:1,pX:b,pY:x,pathsFrom:this._calculatePathsFrom({type:n,series:t,i:d,realIndex:g,prevX:w,prevY:k,prevY2:A}),linePaths:[],areaPaths:[],seriesIndex:a,lineYPosition:0,xArrj:p,yArrj:u,seriesRangeEnd:s},C=this._iterateOverDataPoints(e(e({},S),{},{iterations:"rangeArea"===n?t[d].length-1:void 0,isRangeStart:!0}));if("rangeArea"===n){var L=this._calculatePathsFrom({series:s,i:d,realIndex:g,prevX:w,prevY:A}),P=this._iterateOverDataPoints(e(e({},S),{},{series:s,pY:v,pathsFrom:L,iterations:s[d].length-1,isRangeStart:!1}));C.linePaths[0]=P.linePath+C.linePath,C.pathFromLine=P.pathFromLine+C.pathFromLine}this._handlePaths({type:n,realIndex:g,i:d,paths:C}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),c.push(this.elSeries)}if(r.config.chart.stacked)for(var I=c.length;I>0;I--)l.add(c[I-1]);else for(var T=0;T1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||"end"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",seriesName:x.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var r=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":r,rel:e+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(t){var e,i,a,s,r=t.type,o=t.series,n=t.i,l=t.realIndex,h=t.prevX,c=t.prevY,d=t.prevY2,g=this.w,u=new m(this.ctx);if(null===o[n][0]){for(var p=0;p0){var f=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=f.pathFromLine,s=f.pathFromArea}return{prevX:h,prevY:c,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(t){var i=t.type,a=t.realIndex,s=t.i,r=t.paths,o=this.w,n=new m(this.ctx),l=new R(this.ctx);this.prevSeriesY.push(r.yArrj),o.globals.seriesXvalues[a]=r.xArrj,o.globals.seriesYvalues[a]=r.yArrj;var h=o.config.forecastDataPoints;if(h.count>0&&"rangeArea"!==i){var c=o.globals.seriesXvalues[a][o.globals.seriesXvalues[a].length-h.count-1],d=n.drawRect(c,0,o.globals.gridWidth,o.globals.gridHeight,0);o.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,o.globals.gridHeight,0);o.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||o.globals.delayedElements.push({el:this.elPointsMain.node,index:a});var u={i:s,realIndex:a,animationDelay:s,initialSpeed:o.config.chart.animations.speed,dataChangeSpeed:o.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(i)};if("area"===i)for(var p=l.fillPath({seriesNumber:a}),f=0;f0&&"rangeArea"!==i){var S=n.renderPaths(k);S.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&S.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(S),S.attr("clip-path","url(#forecastMask".concat(o.globals.cuid,")")),A.attr("clip-path","url(#nonForecastMask".concat(o.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(t){var e=t.type,i=t.series,a=t.iterations,s=t.realIndex,r=t.i,o=t.x,n=t.y,l=t.pX,h=t.pY,c=t.pathsFrom,d=t.linePaths,g=t.areaPaths,u=t.seriesIndex,p=t.lineYPosition,f=t.xArrj,b=t.yArrj,v=t.isRangeStart,y=t.seriesRangeEnd,w=this.w,k=new m(this.ctx),A=this.yRatio,S=c.prevY,C=c.linePath,L=c.areaPath,P=c.pathFromLine,I=c.pathFromArea,T=x.isNumber(w.globals.minYArr[s])?w.globals.minYArr[s]:w.globals.minY;a||(a=w.globals.dataPoints>1?w.globals.dataPoints-1:w.globals.dataPoints);for(var M=n,X=0;X0&&w.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(r-1)][X+1]}else p=this.zeroY;else p=this.zeroY;z?n=p-T/A[this.yaxisIndex]+2*(this.isReversed?T/A[this.yaxisIndex]:0):(n=p-i[r][X+1]/A[this.yaxisIndex]+2*(this.isReversed?i[r][X+1]/A[this.yaxisIndex]:0),"rangeArea"===e&&(M=p-y[r][X+1]/A[this.yaxisIndex]+2*(this.isReversed?y[r][X+1]/A[this.yaxisIndex]:0))),f.push(o),b.push(n);var Y=this.lineHelpers.calculatePoints({series:i,x:o,y:n,realIndex:s,i:r,j:X,prevY:S}),F=this._createPaths({type:e,series:i,i:r,realIndex:s,j:X,x:o,y:n,y2:M,pX:l,pY:h,linePath:C,areaPath:L,linePaths:d,areaPaths:g,seriesIndex:u,isRangeStart:v});g=F.areaPaths,d=F.linePaths,l=F.pX,h=F.pY,L=F.areaPath,C=F.linePath,this.appendPathFrom&&(P+=k.line(o,this.zeroY),I+=k.line(o,this.zeroY)),this.handleNullDataPoints(i,Y,r,X,s),this._handleMarkersAndLabels({type:e,pointsPos:Y,i:r,j:X,realIndex:s,isRangeStart:v})}return{yArrj:b,xArrj:f,pathFromArea:I,areaPaths:g,pathFromLine:P,linePaths:d,linePath:C,areaPath:L}}},{key:"_handleMarkersAndLabels",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,o=t.realIndex,n=this.w,l=new O(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:o,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{n.globals.series[s].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var h=this.markers.plotChartMarkers(i,o,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:o,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:"_createPaths",value:function(t){var e=t.type,i=t.series,a=t.i,s=t.realIndex,r=t.j,o=t.x,n=t.y,l=t.y2,h=t.pX,c=t.pY,d=t.linePath,g=t.areaPath,u=t.linePaths,p=t.areaPaths,f=t.seriesIndex,x=t.isRangeStart,b=this.w,v=new m(this.ctx),y=b.config.stroke.curve,w=this.areaBottomY;if(Array.isArray(b.config.stroke.curve)&&(y=Array.isArray(f)?b.config.stroke.curve[f[a]]:b.config.stroke.curve[a]),"smooth"===y){var k=.35*(o-h);b.globals.hasNullValues?(null!==i[a][r]&&(null!==i[a][r+1]?(d=v.move(h,c)+v.curve(h+k,c,o-k,n,o+1,n),g=v.move(h+1,c)+v.curve(h+k,c,o-k,n,o+1,n)+v.line(o,w)+v.line(h,w)+"z"):(d=v.move(h,c),g=v.move(h,c)+"z")),u.push(d),p.push(g)):(d+=v.curve(h+k,c,o-k,n,o,n),g+=v.curve(h+k,c,o-k,n,o,n)),h=o,c=n,r===i[a].length-2&&(g=g+v.curve(h,c,o,n,o,w)+v.move(o,n)+"z","rangeArea"===e&&x?d=d+v.curve(h,c,o,n,o,l)+v.move(o,l)+"z":b.globals.hasNullValues||(u.push(d),p.push(g)))}else{if(null===i[a][r+1]){d+=v.move(o,n);var A=b.globals.isXNumeric?(b.globals.seriesX[s][r]-b.globals.minX)/this.xRatio:o-this.xDivision;g=g+v.line(A,w)+v.move(o,n)+"z"}null===i[a][r]&&(d+=v.move(o,n),g+=v.move(o,w)),"stepline"===y?(d=d+v.line(o,null,"H")+v.line(null,n,"V"),g=g+v.line(o,null,"H")+v.line(null,n,"V")):"straight"===y&&(d+=v.line(o,n),g+=v.line(o,n)),r===i[a].length-2&&(g=g+v.line(o,w)+v.move(o,n)+"z","rangeArea"===e&&x?d=d+v.line(o,l)+v.move(o,l)+"z":(u.push(d),p.push(g)))}return{linePaths:u,areaPaths:p,pX:h,pY:c,linePath:d,areaPath:g}}},{key:"handleNullDataPoints",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){o=void 0===o?0:o,n=void 0===n?0:n;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(-90 ".concat(h.x," ").concat(h.y,")"))}}},{key:"animateTreemap",value:function(t,e,i,a){var s=new b(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Ft=86400,Rt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return r(t,[{key:"calculateTimeScaleTicks",value:function(t,i){var a=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var r=new I(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o<.00011574074074074075?s.globals.disableZoomIn=!0:o>5e4&&(s.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,i,this.utc),l=s.globals.gridWidth/o,h=l/24,c=h/60,d=c/60,g=Math.floor(24*o),u=Math.floor(1440*o),p=Math.floor(o*Ft),f=Math.floor(o),x=Math.floor(o/30),b=Math.floor(o/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:u,numberOfHours:g,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case"years":this.generateYearScale(m);break;case"months":case"half_year":this.generateMonthScale(m);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(m);break;case"hours":this.generateHourScale(m);break;case"minutes_fives":case"minutes":this.generateMinuteScale(m);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var i={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?e(e({},i),{},{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?e(e({},i),{},{value:t.value}):"minute"===t.unit?e(e({},i),{},{value:t.value,minute:t.value}):"second"===t.unit?e(e({},i),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,i=Math.ceil(s.globals.gridWidth/120),r=t.value;void 0!==s.config.xaxis.tickAmount&&(i=s.config.xaxis.tickAmount),y.length>i&&(e=Math.floor(y.length/i));var o=!1,n=!1;switch(a.tickInterval){case"years":"year"===t.unit&&(o=!0);break;case"half_year":e=7,"year"===t.unit&&(o=!0);break;case"months":e=1,"year"===t.unit&&(o=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(o=!0),30===r&&(n=!0);break;case"months_days":e=10,"month"===t.unit&&(o=!0),30===r&&(n=!0);break;case"week_days":e=8,"month"===t.unit&&(o=!0);break;case"days":e=1,"month"===t.unit&&(o=!0);break;case"hours":"day"===t.unit&&(o=!0);break;case"minutes_fives":case"seconds_fives":r%5!=0&&(n=!0);break;case"seconds_tens":r%10!=0&&(n=!0)}if("hours"===a.tickInterval||"minutes_fives"===a.tickInterval||"seconds_tens"===a.tickInterval||"seconds_fives"===a.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new ot(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval="years";break;case t>800:this.tickInterval="half_year";break;case t>180:this.tickInterval="months";break;case t>90:this.tickInterval="months_fortnight";break;case t>60:this.tickInterval="months_days";break;case t>30:this.tickInterval="week_days";break;case t>2:this.tickInterval="days";break;case e>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new I(this.ctx),h="year";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:x.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:x.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=x.monthMod(a+1);var g=s+d,u=x.monthMod(n),p=n;0===n&&(c="year",p=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:x.monthMod(a)});for(var f=n+1,b=l,v=0,m=1;vo.determineDaysOfMonths(e+1,i)?(h=1,n="month",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=x.monthMod(e.minMonth),n="month",h=e.minDate,r++):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:x.monthMod(u),day:h});for(var p=d,f=0;fn.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,p=u+1;60===d&&(g=0,p=(u=e.minHour)+1);var f=i,b=c(f,a);this.timeScaleArray.push({position:g,value:u,unit:l,day:f,hour:p,year:s,month:x.monthMod(b)});for(var v=g,m=0;m=24)p=0,l="day",b=h(f+=1,b).month,b=c(f,b);var y=this._getYear(s,b,0);v=60*r+v;var w=0===p?f:p;this.timeScaleArray.push({position:v,value:w,unit:l,hour:p,day:f,year:y,month:x.monthMod(b)}),p++}}},{key:"generateMinuteScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,p=n,f=s,b=(60-i-e/1e3)*h,v=0;v=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:b,value:d,unit:"minute",hour:f,minute:d,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,d++}},{key:"generateSecondScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,p=n,f=s,b=(1e3-e)/1e3*l,v=0;v=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:b,value:c,unit:"second",hour:f,minute:d,second:c,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,c++}},{key:"createRawDateString",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),"minute"===t.unit?i+=":"+("0"+e).slice(-2):i+=":"+(t.minute?("0"+t.minute).slice(-2):"00"),"second"===t.unit?i+=":"+("0"+e).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new I(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n="dd MMM",l=i.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(n=l.year),"month"===t.unit&&(n=l.month),"day"===t.unit&&(n=l.day),"hour"===t.unit&&(n=l.hour),"minute"===t.unit&&(n=l.minute),"second"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:"removeOverlappingTS",value:function(t){var e,i=this,a=new m(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:"_getYear",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Dt=function(){function t(e,i){a(this,t),this.ctx=i,this.w=i.w,this.el=e}return r(t,[{key:"setupElements",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].indexOf(i)>-1,t.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].indexOf(i)>-1,t.isBarHorizontal=("bar"===e.chart.type||"rangeBar"===e.chart.type||"boxPlot"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=".apexcharts"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),m.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas "+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(e.chart.offsetX,", ").concat(e.chart.offsetY,")")}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject"),m.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},g={series:[],i:[]},u={series:[],seriesRangeEnd:[],i:[]};s.series.map((function(e,p){var f=0;void 0!==t[p].type?("column"===t[p].type||"bar"===t[p].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"),h.series.push(e),h.i.push(p),f++,i.globals.columnSeries=h.series):"area"===t[p].type?(o.series.push(e),o.i.push(p),f++):"line"===t[p].type?(r.series.push(e),r.i.push(p),f++):"scatter"===t[p].type?(n.series.push(e),n.i.push(p)):"bubble"===t[p].type?(l.series.push(e),l.i.push(p),f++):"candlestick"===t[p].type?(c.series.push(e),c.i.push(p),f++):"boxPlot"===t[p].type?(d.series.push(e),d.i.push(p),f++):"rangeBar"===t[p].type?(g.series.push(e),g.i.push(p),f++):"rangeArea"===t[p].type?(u.series.push(s.seriesRangeStart[p]),u.seriesRangeEnd.push(s.seriesRangeEnd[p]),u.i.push(p),f++):console.warn("You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble/candlestick/boxPlot/rangeBar/rangeArea"),f>1&&(s.comboCharts=!0)):(r.series.push(e),r.i.push(p))}));var p=new Xt(this.ctx,e),f=new kt(this.ctx,e);this.ctx.pie=new Lt(this.ctx);var x=new It(this.ctx);this.ctx.rangeBar=new Tt(this.ctx,e);var b=new Pt(this.ctx),v=[];if(s.comboCharts){if(o.series.length>0&&v.push(p.draw(o.series,"area",o.i)),h.series.length>0)if(i.config.chart.stacked){var m=new wt(this.ctx,e);v.push(m.draw(h.series,h.i))}else this.ctx.bar=new yt(this.ctx,e),v.push(this.ctx.bar.draw(h.series,h.i));if(u.series.length>0&&v.push(p.draw(u.series,"rangeArea",u.i,u.seriesRangeEnd)),r.series.length>0&&v.push(p.draw(r.series,"line",r.i)),c.series.length>0&&v.push(f.draw(c.series,"candlestick",c.i)),d.series.length>0&&v.push(f.draw(d.series,"boxPlot",d.i)),g.series.length>0&&v.push(this.ctx.rangeBar.draw(g.series,g.i)),n.series.length>0){var y=new Xt(this.ctx,e,!0);v.push(y.draw(n.series,"scatter",n.i))}if(l.series.length>0){var w=new Xt(this.ctx,e,!0);v.push(w.draw(l.series,"bubble",l.i))}}else switch(a.chart.type){case"line":v=p.draw(s.series,"line");break;case"area":v=p.draw(s.series,"area");break;case"bar":if(a.chart.stacked)v=new wt(this.ctx,e).draw(s.series);else this.ctx.bar=new yt(this.ctx,e),v=this.ctx.bar.draw(s.series);break;case"candlestick":v=new kt(this.ctx,e).draw(s.series,"candlestick");break;case"boxPlot":v=new kt(this.ctx,e).draw(s.series,"boxPlot");break;case"rangeBar":v=this.ctx.rangeBar.draw(s.series);break;case"rangeArea":v=p.draw(s.seriesRangeStart,"rangeArea",void 0,s.seriesRangeEnd);break;case"heatmap":v=new St(this.ctx,e).draw(s.series);break;case"treemap":v=new Yt(this.ctx,e).draw(s.series);break;case"pie":case"donut":case"polarArea":v=this.ctx.pie.draw(s.series);break;case"radialBar":v=x.draw(s.series);break;case"radar":v=b.draw(s.series);break;default:v=p.draw(s.series)}return v}},{key:"setSVGDimensions",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=x.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();"%"===a?x.isNumber(i[0])&&(0===i[0].width&&(i=x.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):"px"!==a&&""!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if("auto"!==t.svgHeight&&""!==t.svgHeight)if("%"===s){var r=x.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),m.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),"%"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+"px"}t.dom.elWrap.style.width=t.svgWidth+"px",t.dom.elWrap.style.height=t.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i={transform:"translate("+t.translateX+", "+e+")"};m.setAttrs(t.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new lt(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=x.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",l),t.config.chart.height&&String(t.config.chart.height).indexOf("%")>0||(e.dom.elWrap.style.height=l+"px",m.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+"px")}},{key:"coreCalculations",value:function(){new U(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new Y,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if("back"===e.config.xaxis.crosshairs.position)new Q(this.ctx).drawXCrosshairs();if("back"===e.config.yaxis[0].crosshairs.position)new Q(this.ctx).drawYCrosshairs();if("datetime"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Rt(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new y(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var t=this,i=this.w;if(i.config.chart.brush.enabled&&"function"!=typeof i.config.chart.events.selection){var a=i.config.chart.brush.targets||[i.config.chart.brush.target];a.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,"function"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),"function"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),i.config.chart.events.selection=function(t,s){a.forEach((function(t){var a=ApexCharts.getChartByID(t),r=x.clone(i.config.yaxis);if(i.config.chart.brush.autoScaleYaxis&&1===a.w.globals.series.length){var o=new _(a);r=o.autoScaleY(a,r,s)}var n=a.w.config.yaxis.reduce((function(t,i,s){return[].concat(u(t),[e(e({},a.w.config.yaxis[s]),{},{min:r[0].min,max:r[0].max})])}),[]);a.ctx.updateHelpers._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max},yaxis:n},!1,!1,!1,!1)}))}}}}]),t}(),Ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"_updateOptions",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var l=[e.ctx];r&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(r,h){var c=r.w;if(c.globals.shouldAnimate=s,a||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),t&&"object"===i(t)&&(r.config=new E(t),t=y.extendArrayProps(r.config,t,c),r.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,c.config=x.extend(c.config,t),o&&(c.globals.lastXAxis=t.xaxis?x.clone(t.xaxis):[],c.globals.lastYAxis=t.yaxis?x.clone(t.yaxis):[],c.globals.initialConfig=x.extend({},c.config),c.globals.initialSeries=x.clone(c.config.series),t.series))){for(var d=0;d2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=x.clone(o.config.series),o.globals.initialSeries=x.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:"_extendSeries",value:function(t,i){var a=this.w,s=a.config.series[i];return e(e({},a.config.series[i]),{},{name:t.name?t.name:s&&s.name,color:t.color?t.color:s&&s.color,type:t.type?t.type:s&&s.type,data:t.data?t.data:s&&s.data})}},{key:"toggleDataPointSelection",value:function(t,e){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(t,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(e,"'], ").concat(s," circle[j='").concat(e,"'], ").concat(s," rect[j='").concat(e,"']")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(t,"']")).members[0],"pie"!==i.config.chart.type&&"polarArea"!==i.config.chart.type&&"donut"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new m(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;if(["min","max"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new z(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:"forceYAxisUpdate",value:function(t){return t.chart&&t.chart.stacked&&"100%"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:"revertDefaultAxisMinMax",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();zt="undefined"!=typeof window?window:void 0,Et=function(t,e){var a=(void 0!==this?this:t).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns="http://www.w3.org/2000/svg",a.xmlns="http://www.w3.org/2000/xmlns/",a.xlink="http://www.w3.org/1999/xlink",a.svgjs="http://svgjs.dev",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return"Svgjs"+d(t)+a.did++},a.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute("id",this.eid(t)),i},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e="function"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(e){return e?e.instance?e.instance:((i="svg"==e.nodeName?e.parentNode instanceof t.SVGElement?new a.Nested:new a.Doc:"linearGradient"==e.nodeName?new a.Gradient("linear"):"radialGradient"==e.nodeName?new a.Gradient("radial"):a[d(e.nodeName)]?new(a[d(e.nodeName)]):new a.Element(e)).type=e.nodeName,i.node=e,e.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute("svgjs:data"))||{}),i):null;var i},a.prepare=function(){var t=e.getElementsByTagName("body")[0],i=(t?new a.Doc(t):a.adopt(e.documentElement).nested()).size(2,0);a.parser={body:t||e.documentElement,draw:i.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:i.polyline().node,path:i.path().node,native:a.create("svg")}},a.parser={native:a.create("svg")},e.addEventListener("DOMContentLoaded",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+="",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]}},r="mlhvqtcsaz".split(""),o=0,n=r.length;ol);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute("d",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),"%"==e[5]?this.value/=100:"s"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return"string"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute("stroke")||this._stroke)},extend:{x:function(t){return this.attr("x",t)},y:function(t){return this.attr("y",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr("width",t)},height:function(t){return this.attr("height",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr("id",t)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return"none"!=this.style("display")},toString:function(){return this.attr("id")},classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr("class",this.classes().filter((function(e){return e!=t})).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(e){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!e)return i;for(;i&&i.node instanceof t.SVGElement;){if("string"==typeof e?i.matches(e):i instanceof e)return i;if(!i.node.parentNode||"#document"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var i=e.createElement("svg");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElement("svg")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),i.innerHTML.replace(/^/,"").replace(/<\/svg>$/,"");i.innerHTML=""+t.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2>")+"";for(var s=0,r=i.firstChild.childNodes.length;s":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,s){"object"===i(t)&&(e=t.ease,s=t.delay,t=t.duration);var r=new a.Situation({duration:t||1e3,delay:s||0,ease:a.easing[e||"-"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return("function"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on("finished.fx",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off("finished.fx",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off("during.fx",i).on("during.fx",i),this.after((function(){this.off("during.fx",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off("allfinished.fx",e)};return this.target().off("allfinished.fx",e).on("allfinished.fx",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||"animations"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire("during",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--s)this[v[s]]=null!=t[v[s]]?t[v[s]]:e[v[s]]},extend:{extract:function(){var t=p(this,0,1);p(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=v.length-1;e>=0;e--)t[v[e]]=this[v[e]];return t},toString:function(){return"matrix("+b(this.a)+","+b(this.b)+","+b(this.c)+","+b(this.d)+","+b(this.e)+","+b(this.f)+")"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(t,e){var a;a=Array.isArray(t)?{x:t[0],y:t[1]}:"object"===i(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(t,e,s){if(null==t){for(t={},s=(e=this.node.attributes).length-1;s>=0;s--)t[e[s].nodeName]=a.regex.isNumber.test(e[s].nodeValue)?parseFloat(e[s].nodeValue):e[s].nodeValue;return t}if("object"===i(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?a.defaults.attrs[t]:a.regex.isNumber.test(e)?parseFloat(e):e;"stroke-width"==t?this.attr("stroke",parseFloat(e)>0?this._stroke:null):"stroke"==t&&(this._stroke=e),"fill"!=t&&"stroke"!=t||(a.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof a.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),"number"==typeof e?e=new a.Number(e):a.Color.isColor(e)?e=new a.Color(e):Array.isArray(e)&&(e=new a.Array(e)),"leading"==t?this.leading&&this.leading(e):"string"==typeof s?this.node.setAttributeNS(s,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!=t&&"x"!=t||this.rebuild(t,e)}return this}}),a.extend(a.Element,{transform:function(t,e){var s;return"object"!==i(t)?(s=new a.Matrix(this).extract(),"string"==typeof t?s[t]:s):(s=new a.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(s=e?s.multiply(new a.Matrix(t)):new a.Matrix(t)),this.attr("transform",s))}}),a.extend(a.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split("(");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return"matrix"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(t,e){if(arguments.length>1&&"boolean"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var a=0,s=this.arguments.length;a=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return a.adopt(e).id(a.eid(e.nodeName))}function b(t){return Math.abs(t)>1e-37?t:0}["fill","stroke"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if("string"==typeof e||a.Color.isRgb(e)||e&&"function"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr("transform",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)"function"==typeof a.Shape.prototype[e]&&"function"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var i=e.getElementById(function(t){var e=(t||"").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(i)},a.select=function(t,i){return new a.Set(a.utils.map((i||e).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var v="abcdef".split("");if("function"!=typeof t.CustomEvent){var m=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent("CustomEvent");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};m.prototype=t.Event.prototype,a.CustomEvent=m}else a.CustomEvent=t.CustomEvent;return a},"function"==typeof define&&define.amd?define((function(){return Et(zt,zt.document)})):"object"===("undefined"==typeof exports?"undefined":i(exports))&&"undefined"!=typeof module?module.exports=zt.document?Et(zt,zt.document):function(t){return Et(t,t.document)}:zt.SVG=Et(zt,zt.document), +/*! svg.filter.js - v2.0.2 - 2016-02-24 + * https://github.com/wout/svg.filter.js + * Copyright (c) 2016 Wout Fierens; Licensed MIT */ +function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr("in")&&this.autoSetIn&&t.attr("in",this.source),t.attr("result")||t.attr("result",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return"function"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr("in",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||"normal"})},colorMatrix:function(t,e){"matrix"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr("flood-color",t),null!=e&&this.attr("flood-opacity",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr("href",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr("stdDeviation",function(t){if(!Array.isArray(t))return t;for(var e=0,i=t.length,a=[];e1&&(I*=a=Math.sqrt(a),T*=a);s=(new SVG.Matrix).rotate(M).scale(1/I,1/T).rotate(-M),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,X===z&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);z&&g>u&&(u+=2*Math.PI);!z&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire("dragend",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(e,i){"function"!=typeof e&&"object"!=typeof e||(i=e,e=!0);var a=this.remember("_draggable")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,e,i){var a="string"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,"t"===t||"b"===t),y:this.pointCoord(i[1],e,"r"===t||"l"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=["points","pointsExclude"];for(var s in r){var o=this.options[r[s]];"string"==typeof o?o=o.length>0?o.split(/\s*,\s*/i):[]:"boolean"==typeof o&&"points"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==["line","polyline","polygon"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case"rt":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case"rb":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case"lb":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case"t":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case"r":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case"b":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case"l":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case"rot":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,"touchmove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"touchend.resize",(function(){e.done()})),SVG.on(window,"mousemove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"mouseup.resize",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire("resizing",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var Ot=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new b(this.ctx),this.ctx.axes=new J(this.ctx),this.ctx.core=new Dt(this.ctx.el,this.ctx),this.ctx.config=new E({}),this.ctx.data=new W(this.ctx),this.ctx.grid=new j(this.ctx),this.ctx.graphics=new m(this.ctx),this.ctx.coreUtils=new y(this.ctx),this.ctx.crosshairs=new Q(this.ctx),this.ctx.events=new Z(this.ctx),this.ctx.exports=new G(this.ctx),this.ctx.localization=new $(this.ctx),this.ctx.options=new L,this.ctx.responsive=new K(this.ctx),this.ctx.series=new N(this.ctx),this.ctx.theme=new tt(this.ctx),this.ctx.formatters=new T(this.ctx),this.ctx.titleSubtitle=new et(this.ctx),this.ctx.legend=new lt(this.ctx),this.ctx.toolbar=new ht(this.ctx),this.ctx.tooltip=new bt(this.ctx),this.ctx.dimensions=new ot(this.ctx),this.ctx.updateHelpers=new Ht(this.ctx),this.ctx.zoomPanSelection=new ct(this.ctx),this.ctx.w.globals.tooltip=new bt(this.ctx)}}]),t}(),Nt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"clear",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:"killSVG",value:function(t){t.each((function(t,e){this.removeClass("*"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:"clearDomElements",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight="unset");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),Wt=new WeakMap;var Bt=function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new F(i).init(),this.el=e,this.w.globals.cuid=x.randomId(),this.w.globals.chartID=this.w.config.chart.id?x.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Ot(this).initModules(),this.create=x.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return r(t,[{key:"render",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;if("function"==typeof a&&a(t,t.w),t.events.fireEvent("beforeMount",[t,t.w]),window.addEventListener("resize",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();"none"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),Wt.set(e,s)}(t.el.parentNode,t.parentResizeHandler),!t.css){var s=t.el.getRootNode&&t.el.getRootNode(),r=x.is("ShadowRoot",s),o=t.el.ownerDocument,n=o.getElementById("apexcharts-css");!r&&n||(t.css=document.createElement("style"),t.css.id="apexcharts-css",t.css.textContent='@keyframes opaque {\n 0% {\n opacity: 0\n }\n\n to {\n opacity: 1\n }\n}\n\n@keyframes resizeanim {\n 0%,to {\n opacity: 0\n }\n}\n\n.apexcharts-canvas {\n position: relative;\n user-select: none\n}\n\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0,0,0,.5);\n box-shadow: 0 0 1px rgba(255,255,255,.5);\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5)\n}\n\n.apexcharts-inner {\n position: relative\n}\n\n.apexcharts-text tspan {\n font-family: inherit\n}\n\n.legend-mouseover-inactive {\n transition: .15s ease all;\n opacity: .2\n}\n\n.apexcharts-legend-text {\n padding-left: 15px;\n margin-left: -15px;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255,255,255,.96)\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30,30,30,.8)\n}\n\n.apexcharts-tooltip * {\n font-family: inherit\n}\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #eceff1;\n border-bottom: 1px solid #ddd\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0,0,0,.7);\n border-bottom: 1px solid #333\n}\n\n.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value {\n display: inline-block;\n margin-left: 5px;\n font-weight: 600\n}\n\n.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty {\n display: none\n}\n\n.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px\n}\n\n.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n display: flex\n}\n\n.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0;\n margin-right: 10px;\n border-radius: 50%\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0!important\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px\n}\n\n.apexcharts-custom-tooltip,.apexcharts-tooltip-box {\n padding: 4px 8px\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: 700\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: 700;\n display: block;\n margin-bottom: 5px\n}\n\n.apexcharts-xaxistooltip,.apexcharts-yaxistooltip {\n opacity: 0;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #eceff1;\n border: 1px solid #90a4ae\n}\n\n.apexcharts-xaxistooltip {\n padding: 9px 10px;\n transition: .15s ease all\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-left: -6px\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-left: -7px\n}\n\n.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%\n}\n\n.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before {\n top: 100%\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-yaxistooltip {\n padding: 4px 10px\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-top: -6px\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-top: -7px\n}\n\n.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before {\n left: 100%\n}\n\n.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before {\n right: 100%\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none\n}\n\n.apexcharts-xcrosshairs,.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: .15s ease all\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0\n}\n\n.apexcharts-selection-rect {\n cursor: move\n}\n\n.svg_select_boundingRect,.svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6e8192;\n text-align: center\n}\n\n.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg {\n fill: #6e8192\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(.76)\n}\n\n.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\n fill: #f3f4f5\n}\n\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\n fill: #008ffb\n}\n\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\n fill: #333\n}\n\n.apexcharts-menu-icon,.apexcharts-selection-icon {\n position: relative\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px\n}\n\n.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon {\n transform: scale(.85)\n}\n\n.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n transform: scale(.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px\n}\n\n.apexcharts-pan-icon {\n transform: scale(.62);\n position: relative;\n left: 1px;\n top: 0\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6e8192;\n stroke-width: 2\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008ffb\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0 6px 2px;\n display: flex;\n justify-content: space-between;\n align-items: center\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: .15s ease all;\n pointer-events: none\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: .15s ease all\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0,0,0,.7);\n color: #fff\n}\n\n@media screen and (min-width:768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1\n }\n}\n\n.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points {\n opacity: 0\n}\n\n.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label {\n cursor: default;\n pointer-events: none\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: .3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease\n}\n\n.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect {\n pointer-events: none\n}\n\n.apexcharts-marker {\n transition: .15s ease all\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n height: 100%;\n width: 100%;\n overflow: hidden\n}\n\n.contract-trigger:before,.resize-triggers,.resize-triggers>div {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0\n}\n\n.resize-triggers>div {\n height: 100%;\n width: 100%;\n background: #eee;\n overflow: auto\n}\n\n.contract-trigger:before {\n overflow: hidden;\n width: 200%;\n height: 200%\n}\n',r?s.prepend(t.css):o.head.appendChild(t.css))}var l=t.create(t.w.config.series,{});if(!l)return e(t);t.mount(l).then((function(){"function"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent("mounted",[t,t.w]),e(l)})).catch((function(t){i(t)}))}else i(new Error("Element not found"))}))}},{key:"create",value:function(t,e){var i=this.w;new Ot(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new z(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),"treemap"===i.config.chart.type&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),0===a.svgWidth)return a.animationEnded=!0,null;var s=y.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=t.every((function(t){return t.data&&0===t.data.length}));(0===t.length||r)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new D(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),"category"!==i.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new y(this).getLargestMarkerSize(),this.dimensions.plotCoords();var o=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,o),l=new O(this);return l.bringForward(),i.config.dataLabels.background.enabled&&l.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:n,xyRatios:o,dimensions:{plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}}}}},{key:"mount",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new j(i);var o=i.grid.drawGrid();if(i.annotations=new P(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position&&o&&a.globals.dom.elGraphical.add(o.el),Array.isArray(e.elGraph))for(var n=0;n0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){var t,e;window.removeEventListener("resize",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=Wt.get(t))&&(e.disconnect(),Wt.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===x.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Nt(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new U(this.ctx).getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new U(this.ctx).getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(t){return new G(this.ctx).dataURI(t)}},{key:"exportToCSV",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new G(this.ctx).exportToCSV(t)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:"_windowResizeHandler",value:function(){var t=this.w.config.chart.redrawOnWindowResize;"function"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:"getChartByID",value:function(t){var e=x.escapeString(t),i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i2?s-2:0),o=2;o { + if (selector && window.CSS && window.CSS.escape) { + // document.querySelector needs escaping to handle IDs (html5+) containing for instance / + selector = selector.replace(/#([^\s"#']+)/g, (match, id) => `#${CSS.escape(id)}`); + } + return selector; + }; + + // Shout-out Angus Croll (https://goo.gl/pxwQGp) + const toType = object => { + if (object === null || object === undefined) { + return `${object}`; + } + return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase(); + }; + + /** + * Public Util API + */ + + const getUID = prefix => { + do { + prefix += Math.floor(Math.random() * MAX_UID); + } while (document.getElementById(prefix)); + return prefix; + }; + const getTransitionDurationFromElement = element => { + if (!element) { + return 0; + } + + // Get transition-duration of the element + let { + transitionDuration, + transitionDelay + } = window.getComputedStyle(element); + const floatTransitionDuration = Number.parseFloat(transitionDuration); + const floatTransitionDelay = Number.parseFloat(transitionDelay); + + // Return 0 if element or transition duration is not found + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } + + // If multiple durations are defined, take the first + transitionDuration = transitionDuration.split(',')[0]; + transitionDelay = transitionDelay.split(',')[0]; + return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; + }; + const triggerTransitionEnd = element => { + element.dispatchEvent(new Event(TRANSITION_END)); + }; + const isElement$1 = object => { + if (!object || typeof object !== 'object') { + return false; + } + if (typeof object.jquery !== 'undefined') { + object = object[0]; + } + return typeof object.nodeType !== 'undefined'; + }; + const getElement = object => { + // it's a jQuery object or a node element + if (isElement$1(object)) { + return object.jquery ? object[0] : object; + } + if (typeof object === 'string' && object.length > 0) { + return document.querySelector(parseSelector(object)); + } + return null; + }; + const isVisible = element => { + if (!isElement$1(element) || element.getClientRects().length === 0) { + return false; + } + const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; + // Handle `details` element as its content may falsie appear visible when it is closed + const closedDetails = element.closest('details:not([open])'); + if (!closedDetails) { + return elementIsVisible; + } + if (closedDetails !== element) { + const summary = element.closest('summary'); + if (summary && summary.parentNode !== closedDetails) { + return false; + } + if (summary === null) { + return false; + } + } + return elementIsVisible; + }; + const isDisabled = element => { + if (!element || element.nodeType !== Node.ELEMENT_NODE) { + return true; + } + if (element.classList.contains('disabled')) { + return true; + } + if (typeof element.disabled !== 'undefined') { + return element.disabled; + } + return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; + }; + const findShadowRoot = element => { + if (!document.documentElement.attachShadow) { + return null; + } + + // Can find the shadow root otherwise it'll return the document + if (typeof element.getRootNode === 'function') { + const root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + if (element instanceof ShadowRoot) { + return element; + } + + // when we don't find a shadow root + if (!element.parentNode) { + return null; + } + return findShadowRoot(element.parentNode); + }; + const noop = () => {}; + + /** + * Trick to restart an element's animation + * + * @param {HTMLElement} element + * @return void + * + * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation + */ + const reflow = element => { + element.offsetHeight; // eslint-disable-line no-unused-expressions + }; + + const getjQuery = () => { + if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { + return window.jQuery; + } + return null; + }; + const DOMContentLoadedCallbacks = []; + const onDOMContentLoaded = callback => { + if (document.readyState === 'loading') { + // add listener on the first call when the document is in loading state + if (!DOMContentLoadedCallbacks.length) { + document.addEventListener('DOMContentLoaded', () => { + for (const callback of DOMContentLoadedCallbacks) { + callback(); + } + }); + } + DOMContentLoadedCallbacks.push(callback); + } else { + callback(); + } + }; + const isRTL = () => document.documentElement.dir === 'rtl'; + const defineJQueryPlugin = plugin => { + onDOMContentLoaded(() => { + const $ = getjQuery(); + /* istanbul ignore if */ + if ($) { + const name = plugin.NAME; + const JQUERY_NO_CONFLICT = $.fn[name]; + $.fn[name] = plugin.jQueryInterface; + $.fn[name].Constructor = plugin; + $.fn[name].noConflict = () => { + $.fn[name] = JQUERY_NO_CONFLICT; + return plugin.jQueryInterface; + }; + } + }); + }; + const execute = (possibleCallback, args = [], defaultValue = possibleCallback) => { + return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue; + }; + const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { + if (!waitForTransition) { + execute(callback); + return; + } + const durationPadding = 5; + const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; + let called = false; + const handler = ({ + target + }) => { + if (target !== transitionElement) { + return; + } + called = true; + transitionElement.removeEventListener(TRANSITION_END, handler); + execute(callback); + }; + transitionElement.addEventListener(TRANSITION_END, handler); + setTimeout(() => { + if (!called) { + triggerTransitionEnd(transitionElement); + } + }, emulatedDuration); + }; + + /** + * Return the previous/next element of a list. + * + * @param {array} list The list of elements + * @param activeElement The active element + * @param shouldGetNext Choose to get next or previous element + * @param isCycleAllowed + * @return {Element|elem} The proper element + */ + const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { + const listLength = list.length; + let index = list.indexOf(activeElement); + + // if the element does not exist in the list return an element + // depending on the direction and if cycle is allowed + if (index === -1) { + return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]; + } + index += shouldGetNext ? 1 : -1; + if (isCycleAllowed) { + index = (index + listLength) % listLength; + } + return list[Math.max(0, Math.min(index, listLength - 1))]; + }; + + /** + * -------------------------------------------------------------------------- + * Bootstrap dom/event-handler.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const namespaceRegex = /[^.]*(?=\..*)\.|.*/; + const stripNameRegex = /\..*/; + const stripUidRegex = /::\d+$/; + const eventRegistry = {}; // Events storage + let uidEvent = 1; + const customEvents = { + mouseenter: 'mouseover', + mouseleave: 'mouseout' + }; + const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']); + + /** + * Private methods + */ + + function makeEventUid(element, uid) { + return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; + } + function getElementEvents(element) { + const uid = makeEventUid(element); + element.uidEvent = uid; + eventRegistry[uid] = eventRegistry[uid] || {}; + return eventRegistry[uid]; + } + function bootstrapHandler(element, fn) { + return function handler(event) { + hydrateObj(event, { + delegateTarget: element + }); + if (handler.oneOff) { + EventHandler.off(element, event.type, fn); + } + return fn.apply(element, [event]); + }; + } + function bootstrapDelegationHandler(element, selector, fn) { + return function handler(event) { + const domElements = element.querySelectorAll(selector); + for (let { + target + } = event; target && target !== this; target = target.parentNode) { + for (const domElement of domElements) { + if (domElement !== target) { + continue; + } + hydrateObj(event, { + delegateTarget: target + }); + if (handler.oneOff) { + EventHandler.off(element, event.type, selector, fn); + } + return fn.apply(target, [event]); + } + } + }; + } + function findHandler(events, callable, delegationSelector = null) { + return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector); + } + function normalizeParameters(originalTypeEvent, handler, delegationFunction) { + const isDelegated = typeof handler === 'string'; + // TODO: tooltip passes `false` instead of selector, so we need to check + const callable = isDelegated ? delegationFunction : handler || delegationFunction; + let typeEvent = getTypeEvent(originalTypeEvent); + if (!nativeEvents.has(typeEvent)) { + typeEvent = originalTypeEvent; + } + return [isDelegated, callable, typeEvent]; + } + function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { + if (typeof originalTypeEvent !== 'string' || !element) { + return; + } + let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + + // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position + // this prevents the handler from being dispatched the same way as mouseover or mouseout does + if (originalTypeEvent in customEvents) { + const wrapFunction = fn => { + return function (event) { + if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { + return fn.call(this, event); + } + }; + }; + callable = wrapFunction(callable); + } + const events = getElementEvents(element); + const handlers = events[typeEvent] || (events[typeEvent] = {}); + const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null); + if (previousFunction) { + previousFunction.oneOff = previousFunction.oneOff && oneOff; + return; + } + const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, '')); + const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable); + fn.delegationSelector = isDelegated ? handler : null; + fn.callable = callable; + fn.oneOff = oneOff; + fn.uidEvent = uid; + handlers[uid] = fn; + element.addEventListener(typeEvent, fn, isDelegated); + } + function removeHandler(element, events, typeEvent, handler, delegationSelector) { + const fn = findHandler(events[typeEvent], handler, delegationSelector); + if (!fn) { + return; + } + element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); + delete events[typeEvent][fn.uidEvent]; + } + function removeNamespacedHandlers(element, events, typeEvent, namespace) { + const storeElementEvent = events[typeEvent] || {}; + for (const [handlerKey, event] of Object.entries(storeElementEvent)) { + if (handlerKey.includes(namespace)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } + } + function getTypeEvent(event) { + // allow to get the native events from namespaced events ('click.bs.button' --> 'click') + event = event.replace(stripNameRegex, ''); + return customEvents[event] || event; + } + const EventHandler = { + on(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, false); + }, + one(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, true); + }, + off(element, originalTypeEvent, handler, delegationFunction) { + if (typeof originalTypeEvent !== 'string' || !element) { + return; + } + const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + const inNamespace = typeEvent !== originalTypeEvent; + const events = getElementEvents(element); + const storeElementEvent = events[typeEvent] || {}; + const isNamespace = originalTypeEvent.startsWith('.'); + if (typeof callable !== 'undefined') { + // Simplest case: handler is passed, remove that listener ONLY. + if (!Object.keys(storeElementEvent).length) { + return; + } + removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null); + return; + } + if (isNamespace) { + for (const elementEvent of Object.keys(events)) { + removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); + } + } + for (const [keyHandlers, event] of Object.entries(storeElementEvent)) { + const handlerKey = keyHandlers.replace(stripUidRegex, ''); + if (!inNamespace || originalTypeEvent.includes(handlerKey)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } + }, + trigger(element, event, args) { + if (typeof event !== 'string' || !element) { + return null; + } + const $ = getjQuery(); + const typeEvent = getTypeEvent(event); + const inNamespace = event !== typeEvent; + let jQueryEvent = null; + let bubbles = true; + let nativeDispatch = true; + let defaultPrevented = false; + if (inNamespace && $) { + jQueryEvent = $.Event(event, args); + $(element).trigger(jQueryEvent); + bubbles = !jQueryEvent.isPropagationStopped(); + nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); + defaultPrevented = jQueryEvent.isDefaultPrevented(); + } + const evt = hydrateObj(new Event(event, { + bubbles, + cancelable: true + }), args); + if (defaultPrevented) { + evt.preventDefault(); + } + if (nativeDispatch) { + element.dispatchEvent(evt); + } + if (evt.defaultPrevented && jQueryEvent) { + jQueryEvent.preventDefault(); + } + return evt; + } + }; + function hydrateObj(obj, meta = {}) { + for (const [key, value] of Object.entries(meta)) { + try { + obj[key] = value; + } catch (_unused) { + Object.defineProperty(obj, key, { + configurable: true, + get() { + return value; + } + }); + } + } + return obj; + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap dom/manipulator.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + function normalizeData(value) { + if (value === 'true') { + return true; + } + if (value === 'false') { + return false; + } + if (value === Number(value).toString()) { + return Number(value); + } + if (value === '' || value === 'null') { + return null; + } + if (typeof value !== 'string') { + return value; + } + try { + return JSON.parse(decodeURIComponent(value)); + } catch (_unused) { + return value; + } + } + function normalizeDataKey(key) { + return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`); + } + const Manipulator = { + setDataAttribute(element, key, value) { + element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value); + }, + removeDataAttribute(element, key) { + element.removeAttribute(`data-bs-${normalizeDataKey(key)}`); + }, + getDataAttributes(element) { + if (!element) { + return {}; + } + const attributes = {}; + const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig')); + for (const key of bsKeys) { + let pureKey = key.replace(/^bs/, ''); + pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length); + attributes[pureKey] = normalizeData(element.dataset[key]); + } + return attributes; + }, + getDataAttribute(element, key) { + return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`)); + } + }; + + /** + * -------------------------------------------------------------------------- + * Bootstrap util/config.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Class definition + */ + + class Config { + // Getters + static get Default() { + return {}; + } + static get DefaultType() { + return {}; + } + static get NAME() { + throw new Error('You have to implement the static method "NAME", for each component!'); + } + _getConfig(config) { + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + return config; + } + _mergeConfigObj(config, element) { + const jsonConfig = isElement$1(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse + + return { + ...this.constructor.Default, + ...(typeof jsonConfig === 'object' ? jsonConfig : {}), + ...(isElement$1(element) ? Manipulator.getDataAttributes(element) : {}), + ...(typeof config === 'object' ? config : {}) + }; + } + _typeCheckConfig(config, configTypes = this.constructor.DefaultType) { + for (const [property, expectedTypes] of Object.entries(configTypes)) { + const value = config[property]; + const valueType = isElement$1(value) ? 'element' : toType(value); + if (!new RegExp(expectedTypes).test(valueType)) { + throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); + } + } + } + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap base-component.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const VERSION = '5.3.0-alpha2'; + + /** + * Class definition + */ + + class BaseComponent extends Config { + constructor(element, config) { + super(); + element = getElement(element); + if (!element) { + return; + } + this._element = element; + this._config = this._getConfig(config); + Data.set(this._element, this.constructor.DATA_KEY, this); + } + + // Public + dispose() { + Data.remove(this._element, this.constructor.DATA_KEY); + EventHandler.off(this._element, this.constructor.EVENT_KEY); + for (const propertyName of Object.getOwnPropertyNames(this)) { + this[propertyName] = null; + } + } + _queueCallback(callback, element, isAnimated = true) { + executeAfterTransition(callback, element, isAnimated); + } + _getConfig(config) { + config = this._mergeConfigObj(config, this._element); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + + // Static + static getInstance(element) { + return Data.get(getElement(element), this.DATA_KEY); + } + static getOrCreateInstance(element, config = {}) { + return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null); + } + static get VERSION() { + return VERSION; + } + static get DATA_KEY() { + return `bs.${this.NAME}`; + } + static get EVENT_KEY() { + return `.${this.DATA_KEY}`; + } + static eventName(name) { + return `${name}${this.EVENT_KEY}`; + } + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap dom/selector-engine.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + const getSelector = element => { + let selector = element.getAttribute('data-bs-target'); + if (!selector || selector === '#') { + let hrefAttribute = element.getAttribute('href'); + + // The only valid content that could double as a selector are IDs or classes, + // so everything starting with `#` or `.`. If a "real" URL is used as the selector, + // `document.querySelector` will rightfully complain it is invalid. + // See https://github.com/twbs/bootstrap/issues/32273 + if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) { + return null; + } + + // Just in case some CMS puts out a full URL with the anchor appended + if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) { + hrefAttribute = `#${hrefAttribute.split('#')[1]}`; + } + selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null; + } + return parseSelector(selector); + }; + const SelectorEngine = { + find(selector, element = document.documentElement) { + return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); + }, + findOne(selector, element = document.documentElement) { + return Element.prototype.querySelector.call(element, selector); + }, + children(element, selector) { + return [].concat(...element.children).filter(child => child.matches(selector)); + }, + parents(element, selector) { + const parents = []; + let ancestor = element.parentNode.closest(selector); + while (ancestor) { + parents.push(ancestor); + ancestor = ancestor.parentNode.closest(selector); + } + return parents; + }, + prev(element, selector) { + let previous = element.previousElementSibling; + while (previous) { + if (previous.matches(selector)) { + return [previous]; + } + previous = previous.previousElementSibling; + } + return []; + }, + // TODO: this is now unused; remove later along with prev() + next(element, selector) { + let next = element.nextElementSibling; + while (next) { + if (next.matches(selector)) { + return [next]; + } + next = next.nextElementSibling; + } + return []; + }, + focusableChildren(element) { + const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(','); + return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el)); + }, + getSelectorFromElement(element) { + const selector = getSelector(element); + if (selector) { + return SelectorEngine.findOne(selector) ? selector : null; + } + return null; + }, + getElementFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.findOne(selector) : null; + }, + getMultipleElementsFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.find(selector) : []; + } + }; + + /** + * -------------------------------------------------------------------------- + * Bootstrap util/component-functions.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + const enableDismissTrigger = (component, method = 'hide') => { + const clickEvent = `click.dismiss${component.EVENT_KEY}`; + const name = component.NAME; + EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`); + const instance = component.getOrCreateInstance(target); + + // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method + instance[method](); + }); + }; + + /** + * -------------------------------------------------------------------------- + * Bootstrap alert.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$f = 'alert'; + const DATA_KEY$a = 'bs.alert'; + const EVENT_KEY$b = `.${DATA_KEY$a}`; + const EVENT_CLOSE = `close${EVENT_KEY$b}`; + const EVENT_CLOSED = `closed${EVENT_KEY$b}`; + const CLASS_NAME_FADE$5 = 'fade'; + const CLASS_NAME_SHOW$8 = 'show'; + + /** + * Class definition + */ + + class Alert extends BaseComponent { + // Getters + static get NAME() { + return NAME$f; + } + + // Public + close() { + const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); + if (closeEvent.defaultPrevented) { + return; + } + this._element.classList.remove(CLASS_NAME_SHOW$8); + const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); + this._queueCallback(() => this._destroyElement(), this._element, isAnimated); + } + + // Private + _destroyElement() { + this._element.remove(); + EventHandler.trigger(this._element, EVENT_CLOSED); + this.dispose(); + } + + // Static + static jQueryInterface(config) { + return this.each(function () { + const data = Alert.getOrCreateInstance(this); + if (typeof config !== 'string') { + return; + } + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + }); + } + } + + /** + * Data API implementation + */ + + enableDismissTrigger(Alert, 'close'); + + /** + * jQuery + */ + + defineJQueryPlugin(Alert); + + /** + * -------------------------------------------------------------------------- + * Bootstrap button.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$e = 'button'; + const DATA_KEY$9 = 'bs.button'; + const EVENT_KEY$a = `.${DATA_KEY$9}`; + const DATA_API_KEY$6 = '.data-api'; + const CLASS_NAME_ACTIVE$3 = 'active'; + const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]'; + const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; + + /** + * Class definition + */ + + class Button extends BaseComponent { + // Getters + static get NAME() { + return NAME$e; + } + + // Public + toggle() { + // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method + this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3)); + } + + // Static + static jQueryInterface(config) { + return this.each(function () { + const data = Button.getOrCreateInstance(this); + if (config === 'toggle') { + data[config](); + } + }); + } + } + + /** + * Data API implementation + */ + + EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => { + event.preventDefault(); + const button = event.target.closest(SELECTOR_DATA_TOGGLE$5); + const data = Button.getOrCreateInstance(button); + data.toggle(); + }); + + /** + * jQuery + */ + + defineJQueryPlugin(Button); + + /** + * -------------------------------------------------------------------------- + * Bootstrap util/swipe.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$d = 'swipe'; + const EVENT_KEY$9 = '.bs.swipe'; + const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`; + const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`; + const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`; + const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`; + const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`; + const POINTER_TYPE_TOUCH = 'touch'; + const POINTER_TYPE_PEN = 'pen'; + const CLASS_NAME_POINTER_EVENT = 'pointer-event'; + const SWIPE_THRESHOLD = 40; + const Default$c = { + endCallback: null, + leftCallback: null, + rightCallback: null + }; + const DefaultType$c = { + endCallback: '(function|null)', + leftCallback: '(function|null)', + rightCallback: '(function|null)' + }; + + /** + * Class definition + */ + + class Swipe extends Config { + constructor(element, config) { + super(); + this._element = element; + if (!element || !Swipe.isSupported()) { + return; + } + this._config = this._getConfig(config); + this._deltaX = 0; + this._supportPointerEvents = Boolean(window.PointerEvent); + this._initEvents(); + } + + // Getters + static get Default() { + return Default$c; + } + static get DefaultType() { + return DefaultType$c; + } + static get NAME() { + return NAME$d; + } + + // Public + dispose() { + EventHandler.off(this._element, EVENT_KEY$9); + } + + // Private + _start(event) { + if (!this._supportPointerEvents) { + this._deltaX = event.touches[0].clientX; + return; + } + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX; + } + } + _end(event) { + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX - this._deltaX; + } + this._handleSwipe(); + execute(this._config.endCallback); + } + _move(event) { + this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX; + } + _handleSwipe() { + const absDeltaX = Math.abs(this._deltaX); + if (absDeltaX <= SWIPE_THRESHOLD) { + return; + } + const direction = absDeltaX / this._deltaX; + this._deltaX = 0; + if (!direction) { + return; + } + execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback); + } + _initEvents() { + if (this._supportPointerEvents) { + EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event)); + EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event)); + this._element.classList.add(CLASS_NAME_POINTER_EVENT); + } else { + EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event)); + EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event)); + EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event)); + } + } + _eventIsPointerPenTouch(event) { + return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); + } + + // Static + static isSupported() { + return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; + } + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap carousel.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$c = 'carousel'; + const DATA_KEY$8 = 'bs.carousel'; + const EVENT_KEY$8 = `.${DATA_KEY$8}`; + const DATA_API_KEY$5 = '.data-api'; + const ARROW_LEFT_KEY$1 = 'ArrowLeft'; + const ARROW_RIGHT_KEY$1 = 'ArrowRight'; + const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch + + const ORDER_NEXT = 'next'; + const ORDER_PREV = 'prev'; + const DIRECTION_LEFT = 'left'; + const DIRECTION_RIGHT = 'right'; + const EVENT_SLIDE = `slide${EVENT_KEY$8}`; + const EVENT_SLID = `slid${EVENT_KEY$8}`; + const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`; + const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`; + const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`; + const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`; + const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`; + const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`; + const CLASS_NAME_CAROUSEL = 'carousel'; + const CLASS_NAME_ACTIVE$2 = 'active'; + const CLASS_NAME_SLIDE = 'slide'; + const CLASS_NAME_END = 'carousel-item-end'; + const CLASS_NAME_START = 'carousel-item-start'; + const CLASS_NAME_NEXT = 'carousel-item-next'; + const CLASS_NAME_PREV = 'carousel-item-prev'; + const SELECTOR_ACTIVE = '.active'; + const SELECTOR_ITEM = '.carousel-item'; + const SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM; + const SELECTOR_ITEM_IMG = '.carousel-item img'; + const SELECTOR_INDICATORS = '.carousel-indicators'; + const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'; + const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]'; + const KEY_TO_DIRECTION = { + [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT, + [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT + }; + const Default$b = { + interval: 5000, + keyboard: true, + pause: 'hover', + ride: false, + touch: true, + wrap: true + }; + const DefaultType$b = { + interval: '(number|boolean)', + // TODO:v6 remove boolean support + keyboard: 'boolean', + pause: '(string|boolean)', + ride: '(boolean|string)', + touch: 'boolean', + wrap: 'boolean' + }; + + /** + * Class definition + */ + + class Carousel extends BaseComponent { + constructor(element, config) { + super(element, config); + this._interval = null; + this._activeElement = null; + this._isSliding = false; + this.touchTimeout = null; + this._swipeHelper = null; + this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); + this._addEventListeners(); + if (this._config.ride === CLASS_NAME_CAROUSEL) { + this.cycle(); + } + } + + // Getters + static get Default() { + return Default$b; + } + static get DefaultType() { + return DefaultType$b; + } + static get NAME() { + return NAME$c; + } + + // Public + next() { + this._slide(ORDER_NEXT); + } + nextWhenVisible() { + // FIXME TODO use `document.visibilityState` + // Don't call next when the page isn't visible + // or the carousel or its parent isn't visible + if (!document.hidden && isVisible(this._element)) { + this.next(); + } + } + prev() { + this._slide(ORDER_PREV); + } + pause() { + if (this._isSliding) { + triggerTransitionEnd(this._element); + } + this._clearInterval(); + } + cycle() { + this._clearInterval(); + this._updateInterval(); + this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval); + } + _maybeEnableCycle() { + if (!this._config.ride) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.cycle()); + return; + } + this.cycle(); + } + to(index) { + const items = this._getItems(); + if (index > items.length - 1 || index < 0) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); + return; + } + const activeIndex = this._getItemIndex(this._getActive()); + if (activeIndex === index) { + return; + } + const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV; + this._slide(order, items[index]); + } + dispose() { + if (this._swipeHelper) { + this._swipeHelper.dispose(); + } + super.dispose(); + } + + // Private + _configAfterMerge(config) { + config.defaultInterval = config.interval; + return config; + } + _addEventListeners() { + if (this._config.keyboard) { + EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event)); + } + if (this._config.pause === 'hover') { + EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause()); + EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle()); + } + if (this._config.touch && Swipe.isSupported()) { + this._addTouchEventListeners(); + } + } + _addTouchEventListeners() { + for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) { + EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault()); + } + const endCallBack = () => { + if (this._config.pause !== 'hover') { + return; + } + + // If it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + + this.pause(); + if (this.touchTimeout) { + clearTimeout(this.touchTimeout); + } + this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval); + }; + const swipeConfig = { + leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)), + rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)), + endCallback: endCallBack + }; + this._swipeHelper = new Swipe(this._element, swipeConfig); + } + _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + const direction = KEY_TO_DIRECTION[event.key]; + if (direction) { + event.preventDefault(); + this._slide(this._directionToOrder(direction)); + } + } + _getItemIndex(element) { + return this._getItems().indexOf(element); + } + _setActiveIndicatorElement(index) { + if (!this._indicatorsElement) { + return; + } + const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement); + activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); + activeIndicator.removeAttribute('aria-current'); + const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement); + if (newActiveIndicator) { + newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2); + newActiveIndicator.setAttribute('aria-current', 'true'); + } + } + _updateInterval() { + const element = this._activeElement || this._getActive(); + if (!element) { + return; + } + const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10); + this._config.interval = elementInterval || this._config.defaultInterval; + } + _slide(order, element = null) { + if (this._isSliding) { + return; + } + const activeElement = this._getActive(); + const isNext = order === ORDER_NEXT; + const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap); + if (nextElement === activeElement) { + return; + } + const nextElementIndex = this._getItemIndex(nextElement); + const triggerEvent = eventName => { + return EventHandler.trigger(this._element, eventName, { + relatedTarget: nextElement, + direction: this._orderToDirection(order), + from: this._getItemIndex(activeElement), + to: nextElementIndex + }); + }; + const slideEvent = triggerEvent(EVENT_SLIDE); + if (slideEvent.defaultPrevented) { + return; + } + if (!activeElement || !nextElement) { + // Some weirdness is happening, so we bail + // TODO: change tests that use empty divs to avoid this check + return; + } + const isCycling = Boolean(this._interval); + this.pause(); + this._isSliding = true; + this._setActiveIndicatorElement(nextElementIndex); + this._activeElement = nextElement; + const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; + const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; + nextElement.classList.add(orderClassName); + reflow(nextElement); + activeElement.classList.add(directionalClassName); + nextElement.classList.add(directionalClassName); + const completeCallBack = () => { + nextElement.classList.remove(directionalClassName, orderClassName); + nextElement.classList.add(CLASS_NAME_ACTIVE$2); + activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); + this._isSliding = false; + triggerEvent(EVENT_SLID); + }; + this._queueCallback(completeCallBack, activeElement, this._isAnimated()); + if (isCycling) { + this.cycle(); + } + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_SLIDE); + } + _getActive() { + return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); + } + _getItems() { + return SelectorEngine.find(SELECTOR_ITEM, this._element); + } + _clearInterval() { + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + } + _directionToOrder(direction) { + if (isRTL()) { + return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; + } + return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; + } + _orderToDirection(order) { + if (isRTL()) { + return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; + } + return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; + } + + // Static + static jQueryInterface(config) { + return this.each(function () { + const data = Carousel.getOrCreateInstance(this, config); + if (typeof config === 'number') { + data.to(config); + return; + } + if (typeof config === 'string') { + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + } + }); + } + } + + /** + * Data API implementation + */ + + EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) { + const target = SelectorEngine.getElementFromSelector(this); + if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { + return; + } + event.preventDefault(); + const carousel = Carousel.getOrCreateInstance(target); + const slideIndex = this.getAttribute('data-bs-slide-to'); + if (slideIndex) { + carousel.to(slideIndex); + carousel._maybeEnableCycle(); + return; + } + if (Manipulator.getDataAttribute(this, 'slide') === 'next') { + carousel.next(); + carousel._maybeEnableCycle(); + return; + } + carousel.prev(); + carousel._maybeEnableCycle(); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => { + const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); + for (const carousel of carousels) { + Carousel.getOrCreateInstance(carousel); + } + }); + + /** + * jQuery + */ + + defineJQueryPlugin(Carousel); + + /** + * -------------------------------------------------------------------------- + * Bootstrap collapse.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$b = 'collapse'; + const DATA_KEY$7 = 'bs.collapse'; + const EVENT_KEY$7 = `.${DATA_KEY$7}`; + const DATA_API_KEY$4 = '.data-api'; + const EVENT_SHOW$6 = `show${EVENT_KEY$7}`; + const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`; + const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`; + const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`; + const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`; + const CLASS_NAME_SHOW$7 = 'show'; + const CLASS_NAME_COLLAPSE = 'collapse'; + const CLASS_NAME_COLLAPSING = 'collapsing'; + const CLASS_NAME_COLLAPSED = 'collapsed'; + const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; + const CLASS_NAME_HORIZONTAL = 'collapse-horizontal'; + const WIDTH = 'width'; + const HEIGHT = 'height'; + const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; + const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; + const Default$a = { + parent: null, + toggle: true + }; + const DefaultType$a = { + parent: '(null|element)', + toggle: 'boolean' + }; + + /** + * Class definition + */ + + class Collapse extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isTransitioning = false; + this._triggerArray = []; + const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); + for (const elem of toggleList) { + const selector = SelectorEngine.getSelectorFromElement(elem); + const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element); + if (selector !== null && filterElement.length) { + this._triggerArray.push(elem); + } + } + this._initializeChildren(); + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); + } + if (this._config.toggle) { + this.toggle(); + } + } + + // Getters + static get Default() { + return Default$a; + } + static get DefaultType() { + return DefaultType$a; + } + static get NAME() { + return NAME$b; + } + + // Public + toggle() { + if (this._isShown()) { + this.hide(); + } else { + this.show(); + } + } + show() { + if (this._isTransitioning || this._isShown()) { + return; + } + let activeChildren = []; + + // find active children + if (this._config.parent) { + activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, { + toggle: false + })); + } + if (activeChildren.length && activeChildren[0]._isTransitioning) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); + if (startEvent.defaultPrevented) { + return; + } + for (const activeInstance of activeChildren) { + activeInstance.hide(); + } + const dimension = this._getDimension(); + this._element.classList.remove(CLASS_NAME_COLLAPSE); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.style[dimension] = 0; + this._addAriaAndCollapsedClass(this._triggerArray, true); + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + this._element.style[dimension] = ''; + EventHandler.trigger(this._element, EVENT_SHOWN$6); + }; + const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + const scrollSize = `scroll${capitalizedDimension}`; + this._queueCallback(complete, this._element, true); + this._element.style[dimension] = `${this._element[scrollSize]}px`; + } + hide() { + if (this._isTransitioning || !this._isShown()) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); + if (startEvent.defaultPrevented) { + return; + } + const dimension = this._getDimension(); + this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; + reflow(this._element); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + for (const trigger of this._triggerArray) { + const element = SelectorEngine.getElementFromSelector(trigger); + if (element && !this._isShown(element)) { + this._addAriaAndCollapsedClass([trigger], false); + } + } + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE); + EventHandler.trigger(this._element, EVENT_HIDDEN$6); + }; + this._element.style[dimension] = ''; + this._queueCallback(complete, this._element, true); + } + _isShown(element = this._element) { + return element.classList.contains(CLASS_NAME_SHOW$7); + } + + // Private + _configAfterMerge(config) { + config.toggle = Boolean(config.toggle); // Coerce string values + config.parent = getElement(config.parent); + return config; + } + _getDimension() { + return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; + } + _initializeChildren() { + if (!this._config.parent) { + return; + } + const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4); + for (const element of children) { + const selected = SelectorEngine.getElementFromSelector(element); + if (selected) { + this._addAriaAndCollapsedClass([element], this._isShown(selected)); + } + } + } + _getFirstLevelChildren(selector) { + const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); + // remove children if greater depth + return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element)); + } + _addAriaAndCollapsedClass(triggerArray, isOpen) { + if (!triggerArray.length) { + return; + } + for (const element of triggerArray) { + element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen); + element.setAttribute('aria-expanded', isOpen); + } + } + + // Static + static jQueryInterface(config) { + const _config = {}; + if (typeof config === 'string' && /show|hide/.test(config)) { + _config.toggle = false; + } + return this.each(function () { + const data = Collapse.getOrCreateInstance(this, _config); + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + } + }); + } + } + + /** + * Data API implementation + */ + + EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) { + // preventDefault only for elements (which change the URL) not inside the collapsible element + if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') { + event.preventDefault(); + } + for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) { + Collapse.getOrCreateInstance(element, { + toggle: false + }).toggle(); + } + }); + + /** + * jQuery + */ + + defineJQueryPlugin(Collapse); + + var top = 'top'; + var bottom = 'bottom'; + var right = 'right'; + var left = 'left'; + var auto = 'auto'; + var basePlacements = [top, bottom, right, left]; + var start = 'start'; + var end = 'end'; + var clippingParents = 'clippingParents'; + var viewport = 'viewport'; + var popper = 'popper'; + var reference = 'reference'; + var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { + return acc.concat([placement + "-" + start, placement + "-" + end]); + }, []); + var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { + return acc.concat([placement, placement + "-" + start, placement + "-" + end]); + }, []); // modifiers that need to read the DOM + + var beforeRead = 'beforeRead'; + var read = 'read'; + var afterRead = 'afterRead'; // pure-logic modifiers + + var beforeMain = 'beforeMain'; + var main = 'main'; + var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state) + + var beforeWrite = 'beforeWrite'; + var write = 'write'; + var afterWrite = 'afterWrite'; + var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; + + function getNodeName(element) { + return element ? (element.nodeName || '').toLowerCase() : null; + } + + function getWindow(node) { + if (node == null) { + return window; + } + + if (node.toString() !== '[object Window]') { + var ownerDocument = node.ownerDocument; + return ownerDocument ? ownerDocument.defaultView || window : window; + } + + return node; + } + + function isElement(node) { + var OwnElement = getWindow(node).Element; + return node instanceof OwnElement || node instanceof Element; + } + + function isHTMLElement(node) { + var OwnElement = getWindow(node).HTMLElement; + return node instanceof OwnElement || node instanceof HTMLElement; + } + + function isShadowRoot(node) { + // IE 11 has no ShadowRoot + if (typeof ShadowRoot === 'undefined') { + return false; + } + + var OwnElement = getWindow(node).ShadowRoot; + return node instanceof OwnElement || node instanceof ShadowRoot; + } + + // and applies them to the HTMLElements such as popper and arrow + + function applyStyles(_ref) { + var state = _ref.state; + Object.keys(state.elements).forEach(function (name) { + var style = state.styles[name] || {}; + var attributes = state.attributes[name] || {}; + var element = state.elements[name]; // arrow is optional + virtual elements + + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } // Flow doesn't support to extend this property, but it's the most + // effective way to apply styles to an HTMLElement + // $FlowFixMe[cannot-write] + + + Object.assign(element.style, style); + Object.keys(attributes).forEach(function (name) { + var value = attributes[name]; + + if (value === false) { + element.removeAttribute(name); + } else { + element.setAttribute(name, value === true ? '' : value); + } + }); + }); + } + + function effect$2(_ref2) { + var state = _ref2.state; + var initialStyles = { + popper: { + position: state.options.strategy, + left: '0', + top: '0', + margin: '0' + }, + arrow: { + position: 'absolute' + }, + reference: {} + }; + Object.assign(state.elements.popper.style, initialStyles.popper); + state.styles = initialStyles; + + if (state.elements.arrow) { + Object.assign(state.elements.arrow.style, initialStyles.arrow); + } + + return function () { + Object.keys(state.elements).forEach(function (name) { + var element = state.elements[name]; + var attributes = state.attributes[name] || {}; + var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them + + var style = styleProperties.reduce(function (style, property) { + style[property] = ''; + return style; + }, {}); // arrow is optional + virtual elements + + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + + Object.assign(element.style, style); + Object.keys(attributes).forEach(function (attribute) { + element.removeAttribute(attribute); + }); + }); + }; + } // eslint-disable-next-line import/no-unused-modules + + + const applyStyles$1 = { + name: 'applyStyles', + enabled: true, + phase: 'write', + fn: applyStyles, + effect: effect$2, + requires: ['computeStyles'] + }; + + function getBasePlacement(placement) { + return placement.split('-')[0]; + } + + var max = Math.max; + var min = Math.min; + var round = Math.round; + + function getUAString() { + var uaData = navigator.userAgentData; + + if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) { + return uaData.brands.map(function (item) { + return item.brand + "/" + item.version; + }).join(' '); + } + + return navigator.userAgent; + } + + function isLayoutViewport() { + return !/^((?!chrome|android).)*safari/i.test(getUAString()); + } + + function getBoundingClientRect(element, includeScale, isFixedStrategy) { + if (includeScale === void 0) { + includeScale = false; + } + + if (isFixedStrategy === void 0) { + isFixedStrategy = false; + } + + var clientRect = element.getBoundingClientRect(); + var scaleX = 1; + var scaleY = 1; + + if (includeScale && isHTMLElement(element)) { + scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1; + scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1; + } + + var _ref = isElement(element) ? getWindow(element) : window, + visualViewport = _ref.visualViewport; + + var addVisualOffsets = !isLayoutViewport() && isFixedStrategy; + var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; + var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; + var width = clientRect.width / scaleX; + var height = clientRect.height / scaleY; + return { + width: width, + height: height, + top: y, + right: x + width, + bottom: y + height, + left: x, + x: x, + y: y + }; + } + + // means it doesn't take into account transforms. + + function getLayoutRect(element) { + var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed. + // Fixes https://github.com/popperjs/popper-core/issues/1223 + + var width = element.offsetWidth; + var height = element.offsetHeight; + + if (Math.abs(clientRect.width - width) <= 1) { + width = clientRect.width; + } + + if (Math.abs(clientRect.height - height) <= 1) { + height = clientRect.height; + } + + return { + x: element.offsetLeft, + y: element.offsetTop, + width: width, + height: height + }; + } + + function contains(parent, child) { + var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method + + if (parent.contains(child)) { + return true; + } // then fallback to custom implementation with Shadow DOM support + else if (rootNode && isShadowRoot(rootNode)) { + var next = child; + + do { + if (next && parent.isSameNode(next)) { + return true; + } // $FlowFixMe[prop-missing]: need a better way to handle this... + + + next = next.parentNode || next.host; + } while (next); + } // Give up, the result is false + + + return false; + } + + function getComputedStyle$1(element) { + return getWindow(element).getComputedStyle(element); + } + + function isTableElement(element) { + return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; + } + + function getDocumentElement(element) { + // $FlowFixMe[incompatible-return]: assume body is always available + return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing] + element.document) || window.document).documentElement; + } + + function getParentNode(element) { + if (getNodeName(element) === 'html') { + return element; + } + + return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle + // $FlowFixMe[incompatible-return] + // $FlowFixMe[prop-missing] + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || ( // DOM Element detected + isShadowRoot(element) ? element.host : null) || // ShadowRoot detected + // $FlowFixMe[incompatible-call]: HTMLElement is a Node + getDocumentElement(element) // fallback + + ); + } + + function getTrueOffsetParent(element) { + if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837 + getComputedStyle$1(element).position === 'fixed') { + return null; + } + + return element.offsetParent; + } // `.offsetParent` reports `null` for fixed elements, while absolute elements + // return the containing block + + + function getContainingBlock(element) { + var isFirefox = /firefox/i.test(getUAString()); + var isIE = /Trident/i.test(getUAString()); + + if (isIE && isHTMLElement(element)) { + // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport + var elementCss = getComputedStyle$1(element); + + if (elementCss.position === 'fixed') { + return null; + } + } + + var currentNode = getParentNode(element); + + if (isShadowRoot(currentNode)) { + currentNode = currentNode.host; + } + + while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) { + var css = getComputedStyle$1(currentNode); // This is non-exhaustive but covers the most common CSS properties that + // create a containing block. + // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block + + if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') { + return currentNode; + } else { + currentNode = currentNode.parentNode; + } + } + + return null; + } // Gets the closest ancestor positioned element. Handles some edge cases, + // such as table ancestors and cross browser bugs. + + + function getOffsetParent(element) { + var window = getWindow(element); + var offsetParent = getTrueOffsetParent(element); + + while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') { + offsetParent = getTrueOffsetParent(offsetParent); + } + + if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static')) { + return window; + } + + return offsetParent || getContainingBlock(element) || window; + } + + function getMainAxisFromPlacement(placement) { + return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; + } + + function within(min$1, value, max$1) { + return max(min$1, min(value, max$1)); + } + function withinMaxClamp(min, value, max) { + var v = within(min, value, max); + return v > max ? max : v; + } + + function getFreshSideObject() { + return { + top: 0, + right: 0, + bottom: 0, + left: 0 + }; + } + + function mergePaddingObject(paddingObject) { + return Object.assign({}, getFreshSideObject(), paddingObject); + } + + function expandToHashMap(value, keys) { + return keys.reduce(function (hashMap, key) { + hashMap[key] = value; + return hashMap; + }, {}); + } + + var toPaddingObject = function toPaddingObject(padding, state) { + padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { + placement: state.placement + })) : padding; + return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); + }; + + function arrow(_ref) { + var _state$modifiersData$; + + var state = _ref.state, + name = _ref.name, + options = _ref.options; + var arrowElement = state.elements.arrow; + var popperOffsets = state.modifiersData.popperOffsets; + var basePlacement = getBasePlacement(state.placement); + var axis = getMainAxisFromPlacement(basePlacement); + var isVertical = [left, right].indexOf(basePlacement) >= 0; + var len = isVertical ? 'height' : 'width'; + + if (!arrowElement || !popperOffsets) { + return; + } + + var paddingObject = toPaddingObject(options.padding, state); + var arrowRect = getLayoutRect(arrowElement); + var minProp = axis === 'y' ? top : left; + var maxProp = axis === 'y' ? bottom : right; + var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; + var startDiff = popperOffsets[axis] - state.rects.reference[axis]; + var arrowOffsetParent = getOffsetParent(arrowElement); + var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; + var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is + // outside of the popper bounds + + var min = paddingObject[minProp]; + var max = clientSize - arrowRect[len] - paddingObject[maxProp]; + var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; + var offset = within(min, center, max); // Prevents breaking syntax highlighting... + + var axisProp = axis; + state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); + } + + function effect$1(_ref2) { + var state = _ref2.state, + options = _ref2.options; + var _options$element = options.element, + arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; + + if (arrowElement == null) { + return; + } // CSS selector + + + if (typeof arrowElement === 'string') { + arrowElement = state.elements.popper.querySelector(arrowElement); + + if (!arrowElement) { + return; + } + } + + if (!contains(state.elements.popper, arrowElement)) { + + return; + } + + state.elements.arrow = arrowElement; + } // eslint-disable-next-line import/no-unused-modules + + + const arrow$1 = { + name: 'arrow', + enabled: true, + phase: 'main', + fn: arrow, + effect: effect$1, + requires: ['popperOffsets'], + requiresIfExists: ['preventOverflow'] + }; + + function getVariation(placement) { + return placement.split('-')[1]; + } + + var unsetSides = { + top: 'auto', + right: 'auto', + bottom: 'auto', + left: 'auto' + }; // Round the offsets to the nearest suitable subpixel based on the DPR. + // Zooming can change the DPR, but it seems to report a value that will + // cleanly divide the values into the appropriate subpixels. + + function roundOffsetsByDPR(_ref, win) { + var x = _ref.x, + y = _ref.y; + var dpr = win.devicePixelRatio || 1; + return { + x: round(x * dpr) / dpr || 0, + y: round(y * dpr) / dpr || 0 + }; + } + + function mapToStyles(_ref2) { + var _Object$assign2; + + var popper = _ref2.popper, + popperRect = _ref2.popperRect, + placement = _ref2.placement, + variation = _ref2.variation, + offsets = _ref2.offsets, + position = _ref2.position, + gpuAcceleration = _ref2.gpuAcceleration, + adaptive = _ref2.adaptive, + roundOffsets = _ref2.roundOffsets, + isFixed = _ref2.isFixed; + var _offsets$x = offsets.x, + x = _offsets$x === void 0 ? 0 : _offsets$x, + _offsets$y = offsets.y, + y = _offsets$y === void 0 ? 0 : _offsets$y; + + var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({ + x: x, + y: y + }) : { + x: x, + y: y + }; + + x = _ref3.x; + y = _ref3.y; + var hasX = offsets.hasOwnProperty('x'); + var hasY = offsets.hasOwnProperty('y'); + var sideX = left; + var sideY = top; + var win = window; + + if (adaptive) { + var offsetParent = getOffsetParent(popper); + var heightProp = 'clientHeight'; + var widthProp = 'clientWidth'; + + if (offsetParent === getWindow(popper)) { + offsetParent = getDocumentElement(popper); + + if (getComputedStyle$1(offsetParent).position !== 'static' && position === 'absolute') { + heightProp = 'scrollHeight'; + widthProp = 'scrollWidth'; + } + } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it + + + offsetParent = offsetParent; + + if (placement === top || (placement === left || placement === right) && variation === end) { + sideY = bottom; + var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing] + offsetParent[heightProp]; + y -= offsetY - popperRect.height; + y *= gpuAcceleration ? 1 : -1; + } + + if (placement === left || (placement === top || placement === bottom) && variation === end) { + sideX = right; + var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing] + offsetParent[widthProp]; + x -= offsetX - popperRect.width; + x *= gpuAcceleration ? 1 : -1; + } + } + + var commonStyles = Object.assign({ + position: position + }, adaptive && unsetSides); + + var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ + x: x, + y: y + }, getWindow(popper)) : { + x: x, + y: y + }; + + x = _ref4.x; + y = _ref4.y; + + if (gpuAcceleration) { + var _Object$assign; + + return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); + } + + return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); + } + + function computeStyles(_ref5) { + var state = _ref5.state, + options = _ref5.options; + var _options$gpuAccelerat = options.gpuAcceleration, + gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, + _options$adaptive = options.adaptive, + adaptive = _options$adaptive === void 0 ? true : _options$adaptive, + _options$roundOffsets = options.roundOffsets, + roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; + + var commonStyles = { + placement: getBasePlacement(state.placement), + variation: getVariation(state.placement), + popper: state.elements.popper, + popperRect: state.rects.popper, + gpuAcceleration: gpuAcceleration, + isFixed: state.options.strategy === 'fixed' + }; + + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive: adaptive, + roundOffsets: roundOffsets + }))); + } + + if (state.modifiersData.arrow != null) { + state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.arrow, + position: 'absolute', + adaptive: false, + roundOffsets: roundOffsets + }))); + } + + state.attributes.popper = Object.assign({}, state.attributes.popper, { + 'data-popper-placement': state.placement + }); + } // eslint-disable-next-line import/no-unused-modules + + + const computeStyles$1 = { + name: 'computeStyles', + enabled: true, + phase: 'beforeWrite', + fn: computeStyles, + data: {} + }; + + var passive = { + passive: true + }; + + function effect(_ref) { + var state = _ref.state, + instance = _ref.instance, + options = _ref.options; + var _options$scroll = options.scroll, + scroll = _options$scroll === void 0 ? true : _options$scroll, + _options$resize = options.resize, + resize = _options$resize === void 0 ? true : _options$resize; + var window = getWindow(state.elements.popper); + var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); + + if (scroll) { + scrollParents.forEach(function (scrollParent) { + scrollParent.addEventListener('scroll', instance.update, passive); + }); + } + + if (resize) { + window.addEventListener('resize', instance.update, passive); + } + + return function () { + if (scroll) { + scrollParents.forEach(function (scrollParent) { + scrollParent.removeEventListener('scroll', instance.update, passive); + }); + } + + if (resize) { + window.removeEventListener('resize', instance.update, passive); + } + }; + } // eslint-disable-next-line import/no-unused-modules + + + const eventListeners = { + name: 'eventListeners', + enabled: true, + phase: 'write', + fn: function fn() {}, + effect: effect, + data: {} + }; + + var hash$1 = { + left: 'right', + right: 'left', + bottom: 'top', + top: 'bottom' + }; + function getOppositePlacement(placement) { + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash$1[matched]; + }); + } + + var hash = { + start: 'end', + end: 'start' + }; + function getOppositeVariationPlacement(placement) { + return placement.replace(/start|end/g, function (matched) { + return hash[matched]; + }); + } + + function getWindowScroll(node) { + var win = getWindow(node); + var scrollLeft = win.pageXOffset; + var scrollTop = win.pageYOffset; + return { + scrollLeft: scrollLeft, + scrollTop: scrollTop + }; + } + + function getWindowScrollBarX(element) { + // If has a CSS width greater than the viewport, then this will be + // incorrect for RTL. + // Popper 1 is broken in this case and never had a bug report so let's assume + // it's not an issue. I don't think anyone ever specifies width on + // anyway. + // Browsers where the left scrollbar doesn't cause an issue report `0` for + // this (e.g. Edge 2019, IE11, Safari) + return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; + } + + function getViewportRect(element, strategy) { + var win = getWindow(element); + var html = getDocumentElement(element); + var visualViewport = win.visualViewport; + var width = html.clientWidth; + var height = html.clientHeight; + var x = 0; + var y = 0; + + if (visualViewport) { + width = visualViewport.width; + height = visualViewport.height; + var layoutViewport = isLayoutViewport(); + + if (layoutViewport || !layoutViewport && strategy === 'fixed') { + x = visualViewport.offsetLeft; + y = visualViewport.offsetTop; + } + } + + return { + width: width, + height: height, + x: x + getWindowScrollBarX(element), + y: y + }; + } + + // of the `` and `` rect bounds if horizontally scrollable + + function getDocumentRect(element) { + var _element$ownerDocumen; + + var html = getDocumentElement(element); + var winScroll = getWindowScroll(element); + var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; + var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); + var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); + var x = -winScroll.scrollLeft + getWindowScrollBarX(element); + var y = -winScroll.scrollTop; + + if (getComputedStyle$1(body || html).direction === 'rtl') { + x += max(html.clientWidth, body ? body.clientWidth : 0) - width; + } + + return { + width: width, + height: height, + x: x, + y: y + }; + } + + function isScrollParent(element) { + // Firefox wants us to check `-x` and `-y` variations as well + var _getComputedStyle = getComputedStyle$1(element), + overflow = _getComputedStyle.overflow, + overflowX = _getComputedStyle.overflowX, + overflowY = _getComputedStyle.overflowY; + + return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); + } + + function getScrollParent(node) { + if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { + // $FlowFixMe[incompatible-return]: assume body is always available + return node.ownerDocument.body; + } + + if (isHTMLElement(node) && isScrollParent(node)) { + return node; + } + + return getScrollParent(getParentNode(node)); + } + + /* + given a DOM element, return the list of all scroll parents, up the list of ancesors + until we get to the top window object. This list is what we attach scroll listeners + to, because if any of these parent elements scroll, we'll need to re-calculate the + reference element's position. + */ + + function listScrollParents(element, list) { + var _element$ownerDocumen; + + if (list === void 0) { + list = []; + } + + var scrollParent = getScrollParent(element); + var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; + var updatedList = list.concat(target); + return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here + updatedList.concat(listScrollParents(getParentNode(target))); + } + + function rectToClientRect(rect) { + return Object.assign({}, rect, { + left: rect.x, + top: rect.y, + right: rect.x + rect.width, + bottom: rect.y + rect.height + }); + } + + function getInnerBoundingClientRect(element, strategy) { + var rect = getBoundingClientRect(element, false, strategy === 'fixed'); + rect.top = rect.top + element.clientTop; + rect.left = rect.left + element.clientLeft; + rect.bottom = rect.top + element.clientHeight; + rect.right = rect.left + element.clientWidth; + rect.width = element.clientWidth; + rect.height = element.clientHeight; + rect.x = rect.left; + rect.y = rect.top; + return rect; + } + + function getClientRectFromMixedType(element, clippingParent, strategy) { + return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element))); + } // A "clipping parent" is an overflowable container with the characteristic of + // clipping (or hiding) overflowing elements with a position different from + // `initial` + + + function getClippingParents(element) { + var clippingParents = listScrollParents(getParentNode(element)); + var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle$1(element).position) >= 0; + var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; + + if (!isElement(clipperElement)) { + return []; + } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414 + + + return clippingParents.filter(function (clippingParent) { + return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body'; + }); + } // Gets the maximum area that the element is visible in due to any number of + // clipping parents + + + function getClippingRect(element, boundary, rootBoundary, strategy) { + var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); + var clippingParents = [].concat(mainClippingParents, [rootBoundary]); + var firstClippingParent = clippingParents[0]; + var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { + var rect = getClientRectFromMixedType(element, clippingParent, strategy); + accRect.top = max(rect.top, accRect.top); + accRect.right = min(rect.right, accRect.right); + accRect.bottom = min(rect.bottom, accRect.bottom); + accRect.left = max(rect.left, accRect.left); + return accRect; + }, getClientRectFromMixedType(element, firstClippingParent, strategy)); + clippingRect.width = clippingRect.right - clippingRect.left; + clippingRect.height = clippingRect.bottom - clippingRect.top; + clippingRect.x = clippingRect.left; + clippingRect.y = clippingRect.top; + return clippingRect; + } + + function computeOffsets(_ref) { + var reference = _ref.reference, + element = _ref.element, + placement = _ref.placement; + var basePlacement = placement ? getBasePlacement(placement) : null; + var variation = placement ? getVariation(placement) : null; + var commonX = reference.x + reference.width / 2 - element.width / 2; + var commonY = reference.y + reference.height / 2 - element.height / 2; + var offsets; + + switch (basePlacement) { + case top: + offsets = { + x: commonX, + y: reference.y - element.height + }; + break; + + case bottom: + offsets = { + x: commonX, + y: reference.y + reference.height + }; + break; + + case right: + offsets = { + x: reference.x + reference.width, + y: commonY + }; + break; + + case left: + offsets = { + x: reference.x - element.width, + y: commonY + }; + break; + + default: + offsets = { + x: reference.x, + y: reference.y + }; + } + + var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; + + if (mainAxis != null) { + var len = mainAxis === 'y' ? 'height' : 'width'; + + switch (variation) { + case start: + offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); + break; + + case end: + offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); + break; + } + } + + return offsets; + } + + function detectOverflow(state, options) { + if (options === void 0) { + options = {}; + } + + var _options = options, + _options$placement = _options.placement, + placement = _options$placement === void 0 ? state.placement : _options$placement, + _options$strategy = _options.strategy, + strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, + _options$boundary = _options.boundary, + boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, + _options$rootBoundary = _options.rootBoundary, + rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, + _options$elementConte = _options.elementContext, + elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, + _options$altBoundary = _options.altBoundary, + altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, + _options$padding = _options.padding, + padding = _options$padding === void 0 ? 0 : _options$padding; + var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); + var altContext = elementContext === popper ? reference : popper; + var popperRect = state.rects.popper; + var element = state.elements[altBoundary ? altContext : elementContext]; + var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy); + var referenceClientRect = getBoundingClientRect(state.elements.reference); + var popperOffsets = computeOffsets({ + reference: referenceClientRect, + element: popperRect, + strategy: 'absolute', + placement: placement + }); + var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets)); + var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect + // 0 or negative = within the clipping rect + + var overflowOffsets = { + top: clippingClientRect.top - elementClientRect.top + paddingObject.top, + bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, + left: clippingClientRect.left - elementClientRect.left + paddingObject.left, + right: elementClientRect.right - clippingClientRect.right + paddingObject.right + }; + var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element + + if (elementContext === popper && offsetData) { + var offset = offsetData[placement]; + Object.keys(overflowOffsets).forEach(function (key) { + var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; + var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x'; + overflowOffsets[key] += offset[axis] * multiply; + }); + } + + return overflowOffsets; + } + + function computeAutoPlacement(state, options) { + if (options === void 0) { + options = {}; + } + + var _options = options, + placement = _options.placement, + boundary = _options.boundary, + rootBoundary = _options.rootBoundary, + padding = _options.padding, + flipVariations = _options.flipVariations, + _options$allowedAutoP = _options.allowedAutoPlacements, + allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; + var variation = getVariation(placement); + var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { + return getVariation(placement) === variation; + }) : basePlacements; + var allowedPlacements = placements$1.filter(function (placement) { + return allowedAutoPlacements.indexOf(placement) >= 0; + }); + + if (allowedPlacements.length === 0) { + allowedPlacements = placements$1; + } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions... + + + var overflows = allowedPlacements.reduce(function (acc, placement) { + acc[placement] = detectOverflow(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding + })[getBasePlacement(placement)]; + return acc; + }, {}); + return Object.keys(overflows).sort(function (a, b) { + return overflows[a] - overflows[b]; + }); + } + + function getExpandedFallbackPlacements(placement) { + if (getBasePlacement(placement) === auto) { + return []; + } + + var oppositePlacement = getOppositePlacement(placement); + return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; + } + + function flip(_ref) { + var state = _ref.state, + options = _ref.options, + name = _ref.name; + + if (state.modifiersData[name]._skip) { + return; + } + + var _options$mainAxis = options.mainAxis, + checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, + _options$altAxis = options.altAxis, + checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, + specifiedFallbackPlacements = options.fallbackPlacements, + padding = options.padding, + boundary = options.boundary, + rootBoundary = options.rootBoundary, + altBoundary = options.altBoundary, + _options$flipVariatio = options.flipVariations, + flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, + allowedAutoPlacements = options.allowedAutoPlacements; + var preferredPlacement = state.options.placement; + var basePlacement = getBasePlacement(preferredPlacement); + var isBasePlacement = basePlacement === preferredPlacement; + var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); + var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { + return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding, + flipVariations: flipVariations, + allowedAutoPlacements: allowedAutoPlacements + }) : placement); + }, []); + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var checksMap = new Map(); + var makeFallbackChecks = true; + var firstFittingPlacement = placements[0]; + + for (var i = 0; i < placements.length; i++) { + var placement = placements[i]; + + var _basePlacement = getBasePlacement(placement); + + var isStartVariation = getVariation(placement) === start; + var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; + var len = isVertical ? 'width' : 'height'; + var overflow = detectOverflow(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + altBoundary: altBoundary, + padding: padding + }); + var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; + + if (referenceRect[len] > popperRect[len]) { + mainVariationSide = getOppositePlacement(mainVariationSide); + } + + var altVariationSide = getOppositePlacement(mainVariationSide); + var checks = []; + + if (checkMainAxis) { + checks.push(overflow[_basePlacement] <= 0); + } + + if (checkAltAxis) { + checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); + } + + if (checks.every(function (check) { + return check; + })) { + firstFittingPlacement = placement; + makeFallbackChecks = false; + break; + } + + checksMap.set(placement, checks); + } + + if (makeFallbackChecks) { + // `2` may be desired in some cases – research later + var numberOfChecks = flipVariations ? 3 : 1; + + var _loop = function _loop(_i) { + var fittingPlacement = placements.find(function (placement) { + var checks = checksMap.get(placement); + + if (checks) { + return checks.slice(0, _i).every(function (check) { + return check; + }); + } + }); + + if (fittingPlacement) { + firstFittingPlacement = fittingPlacement; + return "break"; + } + }; + + for (var _i = numberOfChecks; _i > 0; _i--) { + var _ret = _loop(_i); + + if (_ret === "break") break; + } + } + + if (state.placement !== firstFittingPlacement) { + state.modifiersData[name]._skip = true; + state.placement = firstFittingPlacement; + state.reset = true; + } + } // eslint-disable-next-line import/no-unused-modules + + + const flip$1 = { + name: 'flip', + enabled: true, + phase: 'main', + fn: flip, + requiresIfExists: ['offset'], + data: { + _skip: false + } + }; + + function getSideOffsets(overflow, rect, preventedOffsets) { + if (preventedOffsets === void 0) { + preventedOffsets = { + x: 0, + y: 0 + }; + } + + return { + top: overflow.top - rect.height - preventedOffsets.y, + right: overflow.right - rect.width + preventedOffsets.x, + bottom: overflow.bottom - rect.height + preventedOffsets.y, + left: overflow.left - rect.width - preventedOffsets.x + }; + } + + function isAnySideFullyClipped(overflow) { + return [top, right, bottom, left].some(function (side) { + return overflow[side] >= 0; + }); + } + + function hide(_ref) { + var state = _ref.state, + name = _ref.name; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var preventedOffsets = state.modifiersData.preventOverflow; + var referenceOverflow = detectOverflow(state, { + elementContext: 'reference' + }); + var popperAltOverflow = detectOverflow(state, { + altBoundary: true + }); + var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); + var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); + var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); + var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); + state.modifiersData[name] = { + referenceClippingOffsets: referenceClippingOffsets, + popperEscapeOffsets: popperEscapeOffsets, + isReferenceHidden: isReferenceHidden, + hasPopperEscaped: hasPopperEscaped + }; + state.attributes.popper = Object.assign({}, state.attributes.popper, { + 'data-popper-reference-hidden': isReferenceHidden, + 'data-popper-escaped': hasPopperEscaped + }); + } // eslint-disable-next-line import/no-unused-modules + + + const hide$1 = { + name: 'hide', + enabled: true, + phase: 'main', + requiresIfExists: ['preventOverflow'], + fn: hide + }; + + function distanceAndSkiddingToXY(placement, rects, offset) { + var basePlacement = getBasePlacement(placement); + var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; + + var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { + placement: placement + })) : offset, + skidding = _ref[0], + distance = _ref[1]; + + skidding = skidding || 0; + distance = (distance || 0) * invertDistance; + return [left, right].indexOf(basePlacement) >= 0 ? { + x: distance, + y: skidding + } : { + x: skidding, + y: distance + }; + } + + function offset(_ref2) { + var state = _ref2.state, + options = _ref2.options, + name = _ref2.name; + var _options$offset = options.offset, + offset = _options$offset === void 0 ? [0, 0] : _options$offset; + var data = placements.reduce(function (acc, placement) { + acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); + return acc; + }, {}); + var _data$state$placement = data[state.placement], + x = _data$state$placement.x, + y = _data$state$placement.y; + + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + + state.modifiersData[name] = data; + } // eslint-disable-next-line import/no-unused-modules + + + const offset$1 = { + name: 'offset', + enabled: true, + phase: 'main', + requires: ['popperOffsets'], + fn: offset + }; + + function popperOffsets(_ref) { + var state = _ref.state, + name = _ref.name; + // Offsets are the actual position the popper needs to have to be + // properly positioned near its reference element + // This is the most basic placement, and will be adjusted by + // the modifiers in the next step + state.modifiersData[name] = computeOffsets({ + reference: state.rects.reference, + element: state.rects.popper, + strategy: 'absolute', + placement: state.placement + }); + } // eslint-disable-next-line import/no-unused-modules + + + const popperOffsets$1 = { + name: 'popperOffsets', + enabled: true, + phase: 'read', + fn: popperOffsets, + data: {} + }; + + function getAltAxis(axis) { + return axis === 'x' ? 'y' : 'x'; + } + + function preventOverflow(_ref) { + var state = _ref.state, + options = _ref.options, + name = _ref.name; + var _options$mainAxis = options.mainAxis, + checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, + _options$altAxis = options.altAxis, + checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, + boundary = options.boundary, + rootBoundary = options.rootBoundary, + altBoundary = options.altBoundary, + padding = options.padding, + _options$tether = options.tether, + tether = _options$tether === void 0 ? true : _options$tether, + _options$tetherOffset = options.tetherOffset, + tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; + var overflow = detectOverflow(state, { + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding, + altBoundary: altBoundary + }); + var basePlacement = getBasePlacement(state.placement); + var variation = getVariation(state.placement); + var isBasePlacement = !variation; + var mainAxis = getMainAxisFromPlacement(basePlacement); + var altAxis = getAltAxis(mainAxis); + var popperOffsets = state.modifiersData.popperOffsets; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { + placement: state.placement + })) : tetherOffset; + var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? { + mainAxis: tetherOffsetValue, + altAxis: tetherOffsetValue + } : Object.assign({ + mainAxis: 0, + altAxis: 0 + }, tetherOffsetValue); + var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; + var data = { + x: 0, + y: 0 + }; + + if (!popperOffsets) { + return; + } + + if (checkMainAxis) { + var _offsetModifierState$; + + var mainSide = mainAxis === 'y' ? top : left; + var altSide = mainAxis === 'y' ? bottom : right; + var len = mainAxis === 'y' ? 'height' : 'width'; + var offset = popperOffsets[mainAxis]; + var min$1 = offset + overflow[mainSide]; + var max$1 = offset - overflow[altSide]; + var additive = tether ? -popperRect[len] / 2 : 0; + var minLen = variation === start ? referenceRect[len] : popperRect[len]; + var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go + // outside the reference bounds + + var arrowElement = state.elements.arrow; + var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { + width: 0, + height: 0 + }; + var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject(); + var arrowPaddingMin = arrowPaddingObject[mainSide]; + var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want + // to include its full size in the calculation. If the reference is small + // and near the edge of a boundary, the popper can overflow even if the + // reference is not overflowing as well (e.g. virtual elements with no + // width or height) + + var arrowLen = within(0, referenceRect[len], arrowRect[len]); + var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; + var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; + var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); + var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; + var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; + var tetherMin = offset + minOffset - offsetModifierValue - clientOffset; + var tetherMax = offset + maxOffset - offsetModifierValue; + var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1); + popperOffsets[mainAxis] = preventedOffset; + data[mainAxis] = preventedOffset - offset; + } + + if (checkAltAxis) { + var _offsetModifierState$2; + + var _mainSide = mainAxis === 'x' ? top : left; + + var _altSide = mainAxis === 'x' ? bottom : right; + + var _offset = popperOffsets[altAxis]; + + var _len = altAxis === 'y' ? 'height' : 'width'; + + var _min = _offset + overflow[_mainSide]; + + var _max = _offset - overflow[_altSide]; + + var isOriginSide = [top, left].indexOf(basePlacement) !== -1; + + var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; + + var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; + + var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; + + var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); + + popperOffsets[altAxis] = _preventedOffset; + data[altAxis] = _preventedOffset - _offset; + } + + state.modifiersData[name] = data; + } // eslint-disable-next-line import/no-unused-modules + + + const preventOverflow$1 = { + name: 'preventOverflow', + enabled: true, + phase: 'main', + fn: preventOverflow, + requiresIfExists: ['offset'] + }; + + function getHTMLElementScroll(element) { + return { + scrollLeft: element.scrollLeft, + scrollTop: element.scrollTop + }; + } + + function getNodeScroll(node) { + if (node === getWindow(node) || !isHTMLElement(node)) { + return getWindowScroll(node); + } else { + return getHTMLElementScroll(node); + } + } + + function isElementScaled(element) { + var rect = element.getBoundingClientRect(); + var scaleX = round(rect.width) / element.offsetWidth || 1; + var scaleY = round(rect.height) / element.offsetHeight || 1; + return scaleX !== 1 || scaleY !== 1; + } // Returns the composite rect of an element relative to its offsetParent. + // Composite means it takes into account transforms as well as layout. + + + function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { + if (isFixed === void 0) { + isFixed = false; + } + + var isOffsetParentAnElement = isHTMLElement(offsetParent); + var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); + var documentElement = getDocumentElement(offsetParent); + var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed); + var scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + var offsets = { + x: 0, + y: 0 + }; + + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078 + isScrollParent(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + + if (isHTMLElement(offsetParent)) { + offsets = getBoundingClientRect(offsetParent, true); + offsets.x += offsetParent.clientLeft; + offsets.y += offsetParent.clientTop; + } else if (documentElement) { + offsets.x = getWindowScrollBarX(documentElement); + } + } + + return { + x: rect.left + scroll.scrollLeft - offsets.x, + y: rect.top + scroll.scrollTop - offsets.y, + width: rect.width, + height: rect.height + }; + } + + function order(modifiers) { + var map = new Map(); + var visited = new Set(); + var result = []; + modifiers.forEach(function (modifier) { + map.set(modifier.name, modifier); + }); // On visiting object, check for its dependencies and visit them recursively + + function sort(modifier) { + visited.add(modifier.name); + var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); + requires.forEach(function (dep) { + if (!visited.has(dep)) { + var depModifier = map.get(dep); + + if (depModifier) { + sort(depModifier); + } + } + }); + result.push(modifier); + } + + modifiers.forEach(function (modifier) { + if (!visited.has(modifier.name)) { + // check for visited object + sort(modifier); + } + }); + return result; + } + + function orderModifiers(modifiers) { + // order based on dependencies + var orderedModifiers = order(modifiers); // order based on phase + + return modifierPhases.reduce(function (acc, phase) { + return acc.concat(orderedModifiers.filter(function (modifier) { + return modifier.phase === phase; + })); + }, []); + } + + function debounce(fn) { + var pending; + return function () { + if (!pending) { + pending = new Promise(function (resolve) { + Promise.resolve().then(function () { + pending = undefined; + resolve(fn()); + }); + }); + } + + return pending; + }; + } + + function mergeByName(modifiers) { + var merged = modifiers.reduce(function (merged, current) { + var existing = merged[current.name]; + merged[current.name] = existing ? Object.assign({}, existing, current, { + options: Object.assign({}, existing.options, current.options), + data: Object.assign({}, existing.data, current.data) + }) : current; + return merged; + }, {}); // IE11 does not support Object.values + + return Object.keys(merged).map(function (key) { + return merged[key]; + }); + } + + var DEFAULT_OPTIONS = { + placement: 'bottom', + modifiers: [], + strategy: 'absolute' + }; + + function areValidElements() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return !args.some(function (element) { + return !(element && typeof element.getBoundingClientRect === 'function'); + }); + } + + function popperGenerator(generatorOptions) { + if (generatorOptions === void 0) { + generatorOptions = {}; + } + + var _generatorOptions = generatorOptions, + _generatorOptions$def = _generatorOptions.defaultModifiers, + defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, + _generatorOptions$def2 = _generatorOptions.defaultOptions, + defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; + return function createPopper(reference, popper, options) { + if (options === void 0) { + options = defaultOptions; + } + + var state = { + placement: 'bottom', + orderedModifiers: [], + options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), + modifiersData: {}, + elements: { + reference: reference, + popper: popper + }, + attributes: {}, + styles: {} + }; + var effectCleanupFns = []; + var isDestroyed = false; + var instance = { + state: state, + setOptions: function setOptions(setOptionsAction) { + var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction; + cleanupModifierEffects(); + state.options = Object.assign({}, defaultOptions, state.options, options); + state.scrollParents = { + reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [], + popper: listScrollParents(popper) + }; // Orders the modifiers based on their dependencies and `phase` + // properties + + var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers + + state.orderedModifiers = orderedModifiers.filter(function (m) { + return m.enabled; + }); // Validate the provided modifiers so that the consumer will get warned + + runModifierEffects(); + return instance.update(); + }, + // Sync update – it will always be executed, even if not necessary. This + // is useful for low frequency updates where sync behavior simplifies the + // logic. + // For high frequency updates (e.g. `resize` and `scroll` events), always + // prefer the async Popper#update method + forceUpdate: function forceUpdate() { + if (isDestroyed) { + return; + } + + var _state$elements = state.elements, + reference = _state$elements.reference, + popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements + // anymore + + if (!areValidElements(reference, popper)) { + + return; + } // Store the reference and popper rects to be read by modifiers + + + state.rects = { + reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'), + popper: getLayoutRect(popper) + }; // Modifiers have the ability to reset the current update cycle. The + // most common use case for this is the `flip` modifier changing the + // placement, which then needs to re-run all the modifiers, because the + // logic was previously ran for the previous placement and is therefore + // stale/incorrect + + state.reset = false; + state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier + // is filled with the initial data specified by the modifier. This means + // it doesn't persist and is fresh on each update. + // To ensure persistent data, use `${name}#persistent` + + state.orderedModifiers.forEach(function (modifier) { + return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); + }); + + for (var index = 0; index < state.orderedModifiers.length; index++) { + + if (state.reset === true) { + state.reset = false; + index = -1; + continue; + } + + var _state$orderedModifie = state.orderedModifiers[index], + fn = _state$orderedModifie.fn, + _state$orderedModifie2 = _state$orderedModifie.options, + _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, + name = _state$orderedModifie.name; + + if (typeof fn === 'function') { + state = fn({ + state: state, + options: _options, + name: name, + instance: instance + }) || state; + } + } + }, + // Async and optimistically optimized update – it will not be executed if + // not necessary (debounced to run at most once-per-tick) + update: debounce(function () { + return new Promise(function (resolve) { + instance.forceUpdate(); + resolve(state); + }); + }), + destroy: function destroy() { + cleanupModifierEffects(); + isDestroyed = true; + } + }; + + if (!areValidElements(reference, popper)) { + + return instance; + } + + instance.setOptions(options).then(function (state) { + if (!isDestroyed && options.onFirstUpdate) { + options.onFirstUpdate(state); + } + }); // Modifiers have the ability to execute arbitrary code before the first + // update cycle runs. They will be executed in the same order as the update + // cycle. This is useful when a modifier adds some persistent data that + // other modifiers need to use, but the modifier is run after the dependent + // one. + + function runModifierEffects() { + state.orderedModifiers.forEach(function (_ref3) { + var name = _ref3.name, + _ref3$options = _ref3.options, + options = _ref3$options === void 0 ? {} : _ref3$options, + effect = _ref3.effect; + + if (typeof effect === 'function') { + var cleanupFn = effect({ + state: state, + name: name, + instance: instance, + options: options + }); + + var noopFn = function noopFn() {}; + + effectCleanupFns.push(cleanupFn || noopFn); + } + }); + } + + function cleanupModifierEffects() { + effectCleanupFns.forEach(function (fn) { + return fn(); + }); + effectCleanupFns = []; + } + + return instance; + }; + } + var createPopper$2 = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules + + var defaultModifiers$1 = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1]; + var createPopper$1 = /*#__PURE__*/popperGenerator({ + defaultModifiers: defaultModifiers$1 + }); // eslint-disable-next-line import/no-unused-modules + + var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1]; + var createPopper = /*#__PURE__*/popperGenerator({ + defaultModifiers: defaultModifiers + }); // eslint-disable-next-line import/no-unused-modules + + const Popper = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ + __proto__: null, + afterMain, + afterRead, + afterWrite, + applyStyles: applyStyles$1, + arrow: arrow$1, + auto, + basePlacements, + beforeMain, + beforeRead, + beforeWrite, + bottom, + clippingParents, + computeStyles: computeStyles$1, + createPopper, + createPopperBase: createPopper$2, + createPopperLite: createPopper$1, + detectOverflow, + end, + eventListeners, + flip: flip$1, + hide: hide$1, + left, + main, + modifierPhases, + offset: offset$1, + placements, + popper, + popperGenerator, + popperOffsets: popperOffsets$1, + preventOverflow: preventOverflow$1, + read, + reference, + right, + start, + top, + variationPlacements, + viewport, + write + }, Symbol.toStringTag, { value: 'Module' })); + + /** + * -------------------------------------------------------------------------- + * Bootstrap dropdown.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$a = 'dropdown'; + const DATA_KEY$6 = 'bs.dropdown'; + const EVENT_KEY$6 = `.${DATA_KEY$6}`; + const DATA_API_KEY$3 = '.data-api'; + const ESCAPE_KEY$2 = 'Escape'; + const TAB_KEY$1 = 'Tab'; + const ARROW_UP_KEY$1 = 'ArrowUp'; + const ARROW_DOWN_KEY$1 = 'ArrowDown'; + const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button + + const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`; + const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`; + const EVENT_SHOW$5 = `show${EVENT_KEY$6}`; + const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`; + const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; + const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`; + const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`; + const CLASS_NAME_SHOW$6 = 'show'; + const CLASS_NAME_DROPUP = 'dropup'; + const CLASS_NAME_DROPEND = 'dropend'; + const CLASS_NAME_DROPSTART = 'dropstart'; + const CLASS_NAME_DROPUP_CENTER = 'dropup-center'; + const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'; + const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)'; + const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`; + const SELECTOR_MENU = '.dropdown-menu'; + const SELECTOR_NAVBAR = '.navbar'; + const SELECTOR_NAVBAR_NAV = '.navbar-nav'; + const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; + const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'; + const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'; + const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'; + const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'; + const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'; + const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'; + const PLACEMENT_TOPCENTER = 'top'; + const PLACEMENT_BOTTOMCENTER = 'bottom'; + const Default$9 = { + autoClose: true, + boundary: 'clippingParents', + display: 'dynamic', + offset: [0, 2], + popperConfig: null, + reference: 'toggle' + }; + const DefaultType$9 = { + autoClose: '(boolean|string)', + boundary: '(string|element)', + display: 'string', + offset: '(array|string|function)', + popperConfig: '(null|object|function)', + reference: '(string|element|object)' + }; + + /** + * Class definition + */ + + class Dropdown extends BaseComponent { + constructor(element, config) { + super(element, config); + this._popper = null; + this._parent = this._element.parentNode; // dropdown wrapper + // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/ + this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); + this._inNavbar = this._detectNavbar(); + } + + // Getters + static get Default() { + return Default$9; + } + static get DefaultType() { + return DefaultType$9; + } + static get NAME() { + return NAME$a; + } + + // Public + toggle() { + return this._isShown() ? this.hide() : this.show(); + } + show() { + if (isDisabled(this._element) || this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget); + if (showEvent.defaultPrevented) { + return; + } + this._createPopper(); + + // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, 'mouseover', noop); + } + } + this._element.focus(); + this._element.setAttribute('aria-expanded', true); + this._menu.classList.add(CLASS_NAME_SHOW$6); + this._element.classList.add(CLASS_NAME_SHOW$6); + EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget); + } + hide() { + if (isDisabled(this._element) || !this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + this._completeHide(relatedTarget); + } + dispose() { + if (this._popper) { + this._popper.destroy(); + } + super.dispose(); + } + update() { + this._inNavbar = this._detectNavbar(); + if (this._popper) { + this._popper.update(); + } + } + + // Private + _completeHide(relatedTarget) { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget); + if (hideEvent.defaultPrevented) { + return; + } + + // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + if ('ontouchstart' in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, 'mouseover', noop); + } + } + if (this._popper) { + this._popper.destroy(); + } + this._menu.classList.remove(CLASS_NAME_SHOW$6); + this._element.classList.remove(CLASS_NAME_SHOW$6); + this._element.setAttribute('aria-expanded', 'false'); + Manipulator.removeDataAttribute(this._menu, 'popper'); + EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget); + } + _getConfig(config) { + config = super._getConfig(config); + if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') { + // Popper virtual elements require a getBoundingClientRect method + throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); + } + return config; + } + _createPopper() { + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); + } + let referenceElement = this._element; + if (this._config.reference === 'parent') { + referenceElement = this._parent; + } else if (isElement$1(this._config.reference)) { + referenceElement = getElement(this._config.reference); + } else if (typeof this._config.reference === 'object') { + referenceElement = this._config.reference; + } + const popperConfig = this._getPopperConfig(); + this._popper = createPopper(referenceElement, this._menu, popperConfig); + } + _isShown() { + return this._menu.classList.contains(CLASS_NAME_SHOW$6); + } + _getPlacement() { + const parentDropdown = this._parent; + if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { + return PLACEMENT_RIGHT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { + return PLACEMENT_LEFT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) { + return PLACEMENT_TOPCENTER; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) { + return PLACEMENT_BOTTOMCENTER; + } + + // We need to trim the value because custom properties can also include spaces + const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'; + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { + return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; + } + return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; + } + _detectNavbar() { + return this._element.closest(SELECTOR_NAVBAR) !== null; + } + _getOffset() { + const { + offset + } = this._config; + if (typeof offset === 'string') { + return offset.split(',').map(value => Number.parseInt(value, 10)); + } + if (typeof offset === 'function') { + return popperData => offset(popperData, this._element); + } + return offset; + } + _getPopperConfig() { + const defaultBsPopperConfig = { + placement: this._getPlacement(), + modifiers: [{ + name: 'preventOverflow', + options: { + boundary: this._config.boundary + } + }, { + name: 'offset', + options: { + offset: this._getOffset() + } + }] + }; + + // Disable Popper if we have a static display or Dropdown is in Navbar + if (this._inNavbar || this._config.display === 'static') { + Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // TODO: v6 remove + defaultBsPopperConfig.modifiers = [{ + name: 'applyStyles', + enabled: false + }]; + } + return { + ...defaultBsPopperConfig, + ...execute(this._config.popperConfig, [defaultBsPopperConfig]) + }; + } + _selectMenuItem({ + key, + target + }) { + const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element)); + if (!items.length) { + return; + } + + // if target isn't included in items (e.g. when expanding the dropdown) + // allow cycling to get the last item in case key equals ARROW_UP_KEY + getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus(); + } + + // Static + static jQueryInterface(config) { + return this.each(function () { + const data = Dropdown.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + static clearMenus(event) { + if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) { + return; + } + const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN); + for (const toggle of openToggles) { + const context = Dropdown.getInstance(toggle); + if (!context || context._config.autoClose === false) { + continue; + } + const composedPath = event.composedPath(); + const isMenuTarget = composedPath.includes(context._menu); + if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) { + continue; + } + + // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu + if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { + continue; + } + const relatedTarget = { + relatedTarget: context._element + }; + if (event.type === 'click') { + relatedTarget.clickEvent = event; + } + context._completeHide(relatedTarget); + } + } + static dataApiKeydownHandler(event) { + // If not an UP | DOWN | ESCAPE key => not a dropdown command + // If input/textarea && if key is other than ESCAPE => not a dropdown command + + const isInput = /input|textarea/i.test(event.target.tagName); + const isEscapeEvent = event.key === ESCAPE_KEY$2; + const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key); + if (!isUpOrDownEvent && !isEscapeEvent) { + return; + } + if (isInput && !isEscapeEvent) { + return; + } + event.preventDefault(); + + // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/ + const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); + const instance = Dropdown.getOrCreateInstance(getToggleButton); + if (isUpOrDownEvent) { + event.stopPropagation(); + instance.show(); + instance._selectMenuItem(event); + return; + } + if (instance._isShown()) { + // else is escape and we check if it is shown + event.stopPropagation(); + instance.hide(); + getToggleButton.focus(); + } + } + } + + /** + * Data API implementation + */ + + EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); + EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); + EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); + EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); + EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) { + event.preventDefault(); + Dropdown.getOrCreateInstance(this).toggle(); + }); + + /** + * jQuery + */ + + defineJQueryPlugin(Dropdown); + + /** + * -------------------------------------------------------------------------- + * Bootstrap util/backdrop.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$9 = 'backdrop'; + const CLASS_NAME_FADE$4 = 'fade'; + const CLASS_NAME_SHOW$5 = 'show'; + const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; + const Default$8 = { + className: 'modal-backdrop', + clickCallback: null, + isAnimated: false, + isVisible: true, + // if false, we use the backdrop helper without adding any element to the dom + rootElement: 'body' // give the choice to place backdrop under different elements + }; + + const DefaultType$8 = { + className: 'string', + clickCallback: '(function|null)', + isAnimated: 'boolean', + isVisible: 'boolean', + rootElement: '(element|string)' + }; + + /** + * Class definition + */ + + class Backdrop extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isAppended = false; + this._element = null; + } + + // Getters + static get Default() { + return Default$8; + } + static get DefaultType() { + return DefaultType$8; + } + static get NAME() { + return NAME$9; + } + + // Public + show(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._append(); + const element = this._getElement(); + if (this._config.isAnimated) { + reflow(element); + } + element.classList.add(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + execute(callback); + }); + } + hide(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._getElement().classList.remove(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + this.dispose(); + execute(callback); + }); + } + dispose() { + if (!this._isAppended) { + return; + } + EventHandler.off(this._element, EVENT_MOUSEDOWN); + this._element.remove(); + this._isAppended = false; + } + + // Private + _getElement() { + if (!this._element) { + const backdrop = document.createElement('div'); + backdrop.className = this._config.className; + if (this._config.isAnimated) { + backdrop.classList.add(CLASS_NAME_FADE$4); + } + this._element = backdrop; + } + return this._element; + } + _configAfterMerge(config) { + // use getElement() with the default "body" to get a fresh Element on each instantiation + config.rootElement = getElement(config.rootElement); + return config; + } + _append() { + if (this._isAppended) { + return; + } + const element = this._getElement(); + this._config.rootElement.append(element); + EventHandler.on(element, EVENT_MOUSEDOWN, () => { + execute(this._config.clickCallback); + }); + this._isAppended = true; + } + _emulateAnimation(callback) { + executeAfterTransition(callback, this._getElement(), this._config.isAnimated); + } + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap util/focustrap.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$8 = 'focustrap'; + const DATA_KEY$5 = 'bs.focustrap'; + const EVENT_KEY$5 = `.${DATA_KEY$5}`; + const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`; + const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; + const TAB_KEY = 'Tab'; + const TAB_NAV_FORWARD = 'forward'; + const TAB_NAV_BACKWARD = 'backward'; + const Default$7 = { + autofocus: true, + trapElement: null // The element to trap focus inside of + }; + + const DefaultType$7 = { + autofocus: 'boolean', + trapElement: 'element' + }; + + /** + * Class definition + */ + + class FocusTrap extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isActive = false; + this._lastTabNavDirection = null; + } + + // Getters + static get Default() { + return Default$7; + } + static get DefaultType() { + return DefaultType$7; + } + static get NAME() { + return NAME$8; + } + + // Public + activate() { + if (this._isActive) { + return; + } + if (this._config.autofocus) { + this._config.trapElement.focus(); + } + EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop + EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event)); + EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event)); + this._isActive = true; + } + deactivate() { + if (!this._isActive) { + return; + } + this._isActive = false; + EventHandler.off(document, EVENT_KEY$5); + } + + // Private + _handleFocusin(event) { + const { + trapElement + } = this._config; + if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) { + return; + } + const elements = SelectorEngine.focusableChildren(trapElement); + if (elements.length === 0) { + trapElement.focus(); + } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { + elements[elements.length - 1].focus(); + } else { + elements[0].focus(); + } + } + _handleKeydown(event) { + if (event.key !== TAB_KEY) { + return; + } + this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; + } + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap util/scrollBar.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; + const SELECTOR_STICKY_CONTENT = '.sticky-top'; + const PROPERTY_PADDING = 'padding-right'; + const PROPERTY_MARGIN = 'margin-right'; + + /** + * Class definition + */ + + class ScrollBarHelper { + constructor() { + this._element = document.body; + } + + // Public + getWidth() { + // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes + const documentWidth = document.documentElement.clientWidth; + return Math.abs(window.innerWidth - documentWidth); + } + hide() { + const width = this.getWidth(); + this._disableOverFlow(); + // give padding to element to balance the hidden scrollbar width + this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width); + // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth + this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width); + this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width); + } + reset() { + this._resetElementAttributes(this._element, 'overflow'); + this._resetElementAttributes(this._element, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN); + } + isOverflowing() { + return this.getWidth() > 0; + } + + // Private + _disableOverFlow() { + this._saveInitialAttribute(this._element, 'overflow'); + this._element.style.overflow = 'hidden'; + } + _setElementAttributes(selector, styleProperty, callback) { + const scrollbarWidth = this.getWidth(); + const manipulationCallBack = element => { + if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { + return; + } + this._saveInitialAttribute(element, styleProperty); + const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty); + element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _saveInitialAttribute(element, styleProperty) { + const actualValue = element.style.getPropertyValue(styleProperty); + if (actualValue) { + Manipulator.setDataAttribute(element, styleProperty, actualValue); + } + } + _resetElementAttributes(selector, styleProperty) { + const manipulationCallBack = element => { + const value = Manipulator.getDataAttribute(element, styleProperty); + // We only want to remove the property if the value is `null`; the value can also be zero + if (value === null) { + element.style.removeProperty(styleProperty); + return; + } + Manipulator.removeDataAttribute(element, styleProperty); + element.style.setProperty(styleProperty, value); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _applyManipulationCallback(selector, callBack) { + if (isElement$1(selector)) { + callBack(selector); + return; + } + for (const sel of SelectorEngine.find(selector, this._element)) { + callBack(sel); + } + } + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap modal.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$7 = 'modal'; + const DATA_KEY$4 = 'bs.modal'; + const EVENT_KEY$4 = `.${DATA_KEY$4}`; + const DATA_API_KEY$2 = '.data-api'; + const ESCAPE_KEY$1 = 'Escape'; + const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`; + const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; + const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; + const EVENT_SHOW$4 = `show${EVENT_KEY$4}`; + const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; + const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; + const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`; + const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`; + const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; + const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; + const CLASS_NAME_OPEN = 'modal-open'; + const CLASS_NAME_FADE$3 = 'fade'; + const CLASS_NAME_SHOW$4 = 'show'; + const CLASS_NAME_STATIC = 'modal-static'; + const OPEN_SELECTOR$1 = '.modal.show'; + const SELECTOR_DIALOG = '.modal-dialog'; + const SELECTOR_MODAL_BODY = '.modal-body'; + const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; + const Default$6 = { + backdrop: true, + focus: true, + keyboard: true + }; + const DefaultType$6 = { + backdrop: '(boolean|string)', + focus: 'boolean', + keyboard: 'boolean' + }; + + /** + * Class definition + */ + + class Modal extends BaseComponent { + constructor(element, config) { + super(element, config); + this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._isShown = false; + this._isTransitioning = false; + this._scrollBar = new ScrollBarHelper(); + this._addEventListeners(); + } + + // Getters + static get Default() { + return Default$6; + } + static get DefaultType() { + return DefaultType$6; + } + static get NAME() { + return NAME$7; + } + + // Public + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown || this._isTransitioning) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, { + relatedTarget + }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._isTransitioning = true; + this._scrollBar.hide(); + document.body.classList.add(CLASS_NAME_OPEN); + this._adjustDialog(); + this._backdrop.show(() => this._showElement(relatedTarget)); + } + hide() { + if (!this._isShown || this._isTransitioning) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4); + if (hideEvent.defaultPrevented) { + return; + } + this._isShown = false; + this._isTransitioning = true; + this._focustrap.deactivate(); + this._element.classList.remove(CLASS_NAME_SHOW$4); + this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); + } + dispose() { + EventHandler.off(window, EVENT_KEY$4); + EventHandler.off(this._dialog, EVENT_KEY$4); + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + handleUpdate() { + this._adjustDialog(); + } + + // Private + _initializeBackDrop() { + return new Backdrop({ + isVisible: Boolean(this._config.backdrop), + // 'static' option will be translated to true, and booleans will keep their value, + isAnimated: this._isAnimated() + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _showElement(relatedTarget) { + // try to append dynamic modal + if (!document.body.contains(this._element)) { + document.body.append(this._element); + } + this._element.style.display = 'block'; + this._element.removeAttribute('aria-hidden'); + this._element.setAttribute('aria-modal', true); + this._element.setAttribute('role', 'dialog'); + this._element.scrollTop = 0; + const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); + if (modalBody) { + modalBody.scrollTop = 0; + } + reflow(this._element); + this._element.classList.add(CLASS_NAME_SHOW$4); + const transitionComplete = () => { + if (this._config.focus) { + this._focustrap.activate(); + } + this._isTransitioning = false; + EventHandler.trigger(this._element, EVENT_SHOWN$4, { + relatedTarget + }); + }; + this._queueCallback(transitionComplete, this._dialog, this._isAnimated()); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => { + if (event.key !== ESCAPE_KEY$1) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + this._triggerBackdropTransition(); + }); + EventHandler.on(window, EVENT_RESIZE$1, () => { + if (this._isShown && !this._isTransitioning) { + this._adjustDialog(); + } + }); + EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => { + // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks + EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => { + if (this._element !== event.target || this._element !== event2.target) { + return; + } + if (this._config.backdrop === 'static') { + this._triggerBackdropTransition(); + return; + } + if (this._config.backdrop) { + this.hide(); + } + }); + }); + } + _hideModal() { + this._element.style.display = 'none'; + this._element.setAttribute('aria-hidden', true); + this._element.removeAttribute('aria-modal'); + this._element.removeAttribute('role'); + this._isTransitioning = false; + this._backdrop.hide(() => { + document.body.classList.remove(CLASS_NAME_OPEN); + this._resetAdjustments(); + this._scrollBar.reset(); + EventHandler.trigger(this._element, EVENT_HIDDEN$4); + }); + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_FADE$3); + } + _triggerBackdropTransition() { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); + if (hideEvent.defaultPrevented) { + return; + } + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const initialOverflowY = this._element.style.overflowY; + // return if the following background transition hasn't yet completed + if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) { + return; + } + if (!isModalOverflowing) { + this._element.style.overflowY = 'hidden'; + } + this._element.classList.add(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.classList.remove(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.style.overflowY = initialOverflowY; + }, this._dialog); + }, this._dialog); + this._element.focus(); + } + + /** + * The following methods are used to handle overflowing modals + */ + + _adjustDialog() { + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const scrollbarWidth = this._scrollBar.getWidth(); + const isBodyOverflowing = scrollbarWidth > 0; + if (isBodyOverflowing && !isModalOverflowing) { + const property = isRTL() ? 'paddingLeft' : 'paddingRight'; + this._element.style[property] = `${scrollbarWidth}px`; + } + if (!isBodyOverflowing && isModalOverflowing) { + const property = isRTL() ? 'paddingRight' : 'paddingLeft'; + this._element.style[property] = `${scrollbarWidth}px`; + } + } + _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + } + + // Static + static jQueryInterface(config, relatedTarget) { + return this.each(function () { + const data = Modal.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](relatedTarget); + }); + } + } + + /** + * Data API implementation + */ + + EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) { + const target = SelectorEngine.getElementFromSelector(this); + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + EventHandler.one(target, EVENT_SHOW$4, showEvent => { + if (showEvent.defaultPrevented) { + // only register focus restorer if modal will actually get shown + return; + } + EventHandler.one(target, EVENT_HIDDEN$4, () => { + if (isVisible(this)) { + this.focus(); + } + }); + }); + + // avoid conflict when clicking modal toggler while another one is open + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); + if (alreadyOpen) { + Modal.getInstance(alreadyOpen).hide(); + } + const data = Modal.getOrCreateInstance(target); + data.toggle(this); + }); + enableDismissTrigger(Modal); + + /** + * jQuery + */ + + defineJQueryPlugin(Modal); + + /** + * -------------------------------------------------------------------------- + * Bootstrap offcanvas.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$6 = 'offcanvas'; + const DATA_KEY$3 = 'bs.offcanvas'; + const EVENT_KEY$3 = `.${DATA_KEY$3}`; + const DATA_API_KEY$1 = '.data-api'; + const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`; + const ESCAPE_KEY = 'Escape'; + const CLASS_NAME_SHOW$3 = 'show'; + const CLASS_NAME_SHOWING$1 = 'showing'; + const CLASS_NAME_HIDING = 'hiding'; + const CLASS_NAME_BACKDROP = 'offcanvas-backdrop'; + const OPEN_SELECTOR = '.offcanvas.show'; + const EVENT_SHOW$3 = `show${EVENT_KEY$3}`; + const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`; + const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`; + const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`; + const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`; + const EVENT_RESIZE = `resize${EVENT_KEY$3}`; + const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`; + const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`; + const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]'; + const Default$5 = { + backdrop: true, + keyboard: true, + scroll: false + }; + const DefaultType$5 = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + scroll: 'boolean' + }; + + /** + * Class definition + */ + + class Offcanvas extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isShown = false; + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._addEventListeners(); + } + + // Getters + static get Default() { + return Default$5; + } + static get DefaultType() { + return DefaultType$5; + } + static get NAME() { + return NAME$6; + } + + // Public + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { + relatedTarget + }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._backdrop.show(); + if (!this._config.scroll) { + new ScrollBarHelper().hide(); + } + this._element.setAttribute('aria-modal', true); + this._element.setAttribute('role', 'dialog'); + this._element.classList.add(CLASS_NAME_SHOWING$1); + const completeCallBack = () => { + if (!this._config.scroll || this._config.backdrop) { + this._focustrap.activate(); + } + this._element.classList.add(CLASS_NAME_SHOW$3); + this._element.classList.remove(CLASS_NAME_SHOWING$1); + EventHandler.trigger(this._element, EVENT_SHOWN$3, { + relatedTarget + }); + }; + this._queueCallback(completeCallBack, this._element, true); + } + hide() { + if (!this._isShown) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); + if (hideEvent.defaultPrevented) { + return; + } + this._focustrap.deactivate(); + this._element.blur(); + this._isShown = false; + this._element.classList.add(CLASS_NAME_HIDING); + this._backdrop.hide(); + const completeCallback = () => { + this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING); + this._element.removeAttribute('aria-modal'); + this._element.removeAttribute('role'); + if (!this._config.scroll) { + new ScrollBarHelper().reset(); + } + EventHandler.trigger(this._element, EVENT_HIDDEN$3); + }; + this._queueCallback(completeCallback, this._element, true); + } + dispose() { + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + + // Private + _initializeBackDrop() { + const clickCallback = () => { + if (this._config.backdrop === 'static') { + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + return; + } + this.hide(); + }; + + // 'static' option will be translated to true, and booleans will keep their value + const isVisible = Boolean(this._config.backdrop); + return new Backdrop({ + className: CLASS_NAME_BACKDROP, + isVisible, + isAnimated: true, + rootElement: this._element.parentNode, + clickCallback: isVisible ? clickCallback : null + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => { + if (event.key !== ESCAPE_KEY) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + }); + } + + // Static + static jQueryInterface(config) { + return this.each(function () { + const data = Offcanvas.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + }); + } + } + + /** + * Data API implementation + */ + + EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) { + const target = SelectorEngine.getElementFromSelector(this); + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + EventHandler.one(target, EVENT_HIDDEN$3, () => { + // focus on trigger when it is closed + if (isVisible(this)) { + this.focus(); + } + }); + + // avoid conflict when clicking a toggler of an offcanvas, while another is open + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); + if (alreadyOpen && alreadyOpen !== target) { + Offcanvas.getInstance(alreadyOpen).hide(); + } + const data = Offcanvas.getOrCreateInstance(target); + data.toggle(this); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { + for (const selector of SelectorEngine.find(OPEN_SELECTOR)) { + Offcanvas.getOrCreateInstance(selector).show(); + } + }); + EventHandler.on(window, EVENT_RESIZE, () => { + for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) { + if (getComputedStyle(element).position !== 'fixed') { + Offcanvas.getOrCreateInstance(element).hide(); + } + } + }); + enableDismissTrigger(Offcanvas); + + /** + * jQuery + */ + + defineJQueryPlugin(Offcanvas); + + /** + * -------------------------------------------------------------------------- + * Bootstrap util/sanitizer.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); + + /** + * A pattern that recognizes a commonly useful subset of URLs that are safe. + * + * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts + */ + const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; + + /** + * A pattern that matches safe data URLs. Only matches image, video and audio types. + * + * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts + */ + const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; + const allowedAttribute = (attribute, allowedAttributeList) => { + const attributeName = attribute.nodeName.toLowerCase(); + if (allowedAttributeList.includes(attributeName)) { + if (uriAttributes.has(attributeName)) { + return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue)); + } + return true; + } + + // Check if a regular expression validates the attribute. + return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName)); + }; + + // js-docs-start allow-list + const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; + const DefaultAllowlist = { + // Global attributes allowed on any supplied element below. + '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], + a: ['target', 'href', 'title', 'rel'], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] + }; + // js-docs-end allow-list + + function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { + if (!unsafeHtml.length) { + return unsafeHtml; + } + if (sanitizeFunction && typeof sanitizeFunction === 'function') { + return sanitizeFunction(unsafeHtml); + } + const domParser = new window.DOMParser(); + const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); + const elements = [].concat(...createdDocument.body.querySelectorAll('*')); + for (const element of elements) { + const elementName = element.nodeName.toLowerCase(); + if (!Object.keys(allowList).includes(elementName)) { + element.remove(); + continue; + } + const attributeList = [].concat(...element.attributes); + const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []); + for (const attribute of attributeList) { + if (!allowedAttribute(attribute, allowedAttributes)) { + element.removeAttribute(attribute.nodeName); + } + } + } + return createdDocument.body.innerHTML; + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap util/template-factory.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$5 = 'TemplateFactory'; + const Default$4 = { + allowList: DefaultAllowlist, + content: {}, + // { selector : text , selector2 : text2 , } + extraClass: '', + html: false, + sanitize: true, + sanitizeFn: null, + template: '
' + }; + const DefaultType$4 = { + allowList: 'object', + content: 'object', + extraClass: '(string|function)', + html: 'boolean', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + template: 'string' + }; + const DefaultContentType = { + entry: '(string|element|function|null)', + selector: '(string|element)' + }; + + /** + * Class definition + */ + + class TemplateFactory extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + } + + // Getters + static get Default() { + return Default$4; + } + static get DefaultType() { + return DefaultType$4; + } + static get NAME() { + return NAME$5; + } + + // Public + getContent() { + return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean); + } + hasContent() { + return this.getContent().length > 0; + } + changeContent(content) { + this._checkContent(content); + this._config.content = { + ...this._config.content, + ...content + }; + return this; + } + toHtml() { + const templateWrapper = document.createElement('div'); + templateWrapper.innerHTML = this._maybeSanitize(this._config.template); + for (const [selector, text] of Object.entries(this._config.content)) { + this._setContent(templateWrapper, text, selector); + } + const template = templateWrapper.children[0]; + const extraClass = this._resolvePossibleFunction(this._config.extraClass); + if (extraClass) { + template.classList.add(...extraClass.split(' ')); + } + return template; + } + + // Private + _typeCheckConfig(config) { + super._typeCheckConfig(config); + this._checkContent(config.content); + } + _checkContent(arg) { + for (const [selector, content] of Object.entries(arg)) { + super._typeCheckConfig({ + selector, + entry: content + }, DefaultContentType); + } + } + _setContent(template, content, selector) { + const templateElement = SelectorEngine.findOne(selector, template); + if (!templateElement) { + return; + } + content = this._resolvePossibleFunction(content); + if (!content) { + templateElement.remove(); + return; + } + if (isElement$1(content)) { + this._putElementInTemplate(getElement(content), templateElement); + return; + } + if (this._config.html) { + templateElement.innerHTML = this._maybeSanitize(content); + return; + } + templateElement.textContent = content; + } + _maybeSanitize(arg) { + return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg; + } + _resolvePossibleFunction(arg) { + return execute(arg, [this]); + } + _putElementInTemplate(element, templateElement) { + if (this._config.html) { + templateElement.innerHTML = ''; + templateElement.append(element); + return; + } + templateElement.textContent = element.textContent; + } + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap tooltip.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$4 = 'tooltip'; + const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']); + const CLASS_NAME_FADE$2 = 'fade'; + const CLASS_NAME_MODAL = 'modal'; + const CLASS_NAME_SHOW$2 = 'show'; + const SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; + const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; + const EVENT_MODAL_HIDE = 'hide.bs.modal'; + const TRIGGER_HOVER = 'hover'; + const TRIGGER_FOCUS = 'focus'; + const TRIGGER_CLICK = 'click'; + const TRIGGER_MANUAL = 'manual'; + const EVENT_HIDE$2 = 'hide'; + const EVENT_HIDDEN$2 = 'hidden'; + const EVENT_SHOW$2 = 'show'; + const EVENT_SHOWN$2 = 'shown'; + const EVENT_INSERTED = 'inserted'; + const EVENT_CLICK$1 = 'click'; + const EVENT_FOCUSIN$1 = 'focusin'; + const EVENT_FOCUSOUT$1 = 'focusout'; + const EVENT_MOUSEENTER = 'mouseenter'; + const EVENT_MOUSELEAVE = 'mouseleave'; + const AttachmentMap = { + AUTO: 'auto', + TOP: 'top', + RIGHT: isRTL() ? 'left' : 'right', + BOTTOM: 'bottom', + LEFT: isRTL() ? 'right' : 'left' + }; + const Default$3 = { + allowList: DefaultAllowlist, + animation: true, + boundary: 'clippingParents', + container: false, + customClass: '', + delay: 0, + fallbackPlacements: ['top', 'right', 'bottom', 'left'], + html: false, + offset: [0, 6], + placement: 'top', + popperConfig: null, + sanitize: true, + sanitizeFn: null, + selector: false, + template: '', + title: '', + trigger: 'hover focus' + }; + const DefaultType$3 = { + allowList: 'object', + animation: 'boolean', + boundary: '(string|element)', + container: '(string|element|boolean)', + customClass: '(string|function)', + delay: '(number|object)', + fallbackPlacements: 'array', + html: 'boolean', + offset: '(array|string|function)', + placement: '(string|function)', + popperConfig: '(null|object|function)', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + selector: '(string|boolean)', + template: 'string', + title: '(string|element|function)', + trigger: 'string' + }; + + /** + * Class definition + */ + + class Tooltip extends BaseComponent { + constructor(element, config) { + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); + } + super(element, config); + + // Private + this._isEnabled = true; + this._timeout = 0; + this._isHovered = null; + this._activeTrigger = {}; + this._popper = null; + this._templateFactory = null; + this._newContent = null; + + // Protected + this.tip = null; + this._setListeners(); + if (!this._config.selector) { + this._fixTitle(); + } + } + + // Getters + static get Default() { + return Default$3; + } + static get DefaultType() { + return DefaultType$3; + } + static get NAME() { + return NAME$4; + } + + // Public + enable() { + this._isEnabled = true; + } + disable() { + this._isEnabled = false; + } + toggleEnabled() { + this._isEnabled = !this._isEnabled; + } + toggle() { + if (!this._isEnabled) { + return; + } + this._activeTrigger.click = !this._activeTrigger.click; + if (this._isShown()) { + this._leave(); + return; + } + this._enter(); + } + dispose() { + clearTimeout(this._timeout); + EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + if (this._element.getAttribute('data-bs-original-title')) { + this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title')); + } + this._disposePopper(); + super.dispose(); + } + show() { + if (this._element.style.display === 'none') { + throw new Error('Please use show on visible elements'); + } + if (!(this._isWithContent() && this._isEnabled)) { + return; + } + const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2)); + const shadowRoot = findShadowRoot(this._element); + const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); + if (showEvent.defaultPrevented || !isInTheDom) { + return; + } + + // TODO: v6 remove this or make it optional + this._disposePopper(); + const tip = this._getTipElement(); + this._element.setAttribute('aria-describedby', tip.getAttribute('id')); + const { + container + } = this._config; + if (!this._element.ownerDocument.documentElement.contains(this.tip)) { + container.append(tip); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED)); + } + this._popper = this._createPopper(tip); + tip.classList.add(CLASS_NAME_SHOW$2); + + // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + if ('ontouchstart' in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, 'mouseover', noop); + } + } + const complete = () => { + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2)); + if (this._isHovered === false) { + this._leave(); + } + this._isHovered = false; + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + hide() { + if (!this._isShown()) { + return; + } + const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2)); + if (hideEvent.defaultPrevented) { + return; + } + const tip = this._getTipElement(); + tip.classList.remove(CLASS_NAME_SHOW$2); + + // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + if ('ontouchstart' in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, 'mouseover', noop); + } + } + this._activeTrigger[TRIGGER_CLICK] = false; + this._activeTrigger[TRIGGER_FOCUS] = false; + this._activeTrigger[TRIGGER_HOVER] = false; + this._isHovered = null; // it is a trick to support manual triggering + + const complete = () => { + if (this._isWithActiveTrigger()) { + return; + } + if (!this._isHovered) { + this._disposePopper(); + } + this._element.removeAttribute('aria-describedby'); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2)); + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + update() { + if (this._popper) { + this._popper.update(); + } + } + + // Protected + _isWithContent() { + return Boolean(this._getTitle()); + } + _getTipElement() { + if (!this.tip) { + this.tip = this._createTipElement(this._newContent || this._getContentForTemplate()); + } + return this.tip; + } + _createTipElement(content) { + const tip = this._getTemplateFactory(content).toHtml(); + + // TODO: remove this check in v6 + if (!tip) { + return null; + } + tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); + // TODO: v6 the following can be achieved with CSS only + tip.classList.add(`bs-${this.constructor.NAME}-auto`); + const tipId = getUID(this.constructor.NAME).toString(); + tip.setAttribute('id', tipId); + if (this._isAnimated()) { + tip.classList.add(CLASS_NAME_FADE$2); + } + return tip; + } + setContent(content) { + this._newContent = content; + if (this._isShown()) { + this._disposePopper(); + this.show(); + } + } + _getTemplateFactory(content) { + if (this._templateFactory) { + this._templateFactory.changeContent(content); + } else { + this._templateFactory = new TemplateFactory({ + ...this._config, + // the `content` var has to be after `this._config` + // to override config.content in case of popover + content, + extraClass: this._resolvePossibleFunction(this._config.customClass) + }); + } + return this._templateFactory; + } + _getContentForTemplate() { + return { + [SELECTOR_TOOLTIP_INNER]: this._getTitle() + }; + } + _getTitle() { + return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title'); + } + + // Private + _initializeOnDelegatedTarget(event) { + return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); + } + _isAnimated() { + return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2); + } + _isShown() { + return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2); + } + _createPopper(tip) { + const placement = execute(this._config.placement, [this, tip, this._element]); + const attachment = AttachmentMap[placement.toUpperCase()]; + return createPopper(this._element, tip, this._getPopperConfig(attachment)); + } + _getOffset() { + const { + offset + } = this._config; + if (typeof offset === 'string') { + return offset.split(',').map(value => Number.parseInt(value, 10)); + } + if (typeof offset === 'function') { + return popperData => offset(popperData, this._element); + } + return offset; + } + _resolvePossibleFunction(arg) { + return execute(arg, [this._element]); + } + _getPopperConfig(attachment) { + const defaultBsPopperConfig = { + placement: attachment, + modifiers: [{ + name: 'flip', + options: { + fallbackPlacements: this._config.fallbackPlacements + } + }, { + name: 'offset', + options: { + offset: this._getOffset() + } + }, { + name: 'preventOverflow', + options: { + boundary: this._config.boundary + } + }, { + name: 'arrow', + options: { + element: `.${this.constructor.NAME}-arrow` + } + }, { + name: 'preSetPlacement', + enabled: true, + phase: 'beforeMain', + fn: data => { + // Pre-set Popper's placement attribute in order to read the arrow sizes properly. + // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement + this._getTipElement().setAttribute('data-popper-placement', data.state.placement); + } + }] + }; + return { + ...defaultBsPopperConfig, + ...execute(this._config.popperConfig, [defaultBsPopperConfig]) + }; + } + _setListeners() { + const triggers = this._config.trigger.split(' '); + for (const trigger of triggers) { + if (trigger === 'click') { + EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => { + const context = this._initializeOnDelegatedTarget(event); + context.toggle(); + }); + } else if (trigger !== TRIGGER_MANUAL) { + const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1); + const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1); + EventHandler.on(this._element, eventIn, this._config.selector, event => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; + context._enter(); + }); + EventHandler.on(this._element, eventOut, this._config.selector, event => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); + context._leave(); + }); + } + } + this._hideModalHandler = () => { + if (this._element) { + this.hide(); + } + }; + EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + } + _fixTitle() { + const title = this._element.getAttribute('title'); + if (!title) { + return; + } + if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) { + this._element.setAttribute('aria-label', title); + } + this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility + this._element.removeAttribute('title'); + } + _enter() { + if (this._isShown() || this._isHovered) { + this._isHovered = true; + return; + } + this._isHovered = true; + this._setTimeout(() => { + if (this._isHovered) { + this.show(); + } + }, this._config.delay.show); + } + _leave() { + if (this._isWithActiveTrigger()) { + return; + } + this._isHovered = false; + this._setTimeout(() => { + if (!this._isHovered) { + this.hide(); + } + }, this._config.delay.hide); + } + _setTimeout(handler, timeout) { + clearTimeout(this._timeout); + this._timeout = setTimeout(handler, timeout); + } + _isWithActiveTrigger() { + return Object.values(this._activeTrigger).includes(true); + } + _getConfig(config) { + const dataAttributes = Manipulator.getDataAttributes(this._element); + for (const dataAttribute of Object.keys(dataAttributes)) { + if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) { + delete dataAttributes[dataAttribute]; + } + } + config = { + ...dataAttributes, + ...(typeof config === 'object' && config ? config : {}) + }; + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + config.container = config.container === false ? document.body : getElement(config.container); + if (typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + if (typeof config.title === 'number') { + config.title = config.title.toString(); + } + if (typeof config.content === 'number') { + config.content = config.content.toString(); + } + return config; + } + _getDelegateConfig() { + const config = {}; + for (const [key, value] of Object.entries(this._config)) { + if (this.constructor.Default[key] !== value) { + config[key] = value; + } + } + config.selector = false; + config.trigger = 'manual'; + + // In the future can be replaced with: + // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]]) + // `Object.fromEntries(keysWithDifferentValues)` + return config; + } + _disposePopper() { + if (this._popper) { + this._popper.destroy(); + this._popper = null; + } + if (this.tip) { + this.tip.remove(); + this.tip = null; + } + } + + // Static + static jQueryInterface(config) { + return this.each(function () { + const data = Tooltip.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + } + + /** + * jQuery + */ + + defineJQueryPlugin(Tooltip); + + /** + * -------------------------------------------------------------------------- + * Bootstrap popover.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$3 = 'popover'; + const SELECTOR_TITLE = '.popover-header'; + const SELECTOR_CONTENT = '.popover-body'; + const Default$2 = { + ...Tooltip.Default, + content: '', + offset: [0, 8], + placement: 'right', + template: '', + trigger: 'click' + }; + const DefaultType$2 = { + ...Tooltip.DefaultType, + content: '(null|string|element|function)' + }; + + /** + * Class definition + */ + + class Popover extends Tooltip { + // Getters + static get Default() { + return Default$2; + } + static get DefaultType() { + return DefaultType$2; + } + static get NAME() { + return NAME$3; + } + + // Overrides + _isWithContent() { + return this._getTitle() || this._getContent(); + } + + // Private + _getContentForTemplate() { + return { + [SELECTOR_TITLE]: this._getTitle(), + [SELECTOR_CONTENT]: this._getContent() + }; + } + _getContent() { + return this._resolvePossibleFunction(this._config.content); + } + + // Static + static jQueryInterface(config) { + return this.each(function () { + const data = Popover.getOrCreateInstance(this, config); + if (typeof config !== 'string') { + return; + } + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + } + + /** + * jQuery + */ + + defineJQueryPlugin(Popover); + + /** + * -------------------------------------------------------------------------- + * Bootstrap scrollspy.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + /** + * Constants + */ + + const NAME$2 = 'scrollspy'; + const DATA_KEY$2 = 'bs.scrollspy'; + const EVENT_KEY$2 = `.${DATA_KEY$2}`; + const DATA_API_KEY = '.data-api'; + const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; + const EVENT_CLICK = `click${EVENT_KEY$2}`; + const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`; + const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; + const CLASS_NAME_ACTIVE$1 = 'active'; + const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; + const SELECTOR_TARGET_LINKS = '[href]'; + const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; + const SELECTOR_NAV_LINKS = '.nav-link'; + const SELECTOR_NAV_ITEMS = '.nav-item'; + const SELECTOR_LIST_ITEMS = '.list-group-item'; + const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`; + const SELECTOR_DROPDOWN = '.dropdown'; + const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle'; + const Default$1 = { + offset: null, + // TODO: v6 @deprecated, keep it for backwards compatibility reasons + rootMargin: '0px 0px -25%', + smoothScroll: false, + target: null, + threshold: [0.1, 0.5, 1] + }; + const DefaultType$1 = { + offset: '(number|null)', + // TODO v6 @deprecated, keep it for backwards compatibility reasons + rootMargin: 'string', + smoothScroll: 'boolean', + target: 'element', + threshold: 'array' + }; + + /** + * Class definition + */ + + class ScrollSpy extends BaseComponent { + constructor(element, config) { + super(element, config); + + // this._element is the observablesContainer and config.target the menu links wrapper + this._targetLinks = new Map(); + this._observableSections = new Map(); + this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element; + this._activeTarget = null; + this._observer = null; + this._previousScrollData = { + visibleEntryTop: 0, + parentScrollTop: 0 + }; + this.refresh(); // initialize + } + + // Getters + static get Default() { + return Default$1; + } + static get DefaultType() { + return DefaultType$1; + } + static get NAME() { + return NAME$2; + } + + // Public + refresh() { + this._initializeTargetsAndObservables(); + this._maybeEnableSmoothScroll(); + if (this._observer) { + this._observer.disconnect(); + } else { + this._observer = this._getNewObserver(); + } + for (const section of this._observableSections.values()) { + this._observer.observe(section); + } + } + dispose() { + this._observer.disconnect(); + super.dispose(); + } + + // Private + _configAfterMerge(config) { + // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case + config.target = getElement(config.target) || document.body; + + // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only + config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin; + if (typeof config.threshold === 'string') { + config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value)); + } + return config; + } + _maybeEnableSmoothScroll() { + if (!this._config.smoothScroll) { + return; + } + + // unregister any previous listeners + EventHandler.off(this._config.target, EVENT_CLICK); + EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => { + const observableSection = this._observableSections.get(event.target.hash); + if (observableSection) { + event.preventDefault(); + const root = this._rootElement || window; + const height = observableSection.offsetTop - this._element.offsetTop; + if (root.scrollTo) { + root.scrollTo({ + top: height, + behavior: 'smooth' + }); + return; + } + + // Chrome 60 doesn't support `scrollTo` + root.scrollTop = height; + } + }); + } + _getNewObserver() { + const options = { + root: this._rootElement, + threshold: this._config.threshold, + rootMargin: this._config.rootMargin + }; + return new IntersectionObserver(entries => this._observerCallback(entries), options); + } + + // The logic of selection + _observerCallback(entries) { + const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`); + const activate = entry => { + this._previousScrollData.visibleEntryTop = entry.target.offsetTop; + this._process(targetElement(entry)); + }; + const parentScrollTop = (this._rootElement || document.documentElement).scrollTop; + const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop; + this._previousScrollData.parentScrollTop = parentScrollTop; + for (const entry of entries) { + if (!entry.isIntersecting) { + this._activeTarget = null; + this._clearActiveClass(targetElement(entry)); + continue; + } + const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; + // if we are scrolling down, pick the bigger offsetTop + if (userScrollsDown && entryIsLowerThanPrevious) { + activate(entry); + // if parent isn't scrolled, let's keep the first visible item, breaking the iteration + if (!parentScrollTop) { + return; + } + continue; + } + + // if we are scrolling up, pick the smallest offsetTop + if (!userScrollsDown && !entryIsLowerThanPrevious) { + activate(entry); + } + } + } + _initializeTargetsAndObservables() { + this._targetLinks = new Map(); + this._observableSections = new Map(); + const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target); + for (const anchor of targetLinks) { + // ensure that the anchor has an id and is not disabled + if (!anchor.hash || isDisabled(anchor)) { + continue; + } + const observableSection = SelectorEngine.findOne(anchor.hash, this._element); + + // ensure that the observableSection exists & is visible + if (isVisible(observableSection)) { + this._targetLinks.set(anchor.hash, anchor); + this._observableSections.set(anchor.hash, observableSection); + } + } + } + _process(target) { + if (this._activeTarget === target) { + return; + } + this._clearActiveClass(this._config.target); + this._activeTarget = target; + target.classList.add(CLASS_NAME_ACTIVE$1); + this._activateParents(target); + EventHandler.trigger(this._element, EVENT_ACTIVATE, { + relatedTarget: target + }); + } + _activateParents(target) { + // Activate dropdown parents + if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { + SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1); + return; + } + for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) { + // Set triggered links parents as active + // With both
    and